From 60226280c49afa07be776a16cce9126d0ad00f85 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 08:57:47 +0100 Subject: [PATCH 01/16] feat(angular): migrate to v10 --- package.json | 52 +- src/demo/{browserslist => .browserslistrc} | 0 src/ngx-monaco-editor/package.json | 3 + tsconfig.json | 2 +- tslint.json | 1 - yarn.lock | 3979 ++++++++++---------- 6 files changed, 1965 insertions(+), 2072 deletions(-) rename src/demo/{browserslist => .browserslistrc} (100%) diff --git a/package.json b/package.json index 133f4a8f..12c72745 100644 --- a/package.json +++ b/package.json @@ -19,46 +19,46 @@ }, "private": true, "dependencies": { - "@angular/animations": "~9.1.12", + "@angular/animations": "~10.2.5", "@angular/cdk": "^9.2.4", - "@angular/common": "~9.1.12", - "@angular/compiler": "~9.1.12", - "@angular/core": "~9.1.12", + "@angular/common": "~10.2.5", + "@angular/compiler": "~10.2.5", + "@angular/core": "~10.2.5", "@angular/flex-layout": "9.0.0-beta.30", - "@angular/forms": "~9.1.12", + "@angular/forms": "~10.2.5", "@angular/material": "^9.2.4", - "@angular/platform-browser": "~9.1.12", - "@angular/platform-browser-dynamic": "~9.1.12", - "@angular/router": "~9.1.12", + "@angular/platform-browser": "~10.2.5", + "@angular/platform-browser-dynamic": "~10.2.5", + "@angular/router": "~10.2.5", "monaco-editor": "^0.24.0", "rxjs": "6.5.3", - "tslib": "^1.10.0", + "tslib": "^2.0.0", "zone.js": "~0.10.2" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.901.12", - "@angular-devkit/build-ng-packagr": "~0.901.12", - "@angular/cli": "^9.1.12", - "@angular/compiler-cli": "^9.1.12", - "@angular/language-service": "~9.1.12", + "@angular-devkit/build-angular": "~0.1002.3", + "@angular-devkit/build-ng-packagr": "~0.1002.3", + "@angular/cli": "^10.2.3", + "@angular/compiler-cli": "^10.2.5", + "@angular/language-service": "~10.2.5", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~3.3.8", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", "codelyzer": "^5.1.2", - "jasmine-core": "~3.4.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~4.1.0", - "karma-chrome-launcher": "~2.2.0", - "karma-coverage-istanbul-reporter": "~2.0.1", - "karma-jasmine": "~2.0.1", - "karma-jasmine-html-reporter": "^1.4.0", + "jasmine-core": "~3.5.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "~5.0.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.5.0", "ncp": "^2.0.0", - "ng-packagr": "^9.0.0", - "protractor": "~5.4.0", + "ng-packagr": "^10.1.0", + "protractor": "~7.0.0", "rimraf": "^3.0.0", "ts-node": "~7.0.0", - "tslint": "~5.15.0", - "typescript": "~3.8.3" + "tslint": "~6.1.0", + "typescript": "~4.0.8" } -} +} \ No newline at end of file diff --git a/src/demo/browserslist b/src/demo/.browserslistrc similarity index 100% rename from src/demo/browserslist rename to src/demo/.browserslistrc diff --git a/src/ngx-monaco-editor/package.json b/src/ngx-monaco-editor/package.json index 0589a470..8921201e 100644 --- a/src/ngx-monaco-editor/package.json +++ b/src/ngx-monaco-editor/package.json @@ -26,6 +26,9 @@ "url": "https://github.com/geoastronaute/ngx-monaco-editor/issues" }, "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, "peerDependencies": { "@angular/common": "9.x || 10.x || 11.x || 12.x", "@angular/core": "9.x || 10.x || 11.x || 12.x", diff --git a/tsconfig.json b/tsconfig.json index b38b685f..a422c219 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compileOnSave": false, "compilerOptions": { "baseUrl": "./", - "module": "esnext", + "module": "es2020", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, diff --git a/tslint.json b/tslint.json index 5ce177bd..16bd4176 100644 --- a/tslint.json +++ b/tslint.json @@ -73,7 +73,6 @@ "no-trailing-whitespace": true, "no-unnecessary-initializer": true, "no-unused-expression": true, - "no-use-before-declare": true, "no-var-keyword": true, "object-literal-sort-keys": false, "one-line": [ diff --git a/yarn.lock b/yarn.lock index 9dd1f4ee..920bd344 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,133 +7,139 @@ resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.2.1.tgz#189d7bc08d83e487487fe6c1810cf50fd8747a94" integrity sha512-5Hmejfgemk1qJw24M5I+NabADKmD5Io7LU2fxHw/E6Bo0ji9EdmHP16KrFnt6Sz0/w7VIzc1ZAasyLULaPLGJQ== -"@angular-devkit/architect@0.901.12": - version "0.901.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.901.12.tgz#e0f78b7282f851d27af6802dc7a261022421b2d5" - integrity sha512-gLlsxa+3JPV1m1gRvRMujOs4xKox6I5BkYmOD1zfu+dB6y3LuBAvHfXA6FaTDVOMBrmSlWnE4PmOmB6xd7wxMA== - dependencies: - "@angular-devkit/core" "9.1.12" - rxjs "6.5.4" - -"@angular-devkit/build-angular@~0.901.12": - version "0.901.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.901.12.tgz#5b588e530be01502e350ceae17b21b4fc6676650" - integrity sha512-enK+u1Lg1a/KWUs3r8Tc7Igduu5ph9fgziV8bjQeVrswrqFb0m0eEhxe/zV8rvE92H3NBZp5Z+uzOYIcg4eirw== - dependencies: - "@angular-devkit/architect" "0.901.12" - "@angular-devkit/build-optimizer" "0.901.12" - "@angular-devkit/build-webpack" "0.901.12" - "@angular-devkit/core" "9.1.12" - "@babel/core" "7.9.0" - "@babel/generator" "7.9.3" - "@babel/preset-env" "7.9.0" - "@babel/template" "7.8.6" - "@jsdevtools/coverage-istanbul-loader" "3.0.3" - "@ngtools/webpack" "9.1.12" - ajv "6.12.3" - autoprefixer "9.7.4" - babel-loader "8.0.6" +"@angular-devkit/architect@0.1002.3": + version "0.1002.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1002.3.tgz#fe8f3209ee6686efa0306410de27820b6606df52" + integrity sha512-7ainXRNO1njZ6bBbJXGpMzCh0OYrzuIRe/+zRj0ncV1YfEsJb2yWBuiza0+y2Ljco7hdd4wr+7eJm7cfn+NvAw== + dependencies: + "@angular-devkit/core" "10.2.3" + rxjs "6.6.2" + +"@angular-devkit/build-angular@~0.1002.3": + version "0.1002.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1002.3.tgz#f23c872dd953d1a3ba623e132d2abeab0635649f" + integrity sha512-NjM8H2AUpLjcf+3mKYd99VbFgN4kwT++IBmR9BRQkqOZ4fD63g8jLPzC0KTsWGIVkZtR9Qc88YW/5sC8C3SVFQ== + dependencies: + "@angular-devkit/architect" "0.1002.3" + "@angular-devkit/build-optimizer" "0.1002.3" + "@angular-devkit/build-webpack" "0.1002.3" + "@angular-devkit/core" "10.2.3" + "@babel/core" "7.11.1" + "@babel/generator" "7.11.0" + "@babel/plugin-transform-runtime" "7.11.0" + "@babel/preset-env" "7.11.0" + "@babel/runtime" "7.11.2" + "@babel/template" "7.10.4" + "@jsdevtools/coverage-istanbul-loader" "3.0.5" + "@ngtools/webpack" "10.2.3" + autoprefixer "9.8.6" + babel-loader "8.1.0" browserslist "^4.9.1" - cacache "15.0.0" + cacache "15.0.5" caniuse-lite "^1.0.30001032" circular-dependency-plugin "5.2.0" copy-webpack-plugin "6.0.3" core-js "3.6.4" - css-loader "3.5.1" + css-loader "4.2.2" cssnano "4.1.10" file-loader "6.0.0" find-cache-dir "3.3.1" glob "7.1.6" - jest-worker "25.1.0" + jest-worker "26.3.0" karma-source-map-support "1.4.0" - less "3.11.3" - less-loader "5.0.0" - license-webpack-plugin "2.1.4" + less-loader "6.2.0" + license-webpack-plugin "2.3.0" loader-utils "2.0.0" - mini-css-extract-plugin "0.9.0" + mini-css-extract-plugin "0.10.0" minimatch "3.0.4" - open "7.0.3" - parse5 "4.0.0" - postcss "7.0.27" + open "7.2.0" + parse5 "6.0.1" + parse5-htmlparser2-tree-adapter "6.0.1" + pnp-webpack-plugin "1.6.4" + postcss "7.0.32" postcss-import "12.0.1" postcss-loader "3.0.0" - raw-loader "4.0.0" - regenerator-runtime "0.13.5" + raw-loader "4.0.1" + regenerator-runtime "0.13.7" + resolve-url-loader "3.1.2" rimraf "3.0.2" - rollup "2.1.0" - rxjs "6.5.4" - sass "1.26.3" - sass-loader "8.0.2" - semver "7.1.3" + rollup "2.26.5" + rxjs "6.6.2" + sass "1.26.10" + sass-loader "10.0.1" + semver "7.3.2" source-map "0.7.3" - source-map-loader "0.2.4" - speed-measure-webpack-plugin "1.3.1" - style-loader "1.1.3" - stylus "0.54.7" + source-map-loader "1.0.2" + source-map-support "0.5.19" + speed-measure-webpack-plugin "1.3.3" + style-loader "1.2.1" + stylus "0.54.8" stylus-loader "3.0.2" - terser "4.6.10" - terser-webpack-plugin "3.0.3" + terser "5.3.0" + terser-webpack-plugin "4.1.0" tree-kill "1.2.2" - webpack "4.42.0" + webpack "4.44.1" webpack-dev-middleware "3.7.2" webpack-dev-server "3.11.0" webpack-merge "4.2.2" webpack-sources "1.4.3" - webpack-subresource-integrity "1.4.0" - worker-plugin "4.0.3" + webpack-subresource-integrity "1.4.1" + worker-plugin "5.0.0" -"@angular-devkit/build-ng-packagr@~0.901.12": - version "0.901.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.901.12.tgz#f467a26e0fe8d4dc32c30e0bf4a69447c8bd9d8e" - integrity sha512-NUMm1j9kFDw3Kx8ICKL4ncoYpazbXPFgWsjYHdNWHYUAn0HMJCfxn7jtI7lhFROiNjjlPSlXpjo+EwjhIueWlg== +"@angular-devkit/build-ng-packagr@~0.1002.3": + version "0.1002.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.1002.3.tgz#5e01b71b19867d3ed00ce32a69c5f662f52fc6cc" + integrity sha512-uH2+OqImzEu2qgANukBfMPAQwYfFNdJ/ryRro9iXLPkQOlfi1nmkDh66oF+NRHSHgNuSHSHs/jeDiC1QJJ8NDA== dependencies: - "@angular-devkit/architect" "0.901.12" - rxjs "6.5.4" + "@angular-devkit/architect" "0.1002.3" + rxjs "6.6.2" -"@angular-devkit/build-optimizer@0.901.12": - version "0.901.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.901.12.tgz#327066ba0d7f2f4fc82960618906e4f916f7bf7c" - integrity sha512-XuXA+6y9QkIAwSVZhWmne4r7qugUUWaXobgRefbn9heiRlY8/7XkZmmvbSrxc1fgQfQar52W9fAa19fAIeNvnw== +"@angular-devkit/build-optimizer@0.1002.3": + version "0.1002.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.3.tgz#797822cdde3e0e9892670ac515c6f4a7caa0854b" + integrity sha512-/0KbxVmmvt3S7ghk5zUH8/PWjW8ki0uSmPsnjopY8jRgAxuXN/7PXZbqswItNlUBoEj34hj2UADBUJVic7fcnQ== dependencies: loader-utils "2.0.0" source-map "0.7.3" - tslib "1.11.1" - typescript "3.6.5" + tslib "2.0.1" + typescript "4.0.2" webpack-sources "1.4.3" -"@angular-devkit/build-webpack@0.901.12": - version "0.901.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.901.12.tgz#fcbe22d6c41f3f626342c3bd8f734104d4a65a8c" - integrity sha512-zrhZV2LhQ4uFl9at9i2jiedIu932HsaFN4OMMsTFlV+6CZxtEUBI85hhnPa5KQtIYQr2OMQSQf/FyhnBGs0riQ== +"@angular-devkit/build-webpack@0.1002.3": + version "0.1002.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1002.3.tgz#763ae9c4c4b0854679e7bf1b4d0f467dd2b31c61" + integrity sha512-ngvPPA3VuYGYV275PM6X0pVI0Nl/uWx4eu2S6SUFe6mniN4BQkUHAyeCUMIbM3hkau/NAcF9xUs5AvZ9GDpvPw== dependencies: - "@angular-devkit/architect" "0.901.12" - "@angular-devkit/core" "9.1.12" - rxjs "6.5.4" + "@angular-devkit/architect" "0.1002.3" + "@angular-devkit/core" "10.2.3" + rxjs "6.6.2" -"@angular-devkit/core@9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-9.1.12.tgz#7cebce51918fe7f3462d8c58c9fbd5a3e2c3b3e7" - integrity sha512-D/GnBeSlmdgGn7EhuE32HuPuRAjvUuxi7Q6WywBI8PSsXKAGnrypghBwMATNnOA24//CgbW2533Y9VWHaeXdeA== +"@angular-devkit/core@10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.2.3.tgz#499978929e58532f6f0caab8bd860c882d926eea" + integrity sha512-pMM1v9Xjqx6YLOQxQYs0D+03H6XPDZLS8cyEtoQX2iYdh8qlKHZVbJa2WsfzwMoIPtgcXfQAXn113VEgrQPLFA== dependencies: - ajv "6.12.3" + ajv "6.12.4" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" - rxjs "6.5.4" + rxjs "6.6.2" source-map "0.7.3" -"@angular-devkit/schematics@9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-9.1.12.tgz#bbf457f1b35941fddeeb1ee77336dd04ca60b8ba" - integrity sha512-+GYnUzmIy1/QpYitCC8mI7jcrViGHTtOKvvDPEFjU2nggjNEQaMmsHcdIsjrqggEc23ZZyebNAIewT8CMkJyrQ== +"@angular-devkit/schematics@10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-10.2.3.tgz#1f384eb9db6f02e3e867e442e3569628e0eb6de5" + integrity sha512-uCNeq5qH4QEiftgOud+EhTVvdriYQVBrYmX4f4BjVHkjnFhm73h30nfAgs6YuStIp8oxSI8jUGE9DAy331xvmA== dependencies: - "@angular-devkit/core" "9.1.12" - ora "4.0.3" - rxjs "6.5.4" + "@angular-devkit/core" "10.2.3" + ora "5.0.0" + rxjs "6.6.2" -"@angular/animations@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-9.1.12.tgz#1c9c1a792be4b52b196cab1e5c88bd319b60716d" - integrity sha512-tphpf9QHnOPoL2Jl7KpR+R5aHNW3oifLEmRUTajJYJGvo1uzdUDE82+V9OGOinxJsYseCth9gYJhN24aYTB9NA== +"@angular/animations@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-10.2.5.tgz#9b4aaa2a2f88f848decb5a03f2ddaa2aed37642d" + integrity sha512-lIMwjY1pAqpCM4Ayndf2RsvOWRUc5QV7W82XNou6pIBv2T1i1XV6H72I5Sk9Z4sxxBYCWncEaEub+C6NcS8QRg== + dependencies: + tslib "^2.0.0" "@angular/cdk@^9.2.4": version "9.2.4" @@ -142,41 +148,43 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/cli@^9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-9.1.12.tgz#c6e41c80c387200766fc52a6b42fde869dcc0cef" - integrity sha512-B0yOab5WbD84bIRRUKOPAJnpka8Qj+CRt61wJfjsqpd/Rj7pD/3ubmdCNoBH7Xa6UlOb0tdYqRPsqfK7uEL0sw== +"@angular/cli@^10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-10.2.3.tgz#71f0b84f40197a3aa28b0d5f3bbff2354c127d1b" + integrity sha512-LLt0AUgLpmaoWA1R7tnUxbJDNs37+WogjNCbNLfvf4YHI04PwKx3OXgx0d8IYNtjHEaGmGp9AQRynvQ2qfXkaA== dependencies: - "@angular-devkit/architect" "0.901.12" - "@angular-devkit/core" "9.1.12" - "@angular-devkit/schematics" "9.1.12" - "@schematics/angular" "9.1.12" - "@schematics/update" "0.901.12" + "@angular-devkit/architect" "0.1002.3" + "@angular-devkit/core" "10.2.3" + "@angular-devkit/schematics" "10.2.3" + "@schematics/angular" "10.2.3" + "@schematics/update" "0.1002.3" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.1.1" - ini "1.3.5" - inquirer "7.1.0" + ini "1.3.6" + inquirer "7.3.3" npm-package-arg "8.0.1" - npm-pick-manifest "6.0.0" - open "7.0.3" + npm-pick-manifest "6.1.0" + open "7.2.0" pacote "9.5.12" read-package-tree "5.3.1" rimraf "3.0.2" - semver "7.1.3" + semver "7.3.2" symbol-observable "1.2.0" - universal-analytics "0.4.20" - uuid "7.0.2" + universal-analytics "0.4.23" + uuid "8.3.0" -"@angular/common@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-9.1.12.tgz#731701fae63ae8e2ee2ce00e7d51f458ecd00c7c" - integrity sha512-XSIqkbM6VV1yixF9zuzeE5eqN1VsiXS517K2VU0XgCRSAzhVhLOeKsdYjeLf7PdSu/HgW/Tr81H+isi9A9I0YA== +"@angular/common@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-10.2.5.tgz#5313f530446998e2f7af2dc43611addcfa6fd1c1" + integrity sha512-553yf6ZUHNqT4XpOqbW7EKKMfX56u/8DkwYXuSv8MAKdl4/AW6gliFOEJGYo04JcKF7Knq3VPvGSCO9kupf0hg== + dependencies: + tslib "^2.0.0" -"@angular/compiler-cli@^9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-9.1.12.tgz#37ba1a8b483ab1382414d0a13a35a1fd2020abd1" - integrity sha512-bbqJ+fbY+aQejSYuHUjE1qYJCXkZBM5Hru9eN7m/j376u83MQ5jWdC290uYx+ipsXcPTa/YRZ44jpL+5cCzIrg== +"@angular/compiler-cli@^10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-10.2.5.tgz#adb65bb9ecea14762a501226fde7760b73c3ab1e" + integrity sha512-xddSpKudoPidEebIW3x1CvQdx69WEmnFg4DneeQi/tit7mtAKYTJemzYZmP6abdSYhtxovL0bPX5LxYlrtuxIw== dependencies: canonical-path "1.0.0" chokidar "^3.0.0" @@ -189,83 +197,103 @@ semver "^6.3.0" source-map "^0.6.1" sourcemap-codec "^1.4.8" - yargs "15.3.0" + tslib "^2.0.0" + yargs "^16.1.1" -"@angular/compiler@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.1.12.tgz#3066a637bfe09642dd5c4a4dd029e7a771988311" - integrity sha512-suefk0OFkaJpUUKnV+phbL4T8fmVGHvzkereY5eqybQlumOez8NPL1PJcygAylh/E6OIAYm8SWookYwM6ZY9dg== +"@angular/compiler@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-10.2.5.tgz#1ff8514fdd2c07ff3c265b960dc49af6376071c9" + integrity sha512-ddJiTPCoVBIGjFDYoYWDpmq3Zs8UKoWpzaeW4u+p17gWW54HwyT5XTxrgtbeUmaxIuRdL4/KT1lGHs9/9bwbCA== + dependencies: + tslib "^2.0.0" -"@angular/core@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.1.12.tgz#e7e10f72f84f0787551424ad86279436e0b5edbe" - integrity sha512-WVA/eh3fzjx0apOzkKot4YRRUsGkHj50zFQWrAOMgivGaj1YVrvhf+m3hpglj5fn/BkLiFDl8RT0wAE8z9X+gQ== +"@angular/core@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.5.tgz#2050b0dbb180aa98c2ec46bba6d4827565ba2a2d" + integrity sha512-krhOKNTj5XE92Rk9ASX5KmgTF72j7qT2PLVxrGEVjuUKjBY2XaK3TV0Kotq9zI3qa9WgeCrP/Njn6jlKQCCAEQ== + dependencies: + tslib "^2.0.0" "@angular/flex-layout@9.0.0-beta.30": version "9.0.0-beta.30" resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-9.0.0-beta.30.tgz#ca18411a8842dcfe3d175931a6ff765e8c76f950" integrity sha512-aPiw9sfuXpV99oFtbIbTJYC+GtubdggP66qO0JH5MCX+J8btCGAOJMf9RPJWx2yyh/VoSBOt2nWSYqcY5OEv+g== -"@angular/forms@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-9.1.12.tgz#8ae7ac480031e1e4097eeff9b45f5e6d2cce6b7c" - integrity sha512-LhjnZlC4WEsEsAJfOZLte+Lks3WBAFVeRv2lzoQNFVr/IMzBNDVfjEaaSqKF1cei3cjY39Df2nYDMJM7HfqbJA== +"@angular/forms@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-10.2.5.tgz#12bb297118d22be351fba7176d213bb5aad2932d" + integrity sha512-EnycBx8q+DGmPaX4oSjPejJxx9u0TLb5+tpGxYitdOq/eBpQAAYyWKQGKXb1JB46rPVwJr34MmTltHgAN0zUSQ== + dependencies: + tslib "^2.0.0" -"@angular/language-service@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-9.1.12.tgz#c61392c0615654810cf99ee7ff46335bd0f2660b" - integrity sha512-0qfIAn5fP5lD+JW6il5HBHGS89rv+idRv5aooDkHqBhuBo4V2VuB1wNy5eP49GZbHKMW1xPAzv1MqeMdk+zwQA== +"@angular/language-service@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.2.5.tgz#dc869591684db32696f9973647f07355bdaf97ff" + integrity sha512-e9ug9TJG31SeSWl65TglXKWOIATGu/P0jVSGKxGF22vQYlAahdRoFXP56+B9P9k+6cDuYljkjH1rdyCaU3iOPg== "@angular/material@^9.2.4": version "9.2.4" resolved "https://registry.yarnpkg.com/@angular/material/-/material-9.2.4.tgz#2666ef606fbb88d60f8e2f18c5e4f94a3dd572d8" integrity sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA== -"@angular/platform-browser-dynamic@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.12.tgz#332935d5ec4b44daaad1beae496dd994e2847a03" - integrity sha512-NmwUZaQeMnA6f+vP9Fp9P+qjL72H8dKlxLS76ujlKHVf75pP5oahWS8wfl7KXel1tKW3FQWMMffmKf5/NHRiSw== +"@angular/platform-browser-dynamic@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.2.5.tgz#c9eea9e076a9fc8f80d7c041ba9766465613bb96" + integrity sha512-7z443I80K2CeqzczlSJ8BlABj0uRgnHUrABE8yLlU2BgifJrriBawzSXEV7UMEN7k7ezbc6NhpOn6Q6BrCKEOA== + dependencies: + tslib "^2.0.0" -"@angular/platform-browser@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-9.1.12.tgz#f99fc360c40efd013677cc9ef4ead13425084a91" - integrity sha512-rPa/hJcLfdId6bYB0b6pFUo3QIgjZlvUlmtKMGdrLNLYR8XQxPa2Y/UdN/5YeZ12htGw6GXrX9U8U7nTbUSpkw== +"@angular/platform-browser@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-10.2.5.tgz#40dd88c937af7af56e3fb246608c7001e4ac09c7" + integrity sha512-3JDFRGNxr0IUkjSdGK2Q1BvqnSDpy9YWo0DJP+TEpgW578R84m4X7/wI3jJmFSC2yyouMWrHsot2vcBPAQj89g== + dependencies: + tslib "^2.0.0" -"@angular/router@~9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-9.1.12.tgz#4f7fc170e1e7ef72ca1714dbc7a3888aedc33f2d" - integrity sha512-+qCaXa9y0nsRhzjAYBqmGoQ2YkrdXgftZwuFDf6t4qEi30EXa0oS97KrlFq0M5GKdLIDGrbUm9PcdHSTOI+ZhA== +"@angular/router@~10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-10.2.5.tgz#acc75a29ab0b54c8ebad7d2a896986a59d7d99ec" + integrity sha512-AtSMB/d4V+pw/FL4G/mWWoiJJtZ/075TqsGW7uEFKgxS6Gh2kalv6BTMlXVG5GO+2oU0lsuDvguq5E7Atbak3Q== + dependencies: + tslib "^2.0.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.9.0": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9" - integrity sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg== - -"@babel/core@7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" - integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.0" - "@babel/parser" "^7.9.0" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" +"@babel/code-frame@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/compat-data@^7.11.0", "@babel/compat-data@^7.16.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" + integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== + +"@babel/core@7.11.1": + version "7.11.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643" + integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.0" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.1" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.0" + "@babel/types" "^7.11.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" - lodash "^4.17.13" + lodash "^4.17.19" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -292,17 +320,25 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.9.3": - version "7.9.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.3.tgz#7c8b2956c6f68b3ab732bd16305916fbba521d94" - integrity sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ== +"@babel/generator@7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" + integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== + dependencies: + "@babel/types" "^7.11.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.11.0", "@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== dependencies: - "@babel/types" "^7.9.0" + "@babel/types" "^7.16.0" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" -"@babel/generator@^7.12.1", "@babel/generator@^7.12.5", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": +"@babel/generator@^7.12.1", "@babel/generator@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== @@ -318,23 +354,42 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.16.0" -"@babel/helper-compilation-targets@^7.8.7": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" - integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" + integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== dependencies: - "@babel/compat-data" "^7.12.5" - "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.14.5" - semver "^5.5.0" + "@babel/helper-explode-assignable-expression" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" + integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" "@babel/helper-create-regexp-features-plugin@^7.12.1": version "7.12.1" @@ -345,21 +400,20 @@ "@babel/helper-regex" "^7.10.4" regexpu-core "^4.7.1" -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== +"@babel/helper-create-regexp-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" + integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" + "@babel/helper-annotate-as-pure" "^7.16.0" + regexpu-core "^4.7.1" -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" - integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== +"@babel/helper-explode-assignable-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" + integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.16.0" "@babel/helper-function-name@^7.10.4": version "7.10.4" @@ -370,6 +424,15 @@ "@babel/template" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + "@babel/helper-get-function-arity@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" @@ -377,12 +440,19 @@ dependencies: "@babel/types" "^7.10.4" -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== + dependencies: + "@babel/types" "^7.16.0" "@babel/helper-member-expression-to-functions@^7.12.1": version "7.12.1" @@ -391,14 +461,42 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.8.3": +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.12.1": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== dependencies: "@babel/types" "^7.12.5" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.9.0": +"@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== @@ -420,11 +518,23 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + "@babel/helper-regex@^7.10.4": version "7.10.5" resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" @@ -432,14 +542,14 @@ dependencies: lodash "^4.17.19" -"@babel/helper-remap-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" - integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== +"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" + integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/types" "^7.12.1" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/types" "^7.16.0" "@babel/helper-replace-supers@^7.12.1": version "7.12.5" @@ -451,6 +561,16 @@ "@babel/traverse" "^7.12.5" "@babel/types" "^7.12.5" +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + "@babel/helper-simple-access@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" @@ -458,41 +578,69 @@ dependencies: "@babel/types" "^7.12.1" -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== dependencies: - "@babel/types" "^7.12.1" + "@babel/types" "^7.16.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== + dependencies: + "@babel/types" "^7.16.0" -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": +"@babel/helper-split-export-declaration@^7.11.0": version "7.11.0" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== dependencies: "@babel/types" "^7.11.0" +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== + dependencies: + "@babel/types" "^7.16.0" + "@babel/helper-validator-identifier@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== -"@babel/helper-validator-option@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" - integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== -"@babel/helper-wrap-function@^7.10.4": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" - integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helper-wrap-function@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" + integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/helper-function-name" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helpers@^7.12.1", "@babel/helpers@^7.9.0": +"@babel/helpers@^7.10.4": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" + +"@babel/helpers@^7.12.1": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== @@ -510,79 +658,135 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5", "@babel/parser@^7.4.3", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0": +"@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== -"@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" - integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== +"@babel/parser@^7.11.1", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" + integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== + +"@babel/plugin-proposal-async-generator-functions@^7.10.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" + integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.4" + "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" - integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== +"@babel/plugin-proposal-class-properties@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" + integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-json-strings@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" - integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== +"@babel/plugin-proposal-dynamic-import@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" + integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== +"@babel/plugin-proposal-export-namespace-from@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" + integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz#b1ce757156d40ed79d59d467cb2b154a5c4149ba" - integrity sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g== +"@babel/plugin-proposal-json-strings@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" + integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" + integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" + integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" + integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== +"@babel/plugin-proposal-object-rest-spread@^7.11.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" + integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.0" -"@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" - integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== +"@babel/plugin-proposal-optional-catch-binding@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" + integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" - integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== +"@babel/plugin-proposal-optional-chaining@^7.11.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" + integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" + integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" + integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== @@ -590,128 +794,156 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-async-generators@^7.8.0": +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.8.0": +"@babel/plugin-syntax-class-properties@^7.10.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.8.0": +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0": +"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": +"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0": +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" - integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== +"@babel/plugin-syntax-top-level-await@^7.10.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" - integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== +"@babel/plugin-transform-arrow-functions@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" + integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" - integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== +"@babel/plugin-transform-async-to-generator@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" + integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" -"@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" - integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== +"@babel/plugin-transform-block-scoped-functions@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" + integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" - integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== +"@babel/plugin-transform-block-scoping@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" + integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" - integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== +"@babel/plugin-transform-classes@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" + integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" - integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== +"@babel/plugin-transform-computed-properties@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" + integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" - integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== +"@babel/plugin-transform-destructuring@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" + integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": +"@babel/plugin-transform-dotall-regex@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" + integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.4.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== @@ -719,244 +951,268 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" - integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== +"@babel/plugin-transform-duplicate-keys@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" + integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" - integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== +"@babel/plugin-transform-exponentiation-operator@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" + integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-for-of@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" - integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== +"@babel/plugin-transform-for-of@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" + integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" - integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== +"@babel/plugin-transform-function-name@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" + integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" - integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== +"@babel/plugin-transform-literals@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" + integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" - integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== +"@babel/plugin-transform-member-expression-literals@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" + integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" - integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== +"@babel/plugin-transform-modules-amd@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" + integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" - integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== +"@babel/plugin-transform-modules-commonjs@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" + integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.16.0" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" - integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== +"@babel/plugin-transform-modules-systemjs@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" + integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-identifier" "^7.10.4" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.9.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" - integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== +"@babel/plugin-transform-modules-umd@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" + integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" - integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== +"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" + integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" -"@babel/plugin-transform-new-target@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" - integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== +"@babel/plugin-transform-new-target@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" + integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" - integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== +"@babel/plugin-transform-object-super@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" + integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.8.7": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" - integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== +"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" - integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== +"@babel/plugin-transform-property-literals@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" + integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-regenerator@^7.8.7": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" - integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== +"@babel/plugin-transform-regenerator@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" + integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" - integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== +"@babel/plugin-transform-reserved-words@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" + integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" - integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== +"@babel/plugin-transform-runtime@7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz#e27f78eb36f19448636e05c33c90fd9ad9b8bccf" + integrity sha512-LFEsP+t3wkYBlis8w6/kmnd6Kb1dxTd+wGJ8MlxTGzQo//ehtqlVL4S9DNUa53+dtPSQobN2CXx4d81FqC58cw== dependencies: + "@babel/helper-module-imports" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" + resolve "^1.8.1" + semver "^5.5.1" -"@babel/plugin-transform-spread@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" - integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== +"@babel/plugin-transform-shorthand-properties@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" + integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" - integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== +"@babel/plugin-transform-spread@^7.11.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" + integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-template-literals@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" - integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== +"@babel/plugin-transform-sticky-regex@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" + integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" - integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== +"@babel/plugin-transform-template-literals@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" + integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" - integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== +"@babel/plugin-transform-typeof-symbol@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" + integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/preset-env@7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" - integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== +"@babel/plugin-transform-unicode-escapes@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" + integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== dependencies: - "@babel/compat-data" "^7.9.0" - "@babel/helper-compilation-targets" "^7.8.7" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.10.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" + integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/preset-env@7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796" + integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg== + dependencies: + "@babel/compat-data" "^7.11.0" + "@babel/helper-compilation-targets" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-proposal-async-generator-functions" "^7.10.4" + "@babel/plugin-proposal-class-properties" "^7.10.4" + "@babel/plugin-proposal-dynamic-import" "^7.10.4" + "@babel/plugin-proposal-export-namespace-from" "^7.10.4" + "@babel/plugin-proposal-json-strings" "^7.10.4" + "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" + "@babel/plugin-proposal-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread" "^7.11.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" + "@babel/plugin-proposal-optional-chaining" "^7.11.0" + "@babel/plugin-proposal-private-methods" "^7.10.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.0" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.8.3" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.0" - "@babel/plugin-transform-modules-commonjs" "^7.9.0" - "@babel/plugin-transform-modules-systemjs" "^7.9.0" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.7" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.10.4" + "@babel/plugin-transform-arrow-functions" "^7.10.4" + "@babel/plugin-transform-async-to-generator" "^7.10.4" + "@babel/plugin-transform-block-scoped-functions" "^7.10.4" + "@babel/plugin-transform-block-scoping" "^7.10.4" + "@babel/plugin-transform-classes" "^7.10.4" + "@babel/plugin-transform-computed-properties" "^7.10.4" + "@babel/plugin-transform-destructuring" "^7.10.4" + "@babel/plugin-transform-dotall-regex" "^7.10.4" + "@babel/plugin-transform-duplicate-keys" "^7.10.4" + "@babel/plugin-transform-exponentiation-operator" "^7.10.4" + "@babel/plugin-transform-for-of" "^7.10.4" + "@babel/plugin-transform-function-name" "^7.10.4" + "@babel/plugin-transform-literals" "^7.10.4" + "@babel/plugin-transform-member-expression-literals" "^7.10.4" + "@babel/plugin-transform-modules-amd" "^7.10.4" + "@babel/plugin-transform-modules-commonjs" "^7.10.4" + "@babel/plugin-transform-modules-systemjs" "^7.10.4" + "@babel/plugin-transform-modules-umd" "^7.10.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" + "@babel/plugin-transform-new-target" "^7.10.4" + "@babel/plugin-transform-object-super" "^7.10.4" + "@babel/plugin-transform-parameters" "^7.10.4" + "@babel/plugin-transform-property-literals" "^7.10.4" + "@babel/plugin-transform-regenerator" "^7.10.4" + "@babel/plugin-transform-reserved-words" "^7.10.4" + "@babel/plugin-transform-shorthand-properties" "^7.10.4" + "@babel/plugin-transform-spread" "^7.11.0" + "@babel/plugin-transform-sticky-regex" "^7.10.4" + "@babel/plugin-transform-template-literals" "^7.10.4" + "@babel/plugin-transform-typeof-symbol" "^7.10.4" + "@babel/plugin-transform-unicode-escapes" "^7.10.4" + "@babel/plugin-transform-unicode-regex" "^7.10.4" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.0" - browserslist "^4.9.1" + "@babel/types" "^7.11.0" + browserslist "^4.12.0" core-js-compat "^3.6.2" invariant "^2.2.2" levenary "^1.1.1" @@ -973,6 +1229,13 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/runtime@7.11.2": + version "7.11.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" + integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" @@ -980,16 +1243,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.8.6": - version "7.8.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.6.tgz#86b22af15f828dfb086474f964dcc3e39c43ce2b" - integrity sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/parser" "^7.8.6" - "@babel/types" "^7.8.6" - -"@babel/template@^7.10.4", "@babel/template@^7.4.0", "@babel/template@^7.8.6": +"@babel/template@7.10.4", "@babel/template@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== @@ -998,7 +1252,31 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.9.0": +"@babel/template@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.11.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== @@ -1013,7 +1291,7 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.8.6", "@babel/types@^7.9.0": +"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.4.4": version "7.12.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== @@ -1022,6 +1300,14 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + "@compodoc/compodoc@^1.1.11": version "1.1.11" resolved "https://registry.yarnpkg.com/@compodoc/compodoc/-/compodoc-1.1.11.tgz#44df8522479e5039911d8b2f10c24198831c5ede" @@ -1086,21 +1372,26 @@ is-absolute "^1.0.0" is-negated-glob "^1.0.0" +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + "@istanbuljs/schema@^0.1.2": version "0.1.2" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jsdevtools/coverage-istanbul-loader@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz#102e414b02ae2f0b3c7fd45a705601e1fd4867c5" - integrity sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA== +"@jsdevtools/coverage-istanbul-loader@3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz#2a4bc65d0271df8d4435982db4af35d81754ee26" + integrity sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA== dependencies: convert-source-map "^1.7.0" - istanbul-lib-instrument "^4.0.1" - loader-utils "^1.4.0" + istanbul-lib-instrument "^4.0.3" + loader-utils "^2.0.0" merge-source-map "^1.1.0" - schema-utils "^2.6.4" + schema-utils "^2.7.0" "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" @@ -1110,14 +1401,13 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@ngtools/webpack@9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-9.1.12.tgz#a6e2feb40db442335a1c79af4044d399767b5e81" - integrity sha512-lypMXIq5oxBMsoDu/VOa1yUmmXthhxkCJa8LG0ZohfnbwhmZvz3SAW7omBGuVrb5cVIfLCkaRCSnQ1MNc6ULXw== +"@ngtools/webpack@10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-10.2.3.tgz#e4e410d1d647b6e21a69ab20c00c110464f623ea" + integrity sha512-h7JJMMca1bHY/0Prpxu2P3bvnC6pUKmBAfqN0h0HaRN9LTU9IDWtDRTIL1Aqhs/tcTUio/DowVKnVi2CWHAOmg== dependencies: - "@angular-devkit/core" "9.1.12" - enhanced-resolve "4.1.1" - rxjs "6.5.4" + "@angular-devkit/core" "10.2.3" + enhanced-resolve "4.3.0" webpack-sources "1.4.3" "@nodelib/fs.scandir@2.1.3": @@ -1146,6 +1436,14 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" @@ -1153,18 +1451,18 @@ dependencies: mkdirp "^1.0.4" -"@rollup/plugin-commonjs@^11.0.2": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" - integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== +"@rollup/plugin-commonjs@^15.0.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238" + integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== dependencies: - "@rollup/pluginutils" "^3.0.8" + "@rollup/pluginutils" "^3.1.0" commondir "^1.0.1" - estree-walker "^1.0.1" - glob "^7.1.2" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" "@rollup/plugin-json@^4.0.0": version "4.1.0" @@ -1173,18 +1471,19 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^7.1.0": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" - integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q== +"@rollup/plugin-node-resolve@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" + integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== dependencies: - "@rollup/pluginutils" "^3.0.8" - "@types/resolve" "0.0.8" + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" builtin-modules "^3.1.0" + deepmerge "^4.2.2" is-module "^1.0.0" - resolve "^1.14.2" + resolve "^1.17.0" -"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9": +"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== @@ -1193,41 +1492,29 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@9.1.12": - version "9.1.12" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-9.1.12.tgz#608e25dbd517d867002781f695336b51f05417a2" - integrity sha512-r4+aPAGhstsKFMwW/kOen1ACnzuLpz+vMxEpndXOqqVXLkAMsuAbQUFYjIlMy6fH4zdhpI90EJZ1PbOrAXvKxA== +"@schematics/angular@10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-10.2.3.tgz#a5ea7e9bc17fbfb9b1c5f760f44bc4a7b0b18834" + integrity sha512-xcnfH5XMmGcs33VHm2cu0+4g3rkfSD+qpiKFjfg7KGC4lLoOKSED4ZnjzIYwcQ6QN4gTpAvlZKxI8zO7NkKv0A== dependencies: - "@angular-devkit/core" "9.1.12" - "@angular-devkit/schematics" "9.1.12" + "@angular-devkit/core" "10.2.3" + "@angular-devkit/schematics" "10.2.3" + jsonc-parser "2.3.0" -"@schematics/update@0.901.12": - version "0.901.12" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.901.12.tgz#7e410ac7a163b71e30d8cc56d7959adf9225078c" - integrity sha512-SxGVYLTHhBC0rSF0OWSWPuJUB1Jhfqkl3o5bBgCC9//DutWiN6WoCCBTrCxR7F5vR2iiD7WqOe9CuvWYfvV8oQ== +"@schematics/update@0.1002.3": + version "0.1002.3" + resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1002.3.tgz#75b016d44c98e77eaaff0be844144d867a224cd1" + integrity sha512-UnuMgRQtAOp/Pk9rSYW12medajXe9s5mW4a6foixC/B2UCFFlIAVbFBTiFpr69xbalfLlFcFx1MD+8/8njWtbQ== dependencies: - "@angular-devkit/core" "9.1.12" - "@angular-devkit/schematics" "9.1.12" + "@angular-devkit/core" "10.2.3" + "@angular-devkit/schematics" "10.2.3" "@yarnpkg/lockfile" "1.1.0" - ini "1.3.5" + ini "1.3.6" npm-package-arg "^8.0.0" pacote "9.5.12" - rxjs "6.5.4" - semver "7.1.3" + semver "7.3.2" semver-intersect "1.4.0" -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - "@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" @@ -1298,10 +1585,10 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== dependencies: "@types/node" "*" @@ -1324,150 +1611,149 @@ "@types/source-list-map" "*" source-map "^0.6.1" -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -1493,6 +1779,11 @@ JSONStream@^1.3.4: jsonparse "^1.2.0" through ">=2.2.7 <3" +abab@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1515,7 +1806,7 @@ acorn-walk@^7.0.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^6.2.1: +acorn@^6.4.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== @@ -1525,6 +1816,14 @@ acorn@^7.0.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +adjust-sourcemap-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" + integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + adm-zip@^0.4.9: version "0.4.16" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" @@ -1574,10 +1873,10 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@6.12.3: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== +ajv@6.12.4: + version "6.12.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -1604,13 +1903,6 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== - dependencies: - string-width "^3.0.0" - ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1645,11 +1937,6 @@ ansi-regex@^2.0.0: 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-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" @@ -1717,13 +2004,6 @@ app-root-path@^2.2.1: resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.2.1.tgz#d0df4a682ee408273583d43f6f79e9892624bc9a" integrity sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA== -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -1744,6 +2024,11 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -1811,7 +2096,7 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@^2.0.0, asap@~2.0.3: +asap@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= @@ -1880,7 +2165,7 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^2.5.0, async@^2.6.2: +async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== @@ -1902,20 +2187,7 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@9.7.4: - version "9.7.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" - integrity sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g== - dependencies: - browserslist "^4.8.3" - caniuse-lite "^1.0.30001020" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.26" - postcss-value-parser "^4.0.2" - -autoprefixer@^9.7.6: +autoprefixer@9.8.6: version "9.8.6" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== @@ -1928,6 +2200,19 @@ autoprefixer@^9.7.6: postcss "^7.0.32" postcss-value-parser "^4.1.0" +autoprefixer@^9.6.5: + version "9.8.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -1945,24 +2230,16 @@ axobject-query@2.0.2: dependencies: ast-types-flow "0.0.7" -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" - -babel-loader@8.0.6: - version "8.0.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== +babel-loader@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" pify "^4.0.1" + schema-utils "^2.6.5" babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" @@ -1989,10 +2266,10 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= +base64-arraybuffer@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" + integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= base64-js@0.0.8: version "0.0.8" @@ -2004,10 +2281,10 @@ base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.3.0: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.0.tgz#2d03045876d9e2b68a7a0f87d6bd163595e3b6af" integrity sha512-Jrdy04F2EKcNggUDfubMUPNAZg2vMquLQSm8sKLYJvz40ClFL1S8GKyDshGkNsbNNE5Z+fQavzU7nSK1I9JUGA== -base64id@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" - integrity sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY= +base64id@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== base@^0.11.1: version "0.11.2" @@ -2046,13 +2323,6 @@ bcryptjs@^2.3.0: resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= - dependencies: - callsite "1.0.0" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -2087,7 +2357,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -bluebird@^3.3.0, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: +bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -2102,7 +2372,7 @@ bn.js@^5.1.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== -body-parser@1.19.0, body-parser@^1.16.1: +body-parser@1.19.0, body-parser@^1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== @@ -2135,20 +2405,6 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2173,7 +2429,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1, braces@~3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -2279,7 +2535,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.8.3, browserslist@^4.9.1: +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.6, browserslist@^4.9.1: version "4.14.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== @@ -2290,6 +2546,17 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4 escalade "^3.1.1" node-releases "^1.1.66" +browserslist@^4.17.5, browserslist@^4.7.0: + version "4.18.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" + integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== + dependencies: + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + browserstack@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.0.tgz#5a56ab90987605d9c138d7a8b88128370297f9bf" @@ -2297,29 +2564,11 @@ browserstack@^1.5.1: dependencies: https-proxy-agent "^2.2.1" -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - buffer-equal@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - buffer-from@^1.0.0, buffer-from@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -2374,27 +2623,27 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.0.tgz#133b59edbd2a37ea8ef2d54964c6f247e47e5059" - integrity sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g== +cacache@15.0.5, cacache@^15.0.4: + version "15.0.5" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" + integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== dependencies: - chownr "^1.1.2" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" fs-minipass "^2.0.0" glob "^7.1.4" infer-owner "^1.0.4" - lru-cache "^5.1.1" + lru-cache "^6.0.0" minipass "^3.1.1" minipass-collect "^1.0.2" minipass-flush "^1.0.5" minipass-pipeline "^1.2.2" mkdirp "^1.0.3" - move-concurrently "^1.0.1" - p-map "^3.0.0" + p-map "^4.0.0" promise-inflight "^1.0.1" - rimraf "^2.7.1" + rimraf "^3.0.2" ssri "^8.0.0" - tar "^6.0.1" + tar "^6.0.2" unique-filename "^1.1.1" cacache@^12.0.0, cacache@^12.0.2: @@ -2418,11 +2667,12 @@ cacache@^12.0.0, cacache@^12.0.2: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^15.0.4: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== +cacache@^15.0.5: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: + "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" fs-minipass "^2.0.0" @@ -2437,7 +2687,7 @@ cacache@^15.0.4: p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" - ssri "^8.0.0" + ssri "^8.0.1" tar "^6.0.2" unique-filename "^1.1.1" @@ -2456,19 +2706,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - call-bind@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" @@ -2496,7 +2733,7 @@ caller-path@^2.0.0: dependencies: caller-callsite "^2.0.0" -callsite@1.0.0, callsite@^1.0.0: +callsite@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= @@ -2506,11 +2743,16 @@ callsites@^2.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@5.3.1, camelcase@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -2521,11 +2763,16 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: version "1.0.30001157" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== +caniuse-lite@^1.0.30001280: + version "1.0.30001282" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" + integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== + canonical-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" @@ -2556,18 +2803,10 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -2604,7 +2843,7 @@ cheerio@^1.0.0-rc.3: optionalDependencies: fsevents "~2.1.2" -chokidar@^2.0.3, chokidar@^2.0.4, chokidar@^2.1.8: +chokidar@^2.0.4, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -2640,11 +2879,6 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -2668,23 +2902,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@^4.1.11: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-boxes@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -2692,24 +2914,15 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-spinners@^2.2.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" - integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== +cli-spinners@^2.4.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^5.0.0: version "5.0.0" @@ -2729,28 +2942,21 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" -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== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.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" + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" clone@^1.0.2, clone@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clone@^2.1.1, clone@^2.1.2: +clone@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= @@ -2769,11 +2975,6 @@ code-block-writer@^7.2.0: resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.3.1.tgz#b3b921b885fe7fb869866c0648491eae6c08cfa9" integrity sha512-3Jfe6ZmmGzvdQWFo3MUzobn3WdX++jc3Tj0rsviJWYPnP7NGMFEE4qheNeOXeJgB1TTgxYT8XuNvhS/u596yGg== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - codelyzer@^5.1.2: version "5.2.2" resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.2.2.tgz#d0530a455784e6bea0b6d7e97166c73c30a5347f" @@ -2847,12 +3048,7 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -colors@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= - -colors@^1.1.0, colors@^1.4.0, colors@latest: +colors@1.4.0, colors@^1.4.0, colors@latest: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -2874,21 +3070,16 @@ commander@^3.0.2: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-versions@^3.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - component-bind@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" @@ -2899,7 +3090,7 @@ component-emitter@1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= -component-emitter@^1.2.1: +component-emitter@^1.2.1, component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -2909,6 +3100,13 @@ component-inherit@0.0.3: resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -2944,24 +3142,12 @@ concat-stream@^1.5.0, concat-stream@~1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - connect-history-api-fallback@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== -connect@^3.6.0, connect@^3.6.6: +connect@^3.6.6, connect@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== @@ -2993,28 +3179,40 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.5.1, convert-source-map@^1.7.0: +convert-source-map@1.7.0, convert-source-map@^1.5.1, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - cookie@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== +cookie@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== + +copy-anything@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.3.tgz#842407ba02466b0df844819bbe3baebbe5d45d87" + integrity sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ== + dependencies: + is-what "^3.12.0" + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -3062,7 +3260,7 @@ core-js@3.6.4: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== -core-js@^2.2.0, core-js@^2.4.0: +core-js@^2.4.0: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== @@ -3154,11 +3352,6 @@ crypto-js@^3.1.9-1: resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -3172,24 +3365,23 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" -css-loader@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.1.tgz#db2b2336f4169edb68e6a829ad4fd36552647b77" - integrity sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig== +css-loader@4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.2.2.tgz#b668b3488d566dc22ebcf9425c5f254a05808c89" + integrity sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg== dependencies: - camelcase "^5.3.1" + camelcase "^6.0.0" cssesc "^3.0.0" icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.27" + loader-utils "^2.0.0" + postcss "^7.0.32" postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" + postcss-modules-local-by-default "^3.0.3" postcss-modules-scope "^2.2.0" postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.3" - schema-utils "^2.6.5" - semver "^6.3.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" + semver "^7.3.2" css-parse@~2.0.0: version "2.0.0" @@ -3394,11 +3586,25 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-format@^2.0.0: +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +date-format@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" integrity sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA== +date-format@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95" + integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w== + debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -3413,14 +3619,14 @@ debug@3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" -debug@4.1.1: +debug@4.1.1, debug@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" -debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -3456,13 +3662,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - deep-equal@^1.0.0, deep-equal@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" @@ -3475,16 +3674,16 @@ deep-equal@^1.0.0, deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - 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= +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" @@ -3493,13 +3692,6 @@ default-gateway@^4.2.0: execa "^1.0.0" ip-regex "^2.1.0" -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - integrity sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc= - dependencies: - strip-bom "^3.0.0" - defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -3507,11 +3699,6 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -3623,11 +3810,16 @@ di@^0.0.1: resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= -diff@^3.1.0, diff@^3.2.0: +diff@^3.1.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -3672,7 +3864,7 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" -dom-serialize@^2.2.0: +dom-serialize@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= @@ -3755,11 +3947,6 @@ duplexer2@~0.1.4: dependencies: readable-stream "^2.0.2" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - duplexer@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -3793,6 +3980,11 @@ electron-to-chromium@^1.3.591: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.592.tgz#4621521b223bf6e5469373528321e185d3c24670" integrity sha512-kGNowksvqQiPb1pUSQKpd8JFoGPLxYOwduNRCqCxGh/2Q1qE2JdmwouCW41lUzDxOb/2RIV4lR0tVIfboWlO9A== +electron-to-chromium@^1.3.896: + version "1.3.904" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz#52a353994faeb0f2a9fab3606b4e0614d1af7b58" + integrity sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw== + elliptic@^6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -3816,6 +4008,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -3840,59 +4037,59 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -engine.io-client@~3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36" - integrity sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw== +engine.io-client@~3.5.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" + integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== dependencies: - component-emitter "1.2.1" + component-emitter "~1.3.0" component-inherit "0.0.3" debug "~3.1.0" - engine.io-parser "~2.1.1" + engine.io-parser "~2.2.0" has-cors "1.1.0" indexof "0.0.1" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~3.3.1" - xmlhttprequest-ssl "~1.5.4" + parseqs "0.0.6" + parseuri "0.0.6" + ws "~7.4.2" + xmlhttprequest-ssl "~1.6.2" yeast "0.1.2" -engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" - integrity sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA== +engine.io-parser@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" + integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== dependencies: after "0.8.2" arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.5" + base64-arraybuffer "0.1.4" blob "0.0.5" has-binary2 "~1.0.2" -engine.io@~3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.1.tgz#b60281c35484a70ee0351ea0ebff83ec8c9522a2" - integrity sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w== +engine.io@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" + integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== dependencies: accepts "~1.3.4" - base64id "1.0.0" - cookie "0.3.1" - debug "~3.1.0" - engine.io-parser "~2.1.0" - ws "~3.3.1" + base64id "2.0.0" + cookie "~0.4.1" + debug "~4.1.0" + engine.io-parser "~2.2.0" + ws "~7.4.2" -enhanced-resolve@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== +enhanced-resolve@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== +enhanced-resolve@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -3985,7 +4182,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: es6-symbol "~3.1.3" next-tick "~1.0.0" -es6-iterator@~2.0.1, es6-iterator@~2.0.3: +es6-iterator@2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -4050,11 +4247,6 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -4138,6 +4330,11 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -4426,14 +4623,6 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -fileset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -4473,7 +4662,7 @@ find-cache-dir@3.3.1, find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: +find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -4507,7 +4696,7 @@ findit2@^2.2.3: resolved "https://registry.yarnpkg.com/findit2/-/findit2-2.2.3.tgz#58a466697df8a6205cdfdbf395536b8bd777a5f6" integrity sha1-WKRmaX34piBc39vzlVNri9d3pfY= -flatted@^2.0.0: +flatted@^2.0.1, flatted@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== @@ -4591,13 +4780,6 @@ from@~0: resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= -fs-access@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - integrity sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o= - dependencies: - null-check "^1.0.0" - fs-extra@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" @@ -4616,16 +4798,7 @@ fs-extra@^6.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.0.1: +fs-extra@^8.0.1, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== @@ -4686,6 +4859,11 @@ fsevents@~2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -4706,12 +4884,7 @@ get-assigned-identifiers@^1.1.0: resolved "https://registry.yarnpkg.com/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz#6dbf411de648cbaf8d9169ebb0d2d576191e2ff1" integrity sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ== -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -4732,13 +4905,6 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -4783,13 +4949,6 @@ glob@7.1.6, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glo once "^1.3.0" path-is-absolute "^1.0.0" -global-dirs@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" - integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== - dependencies: - ini "^1.3.5" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -4843,28 +5002,16 @@ globby@^8.0.1: pify "^3.0.0" slash "^1.0.0" -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -4960,11 +5107,6 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - has@^1.0.0, has@^1.0.1, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -5077,11 +5219,6 @@ http-cache-semantics@^3.8.1: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== -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== - http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -5142,7 +5279,7 @@ http-proxy-middleware@0.19.1: lodash "^4.17.11" micromatch "^3.1.10" -http-proxy@^1.13.0, http-proxy@^1.17.0: +http-proxy@^1.17.0, http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -5267,11 +5404,6 @@ import-from@^2.1.0: dependencies: resolve-from "^3.0.0" -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -5328,7 +5460,12 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@1.3.5, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.6.tgz#f1c46a2a93a253e7b3905115e74d527cd23061a1" + integrity sha512-IZUoxEjNjubzrmvzZU4lKP7OnYmX72XRl3sqkfJhBKweKi5rnGi5+IUdlj/H1M+Ip5JQ1WzaDMOBRY90Ajc5jg== + +ini@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -5340,21 +5477,21 @@ injection-js@^2.2.1: dependencies: tslib "^2.0.0" -inquirer@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== +inquirer@7.3.3: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== dependencies: ansi-escapes "^4.2.1" - chalk "^3.0.0" + chalk "^4.1.0" cli-cursor "^3.1.0" - cli-width "^2.0.0" + cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.15" + lodash "^4.17.19" mute-stream "0.0.8" run-async "^2.4.0" - rxjs "^6.5.3" + rxjs "^6.6.0" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" @@ -5379,11 +5516,6 @@ invariant@^2.2.2: dependencies: loose-envify "^1.0.0" -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -5470,13 +5602,6 @@ is-callable@^1.1.4, is-callable@^1.2.2: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-color-stop@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" @@ -5496,6 +5621,13 @@ is-core-module@^2.1.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -5560,13 +5692,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - 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" @@ -5591,14 +5716,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -5619,11 +5736,6 @@ is-negative-zero@^2.0.0: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5679,11 +5791,6 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-path-inside@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== - is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -5696,7 +5803,7 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-reference@^1.1.2: +is-reference@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== @@ -5741,7 +5848,7 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -5753,6 +5860,16 @@ is-unc-path@^1.0.0: dependencies: unc-path-regex "^0.1.2" +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-what@^3.12.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -5770,11 +5887,6 @@ is-wsl@^2.1.1: dependencies: is-docker "^2.0.0" -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -5785,12 +5897,10 @@ isarray@2.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= -isbinaryfile@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" - integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== - dependencies: - buffer-alloc "^1.2.0" +isbinaryfile@^4.0.6: + version "4.0.8" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" + integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== isexe@^2.0.0: version "2.0.0" @@ -5814,25 +5924,6 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-api@^2.1.6: - version "2.1.7" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.7.tgz#82786b79f3b93d481349c7aa1e2c2b4eeb48c8a8" - integrity sha512-LYTOa2UrYFyJ/aSczZi/6lBykVMjCCvUmT64gOe+jPZFy4w6FYfPGqFT2IiQ2BxVHHDOvCD7qrIXb0EOh4uGWw== - dependencies: - async "^2.6.2" - compare-versions "^3.4.0" - fileset "^2.0.3" - istanbul-lib-coverage "^2.0.5" - istanbul-lib-hook "^2.0.7" - istanbul-lib-instrument "^3.3.0" - istanbul-lib-report "^2.0.8" - istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^2.2.5" - js-yaml "^3.13.1" - make-dir "^2.1.0" - minimatch "^3.0.4" - once "^1.4.0" - istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" @@ -5843,27 +5934,7 @@ istanbul-lib-coverage@^3.0.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== -istanbul-lib-hook@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" - integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== - dependencies: - append-transform "^1.0.0" - -istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-instrument@^4.0.1: +istanbul-lib-instrument@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== @@ -5873,14 +5944,14 @@ istanbul-lib-instrument@^4.0.1: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" -istanbul-lib-report@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" istanbul-lib-source-maps@^3.0.6: version "3.0.6" @@ -5893,34 +5964,35 @@ istanbul-lib-source-maps@^3.0.6: rimraf "^2.6.3" source-map "^0.6.1" -istanbul-reports@^2.2.5: - version "2.2.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== +istanbul-reports@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== dependencies: html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" -jasmine-core@^3.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.6.0.tgz#491f3bb23941799c353ceb7a45b38a950ebc5a20" - integrity sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw== +jasmine-core@^3.6.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.10.1.tgz#7aa6fa2b834a522315c651a128d940eca553989a" + integrity sha512-ooZWSDVAdh79Rrj4/nnfklL3NQVra0BcuhcuWoAwwi+znLDoUeH87AFfeX8s+YeYi6xlv5nveRyaA1v7CintfA== jasmine-core@~2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-core@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.4.0.tgz#2a74618e966026530c3518f03e9f845d26473ce3" - integrity sha512-HU/YxV4i6GcmiH4duATwAbJQMlE0MsDIR5XmSVxURxKHn3aGAdbY1/ZJFmVRbKtnLwIxxMJD7gYaPsypcbYimg== +jasmine-core@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.5.0.tgz#132c23e645af96d85c8bca13c8758b18429fc1e4" + integrity sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA== -jasmine-spec-reporter@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz#1d632aec0341670ad324f92ba84b4b32b35e9e22" - integrity sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg== +jasmine-spec-reporter@~5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz#b61288ab074ad440dc2477c4d42840b0e74a6b95" + integrity sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g== dependencies: - colors "1.1.2" + colors "1.4.0" jasmine@2.8.0: version "2.8.0" @@ -5936,15 +6008,16 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@25.1.0: - version "25.1.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.1.0.tgz#75d038bad6fdf58eba0d2ec1835856c497e3907a" - integrity sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg== +jest-worker@26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" + integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== dependencies: + "@types/node" "*" merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.0.0: +jest-worker@^26.3.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -5958,12 +6031,7 @@ jest-worker@^26.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -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.13.0, js-yaml@^3.13.1: +js-yaml@^3.13.1: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== @@ -5986,11 +6054,6 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, 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" @@ -6035,6 +6098,11 @@ json5@^2.1.0, json5@^2.1.2: dependencies: minimist "^1.2.5" +jsonc-parser@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.0.tgz#7c7fc988ee1486d35734faaaa866fadb00fa91ee" + integrity sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA== + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -6076,33 +6144,35 @@ jszip@^3.1.3: readable-stream "~2.3.6" set-immediate-shim "~1.0.1" -karma-chrome-launcher@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf" - integrity sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w== +karma-chrome-launcher@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz#805a586799a4d05f4e54f72a204979f3f3066738" + integrity sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg== dependencies: - fs-access "^1.0.0" which "^1.2.1" -karma-coverage-istanbul-reporter@~2.0.1: - version "2.0.6" - resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.0.6.tgz#7b6e9c88781447bb87aa6ac24bf74b93e558adc3" - integrity sha512-WFh77RI8bMIKdOvI/1/IBmgnM+Q7NOLhnwG91QJrM8lW+CIXCjTzhhUsT/svLvAkLmR10uWY4RyYbHMLkTglvg== +karma-coverage-istanbul-reporter@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz#f3b5303553aadc8e681d40d360dfdc19bc7e9fe9" + integrity sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw== dependencies: - istanbul-api "^2.1.6" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^3.0.6" + istanbul-reports "^3.0.2" minimatch "^3.0.4" -karma-jasmine-html-reporter@^1.4.0: - version "1.5.4" - resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz#669f33d694d88fce1b0ccfda57111de716cb0192" - integrity sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q== +karma-jasmine-html-reporter@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz#52c489a74d760934a1089bfa5ea4a8fcb84cc28b" + integrity sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ== -karma-jasmine@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-2.0.1.tgz#26e3e31f2faf272dd80ebb0e1898914cc3a19763" - integrity sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA== +karma-jasmine@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-4.0.1.tgz#b99e073b6d99a5196fc4bffc121b89313b0abd82" + integrity sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw== dependencies: - jasmine-core "^3.3" + jasmine-core "^3.6.0" karma-source-map-support@1.4.0: version "1.4.0" @@ -6111,45 +6181,35 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -karma@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-4.1.0.tgz#d07387c9743a575b40faf73e8a3eb5421c2193e1" - integrity sha512-xckiDqyNi512U4dXGOOSyLKPwek6X/vUizSy2f3geYevbLj+UIdvNwbn7IwfUIL2g1GXEPWt/87qFD1fBbl/Uw== +karma@~5.0.0: + version "5.0.9" + resolved "https://registry.yarnpkg.com/karma/-/karma-5.0.9.tgz#11a119b0c763a806fdc471b40c594a2240b5ca13" + integrity sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg== dependencies: - bluebird "^3.3.0" - body-parser "^1.16.1" - braces "^2.3.2" - chokidar "^2.0.3" - colors "^1.1.0" - connect "^3.6.0" - core-js "^2.2.0" + body-parser "^1.19.0" + braces "^3.0.2" + chokidar "^3.0.0" + colors "^1.4.0" + connect "^3.7.0" di "^0.0.1" - dom-serialize "^2.2.0" - flatted "^2.0.0" - glob "^7.1.1" - graceful-fs "^4.1.2" - http-proxy "^1.13.0" - isbinaryfile "^3.0.0" - lodash "^4.17.11" - log4js "^4.0.0" - mime "^2.3.1" - minimatch "^3.0.2" - optimist "^0.6.1" - qjobs "^1.1.4" - range-parser "^1.2.0" - rimraf "^2.6.0" - safe-buffer "^5.0.1" - socket.io "2.1.1" + dom-serialize "^2.2.1" + flatted "^2.0.2" + glob "^7.1.6" + graceful-fs "^4.2.4" + http-proxy "^1.18.1" + isbinaryfile "^4.0.6" + lodash "^4.17.15" + log4js "^6.2.1" + mime "^2.4.5" + minimatch "^3.0.4" + qjobs "^1.2.0" + range-parser "^1.2.1" + rimraf "^3.0.2" + socket.io "^2.3.0" source-map "^0.6.1" - tmp "0.0.33" - useragent "2.3.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" + tmp "0.2.1" + ua-parser-js "0.7.21" + yargs "^15.3.1" killable@^1.0.1: version "1.0.1" @@ -6180,35 +6240,26 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" +klona@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -less-loader@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" - integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg== +less-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-6.2.0.tgz#8b26f621c155b342eefc24f5bd6e9dc40c42a719" + integrity sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg== dependencies: - clone "^2.1.1" - loader-utils "^1.1.0" - pify "^4.0.1" + clone "^2.1.2" + less "^3.11.3" + loader-utils "^2.0.0" + schema-utils "^2.7.0" -less@3.11.3: - version "3.11.3" - resolved "https://registry.yarnpkg.com/less/-/less-3.11.3.tgz#2d853954fcfe0169a8af869620bcaa16563dcc1c" - integrity sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw== +less@^3.10.3: + version "3.12.2" + resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4" + integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q== dependencies: - clone "^2.1.2" tslib "^1.10.0" optionalDependencies: errno "^0.1.1" @@ -6216,15 +6267,15 @@ less@3.11.3: image-size "~0.5.0" make-dir "^2.1.0" mime "^1.4.1" - promise "^7.1.1" - request "^2.83.0" + native-request "^1.0.5" source-map "~0.6.0" -less@^3.10.3: - version "3.12.2" - resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4" - integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q== +less@^3.11.3: + version "3.13.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" + integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== dependencies: + copy-anything "^2.0.1" tslib "^1.10.0" optionalDependencies: errno "^0.1.1" @@ -6255,10 +6306,10 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-webpack-plugin@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz#c5529a4bb87cc9b4489b486d054ba7cae43a554e" - integrity sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ== +license-webpack-plugin@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.0.tgz#c00f70d5725ba0408de208acb9e66612cc2eceda" + integrity sha512-JK/DXrtN6UeYQSgkg5q1+pgJ8aiKPL9tnz9Wzw+Ikkf+8mJxG56x6t8O+OH/tAeF/5NREnelTEMyFtbJNkjH4w== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" @@ -6308,6 +6359,15 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + loader-utils@2.0.0, loader-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" @@ -6356,28 +6416,34 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: +lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -log-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== +lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== dependencies: - chalk "^2.4.2" + chalk "^4.1.0" + is-unicode-supported "^0.1.0" -log4js@^4.0.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-4.5.1.tgz#e543625e97d9e6f3e6e7c9fc196dd6ab2cae30b5" - integrity sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw== +log4js@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb" + integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw== dependencies: - date-format "^2.0.0" + date-format "^3.0.0" debug "^4.1.1" - flatted "^2.0.0" + flatted "^2.0.1" rfdc "^1.1.4" - streamroller "^1.0.6" + streamroller "^2.2.4" loglevel-plugin-prefix@^0.8.4: version "0.8.4" @@ -6396,24 +6462,6 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -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== - -lru-cache@4.1.x: - 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" - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -6445,7 +6493,7 @@ magic-string@0.25.1: dependencies: sourcemap-codec "^1.4.1" -magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.2: +magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -6489,18 +6537,6 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6547,15 +6583,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -6668,20 +6695,20 @@ mime@^2.3.1, mime@^2.4.4: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== -mimic-fn@^2.0.0, mimic-fn@^2.1.0: +mime@^2.4.5: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== + +mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mini-css-extract-plugin@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" - integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== +mini-css-extract-plugin@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz#a0e6bfcad22a9c73f6c882a3c7557a98e2d3d27d" + integrity sha512-QgKgJBjaJhxVPwrLNqqwNS0AGkuQQ31Hp4xGXEK/P7wehEg6qmNtReHKai3zRXqY60wGVWLYcOMJK2b98aGc3A== dependencies: loader-utils "^1.1.0" normalize-url "1.9.1" @@ -6698,7 +6725,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.0, 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== @@ -6710,11 +6737,6 @@ minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -6790,7 +6812,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1, mkdirp@~0.5.x: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, 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== @@ -6910,7 +6932,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, 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== @@ -6920,37 +6942,36 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@^9.0.0: - version "9.1.5" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-9.1.5.tgz#8f95838b25d5561593cf1766ab893d01b9da8768" - integrity sha512-biuNfM15uLkCW+Vvj8bnuwjX37oX7j5icGm+l71FhM6ydlEl+Cl7PdFXpy9rrIlKFYlYRiPiiiWazGwVGn1icQ== +ng-packagr@^10.1.0: + version "10.1.2" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-10.1.2.tgz#7c869ec5bea92ff3ab65392913ad4e8af749799a" + integrity sha512-pm61gu6jPkohL8tFWk+2DwUtb3rs5GpND1ZjKUYv5WUJPUQmBfG5WvEO/CDVQpSDWhNWWLTt17NIQ+RS3hNUHg== dependencies: - "@rollup/plugin-commonjs" "^11.0.2" + "@rollup/plugin-commonjs" "^15.0.0" "@rollup/plugin-json" "^4.0.0" - "@rollup/plugin-node-resolve" "^7.1.0" - ajv "^6.10.2" - autoprefixer "^9.7.6" - browserslist "^4.12.0" - chalk "^4.0.0" + "@rollup/plugin-node-resolve" "^9.0.0" + ajv "^6.12.3" + ansi-colors "^4.1.1" + autoprefixer "^9.6.5" + browserslist "^4.7.0" chokidar "^3.2.1" - clean-css "^4.1.11" - commander "^4.0.0" + commander "^6.0.0" + cssnano-preset-default "^4.0.7" fs-extra "^9.0.0" glob "^7.1.2" injection-js "^2.2.1" less "^3.10.3" node-sass-tilde-importer "^1.0.0" - postcss "^7.0.18" + postcss "^7.0.29" postcss-url "^8.0.0" read-pkg-up "^5.0.0" rimraf "^3.0.0" - rollup "2.7.5" + rollup "^2.8.0" rollup-plugin-sourcemaps "^0.6.0" rxjs "^6.5.0" sass "^1.23.0" stylus "^0.54.7" - terser "^4.3.8" - update-notifier "^4.0.0" + terser "^5.0.0" nice-try@^1.0.4: version "1.0.5" @@ -7005,6 +7026,11 @@ node-releases@^1.1.66: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + node-sass-tilde-importer@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz#1a15105c153f648323b4347693fdb0f331bad1ce" @@ -7054,11 +7080,6 @@ normalize-url@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== - npm-bundled@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" @@ -7115,10 +7136,10 @@ npm-packlist@^1.1.12: npm-bundled "^1.0.1" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz#bfde7abe95f2670aed1629a3c18245ccb3cc2eb8" - integrity sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg== +npm-pick-manifest@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz#2befed87b0fce956790f62d32afb56d7539c022a" + integrity sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw== dependencies: npm-install-checks "^4.0.0" npm-package-arg "^8.0.0" @@ -7160,21 +7181,11 @@ nth-check@^1.0.2, nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= - num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -7185,11 +7196,6 @@ object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1 resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= - object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" @@ -7290,10 +7296,10 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.3.tgz#db551a1af9c7ab4c7af664139930826138531c48" - integrity sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA== +open@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/open/-/open-7.2.0.tgz#212959bd7b0ce2e8e3676adc76e3cf2f0a2498b4" + integrity sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ== dependencies: is-docker "^2.0.0" is-wsl "^2.1.1" @@ -7317,14 +7323,6 @@ opn@latest: dependencies: is-wsl "^1.1.0" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -7337,16 +7335,16 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -ora@4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05" - integrity sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg== +ora@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.0.0.tgz#4f0b34f2994877b49b452a707245ab1e9f6afccb" + integrity sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw== dependencies: - chalk "^3.0.0" + chalk "^4.1.0" cli-cursor "^3.1.0" - cli-spinners "^2.2.0" + cli-spinners "^2.4.0" is-interactive "^1.0.0" - log-symbols "^3.0.0" + log-symbols "^4.0.0" mute-stream "0.0.8" strip-ansi "^6.0.0" wcwidth "^1.0.1" @@ -7368,15 +7366,6 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - os-name@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" @@ -7398,27 +7387,12 @@ osenv@^0.1.5: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0: +p-limit@^2.0.0, 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== @@ -7432,6 +7406,13 @@ p-limit@^3.0.1: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + 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@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -7451,13 +7432,6 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -7477,16 +7451,6 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - pacote@9.5.12: version "9.5.12" resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" @@ -7576,10 +7540,17 @@ parse-node-version@^1.0.0: resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== +parse5-htmlparser2-tree-adapter@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@6.0.1, parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^3.0.1: version "3.0.3" @@ -7593,19 +7564,15 @@ parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= - dependencies: - better-assert "~1.0.0" +parseqs@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" + integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= - dependencies: - better-assert "~1.0.0" +parseuri@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" + integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" @@ -7718,6 +7685,16 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -7769,6 +7746,13 @@ png-js@^1.0.0: resolved "https://registry.yarnpkg.com/png-js/-/png-js-1.0.0.tgz#e5484f1e8156996e383aceebb3789fd75df1874d" integrity sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g== +pnp-webpack-plugin@1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + dependencies: + ts-pnp "^1.1.6" + portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -7936,7 +7920,7 @@ postcss-modules-extract-imports@^2.0.0: dependencies: postcss "^7.0.5" -postcss-modules-local-by-default@^3.0.2: +postcss-modules-local-by-default@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== @@ -8126,21 +8110,30 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@7.0.27: - version "7.0.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" - integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== +postcss@7.0.21: + version "7.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@7.0.32: + version "7.0.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" + integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== dependencies: chalk "^2.4.2" source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -8149,6 +8142,14 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.18, postcss@^7.0.2 source-map "^0.6.1" supports-color "^6.1.0" +postcss@^7.0.29: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -8159,11 +8160,6 @@ prepend-http@^1.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - 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" @@ -8187,13 +8183,6 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - protoduck@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" @@ -8201,10 +8190,10 @@ protoduck@^5.0.1: dependencies: genfun "^5.0.0" -protractor@~5.4.0: - version "5.4.4" - resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.4.tgz#b241466aaf83b76bc2c58df67deb9a5cdfc61529" - integrity sha512-BaL4vePgu3Vfa/whvTUAlgaCAId4uNSGxIFSCXMgj7LMYENPWLp85h5RBi9pdpX/bWQ8SF6flP7afmi2TC4eHw== +protractor@~7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/protractor/-/protractor-7.0.0.tgz#c3e263608bd72e2c2dc802b11a772711a4792d03" + integrity sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw== dependencies: "@types/q" "^0.0.32" "@types/selenium-webdriver" "^3.0.0" @@ -8219,8 +8208,8 @@ protractor@~5.4.0: selenium-webdriver "3.6.0" source-map-support "~0.4.0" webdriver-js-extender "2.1.0" - webdriver-manager "^12.0.6" - yargs "^12.0.5" + webdriver-manager "^12.1.7" + yargs "^15.3.1" proxy-addr@~2.0.5: version "2.0.6" @@ -8240,11 +8229,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -8302,13 +8286,6 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pupa@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - q@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" @@ -8319,7 +8296,7 @@ q@^1.1.2, q@^1.4.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qjobs@^1.1.4: +qjobs@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== @@ -8381,7 +8358,7 @@ randomfill@^1.0.3: randombytes "^2.0.5" safe-buffer "^5.1.0" -range-parser@^1.2.0, range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== @@ -8396,23 +8373,13 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.0.tgz#d639c40fb9d72b5c7f8abc1fb2ddb25b29d3d540" - integrity sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" - -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== +raw-loader@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.1.tgz#14e1f726a359b68437e183d5a5b7d33a3eba6933" + integrity sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A== dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" + loader-utils "^2.0.0" + schema-utils "^2.6.5" read-cache@^1.0.0: version "1.0.0" @@ -8523,21 +8490,16 @@ regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@0.13.5: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== +regenerator-runtime@0.13.7, regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" @@ -8553,6 +8515,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regex-parser@^2.2.11: + version "2.2.11" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" + integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== + regexp.prototype.flags@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" @@ -8573,20 +8540,6 @@ regexpu-core@^4.7.1: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.2.0" -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - regjsgen@^0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" @@ -8614,7 +8567,7 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request@^2.83.0, request@^2.87.0, request@^2.88.0: +request@^2.87.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -8645,11 +8598,6 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -8672,6 +8620,22 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= +resolve-url-loader@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" + integrity sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ== + dependencies: + adjust-sourcemap-loader "3.0.0" + camelcase "5.3.1" + compose-function "3.0.3" + convert-source-map "1.7.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.21" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -8682,7 +8646,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.5, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14.2, resolve@^1.3.2: +resolve@^1.1.5, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -8690,12 +8654,13 @@ resolve@^1.1.5, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.14. is-core-module "^2.1.0" path-parse "^1.0.6" -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= +resolve@^1.17.0, resolve@^1.8.1: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: - lowercase-keys "^1.0.0" + is-core-module "^2.2.0" + path-parse "^1.0.6" restore-cursor@^3.1.0: version "3.1.0" @@ -8732,6 +8697,19 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + rfdc@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" @@ -8754,7 +8732,7 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.0, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -8777,19 +8755,19 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.1.0.tgz#552e248e397a06b9c6db878c0564ca4ee06729c9" - integrity sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ== +rollup@2.26.5: + version "2.26.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.26.5.tgz#5562ec36fcba3eed65cfd630bd78e037ad0e0307" + integrity sha512-rCyFG3ZtQdnn9YwfuAVH0l/Om34BdO5lwCA0W6Hq+bNB21dVEBbCRxhaHOmu1G7OBFDWytbzAC104u7rxHwGjA== optionalDependencies: fsevents "~2.1.2" -rollup@2.7.5: - version "2.7.5" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.7.5.tgz#dd4e4518b58348a841aefa47bea544f3be27a76f" - integrity sha512-xQSM8uzhgtF6tTnTVEvOQThrcG3LPUP3T/4l4EukzDp0kbTY1QRDuXjiwtYzs9odKj9Bj/PccRG6viFfS7DmCQ== +rollup@^2.8.0: + version "2.60.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.60.0.tgz#4ee60ab7bdd0356763f87d7099f413e5460fc193" + integrity sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ== optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.2" run-async@^2.4.0: version "2.4.1" @@ -8815,20 +8793,27 @@ rxjs@6.5.3: dependencies: tslib "^1.9.0" -rxjs@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" - integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== +rxjs@6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" + integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== dependencies: tslib "^1.9.0" -rxjs@^6.5.0, rxjs@^6.5.3: +rxjs@^6.5.0: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" +rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, 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" @@ -8851,21 +8836,21 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" - integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== +sass-loader@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.1.tgz#10c0364d8034f22fee25ddcc9eded20f99bbe3b4" + integrity sha512-b2PSldKVTS3JcFPHSrEXh3BeAfR7XknGiGCAO5aHruR3Pf3kqLP3Gb2ypXLglRrAzgZkloNxLZ7GXEGDX0hBUQ== dependencies: - clone-deep "^4.0.1" - loader-utils "^1.2.3" - neo-async "^2.6.1" - schema-utils "^2.6.1" - semver "^6.3.0" + klona "^2.0.3" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^2.7.0" + semver "^7.3.2" -sass@1.26.3: - version "1.26.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.3.tgz#412df54486143b76b5a65cdf7569e86f44659f46" - integrity sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw== +sass@1.26.10: + version "1.26.10" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760" + integrity sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw== dependencies: chokidar ">=2.0.0 <4.0.0" @@ -8897,7 +8882,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.5.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: +schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -8941,13 +8926,6 @@ selfsigned@^1.10.7: dependencies: node-forge "^0.10.0" -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - semver-dsl@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" @@ -8962,7 +8940,7 @@ semver-intersect@1.4.0: dependencies: semver "^5.0.0" -"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -8972,20 +8950,22 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.1.3.tgz#e4345ce73071c53f336445cfc19efb1c311df2a6" - integrity sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA== +semver@7.3.2, semver@^7.0.0, semver@^7.1.1: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.0.0, semver@^7.1.1: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.3.2, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" send@0.17.1, send@latest: version "0.17.1" @@ -9006,13 +8986,6 @@ send@0.17.1, send@latest: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -9086,13 +9059,6 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" -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" - shallow-copy@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" @@ -9172,46 +9138,52 @@ socket.io-adapter@~1.1.0: resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== -socket.io-client@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f" - integrity sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ== +socket.io-client@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" + integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== dependencies: backo2 "1.0.2" - base64-arraybuffer "0.1.5" component-bind "1.0.0" - component-emitter "1.2.1" + component-emitter "~1.3.0" debug "~3.1.0" - engine.io-client "~3.2.0" + engine.io-client "~3.5.0" has-binary2 "~1.0.2" - has-cors "1.1.0" indexof "0.0.1" - object-component "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - socket.io-parser "~3.2.0" + parseqs "0.0.6" + parseuri "0.0.6" + socket.io-parser "~3.3.0" to-array "0.1.4" -socket.io-parser@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077" - integrity sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA== +socket.io-parser@~3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" + integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== dependencies: - component-emitter "1.2.1" + component-emitter "~1.3.0" debug "~3.1.0" isarray "2.0.1" -socket.io@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" - integrity sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA== +socket.io-parser@~3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" + integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== dependencies: - debug "~3.1.0" - engine.io "~3.2.0" + component-emitter "1.2.1" + debug "~4.1.0" + isarray "2.0.1" + +socket.io@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.1.tgz#95ad861c9a52369d7f1a68acf0d4a1b16da451d2" + integrity sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w== + dependencies: + debug "~4.1.0" + engine.io "~3.5.0" has-binary2 "~1.0.2" socket.io-adapter "~1.1.0" - socket.io-client "2.1.1" - socket.io-parser "~3.2.0" + socket.io-client "2.4.0" + socket.io-parser "~3.4.0" sockjs-client@1.4.0: version "1.4.0" @@ -9262,13 +9234,16 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-loader@0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.4.tgz#c18b0dc6e23bf66f6792437557c569a11e072271" - integrity sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ== +source-map-loader@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.0.2.tgz#b0a6582b2eaa387ede1ecf8061ae0b93c23f9eb0" + integrity sha512-oX8d6ndRjN+tVyjj6PlXSyFPhDdVAPsZA30nD3/II8g4uOv8fCz0DMn5sy8KtVbDfKQxOpGwGJnK3xIW3tauDw== dependencies: - async "^2.5.0" - loader-utils "^1.1.0" + data-urls "^2.0.0" + iconv-lite "^0.6.2" + loader-utils "^2.0.0" + schema-utils "^2.7.0" + source-map "^0.6.1" source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" @@ -9289,7 +9264,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: +source-map-support@0.5.19, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: 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== @@ -9304,12 +9279,25 @@ source-map-support@~0.4.0: dependencies: source-map "^0.5.6" +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@0.7.3, source-map@^0.7.3: +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, 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.3, source-map@^0.7.3, 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== @@ -9319,11 +9307,6 @@ source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.0, source-map@^0.6.1, 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.1.30: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" @@ -9385,10 +9368,10 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -speed-measure-webpack-plugin@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz#69840a5cdc08b4638697dac7db037f595d7f36a0" - integrity sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ== +speed-measure-webpack-plugin@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz#6ff894fc83e8a6310dde3af863a0329cd79da4f5" + integrity sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ== dependencies: chalk "^2.0.1" @@ -9445,6 +9428,13 @@ ssri@^8.0.0: dependencies: minipass "^3.1.1" +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + stable@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" @@ -9529,39 +9519,20 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== -streamroller@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-1.0.6.tgz#8167d8496ed9f19f05ee4b158d9611321b8cacd9" - integrity sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg== +streamroller@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53" + integrity sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ== dependencies: - async "^2.6.2" - date-format "^2.0.0" - debug "^3.2.6" - fs-extra "^7.0.1" - lodash "^4.17.14" + date-format "^2.1.0" + debug "^4.1.1" + fs-extra "^8.1.0" strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.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-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -9571,7 +9542,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== @@ -9617,13 +9588,6 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: 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-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" @@ -9638,28 +9602,18 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -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= - -style-loader@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.1.3.tgz#9e826e69c683c4d9bf9db924f85e9abb30d5e200" - integrity sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw== +style-loader@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" + integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== dependencies: - loader-utils "^1.2.3" - schema-utils "^2.6.4" + loader-utils "^2.0.0" + schema-utils "^2.6.6" stylehacks@^4.0.0: version "4.0.3" @@ -9679,21 +9633,7 @@ stylus-loader@3.0.2: lodash.clonedeep "^4.5.0" when "~3.6.x" -stylus@0.54.7: - version "0.54.7" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.7.tgz#c6ce4793965ee538bcebe50f31537bfc04d88cd2" - integrity sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug== - dependencies: - css-parse "~2.0.0" - debug "~3.1.0" - glob "^7.1.3" - mkdirp "~0.5.x" - safer-buffer "^2.1.2" - sax "~1.2.4" - semver "^6.0.0" - source-map "^0.7.3" - -stylus@^0.54.7: +stylus@0.54.8, stylus@^0.54.7: version "0.54.8" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== @@ -9782,7 +9722,7 @@ tar@^4.4.10: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.1, tar@^6.0.2: +tar@^6.0.2: version "6.0.5" resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== @@ -9794,24 +9734,19 @@ tar@^6.0.1, tar@^6.0.2: mkdirp "^1.0.3" yallist "^4.0.0" -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -terser-webpack-plugin@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz#23bda2687b197f878a743373b9411d917adc2e45" - integrity sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw== +terser-webpack-plugin@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz#6e9d6ae4e1a900d88ddce8da6a47507ea61f44bc" + integrity sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA== dependencies: - cacache "^15.0.4" + cacache "^15.0.5" find-cache-dir "^3.3.1" - jest-worker "^26.0.0" - p-limit "^2.3.0" + jest-worker "^26.3.0" + p-limit "^3.0.2" schema-utils "^2.6.6" - serialize-javascript "^3.1.0" + serialize-javascript "^4.0.0" source-map "^0.6.1" - terser "^4.6.13" + terser "^5.0.0" webpack-sources "^1.4.3" terser-webpack-plugin@^1.4.3: @@ -9829,16 +9764,16 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@4.6.10: - version "4.6.10" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.10.tgz#90f5bd069ff456ddbc9503b18e52f9c493d3b7c2" - integrity sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA== +terser@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.0.tgz#c481f4afecdcc182d5e2bdd2ff2dc61555161e81" + integrity sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg== dependencies: commander "^2.20.0" source-map "~0.6.1" source-map-support "~0.5.12" -terser@^4.1.2, terser@^4.3.8, terser@^4.6.13: +terser@^4.1.2: version "4.8.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== @@ -9847,6 +9782,15 @@ terser@^4.1.2, terser@^4.3.8, terser@^4.6.13: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.0.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + through2@^2.0.0, through2@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -9894,7 +9838,14 @@ tmp@0.0.30: dependencies: os-tmpdir "~1.0.1" -tmp@0.0.33, tmp@0.0.x, tmp@^0.0.33: +tmp@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== @@ -9923,11 +9874,6 @@ to-object-path@^0.3.0: dependencies: kind-of "^3.0.2" -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -9966,6 +9912,13 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + traverse@^0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -9990,6 +9943,11 @@ ts-node@~7.0.0: source-map-support "^0.5.6" yn "^2.0.0" +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + ts-simple-ast@12.4.0: version "12.4.0" resolved "https://registry.yarnpkg.com/ts-simple-ast/-/ts-simple-ast-12.4.0.tgz#6b53f6d6a59145da637dfe0e8c646d1e66ba278a" @@ -10006,12 +9964,12 @@ ts-simple-ast@12.4.0: tslib "^1.9.0" typescript "2.9.1" -tslib@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== +tslib@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== -tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, 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== @@ -10021,23 +9979,23 @@ tslib@^2.0.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tslint@~5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.15.0.tgz#6ffb180986d63afa1e531feb2a134dbf961e27d3" - integrity sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA== +tslint@~6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" + integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== dependencies: - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" builtin-modules "^1.1.1" chalk "^2.3.0" commander "^2.12.1" - diff "^3.2.0" + diff "^4.0.1" glob "^7.1.1" - js-yaml "^3.13.0" + js-yaml "^3.13.1" minimatch "^3.0.4" - mkdirp "^0.5.1" + mkdirp "^0.5.3" resolve "^1.3.2" semver "^5.3.0" - tslib "^1.8.0" + tslib "^1.13.0" tsutils "^2.29.0" tsutils@^2.29.0: @@ -10081,11 +10039,6 @@ type-fest@^0.6.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -10104,13 +10057,6 @@ type@^2.0.0: resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -10121,31 +10067,31 @@ typescript@2.9.1: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.1.tgz#fdb19d2c67a15d11995fd15640e373e09ab09961" integrity sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA== -typescript@3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.5.tgz#dae20114a7b4ff4bd642db9c8c699f2953e8bbdb" - integrity sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ== +typescript@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2" + integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ== typescript@^4.0.3: version "4.0.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== -typescript@~3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== +typescript@~4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.8.tgz#5739105541db80a971fdbd0d56511d1a6f17d37f" + integrity sha512-oz1765PN+imfz1MlZzSZPtC/tqcwsCyIYA8L47EkRnRW97ztRk83SzMiWLrnChC0vqoYxSU1fcFUDA5gV/ZiPg== + +ua-parser-js@0.7.21: + version "0.7.21" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" + integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== uglify-js@^3.1.4: version "3.11.5" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" integrity sha512-btvv/baMqe7HxP7zJSF7Uc16h1mSfuuSplT0/qdjxseesDU+yYzH33eHBH+eMdeRXwujXspaCTooWHQVVBh09w== -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" @@ -10240,20 +10186,13 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universal-analytics@0.4.20: - version "0.4.20" - resolved "https://registry.yarnpkg.com/universal-analytics/-/universal-analytics-0.4.20.tgz#d6b64e5312bf74f7c368e3024a922135dbf24b03" - integrity sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw== +universal-analytics@0.4.23: + version "0.4.23" + resolved "https://registry.yarnpkg.com/universal-analytics/-/universal-analytics-0.4.23.tgz#d915e676850c25c4156762471bdd7cf2eaaca8ac" + integrity sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A== dependencies: - debug "^3.0.0" - request "^2.88.0" + debug "^4.1.1" + request "^2.88.2" uuid "^3.0.0" universalify@^0.1.0: @@ -10299,25 +10238,6 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-notifier@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" - integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - uri-js@^4.2.2: version "4.4.0" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" @@ -10330,13 +10250,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - url-parse@^1.4.3: version "1.4.7" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" @@ -10358,14 +10271,6 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -useragent@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz#217f943ad540cb2128658ab23fc960f6a88c9972" - integrity sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw== - dependencies: - lru-cache "4.1.x" - tmp "0.0.x" - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -10407,10 +10312,10 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.2.tgz#7ff5c203467e91f5e0d85cfcbaaf7d2ebbca9be6" - integrity sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw== +uuid@8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" + integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== uuid@^3.0.0, uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0: version "3.4.0" @@ -10468,7 +10373,7 @@ watchpack-chokidar2@^2.0.1: dependencies: chokidar "^2.1.8" -watchpack@^1.6.0: +watchpack@^1.7.4: version "1.7.5" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== @@ -10501,10 +10406,10 @@ webdriver-js-extender@2.1.0: "@types/selenium-webdriver" "^3.0.0" selenium-webdriver "^3.0.1" -webdriver-manager@^12.0.6: - version "12.1.7" - resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.1.7.tgz#ed4eaee8f906b33c146e869b55e850553a1b1162" - integrity sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA== +webdriver-manager@^12.1.7: + version "12.1.8" + resolved "https://registry.yarnpkg.com/webdriver-manager/-/webdriver-manager-12.1.8.tgz#5e70e73eaaf53a0767d5745270addafbc5905fd4" + integrity sha512-qJR36SXG2VwKugPcdwhaqcLQOD7r8P2Xiv9sfNbfZrKBnX243iAkOueX1yAmeNgIKhJ3YAT/F2gq6IiEZzahsg== dependencies: adm-zip "^0.4.9" chalk "^1.1.1" @@ -10518,6 +10423,11 @@ webdriver-manager@^12.0.6: semver "^5.3.0" xml2js "^0.4.17" +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + webpack-dev-middleware@3.7.2, webpack-dev-middleware@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" @@ -10591,40 +10501,40 @@ webpack-sources@1.4.3, webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-s source-list-map "^2.0.0" source-map "~0.6.1" -webpack-subresource-integrity@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz#44963a64c9a214ad729158e7f46d52c2525cc88a" - integrity sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ== +webpack-subresource-integrity@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz#e8bf918b444277df46a66cd84542cbcdc5a6272d" + integrity sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw== dependencies: webpack-sources "^1.3.0" -webpack@4.42.0: - version "4.42.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" - integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== +webpack@4.44.1: + version "4.44.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.1.tgz#17e69fff9f321b8f117d1fda714edfc0b939cc21" + integrity sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ== dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" + enhanced-resolve "^4.3.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" loader-utils "^1.2.3" memory-fs "^0.4.1" micromatch "^3.1.10" - mkdirp "^0.5.1" + mkdirp "^0.5.3" neo-async "^2.6.1" node-libs-browser "^2.2.1" schema-utils "^1.0.0" tapable "^1.1.3" terser-webpack-plugin "^1.4.3" - watchpack "^1.6.0" + watchpack "^1.7.4" webpack-sources "^1.4.1" websocket-driver@0.6.5: @@ -10648,6 +10558,20 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^8.0.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + when@~3.6.x: version "3.6.4" resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" @@ -10665,13 +10589,6 @@ which@^1.2.1, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - windows-release@^3.1.0: version "3.3.3" resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" @@ -10689,11 +10606,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -10701,21 +10613,13 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -worker-plugin@4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/worker-plugin/-/worker-plugin-4.0.3.tgz#7c42e600d5931ad154d3d5f187a32446df64db0f" - integrity sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg== +worker-plugin@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/worker-plugin/-/worker-plugin-5.0.0.tgz#113b5fe1f4a5d6a957cecd29915bedafd70bb537" + integrity sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ== dependencies: loader-utils "^1.1.0" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -10734,21 +10638,20 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - ws@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" @@ -10756,19 +10659,10 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" -ws@~3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +ws@~7.4.2: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== xml2js@^0.4.17: version "0.4.23" @@ -10790,10 +10684,10 @@ xmldoc@^1.1.2: dependencies: sax "^1.2.1" -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= +xmlhttprequest-ssl@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" + integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" @@ -10807,15 +10701,15 @@ xxhashjs@^0.2.1: dependencies: cuint "^0.2.2" -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: +y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: version "3.1.1" @@ -10827,14 +10721,6 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -10843,7 +10729,7 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.1.0: +yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -10851,40 +10737,10 @@ yargs-parser@^18.1.0: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@15.3.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.0.tgz#403af6edc75b3ae04bf66c94202228ba119f0976" - integrity sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.0" - -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs@^13.3.2: version "13.3.2" @@ -10902,6 +10758,36 @@ yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^16.1.1: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" @@ -10912,6 +10798,11 @@ yn@^2.0.0: resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= +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== + zone.js@~0.10.2: version "0.10.3" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.3.tgz#3e5e4da03c607c9dcd92e37dd35687a14a140c16" From 380907c8e14e6109960de44936b5c6cd94b8ed30 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 09:00:20 +0100 Subject: [PATCH 02/16] feat(angular): migrate to v11 --- angular.json | 3 +- package.json | 35 +- src/ngx-monaco-editor/tsconfig.lib.json | 1 + src/ngx-monaco-editor/tsconfig.lib.prod.json | 3 + yarn.lock | 3730 ++++++++++-------- 5 files changed, 2120 insertions(+), 1652 deletions(-) diff --git a/angular.json b/angular.json index 8888c064..02bb9ddc 100644 --- a/angular.json +++ b/angular.json @@ -45,7 +45,6 @@ "optimization": true, "outputHashing": "all", "sourceMap": false, - "extractCss": true, "namedChunks": false, "aot": true, "extractLicenses": true, @@ -136,7 +135,7 @@ "prefix": "ngx", "architect": { "build": { - "builder": "@angular-devkit/build-ng-packagr:build", + "builder": "@angular-devkit/build-angular:ng-packagr", "options": { "tsConfig": "src/ngx-monaco-editor/tsconfig.lib.json", "project": "src/ngx-monaco-editor/ng-package.json" diff --git a/package.json b/package.json index 12c72745..18e80d5e 100644 --- a/package.json +++ b/package.json @@ -19,42 +19,41 @@ }, "private": true, "dependencies": { - "@angular/animations": "~10.2.5", + "@angular/animations": "~11.2.14", "@angular/cdk": "^9.2.4", - "@angular/common": "~10.2.5", - "@angular/compiler": "~10.2.5", - "@angular/core": "~10.2.5", + "@angular/common": "~11.2.14", + "@angular/compiler": "~11.2.14", + "@angular/core": "~11.2.14", "@angular/flex-layout": "9.0.0-beta.30", - "@angular/forms": "~10.2.5", + "@angular/forms": "~11.2.14", "@angular/material": "^9.2.4", - "@angular/platform-browser": "~10.2.5", - "@angular/platform-browser-dynamic": "~10.2.5", - "@angular/router": "~10.2.5", + "@angular/platform-browser": "~11.2.14", + "@angular/platform-browser-dynamic": "~11.2.14", + "@angular/router": "~11.2.14", "monaco-editor": "^0.24.0", "rxjs": "6.5.3", "tslib": "^2.0.0", "zone.js": "~0.10.2" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1002.3", - "@angular-devkit/build-ng-packagr": "~0.1002.3", - "@angular/cli": "^10.2.3", - "@angular/compiler-cli": "^10.2.5", - "@angular/language-service": "~10.2.5", + "@angular-devkit/build-angular": "~0.1102.15", + "@angular/cli": "^11.2.15", + "@angular/compiler-cli": "^11.2.14", + "@angular/language-service": "~11.2.14", "@compodoc/compodoc": "^1.1.11", - "@types/jasmine": "~3.3.8", + "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", - "codelyzer": "^5.1.2", - "jasmine-core": "~3.5.0", + "codelyzer": "^6.0.0", + "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", - "karma": "~5.0.0", + "karma": "~6.3.9", "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "ncp": "^2.0.0", - "ng-packagr": "^10.1.0", + "ng-packagr": "^11.2.4", "protractor": "~7.0.0", "rimraf": "^3.0.0", "ts-node": "~7.0.0", diff --git a/src/ngx-monaco-editor/tsconfig.lib.json b/src/ngx-monaco-editor/tsconfig.lib.json index dcaed64b..6d32bf78 100644 --- a/src/ngx-monaco-editor/tsconfig.lib.json +++ b/src/ngx-monaco-editor/tsconfig.lib.json @@ -2,6 +2,7 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": "../../out-tsc/lib", + "declarationMap": true, "target": "es2015", "module": "es2015", "moduleResolution": "node", diff --git a/src/ngx-monaco-editor/tsconfig.lib.prod.json b/src/ngx-monaco-editor/tsconfig.lib.prod.json index b1d501ab..2617a83e 100644 --- a/src/ngx-monaco-editor/tsconfig.lib.prod.json +++ b/src/ngx-monaco-editor/tsconfig.lib.prod.json @@ -1,5 +1,8 @@ { "extends": "./tsconfig.lib.json", + "compilerOptions": { + "declarationMap": false + }, "angularCompilerOptions": { "enableIvy": false } diff --git a/yarn.lock b/yarn.lock index 920bd344..82f5390c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,137 +7,137 @@ resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.2.1.tgz#189d7bc08d83e487487fe6c1810cf50fd8747a94" integrity sha512-5Hmejfgemk1qJw24M5I+NabADKmD5Io7LU2fxHw/E6Bo0ji9EdmHP16KrFnt6Sz0/w7VIzc1ZAasyLULaPLGJQ== -"@angular-devkit/architect@0.1002.3": - version "0.1002.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1002.3.tgz#fe8f3209ee6686efa0306410de27820b6606df52" - integrity sha512-7ainXRNO1njZ6bBbJXGpMzCh0OYrzuIRe/+zRj0ncV1YfEsJb2yWBuiza0+y2Ljco7hdd4wr+7eJm7cfn+NvAw== - dependencies: - "@angular-devkit/core" "10.2.3" - rxjs "6.6.2" - -"@angular-devkit/build-angular@~0.1002.3": - version "0.1002.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1002.3.tgz#f23c872dd953d1a3ba623e132d2abeab0635649f" - integrity sha512-NjM8H2AUpLjcf+3mKYd99VbFgN4kwT++IBmR9BRQkqOZ4fD63g8jLPzC0KTsWGIVkZtR9Qc88YW/5sC8C3SVFQ== - dependencies: - "@angular-devkit/architect" "0.1002.3" - "@angular-devkit/build-optimizer" "0.1002.3" - "@angular-devkit/build-webpack" "0.1002.3" - "@angular-devkit/core" "10.2.3" - "@babel/core" "7.11.1" - "@babel/generator" "7.11.0" - "@babel/plugin-transform-runtime" "7.11.0" - "@babel/preset-env" "7.11.0" - "@babel/runtime" "7.11.2" - "@babel/template" "7.10.4" +"@angular-devkit/architect@0.1102.15": + version "0.1102.15" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1102.15.tgz#c5af92136f7f1c7b6fcacc3294b8d60250ad25ec" + integrity sha512-d6MKQc54HEsWVsFPipoPD7H3kNpsdpksDJyx4D9YWA2NYLbby9HTgBtp1x53glb0ipKRzzYGIr5BurFIMmxYzA== + dependencies: + "@angular-devkit/core" "11.2.15" + rxjs "6.6.3" + +"@angular-devkit/build-angular@~0.1102.15": + version "0.1102.15" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1102.15.tgz#171b831a1e27eab397e08b34bcd6625dac5da17c" + integrity sha512-qE5BF8tluirGIcPdSJechTCqmfRNKNwez8HgG6iR2hKbMcAVx8IYYdr1XKnQifZhGF8C1FSnJzOoR9IUfm3MmA== + dependencies: + "@angular-devkit/architect" "0.1102.15" + "@angular-devkit/build-optimizer" "0.1102.15" + "@angular-devkit/build-webpack" "0.1102.15" + "@angular-devkit/core" "11.2.15" + "@babel/core" "7.12.10" + "@babel/generator" "7.12.11" + "@babel/plugin-transform-async-to-generator" "7.12.1" + "@babel/plugin-transform-runtime" "7.12.10" + "@babel/preset-env" "7.12.11" + "@babel/runtime" "7.12.5" + "@babel/template" "7.12.7" + "@discoveryjs/json-ext" "0.5.2" "@jsdevtools/coverage-istanbul-loader" "3.0.5" - "@ngtools/webpack" "10.2.3" - autoprefixer "9.8.6" - babel-loader "8.1.0" + "@ngtools/webpack" "11.2.15" + ansi-colors "4.1.1" + autoprefixer "10.2.4" + babel-loader "8.2.2" browserslist "^4.9.1" cacache "15.0.5" caniuse-lite "^1.0.30001032" - circular-dependency-plugin "5.2.0" - copy-webpack-plugin "6.0.3" - core-js "3.6.4" - css-loader "4.2.2" - cssnano "4.1.10" - file-loader "6.0.0" + circular-dependency-plugin "5.2.2" + copy-webpack-plugin "6.3.2" + core-js "3.8.3" + critters "0.0.12" + css-loader "5.0.1" + cssnano "5.0.2" + file-loader "6.2.0" find-cache-dir "3.3.1" glob "7.1.6" - jest-worker "26.3.0" + https-proxy-agent "5.0.0" + inquirer "7.3.3" + jest-worker "26.6.2" karma-source-map-support "1.4.0" - less-loader "6.2.0" - license-webpack-plugin "2.3.0" + less "4.1.1" + less-loader "7.3.0" + license-webpack-plugin "2.3.11" loader-utils "2.0.0" - mini-css-extract-plugin "0.10.0" + mini-css-extract-plugin "1.3.5" minimatch "3.0.4" - open "7.2.0" - parse5 "6.0.1" - parse5-htmlparser2-tree-adapter "6.0.1" + open "7.4.0" + ora "5.3.0" + parse5-html-rewriting-stream "6.0.1" pnp-webpack-plugin "1.6.4" - postcss "7.0.32" - postcss-import "12.0.1" - postcss-loader "3.0.0" - raw-loader "4.0.1" + postcss "8.2.15" + postcss-import "14.0.0" + postcss-loader "4.2.0" + raw-loader "4.0.2" regenerator-runtime "0.13.7" - resolve-url-loader "3.1.2" + resolve-url-loader "4.0.0" rimraf "3.0.2" - rollup "2.26.5" - rxjs "6.6.2" - sass "1.26.10" - sass-loader "10.0.1" - semver "7.3.2" + rollup "2.38.4" + rxjs "6.6.3" + sass "1.32.6" + sass-loader "10.1.1" + semver "7.3.4" source-map "0.7.3" - source-map-loader "1.0.2" + source-map-loader "1.1.3" source-map-support "0.5.19" - speed-measure-webpack-plugin "1.3.3" - style-loader "1.2.1" + speed-measure-webpack-plugin "1.4.2" + style-loader "2.0.0" stylus "0.54.8" - stylus-loader "3.0.2" - terser "5.3.0" - terser-webpack-plugin "4.1.0" + stylus-loader "4.3.3" + terser "5.5.1" + terser-webpack-plugin "4.2.3" + text-table "0.2.0" tree-kill "1.2.2" - webpack "4.44.1" + webpack "4.44.2" webpack-dev-middleware "3.7.2" - webpack-dev-server "3.11.0" - webpack-merge "4.2.2" - webpack-sources "1.4.3" - webpack-subresource-integrity "1.4.1" + webpack-dev-server "3.11.2" + webpack-merge "5.7.3" + webpack-sources "2.2.0" + webpack-subresource-integrity "1.5.2" worker-plugin "5.0.0" -"@angular-devkit/build-ng-packagr@~0.1002.3": - version "0.1002.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-ng-packagr/-/build-ng-packagr-0.1002.3.tgz#5e01b71b19867d3ed00ce32a69c5f662f52fc6cc" - integrity sha512-uH2+OqImzEu2qgANukBfMPAQwYfFNdJ/ryRro9iXLPkQOlfi1nmkDh66oF+NRHSHgNuSHSHs/jeDiC1QJJ8NDA== - dependencies: - "@angular-devkit/architect" "0.1002.3" - rxjs "6.6.2" - -"@angular-devkit/build-optimizer@0.1002.3": - version "0.1002.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1002.3.tgz#797822cdde3e0e9892670ac515c6f4a7caa0854b" - integrity sha512-/0KbxVmmvt3S7ghk5zUH8/PWjW8ki0uSmPsnjopY8jRgAxuXN/7PXZbqswItNlUBoEj34hj2UADBUJVic7fcnQ== +"@angular-devkit/build-optimizer@0.1102.15": + version "0.1102.15" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.15.tgz#f99416ea3468b1747d0521ee6b7115e4880dbba0" + integrity sha512-MFW4H25BE1tW6kC7DhNbAjNUNd/w71vO1g8P8OG1mWUVSKkv2W+WhPjwLqZ3TlHbSXiV9OEiOFR29Gt5+5wE/Q== dependencies: loader-utils "2.0.0" source-map "0.7.3" - tslib "2.0.1" - typescript "4.0.2" - webpack-sources "1.4.3" + tslib "2.1.0" + typescript "4.1.5" + webpack-sources "2.2.0" -"@angular-devkit/build-webpack@0.1002.3": - version "0.1002.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1002.3.tgz#763ae9c4c4b0854679e7bf1b4d0f467dd2b31c61" - integrity sha512-ngvPPA3VuYGYV275PM6X0pVI0Nl/uWx4eu2S6SUFe6mniN4BQkUHAyeCUMIbM3hkau/NAcF9xUs5AvZ9GDpvPw== +"@angular-devkit/build-webpack@0.1102.15": + version "0.1102.15" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1102.15.tgz#d911bf7146cb9a84d4b6e122be3efe66fb04aa8f" + integrity sha512-/eNooHvpSCU4o+dKb/hy776J8Yb9mgZHCTu4O4+9JNUtgN2Ic1po091TiZP1AEBZ5aH0FtTLy8B580ddj/lsYw== dependencies: - "@angular-devkit/architect" "0.1002.3" - "@angular-devkit/core" "10.2.3" - rxjs "6.6.2" + "@angular-devkit/architect" "0.1102.15" + "@angular-devkit/core" "11.2.15" + rxjs "6.6.3" -"@angular-devkit/core@10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.2.3.tgz#499978929e58532f6f0caab8bd860c882d926eea" - integrity sha512-pMM1v9Xjqx6YLOQxQYs0D+03H6XPDZLS8cyEtoQX2iYdh8qlKHZVbJa2WsfzwMoIPtgcXfQAXn113VEgrQPLFA== +"@angular-devkit/core@11.2.15": + version "11.2.15" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-11.2.15.tgz#3e6d0308e049e47a3b21e42a0f2e8d5c31842665" + integrity sha512-6pGblUHg2Hv730cHhUhauTUNbjuviAgn6n23rfYIlfEPV5uxyZib6AUTS1DTcK7ITA0D1PscSsLicMiGaqQ8OA== dependencies: - ajv "6.12.4" + ajv "6.12.6" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" - rxjs "6.6.2" + rxjs "6.6.3" source-map "0.7.3" -"@angular-devkit/schematics@10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-10.2.3.tgz#1f384eb9db6f02e3e867e442e3569628e0eb6de5" - integrity sha512-uCNeq5qH4QEiftgOud+EhTVvdriYQVBrYmX4f4BjVHkjnFhm73h30nfAgs6YuStIp8oxSI8jUGE9DAy331xvmA== +"@angular-devkit/schematics@11.2.15": + version "11.2.15" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.2.15.tgz#a2fb129870c3c8e7b283981743999470bfd4a28e" + integrity sha512-cFxtpdpwr9N2gtfIG9VyIMacDNsSuRyiV4pToNl/pyHy0z4zif4j32HydXandylHlrYKG4rBMq0UTD/WzHaUcw== dependencies: - "@angular-devkit/core" "10.2.3" - ora "5.0.0" - rxjs "6.6.2" + "@angular-devkit/core" "11.2.15" + ora "5.3.0" + rxjs "6.6.3" -"@angular/animations@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-10.2.5.tgz#9b4aaa2a2f88f848decb5a03f2ddaa2aed37642d" - integrity sha512-lIMwjY1pAqpCM4Ayndf2RsvOWRUc5QV7W82XNou6pIBv2T1i1XV6H72I5Sk9Z4sxxBYCWncEaEub+C6NcS8QRg== +"@angular/animations@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.2.14.tgz#cf119ea779bf11bd3759f1355c85e4e8e9e7bb03" + integrity sha512-Heq/nNrCmb3jbkusu+BQszOecfFI/31Oxxj+CDQkqqYpBcswk6bOJLoEE472o+vmgxaXbgeflU9qbIiCQhpMFA== dependencies: tslib "^2.0.0" @@ -148,44 +148,48 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/cli@^10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-10.2.3.tgz#71f0b84f40197a3aa28b0d5f3bbff2354c127d1b" - integrity sha512-LLt0AUgLpmaoWA1R7tnUxbJDNs37+WogjNCbNLfvf4YHI04PwKx3OXgx0d8IYNtjHEaGmGp9AQRynvQ2qfXkaA== +"@angular/cli@^11.2.15": + version "11.2.15" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-11.2.15.tgz#1bff50345bac813a03f4ce373d91e57702919651" + integrity sha512-Hg6L0v5lyDzZBELpXTsphJq6kWdW+yH5oUHiZzMjyZmc7qHB94zXZV9oLpMz4JbBEI4stTF6V31pgClyj4pUyQ== dependencies: - "@angular-devkit/architect" "0.1002.3" - "@angular-devkit/core" "10.2.3" - "@angular-devkit/schematics" "10.2.3" - "@schematics/angular" "10.2.3" - "@schematics/update" "0.1002.3" + "@angular-devkit/architect" "0.1102.15" + "@angular-devkit/core" "11.2.15" + "@angular-devkit/schematics" "11.2.15" + "@schematics/angular" "11.2.15" + "@schematics/update" "0.1102.15" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" - debug "4.1.1" - ini "1.3.6" + debug "4.3.1" + ini "2.0.0" inquirer "7.3.3" - npm-package-arg "8.0.1" + jsonc-parser "3.0.0" + npm-package-arg "8.1.0" npm-pick-manifest "6.1.0" - open "7.2.0" - pacote "9.5.12" - read-package-tree "5.3.1" + open "7.4.0" + ora "5.3.0" + pacote "11.2.4" + resolve "1.19.0" rimraf "3.0.2" - semver "7.3.2" - symbol-observable "1.2.0" + semver "7.3.4" + symbol-observable "3.0.0" universal-analytics "0.4.23" - uuid "8.3.0" + uuid "8.3.2" -"@angular/common@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-10.2.5.tgz#5313f530446998e2f7af2dc43611addcfa6fd1c1" - integrity sha512-553yf6ZUHNqT4XpOqbW7EKKMfX56u/8DkwYXuSv8MAKdl4/AW6gliFOEJGYo04JcKF7Knq3VPvGSCO9kupf0hg== +"@angular/common@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.2.14.tgz#52887277b0ae0438e584f9ae97b417ee51a694b5" + integrity sha512-ZSLV/3j7eCTyLf/8g4yBFLWySjiLz3vLJAGWscYoUpnJWMnug1VRu6zoF/COxCbtORgE+Wz6K0uhfS6MziBGVw== dependencies: tslib "^2.0.0" -"@angular/compiler-cli@^10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-10.2.5.tgz#adb65bb9ecea14762a501226fde7760b73c3ab1e" - integrity sha512-xddSpKudoPidEebIW3x1CvQdx69WEmnFg4DneeQi/tit7mtAKYTJemzYZmP6abdSYhtxovL0bPX5LxYlrtuxIw== +"@angular/compiler-cli@^11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.2.14.tgz#fdd22aeec25aa2477595bed631d19e977254ecc5" + integrity sha512-A7ltnCp03/EVqK/Q3tVUDsokgz5GHW3dSPGl0Csk7Ys5uBB9ibHTmVt4eiXA4jt0+6Bk+mKxwe5BEDqLvwYFAg== dependencies: + "@babel/core" "^7.8.6" + "@babel/types" "^7.8.6" canonical-path "1.0.0" chokidar "^3.0.0" convert-source-map "^1.5.1" @@ -198,19 +202,29 @@ source-map "^0.6.1" sourcemap-codec "^1.4.8" tslib "^2.0.0" - yargs "^16.1.1" + yargs "^16.2.0" + +"@angular/compiler@9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" + integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/compiler@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-10.2.5.tgz#1ff8514fdd2c07ff3c265b960dc49af6376071c9" - integrity sha512-ddJiTPCoVBIGjFDYoYWDpmq3Zs8UKoWpzaeW4u+p17gWW54HwyT5XTxrgtbeUmaxIuRdL4/KT1lGHs9/9bwbCA== +"@angular/compiler@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.2.14.tgz#9d3ea26b4d2d858aab935f69af9e201f53453a0f" + integrity sha512-XBOK3HgA+/y6Cz7kOX4zcJYmgJ264XnfcbXUMU2cD7Ac+mbNhLPKohWrEiSWalfcjnpf5gRfufQrQP7lpAGu0A== dependencies: tslib "^2.0.0" -"@angular/core@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-10.2.5.tgz#2050b0dbb180aa98c2ec46bba6d4827565ba2a2d" - integrity sha512-krhOKNTj5XE92Rk9ASX5KmgTF72j7qT2PLVxrGEVjuUKjBY2XaK3TV0Kotq9zI3qa9WgeCrP/Njn6jlKQCCAEQ== +"@angular/core@9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" + integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== + +"@angular/core@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.2.14.tgz#3ebe298c79d5413dc670d56b7f503bd4d788d4a8" + integrity sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg== dependencies: tslib "^2.0.0" @@ -219,41 +233,41 @@ resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-9.0.0-beta.30.tgz#ca18411a8842dcfe3d175931a6ff765e8c76f950" integrity sha512-aPiw9sfuXpV99oFtbIbTJYC+GtubdggP66qO0JH5MCX+J8btCGAOJMf9RPJWx2yyh/VoSBOt2nWSYqcY5OEv+g== -"@angular/forms@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-10.2.5.tgz#12bb297118d22be351fba7176d213bb5aad2932d" - integrity sha512-EnycBx8q+DGmPaX4oSjPejJxx9u0TLb5+tpGxYitdOq/eBpQAAYyWKQGKXb1JB46rPVwJr34MmTltHgAN0zUSQ== +"@angular/forms@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.2.14.tgz#dc858408f7647f4fd033996a03aa74df18a02079" + integrity sha512-4LWqY6KEIk1AZQFnk+4PJSOCamlD4tumuVN06gO4D0dZo9Cx+GcvW6pM6N0CPubRvPs3sScCnu20WT11HNWC1w== dependencies: tslib "^2.0.0" -"@angular/language-service@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.2.5.tgz#dc869591684db32696f9973647f07355bdaf97ff" - integrity sha512-e9ug9TJG31SeSWl65TglXKWOIATGu/P0jVSGKxGF22vQYlAahdRoFXP56+B9P9k+6cDuYljkjH1rdyCaU3iOPg== +"@angular/language-service@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-11.2.14.tgz#452369cdffe76ac6d07836596fb47f9e69a6d119" + integrity sha512-3+0F0X4r1WeNOV6VmaMzYnJENPVmLX2/MX3/lugwZPNYKVXl/oGyh/4PB8ktntIj0tnxQuErzqRSeucNStNGRw== "@angular/material@^9.2.4": version "9.2.4" resolved "https://registry.yarnpkg.com/@angular/material/-/material-9.2.4.tgz#2666ef606fbb88d60f8e2f18c5e4f94a3dd572d8" integrity sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA== -"@angular/platform-browser-dynamic@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.2.5.tgz#c9eea9e076a9fc8f80d7c041ba9766465613bb96" - integrity sha512-7z443I80K2CeqzczlSJ8BlABj0uRgnHUrABE8yLlU2BgifJrriBawzSXEV7UMEN7k7ezbc6NhpOn6Q6BrCKEOA== +"@angular/platform-browser-dynamic@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.2.14.tgz#3c7fff1a1daacba5390acf033d28c377ec281166" + integrity sha512-TWTPdFs6iBBcp+/YMsgCRQwdHpWGq8KjeJDJ2tfatGgBD3Gqt2YaHOMST1zPW6RkrmupytTejuVqXzeaKWFxuw== dependencies: tslib "^2.0.0" -"@angular/platform-browser@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-10.2.5.tgz#40dd88c937af7af56e3fb246608c7001e4ac09c7" - integrity sha512-3JDFRGNxr0IUkjSdGK2Q1BvqnSDpy9YWo0DJP+TEpgW578R84m4X7/wI3jJmFSC2yyouMWrHsot2vcBPAQj89g== +"@angular/platform-browser@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.2.14.tgz#e52ad7a54a42a865033a17e57e213013919f1b1d" + integrity sha512-fb7b7ss/gRoP8wLAN17W62leMgjynuyjEPU2eUoAAazsG9f2cgM+z3rK29GYncDVyYQxZUZYnjSqvL6GSXx86A== dependencies: tslib "^2.0.0" -"@angular/router@~10.2.5": - version "10.2.5" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-10.2.5.tgz#acc75a29ab0b54c8ebad7d2a896986a59d7d99ec" - integrity sha512-AtSMB/d4V+pw/FL4G/mWWoiJJtZ/075TqsGW7uEFKgxS6Gh2kalv6BTMlXVG5GO+2oU0lsuDvguq5E7Atbak3Q== +"@angular/router@~11.2.14": + version "11.2.14" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.2.14.tgz#4a8eb6d010a1a45c8e7f0c3b5b705959bdb69294" + integrity sha512-3aYBmj+zrEL9yf/ntIQxHIYaWShZOBKP3U07X2mX+TPMpGlvHDnR7L6bWhQVZwewzMMz7YVR16ldg50IFuAlfA== dependencies: tslib "^2.0.0" @@ -271,30 +285,29 @@ dependencies: "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.11.0", "@babel/compat-data@^7.16.0": +"@babel/compat-data@^7.12.7", "@babel/compat-data@^7.16.0": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.11.1": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.1.tgz#2c55b604e73a40dc21b0e52650b11c65cf276643" - integrity sha512-XqF7F6FWQdKGGWAzGELL+aCO1p+lRY5Tj5/tbT3St1G8NaH70jhhDIKknIZaDans0OQBG5wRAldROLHSt44BgQ== +"@babel/core@7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" + integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== dependencies: "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.0" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.1" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.0" - "@babel/types" "^7.11.0" + "@babel/generator" "^7.12.10" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.10" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.10" + "@babel/types" "^7.12.10" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.1" json5 "^2.1.2" lodash "^4.17.19" - resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" @@ -320,21 +333,33 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.0.tgz#4b90c78d8c12825024568cbe83ee6c9af193585c" - integrity sha512-fEm3Uzw7Mc9Xi//qU20cBKatTfs2aOtKqmvy/Vm7RkJEGFQ4xc9myCfbXxqK//ZS8MR/ciOHw6meGASJuKmDfQ== +"@babel/core@^7.8.6": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== dependencies: - "@babel/types" "^7.11.0" - jsesc "^2.5.1" + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.11.0", "@babel/generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== +"@babel/generator@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" + integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.12.11" jsesc "^2.5.1" source-map "^0.5.0" @@ -347,6 +372,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.10", "@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -369,7 +403,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.16.0": +"@babel/helper-compilation-targets@^7.12.5", "@babel/helper-compilation-targets@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== @@ -468,13 +502,6 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - "@babel/helper-module-imports@^7.12.1": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" @@ -482,18 +509,11 @@ dependencies: "@babel/types" "^7.12.5" -"@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.16.0": +"@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.16.0": version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" "@babel/helper-module-transforms@^7.12.1": @@ -511,6 +531,20 @@ "@babel/types" "^7.12.1" lodash "^4.17.19" +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + "@babel/helper-optimise-call-expression@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" @@ -542,7 +576,7 @@ dependencies: lodash "^4.17.19" -"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": +"@babel/helper-remap-async-to-generator@^7.12.1", "@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== @@ -616,7 +650,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== -"@babel/helper-validator-option@^7.14.5": +"@babel/helper-validator-option@^7.12.11", "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== @@ -631,15 +665,6 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helpers@^7.10.4": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== - dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" - "@babel/helpers@^7.12.1": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" @@ -649,6 +674,15 @@ "@babel/traverse" "^7.12.5" "@babel/types" "^7.12.5" +"@babel/helpers@^7.12.5", "@babel/helpers@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" + "@babel/highlight@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" @@ -672,12 +706,12 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== -"@babel/parser@^7.11.1", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": +"@babel/parser@^7.12.10", "@babel/parser@^7.12.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/plugin-proposal-async-generator-functions@^7.10.4": +"@babel/plugin-proposal-async-generator-functions@^7.12.1": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== @@ -686,7 +720,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.4" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.10.4": +"@babel/plugin-proposal-class-properties@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== @@ -694,7 +728,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.10.4": +"@babel/plugin-proposal-dynamic-import@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== @@ -702,7 +736,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.10.4": +"@babel/plugin-proposal-export-namespace-from@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== @@ -710,7 +744,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.10.4": +"@babel/plugin-proposal-json-strings@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== @@ -718,7 +752,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== @@ -726,7 +760,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== @@ -734,7 +768,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.10.4": +"@babel/plugin-proposal-numeric-separator@^7.12.7": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== @@ -742,7 +776,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.11.0": +"@babel/plugin-proposal-object-rest-spread@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== @@ -753,7 +787,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.0" -"@babel/plugin-proposal-optional-catch-binding@^7.10.4": +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== @@ -761,7 +795,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.11.0": +"@babel/plugin-proposal-optional-chaining@^7.12.7": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== @@ -770,7 +804,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.10.4": +"@babel/plugin-proposal-private-methods@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== @@ -778,7 +812,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.10.4": +"@babel/plugin-proposal-unicode-property-regex@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== @@ -801,7 +835,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.10.4": +"@babel/plugin-syntax-class-properties@^7.12.1": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -871,21 +905,30 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.10.4": +"@babel/plugin-syntax-top-level-await@^7.12.1": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.10.4": +"@babel/plugin-transform-arrow-functions@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.10.4": +"@babel/plugin-transform-async-to-generator@7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" + +"@babel/plugin-transform-async-to-generator@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== @@ -894,21 +937,21 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.16.0" -"@babel/plugin-transform-block-scoped-functions@^7.10.4": +"@babel/plugin-transform-block-scoped-functions@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.10.4": +"@babel/plugin-transform-block-scoping@^7.12.11": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.10.4": +"@babel/plugin-transform-classes@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== @@ -921,21 +964,21 @@ "@babel/helper-split-export-declaration" "^7.16.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.10.4": +"@babel/plugin-transform-computed-properties@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.10.4": +"@babel/plugin-transform-destructuring@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.10.4": +"@babel/plugin-transform-dotall-regex@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== @@ -951,14 +994,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-duplicate-keys@^7.10.4": +"@babel/plugin-transform-duplicate-keys@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.10.4": +"@babel/plugin-transform-exponentiation-operator@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== @@ -966,14 +1009,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-for-of@^7.10.4": +"@babel/plugin-transform-for-of@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.10.4": +"@babel/plugin-transform-function-name@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== @@ -981,21 +1024,21 @@ "@babel/helper-function-name" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.10.4": +"@babel/plugin-transform-literals@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.10.4": +"@babel/plugin-transform-member-expression-literals@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.10.4": +"@babel/plugin-transform-modules-amd@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== @@ -1004,7 +1047,7 @@ "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.10.4": +"@babel/plugin-transform-modules-commonjs@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== @@ -1014,7 +1057,7 @@ "@babel/helper-simple-access" "^7.16.0" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.10.4": +"@babel/plugin-transform-modules-systemjs@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== @@ -1025,7 +1068,7 @@ "@babel/helper-validator-identifier" "^7.15.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.10.4": +"@babel/plugin-transform-modules-umd@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== @@ -1033,21 +1076,21 @@ "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.0" -"@babel/plugin-transform-new-target@^7.10.4": +"@babel/plugin-transform-new-target@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.10.4": +"@babel/plugin-transform-object-super@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== @@ -1055,52 +1098,51 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.16.0": +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.10.4": +"@babel/plugin-transform-property-literals@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-regenerator@^7.10.4": +"@babel/plugin-transform-regenerator@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.10.4": +"@babel/plugin-transform-reserved-words@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-runtime@7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.0.tgz#e27f78eb36f19448636e05c33c90fd9ad9b8bccf" - integrity sha512-LFEsP+t3wkYBlis8w6/kmnd6Kb1dxTd+wGJ8MlxTGzQo//ehtqlVL4S9DNUa53+dtPSQobN2CXx4d81FqC58cw== +"@babel/plugin-transform-runtime@7.12.10": + version "7.12.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562" + integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA== dependencies: - "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-module-imports" "^7.12.5" "@babel/helper-plugin-utils" "^7.10.4" - resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.10.4": +"@babel/plugin-transform-shorthand-properties@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.11.0": +"@babel/plugin-transform-spread@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== @@ -1108,35 +1150,35 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.10.4": +"@babel/plugin-transform-sticky-regex@^7.12.7": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.10.4": +"@babel/plugin-transform-template-literals@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.10.4": +"@babel/plugin-transform-typeof-symbol@^7.12.10": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-escapes@^7.10.4": +"@babel/plugin-transform-unicode-escapes@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.10.4": +"@babel/plugin-transform-unicode-regex@^7.12.1": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== @@ -1144,30 +1186,31 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/preset-env@7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.0.tgz#860ee38f2ce17ad60480c2021ba9689393efb796" - integrity sha512-2u1/k7rG/gTh02dylX2kL3S0IJNF+J6bfDSp4DI2Ma8QN6Y9x9pmAax59fsCk6QUQG0yqH47yJWA+u1I1LccAg== +"@babel/preset-env@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" + integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== dependencies: - "@babel/compat-data" "^7.11.0" - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" + "@babel/compat-data" "^7.12.7" + "@babel/helper-compilation-targets" "^7.12.5" + "@babel/helper-module-imports" "^7.12.5" "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-export-namespace-from" "^7.10.4" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.11.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.11.0" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/helper-validator-option" "^7.12.11" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.7" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.4" + "@babel/plugin-syntax-class-properties" "^7.12.1" "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" @@ -1177,45 +1220,42 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.10.4" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.11.0" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@babel/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.11" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.7" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.10" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.11.0" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" + "@babel/types" "^7.12.11" + core-js-compat "^3.8.0" semver "^5.5.0" "@babel/preset-modules@^0.1.3": @@ -1229,21 +1269,23 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.11.2": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": +"@babel/runtime@7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.10.4", "@babel/template@^7.10.4": +"@babel/template@7.12.7": + version "7.12.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" + integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.12.7" + "@babel/types" "^7.12.7" + +"@babel/template@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== @@ -1252,7 +1294,7 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/template@^7.16.0": +"@babel/template@^7.12.7", "@babel/template@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== @@ -1261,21 +1303,6 @@ "@babel/parser" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/traverse@^7.11.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" - debug "^4.1.0" - globals "^11.1.0" - "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" @@ -1291,6 +1318,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.12.10", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.4.4": version "7.12.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" @@ -1300,7 +1342,7 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.16.0": +"@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.16.0", "@babel/types@^7.8.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== @@ -1364,6 +1406,11 @@ dot "^1.1.3" fs-extra "^9.0.1" +"@discoveryjs/json-ext@0.5.2": + 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== + "@dsherret/to-absolute-glob@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@dsherret/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1f6475dc8bd974cea07a2daf3864b317b1dd332c" @@ -1401,14 +1448,14 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@ngtools/webpack@10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-10.2.3.tgz#e4e410d1d647b6e21a69ab20c00c110464f623ea" - integrity sha512-h7JJMMca1bHY/0Prpxu2P3bvnC6pUKmBAfqN0h0HaRN9LTU9IDWtDRTIL1Aqhs/tcTUio/DowVKnVi2CWHAOmg== +"@ngtools/webpack@11.2.15": + version "11.2.15" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-11.2.15.tgz#217973459112178940aa689a25ab9e3a4cb35a6f" + integrity sha512-uy+ekGlgReO/4N5Ifmd4Dh1s0BTvbvMnjTrSUzmPnaeCjg4zjosA3gcdv+33duQ1Y2ythDSnf2MPYRN9q3tzgQ== dependencies: - "@angular-devkit/core" "10.2.3" - enhanced-resolve "4.3.0" - webpack-sources "1.4.3" + "@angular-devkit/core" "11.2.15" + enhanced-resolve "5.7.0" + webpack-sources "2.2.0" "@nodelib/fs.scandir@2.1.3": version "2.1.3" @@ -1436,6 +1483,11 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" +"@npmcli/ci-detect@^1.0.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz#18478bbaa900c37bfbd8a2006a6262c62e8b0fe1" + integrity sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q== + "@npmcli/fs@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" @@ -1444,6 +1496,28 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" +"@npmcli/git@^2.0.1": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" + integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== + dependencies: + "@npmcli/promise-spawn" "^1.3.2" + lru-cache "^6.0.0" + mkdirp "^1.0.4" + npm-pick-manifest "^6.1.1" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.5": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + "@npmcli/move-file@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" @@ -1451,10 +1525,32 @@ dependencies: mkdirp "^1.0.4" -"@rollup/plugin-commonjs@^15.0.0": - version "15.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238" - integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== +"@npmcli/node-gyp@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" + integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== + +"@npmcli/promise-spawn@^1.2.0", "@npmcli/promise-spawn@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-1.3.2.tgz#42d4e56a8e9274fba180dabc0aea6e38f29274f5" + integrity sha512-QyAGYo/Fbj4MXeGdJcFzZ+FkDkomfRBrPM+9QYJSg+PxgAUL+LU3FneQk37rKR2/zjqkCV1BLHccX98wRXG3Sg== + dependencies: + infer-owner "^1.0.4" + +"@npmcli/run-script@^1.3.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7" + integrity sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g== + dependencies: + "@npmcli/node-gyp" "^1.0.2" + "@npmcli/promise-spawn" "^1.3.2" + node-gyp "^7.1.0" + read-package-json-fast "^2.0.1" + +"@rollup/plugin-commonjs@^17.0.0": + version "17.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz#757ec88737dffa8aa913eb392fade2e45aef2a2d" + integrity sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew== dependencies: "@rollup/pluginutils" "^3.1.0" commondir "^1.0.1" @@ -1464,24 +1560,24 @@ magic-string "^0.25.7" resolve "^1.17.0" -"@rollup/plugin-json@^4.0.0": +"@rollup/plugin-json@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" - integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== +"@rollup/plugin-node-resolve@^11.1.0": + version "11.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" builtin-modules "^3.1.0" deepmerge "^4.2.2" is-module "^1.0.0" - resolve "^1.17.0" + resolve "^1.19.0" "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": version "3.1.0" @@ -1492,29 +1588,54 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@10.2.3": - version "10.2.3" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-10.2.3.tgz#a5ea7e9bc17fbfb9b1c5f760f44bc4a7b0b18834" - integrity sha512-xcnfH5XMmGcs33VHm2cu0+4g3rkfSD+qpiKFjfg7KGC4lLoOKSED4ZnjzIYwcQ6QN4gTpAvlZKxI8zO7NkKv0A== +"@schematics/angular@11.2.15": + version "11.2.15" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-11.2.15.tgz#9e9770746d46d85b6c28106aec23b9cf8981cb52" + integrity sha512-btVLsvIfjMdvBRuww0GkR2Bg1APmw+Kq9+2EqKhD8K7f56s3NEmVpECgSIi4UM0Eybx+2MtKYWeud0p0CdUQ7w== dependencies: - "@angular-devkit/core" "10.2.3" - "@angular-devkit/schematics" "10.2.3" - jsonc-parser "2.3.0" + "@angular-devkit/core" "11.2.15" + "@angular-devkit/schematics" "11.2.15" + jsonc-parser "3.0.0" -"@schematics/update@0.1002.3": - version "0.1002.3" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1002.3.tgz#75b016d44c98e77eaaff0be844144d867a224cd1" - integrity sha512-UnuMgRQtAOp/Pk9rSYW12medajXe9s5mW4a6foixC/B2UCFFlIAVbFBTiFpr69xbalfLlFcFx1MD+8/8njWtbQ== +"@schematics/update@0.1102.15": + version "0.1102.15" + resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1102.15.tgz#fa6674552858d9a1c12e2c43443fc9f3d92a4f70" + integrity sha512-pC+nqfwfyDqAQYtnNKG15j6eV6XfmCML2DAIHUtTarbHtQjhBkxtdKxXnPqZW9Usa1xFaryET/7yp21uhZ2Nrw== dependencies: - "@angular-devkit/core" "10.2.3" - "@angular-devkit/schematics" "10.2.3" + "@angular-devkit/core" "11.2.15" + "@angular-devkit/schematics" "11.2.15" "@yarnpkg/lockfile" "1.1.0" - ini "1.3.6" + ini "2.0.0" npm-package-arg "^8.0.0" - pacote "9.5.12" - semver "7.3.2" + pacote "11.2.4" + semver "7.3.4" semver-intersect "1.4.0" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@types/component-emitter@^1.2.10": + version "1.2.11" + resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" + integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ== + +"@types/cookie@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" + integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== + +"@types/cors@^2.8.12": + version "2.8.12" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" + integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== + "@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" @@ -1538,10 +1659,10 @@ resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.6.1.tgz#f8b95def0016411c58c7adb4791dff29bc62992c" integrity sha512-eeSCVhBsgwHNS1FmaMu4zrLxfykCTWJMLFZv7lmyrZQjw7foUUXoPu4GukSN9v7JvUw7X+/aDH3kCaymirBSTg== -"@types/jasmine@~3.3.8": - version "3.3.16" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.3.16.tgz#7c84074f5d7f84da9a14f816ccfb9aeb4da13f27" - integrity sha512-Nveep4zKGby8uIvG2AEUyYOwZS8uVeHK9TgbuWYSawUDDdIgfhCKz28QzamTo//Jk7Ztt9PO3f+vzlB6a4GV1Q== +"@types/jasmine@~3.6.0": + version "3.6.11" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.6.11.tgz#4b1d77aa9dfc757407cb9e277216d8e83553f09d" + integrity sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ== "@types/jasminewd2@~2.0.3": version "2.0.8" @@ -1555,6 +1676,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== +"@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -1565,15 +1691,20 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg== +"@types/node@>=10.0.0": + version "16.11.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.9.tgz#879be3ad7af29f4c1a5c433421bf99fab7047185" + integrity sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A== + "@types/node@^12.11.1": version "12.19.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.4.tgz#cdfbb62e26c7435ed9aab9c941393cc3598e9b46" integrity sha512-o3oj1bETk8kBwzz1WlO6JWL/AfAA3Vm6J1B3C9CsdxHYp7XgPiH7OEXPUbZTndHlRaIElrANkQfe6ZmfJb3H2w== -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/q@^0.0.32": version "0.0.32" @@ -1771,19 +1902,16 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -JSONStream@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.3: +abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1816,10 +1944,10 @@ acorn@^7.0.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -adjust-sourcemap-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz#5ae12fb5b7b1c585e80bbb5a63ec163a1a45e61e" - integrity sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw== +adjust-sourcemap-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" + integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== dependencies: loader-utils "^2.0.0" regex-parser "^2.2.11" @@ -1829,30 +1957,27 @@ adm-zip@^0.4.9: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" -agent-base@4, agent-base@^4.3.0: +agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: es6-promisify "^5.0.0" -agent-base@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" - integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== - dependencies: - es6-promisify "^5.0.0" - -agentkeepalive@^3.4.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" - integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== +agentkeepalive@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.1.4.tgz#d928028a4862cb11718e55227872e842a44c945b" + integrity sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ== dependencies: + debug "^4.1.0" + depd "^1.1.2" humanize-ms "^1.2.1" aggregate-error@^3.0.0: @@ -1873,27 +1998,27 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@6.12.4: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== +ajv@6.12.6, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, 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" -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^7.0.3: + version "7.2.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.4.tgz#8e239d4d56cf884bccca8cca362f508446dc160f" + integrity sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A== dependencies: fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" uri-js "^4.2.2" -alphanum-sort@^1.0.0: +alphanum-sort@^1.0.0, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= @@ -1947,6 +2072,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -1987,6 +2117,14 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + apache-crypt@^1.1.2: version "1.2.4" resolved "https://registry.yarnpkg.com/apache-crypt/-/apache-crypt-1.2.4.tgz#fc0aacb7877d64d26420cadf923bcd53e79fb34e" @@ -1999,16 +2137,24 @@ apache-md5@^1.0.6: resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.5.tgz#5d6365ece2ccc32b612f886b2b292e1c96ff3ffb" integrity sha512-sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw== -app-root-path@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.2.1.tgz#d0df4a682ee408273583d43f6f79e9892624bc9a" - integrity sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA== +app-root-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" + integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== -aproba@^1.1.1: +aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== +are-we-there-yet@~1.1.2: + version "1.1.7" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2024,11 +2170,6 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -2086,21 +2227,11 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -arraybuffer.slice@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" - integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== - arrify@^1.0.0, arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -2187,30 +2318,28 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@9.8.6: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== +autoprefixer@10.2.4: + version "10.2.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.4.tgz#c0e7cf24fcc6a1ae5d6250c623f0cb8beef2f7e1" + integrity sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw== dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" + browserslist "^4.16.1" + caniuse-lite "^1.0.30001181" colorette "^1.2.1" + fraction.js "^4.0.13" normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" postcss-value-parser "^4.1.0" -autoprefixer@^9.6.5: - version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== +autoprefixer@^10.2.4: + version "10.4.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8" + integrity sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA== dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" + browserslist "^4.17.5" + caniuse-lite "^1.0.30001272" + fraction.js "^4.1.1" normalize-range "^0.1.2" - num2fraction "^1.2.2" - picocolors "^0.2.1" - postcss "^7.0.32" + picocolors "^1.0.0" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: @@ -2230,15 +2359,14 @@ axobject-query@2.0.2: dependencies: ast-types-flow "0.0.7" -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== +babel-loader@8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== dependencies: - find-cache-dir "^2.1.0" + find-cache-dir "^3.3.1" loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" + make-dir "^3.1.0" schema-utils "^2.6.5" babel-plugin-dynamic-import-node@^2.3.3: @@ -2256,20 +2384,15 @@ babel-runtime@^6.26.0: core-js "^2.4.0" regenerator-runtime "^0.11.0" -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - 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= -base64-arraybuffer@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" - integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= +base64-arraybuffer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz#87bd13525626db4a9838e00a508c2b73efcf348c" + integrity sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA== base64-js@0.0.8: version "0.0.8" @@ -2281,7 +2404,12 @@ base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.3.0: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.0.tgz#2d03045876d9e2b68a7a0f87d6bd163595e3b6af" integrity sha512-Jrdy04F2EKcNggUDfubMUPNAZg2vMquLQSm8sKLYJvz40ClFL1S8GKyDshGkNsbNNE5Z+fQavzU7nSK1I9JUGA== -base64id@2.0.0: +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base64id@2.0.0, base64id@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== @@ -2345,10 +2473,14 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -blob@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" - integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== +bl@^4.0.3, bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" blocking-proxy@^1.0.0: version "1.0.1" @@ -2357,7 +2489,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: +bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -2535,7 +2667,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.6, browserslist@^4.9.1: +browserslist@^4.0.0, browserslist@^4.9.1: version "4.14.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== @@ -2546,7 +2678,7 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.6, browserslist@^4 escalade "^3.1.1" node-releases "^1.1.66" -browserslist@^4.17.5, browserslist@^4.7.0: +browserslist@^4.16.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.17.6: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -2593,6 +2725,14 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -2623,7 +2763,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@15.0.5, cacache@^15.0.4: +cacache@15.0.5: version "15.0.5" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== @@ -2646,7 +2786,7 @@ cacache@15.0.5, cacache@^15.0.4: tar "^6.0.2" unique-filename "^1.1.1" -cacache@^12.0.0, cacache@^12.0.2: +cacache@^12.0.2: version "12.0.4" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== @@ -2743,12 +2883,17 @@ callsites@^2.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= -camelcase@5.3.1, camelcase@^5.0.0: +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: +camelcase@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== @@ -2763,12 +2908,12 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001157: version "1.0.30001157" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== -caniuse-lite@^1.0.30001280: +caniuse-lite@^1.0.30001181, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001280: version "1.0.30001282" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== @@ -2794,7 +2939,7 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2828,7 +2973,7 @@ cheerio@^1.0.0-rc.3: lodash "^4.15.0" parse5 "^3.0.1" -"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.1.1, chokidar@^3.2.1, chokidar@^3.4.1: +"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.1.1, chokidar@^3.4.1: version "3.4.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== @@ -2843,6 +2988,21 @@ cheerio@^1.0.0-rc.3: optionalDependencies: fsevents "~2.1.2" +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chokidar@^2.0.4, chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -2862,7 +3022,7 @@ chokidar@^2.0.4, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1, chownr@^1.1.2: +chownr@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -2887,10 +3047,10 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-dependency-plugin@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz#e09dbc2dd3e2928442403e2d45b41cea06bc0a93" - integrity sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw== +circular-dependency-plugin@5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" + integrity sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ== class-utils@^0.3.5: version "0.3.6" @@ -2914,7 +3074,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-spinners@^2.4.0: +cli-spinners@^2.5.0: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== @@ -2951,16 +3111,20 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +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" + clone@^1.0.2, clone@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clone@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -2975,20 +3139,30 @@ code-block-writer@^7.2.0: resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.3.1.tgz#b3b921b885fe7fb869866c0648491eae6c08cfa9" integrity sha512-3Jfe6ZmmGzvdQWFo3MUzobn3WdX++jc3Tj0rsviJWYPnP7NGMFEE4qheNeOXeJgB1TTgxYT8XuNvhS/u596yGg== -codelyzer@^5.1.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-5.2.2.tgz#d0530a455784e6bea0b6d7e97166c73c30a5347f" - integrity sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA== +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +codelyzer@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-6.0.2.tgz#25d72eae641e8ff13ffd7d99b27c9c7ad5d7e135" + integrity sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g== dependencies: - app-root-path "^2.2.1" + "@angular/compiler" "9.0.0" + "@angular/core" "9.0.0" + app-root-path "^3.0.0" aria-query "^3.0.0" axobject-query "2.0.2" css-selector-tokenizer "^0.7.1" cssauron "^1.4.0" damerau-levenshtein "^1.0.4" + rxjs "^6.5.3" semver-dsl "^1.0.1" source-map "^0.5.7" sprintf-js "^1.1.2" + tslib "^1.10.0" + zone.js "~0.10.3" collection-visit@^1.0.0: version "1.0.0" @@ -3043,11 +3217,21 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.4" +colord@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" + integrity sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw== + colorette@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== +colorette@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== + colors@1.4.0, colors@^1.4.0, colors@latest: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" @@ -3070,43 +3254,21 @@ commander@^3.0.2: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +commander@^7.0.0, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - integrity sha1-AMYIq33Nk4l8AAllGx06jh5zu9E= - -component-emitter@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= - component-emitter@^1.2.1, component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= - -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -3162,6 +3324,11 @@ console-browserify@^1.1.0: resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -3179,18 +3346,13 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@1.7.0, convert-source-map@^1.5.1, convert-source-map@^1.7.0: +convert-source-map@^1.5.1, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -3230,35 +3392,35 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz#2b3d2bfc6861b96432a65f0149720adbd902040b" - integrity sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA== +copy-webpack-plugin@6.3.2: + version "6.3.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz#0e920a6c181a5052aa6e2861b164bda03f83afeb" + integrity sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA== dependencies: - cacache "^15.0.4" + cacache "^15.0.5" fast-glob "^3.2.4" find-cache-dir "^3.3.1" glob-parent "^5.1.1" globby "^11.0.1" loader-utils "^2.0.0" normalize-path "^3.0.0" - p-limit "^3.0.1" - schema-utils "^2.7.0" - serialize-javascript "^4.0.0" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" webpack-sources "^1.4.3" -core-js-compat@^3.6.2: - version "3.7.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.7.0.tgz#8479c5d3d672d83f1f5ab94cf353e57113e065ed" - integrity sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg== +core-js-compat@^3.8.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" + integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== dependencies: - browserslist "^4.14.6" + browserslist "^4.17.6" semver "7.0.0" -core-js@3.6.4: - version "3.6.4" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" - integrity sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw== +core-js@3.8.3: + version "3.8.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" + integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== core-js@^2.4.0: version "2.6.11" @@ -3270,7 +3432,7 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cors@latest: +cors@latest, cors@~2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== @@ -3288,6 +3450,17 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: js-yaml "^3.13.1" parse-json "^4.0.0" +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -3319,6 +3492,18 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +critters@0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.12.tgz#32baa87526e053a41b67e19921673ed92264e2ab" + integrity sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw== + dependencies: + chalk "^4.1.0" + css-select "^4.1.3" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + postcss "^8.3.7" + pretty-bytes "^5.3.0" + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3365,22 +3550,29 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" -css-loader@4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.2.2.tgz#b668b3488d566dc22ebcf9425c5f254a05808c89" - integrity sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg== +css-declaration-sorter@^6.0.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" + integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== + dependencies: + timsort "^0.3.0" + +css-loader@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz#9e4de0d6636a6266a585bd0900b422c85539d25f" + integrity sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw== dependencies: - camelcase "^6.0.0" + camelcase "^6.2.0" cssesc "^3.0.0" - icss-utils "^4.1.1" + icss-utils "^5.0.0" loader-utils "^2.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.3" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" + postcss "^8.1.4" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" + schema-utils "^3.0.0" semver "^7.3.2" css-parse@~2.0.0: @@ -3405,6 +3597,17 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -3439,6 +3642,14 @@ css-tree@^1.0.0: mdn-data "2.0.12" source-map "^0.6.1" +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -3449,6 +3660,11 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== +css-what@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -3471,10 +3687,10 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== dependencies: css-declaration-sorter "^4.0.1" cssnano-util-raw-cache "^4.0.1" @@ -3504,9 +3720,44 @@ cssnano-preset-default@^4.0.7: postcss-ordered-values "^4.1.2" postcss-reduce-initial "^4.0.3" postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" + postcss-svgo "^4.0.3" postcss-unique-selectors "^4.0.1" +cssnano-preset-default@^5.0.1: + version "5.1.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.7.tgz#68c3ad1ec6a810482ec7d06b2d70fc34b6b0d70c" + integrity sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA== + dependencies: + css-declaration-sorter "^6.0.3" + cssnano-utils "^2.0.1" + postcss-calc "^8.0.0" + postcss-colormin "^5.2.1" + postcss-convert-values "^5.0.2" + postcss-discard-comments "^5.0.1" + postcss-discard-duplicates "^5.0.1" + postcss-discard-empty "^5.0.1" + postcss-discard-overridden "^5.0.1" + postcss-merge-longhand "^5.0.4" + postcss-merge-rules "^5.0.3" + postcss-minify-font-values "^5.0.1" + postcss-minify-gradients "^5.0.3" + postcss-minify-params "^5.0.2" + postcss-minify-selectors "^5.1.0" + postcss-normalize-charset "^5.0.1" + postcss-normalize-display-values "^5.0.1" + postcss-normalize-positions "^5.0.1" + postcss-normalize-repeat-style "^5.0.1" + postcss-normalize-string "^5.0.1" + postcss-normalize-timing-functions "^5.0.1" + postcss-normalize-unicode "^5.0.1" + postcss-normalize-url "^5.0.3" + postcss-normalize-whitespace "^5.0.1" + postcss-ordered-values "^5.0.2" + postcss-reduce-initial "^5.0.1" + postcss-reduce-transforms "^5.0.1" + postcss-svgo "^5.0.3" + postcss-unique-selectors "^5.0.2" + cssnano-util-get-arguments@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" @@ -3529,13 +3780,27 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano@4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== +cssnano-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" + integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== + +cssnano@5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.2.tgz#3f6de4fd5ecb7b5fb636c1a606de5f38cd241493" + integrity sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q== + dependencies: + cosmiconfig "^7.0.0" + cssnano-preset-default "^5.0.1" + is-resolvable "^1.1.0" + +cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== dependencies: cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" + cssnano-preset-default "^4.0.8" is-resolvable "^1.0.0" postcss "^7.0.0" @@ -3546,6 +3811,13 @@ csso@^4.0.2: dependencies: css-tree "^1.0.0" +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + cuint@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" @@ -3586,15 +3858,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - date-format@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" @@ -3612,27 +3875,34 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== +debug@4, debug@~4.3.1, debug@~4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== dependencies: - ms "2.0.0" + ms "2.1.2" -debug@4.1.1, debug@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@^3.1.0, debug@^3.1.1, debug@^3.2.5: +debug@^3.1.0, debug@^3.1.1: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" +debug@^3.2.6: + 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" + debug@^4.1.0, debug@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" @@ -3640,10 +3910,12 @@ debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= +debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" decache@^4.5.1: version "4.6.0" @@ -3759,7 +4031,12 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -depd@~1.1.2: +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@^1.1.2, depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= @@ -3792,14 +4069,6 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== -dezalgo@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= - dependencies: - asap "^2.0.0" - wrappy "1" - dfa@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/dfa/-/dfa-1.2.0.tgz#96ac3204e2d29c49ea5b57af8d92c2ae12790657" @@ -3882,6 +4151,15 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + dom-serializer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" @@ -3905,6 +4183,11 @@ domelementtype@^2.0.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== +domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domhandler@^2.3.0: version "2.4.2" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" @@ -3912,6 +4195,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" +domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + dependencies: + domelementtype "^2.2.0" + domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -3928,6 +4218,15 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -4008,11 +4307,6 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -4023,7 +4317,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: +encoding@^0.1.12: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -4037,54 +4331,36 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -engine.io-client@~3.5.0: - version "3.5.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" - integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== - dependencies: - component-emitter "~1.3.0" - component-inherit "0.0.3" - debug "~3.1.0" - engine.io-parser "~2.2.0" - has-cors "1.1.0" - indexof "0.0.1" - parseqs "0.0.6" - parseuri "0.0.6" - ws "~7.4.2" - xmlhttprequest-ssl "~1.6.2" - yeast "0.1.2" - -engine.io-parser@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" - integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== +engine.io-parser@~5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.2.tgz#69a2ec3ed431da021f0666712d07f106bcffa6ce" + integrity sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g== dependencies: - after "0.8.2" - arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.4" - blob "0.0.5" - has-binary2 "~1.0.2" + base64-arraybuffer "~1.0.1" -engine.io@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" - integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== +engine.io@~6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.0.tgz#459eab0c3724899d7b63a20c3a6835cf92857939" + integrity sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw== dependencies: + "@types/cookie" "^0.4.1" + "@types/cors" "^2.8.12" + "@types/node" ">=10.0.0" accepts "~1.3.4" base64id "2.0.0" cookie "~0.4.1" - debug "~4.1.0" - engine.io-parser "~2.2.0" - ws "~7.4.2" + cors "~2.8.5" + debug "~4.3.1" + engine.io-parser "~5.0.0" + ws "~8.2.3" -enhanced-resolve@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== +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.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" + graceful-fs "^4.2.4" + tapable "^2.2.0" enhanced-resolve@^4.3.0: version "4.5.0" @@ -4110,11 +4386,21 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -4182,7 +4468,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: es6-symbol "~3.1.3" next-tick "~1.0.0" -es6-iterator@2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: +es6-iterator@~2.0.1, es6-iterator@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= @@ -4584,21 +4870,21 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@0.11.x, faye-websocket@~0.11.1: +faye-websocket@0.11.x: version "0.11.3" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== dependencies: websocket-driver ">=0.5.1" -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" -figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: +figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== @@ -4610,13 +4896,13 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" - integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ== +file-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" - schema-utils "^2.6.5" + schema-utils "^3.0.0" file-uri-to-path@1.0.0: version "1.0.0" @@ -4696,7 +4982,7 @@ findit2@^2.2.3: resolved "https://registry.yarnpkg.com/findit2/-/findit2-2.2.3.tgz#58a466697df8a6205cdfdbf395536b8bd777a5f6" integrity sha1-WKRmaX34piBc39vzlVNri9d3pfY= -flatted@^2.0.1, flatted@^2.0.2: +flatted@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== @@ -4755,6 +5041,11 @@ forwarded@~0.1.2: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +fraction.js@^4.0.13, fraction.js@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" + integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -4807,7 +5098,7 @@ fs-extra@^8.0.1, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.0.1: +fs-extra@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== @@ -4817,14 +5108,7 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" -fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-minipass@^2.0.0: +fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -4859,7 +5143,7 @@ fsevents@~2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -fsevents@~2.3.2: +fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -4869,12 +5153,21 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -genfun@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" - integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" -gensync@^1.0.0-beta.1: +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -4898,7 +5191,12 @@ get-intrinsic@^1.0.0: has "^1.0.3" has-symbols "^1.0.1" -get-stream@^4.0.0, get-stream@^4.1.0: +get-port@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= + +get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== @@ -4932,6 +5230,13 @@ glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" @@ -4949,6 +5254,18 @@ glob@7.1.6, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glo once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.7: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + 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.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -5007,7 +5324,7 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -graceful-fs@^4.2.4: +graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -5049,18 +5366,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-binary2@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" - integrity sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw== - dependencies: - isarray "2.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -5076,6 +5381,11 @@ has-symbols@^1.0.1: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -5145,18 +5455,20 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hosted-git-info@^3.0.2, hosted-git-info@^3.0.6: +hosted-git-info@^3.0.6: version "3.0.7" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== dependencies: lru-cache "^6.0.0" +hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -5177,11 +5489,6 @@ hsla-regex@^1.0.0: resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - html-entities@^1.2.1, html-entities@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" @@ -5214,10 +5521,10 @@ http-auth@3.1.x: bcryptjs "^2.3.0" uuid "^3.0.0" -http-cache-semantics@^3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== +http-cache-semantics@^4.1.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== http-deceiver@^1.2.7: version "1.2.7" @@ -5261,13 +5568,14 @@ http-parser-js@>=0.5.1: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: - agent-base "4" - debug "3.1.0" + "@tootallnate/once" "1" + agent-base "6" + debug "4" http-proxy-middleware@0.19.1: version "0.19.1" @@ -5302,7 +5610,15 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3: +https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +https-proxy-agent@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== @@ -5324,7 +5640,7 @@ i18next@^17.0.16: dependencies: "@babel/runtime" "^7.3.1" -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5338,14 +5654,12 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" +icss-utils@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ieee754@^1.1.4: +ieee754@^1.1.13, ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -5355,10 +5669,10 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== +ignore-walk@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== dependencies: minimatch "^3.0.4" @@ -5382,13 +5696,6 @@ immediate@~3.0.5: resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -5397,12 +5704,13 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: - resolve-from "^3.0.0" + parent-module "^1.0.0" + resolve-from "^4.0.0" import-local@^2.0.0: version "2.0.0" @@ -5427,11 +5735,6 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -5460,17 +5763,17 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.6.tgz#f1c46a2a93a253e7b3905115e74d527cd23061a1" - integrity sha512-IZUoxEjNjubzrmvzZU4lKP7OnYmX72XRl3sqkfJhBKweKi5rnGi5+IUdlj/H1M+Ip5JQ1WzaDMOBRY90Ajc5jg== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -injection-js@^2.2.1: +injection-js@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/injection-js/-/injection-js-2.4.0.tgz#ebe8871b1a349f23294eaa751bbd8209a636e754" integrity sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA== @@ -5509,19 +5812,12 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= -ip@1.1.5, ip@^1.1.0, ip@^1.1.5: +ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -5692,6 +5988,13 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + 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" @@ -5721,6 +6024,11 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -5791,11 +6099,6 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-object@^2.0.3, 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" @@ -5824,7 +6127,7 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-resolvable@^1.0.0: +is-resolvable@^1.0.0, is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== @@ -5834,13 +6137,6 @@ is-stream@^1.1.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -5892,12 +6188,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isarray@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" - integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= - -isbinaryfile@^4.0.6: +isbinaryfile@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== @@ -5982,10 +6273,10 @@ jasmine-core@~2.8.0: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= -jasmine-core@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.5.0.tgz#132c23e645af96d85c8bca13c8758b18429fc1e4" - integrity sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA== +jasmine-core@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.6.0.tgz#491f3bb23941799c353ceb7a45b38a950ebc5a20" + integrity sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw== jasmine-spec-reporter@~5.0.0: version "5.0.2" @@ -6008,16 +6299,7 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.3.0.tgz#7c8a97e4f4364b4f05ed8bca8ca0c24de091871f" - integrity sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^26.3.0: +jest-worker@26.6.2, jest-worker@^26.5.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -6026,7 +6308,7 @@ jest-worker@^26.3.0: merge-stream "^2.0.0" supports-color "^7.0.0" -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -6054,7 +6336,7 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1, 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== @@ -6069,6 +6351,11 @@ json-schema-traverse@^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-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -6079,7 +6366,7 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json3@^3.3.2: +json3@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== @@ -6098,10 +6385,10 @@ json5@^2.1.0, json5@^2.1.2: dependencies: minimist "^1.2.5" -jsonc-parser@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-2.3.0.tgz#7c7fc988ee1486d35734faaaa866fadb00fa91ee" - integrity sha512-b0EBt8SWFNnixVdvoR2ZtEGa9ZqLhbJnOjezn+WP+8kspFm+PFYDN8Z4Bc7pRlDjvuVcADSUkroIuTWWn/YiIA== +jsonc-parser@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" + integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== jsonfile@^4.0.0: version "4.0.0" @@ -6119,7 +6406,7 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonparse@^1.2.0: +jsonparse@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= @@ -6181,35 +6468,34 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -karma@~5.0.0: - version "5.0.9" - resolved "https://registry.yarnpkg.com/karma/-/karma-5.0.9.tgz#11a119b0c763a806fdc471b40c594a2240b5ca13" - integrity sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg== +karma@~6.3.9: + version "6.3.9" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.9.tgz#cc309607f0fcdb58a88643184f3e4ba8bff26751" + integrity sha512-E/MqdLM9uVIhfuyVnrhlGBu4miafBdXEAEqCmwdEMh3n17C7UWC/8Kvm3AYKr91gc7scutekZ0xv6rxRaUCtnw== dependencies: body-parser "^1.19.0" braces "^3.0.2" - chokidar "^3.0.0" + chokidar "^3.5.1" colors "^1.4.0" connect "^3.7.0" di "^0.0.1" dom-serialize "^2.2.1" - flatted "^2.0.2" - glob "^7.1.6" - graceful-fs "^4.2.4" + glob "^7.1.7" + graceful-fs "^4.2.6" http-proxy "^1.18.1" - isbinaryfile "^4.0.6" - lodash "^4.17.15" - log4js "^6.2.1" - mime "^2.4.5" + isbinaryfile "^4.0.8" + lodash "^4.17.21" + log4js "^6.3.0" + mime "^2.5.2" minimatch "^3.0.4" qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" - socket.io "^2.3.0" + socket.io "^4.2.0" source-map "^0.6.1" - tmp "0.2.1" - ua-parser-js "0.7.21" - yargs "^15.3.1" + tmp "^0.2.1" + ua-parser-js "^0.7.30" + yargs "^16.1.1" killable@^1.0.1: version "1.0.1" @@ -6240,26 +6526,27 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -klona@^2.0.3: +klona@^2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -less-loader@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-6.2.0.tgz#8b26f621c155b342eefc24f5bd6e9dc40c42a719" - integrity sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg== +less-loader@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.3.0.tgz#f9d6d36d18739d642067a05fb5bd70c8c61317e5" + integrity sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg== dependencies: - clone "^2.1.2" - less "^3.11.3" + klona "^2.0.4" loader-utils "^2.0.0" - schema-utils "^2.7.0" + schema-utils "^3.0.0" -less@^3.10.3: - version "3.12.2" - resolved "https://registry.yarnpkg.com/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4" - integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q== +less@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.1.tgz#15bf253a9939791dc690888c3ff424f3e6c7edba" + integrity sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw== dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" tslib "^1.10.0" optionalDependencies: errno "^0.1.1" @@ -6267,37 +6554,26 @@ less@^3.10.3: image-size "~0.5.0" make-dir "^2.1.0" mime "^1.4.1" - native-request "^1.0.5" + needle "^2.5.2" source-map "~0.6.0" -less@^3.11.3: - version "3.13.1" - resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" - integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== +less@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" + integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== dependencies: copy-anything "^2.0.1" - tslib "^1.10.0" + parse-node-version "^1.0.1" + tslib "^2.3.0" optionalDependencies: errno "^0.1.1" graceful-fs "^4.1.2" image-size "~0.5.0" make-dir "^2.1.0" mime "^1.4.1" - native-request "^1.0.5" + needle "^2.5.2" source-map "~0.6.0" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -6306,10 +6582,10 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-webpack-plugin@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.0.tgz#c00f70d5725ba0408de208acb9e66612cc2eceda" - integrity sha512-JK/DXrtN6UeYQSgkg5q1+pgJ8aiKPL9tnz9Wzw+Ikkf+8mJxG56x6t8O+OH/tAeF/5NREnelTEMyFtbJNkjH4w== +license-webpack-plugin@2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz#0d93188a31fce350a44c86212badbaf33dcd29d8" + integrity sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" @@ -6359,15 +6635,6 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - loader-utils@2.0.0, loader-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" @@ -6377,7 +6644,7 @@ loader-utils@2.0.0, loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -6401,11 +6668,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -6421,12 +6683,12 @@ lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17. resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lodash@^4.7.0: +lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^4.0.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -6434,7 +6696,7 @@ log-symbols@^4.0.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" -log4js@^6.2.1: +log4js@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb" integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw== @@ -6455,13 +6717,6 @@ loglevel@^1.6.4, loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -6508,7 +6763,7 @@ make-dir@^2.0.0, make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" -make-dir@^3.0.0, make-dir@^3.0.2: +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0, make-dir@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -6520,22 +6775,26 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd" - integrity sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag== - dependencies: - agentkeepalive "^3.4.1" - cacache "^12.0.0" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^4.0.0" - ssri "^6.0.0" +make-fetch-happen@^8.0.9: + version "8.0.14" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" + integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.0.5" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + promise-retry "^2.0.1" + socks-proxy-agent "^5.0.0" + ssri "^8.0.0" map-cache@^0.2.2: version "0.2.2" @@ -6573,6 +6832,11 @@ mdn-data@2.0.12: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" integrity sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q== +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" @@ -6690,29 +6954,33 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.3.1, mime@^2.4.4: +mime@^2.4.4: version "2.4.6" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== -mime@^2.4.5: +mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mime@~2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + 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== -mini-css-extract-plugin@0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.10.0.tgz#a0e6bfcad22a9c73f6c882a3c7557a98e2d3d27d" - integrity sha512-QgKgJBjaJhxVPwrLNqqwNS0AGkuQQ31Hp4xGXEK/P7wehEg6qmNtReHKai3zRXqY60wGVWLYcOMJK2b98aGc3A== +mini-css-extract-plugin@1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz#252166e78879c106e0130f229d44e0cbdfcebed3" + integrity sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ== dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" + loader-utils "^2.0.0" + schema-utils "^3.0.0" webpack-sources "^1.1.0" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: @@ -6725,7 +6993,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4, 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== @@ -6744,6 +7012,17 @@ minipass-collect@^1.0.2: dependencies: minipass "^3.0.0" +minipass-fetch@^1.3.0, minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + minipass-flush@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" @@ -6751,20 +7030,27 @@ minipass-flush@^1.0.5: dependencies: minipass "^3.0.0" -minipass-pipeline@^1.2.2: - version "1.2.4" +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" + minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1: version "3.1.3" @@ -6773,14 +7059,14 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== +minipass@^3.1.0, minipass@^3.1.3: + version "3.1.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" + integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== dependencies: - minipass "^2.9.0" + yallist "^4.0.0" -minizlib@^2.1.1: +minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -6812,7 +7098,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, 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== @@ -6900,6 +7186,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +nanoid@^3.1.23, nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -6917,16 +7208,20 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -native-request@^1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.0.8.tgz#8f66bf606e0f7ea27c0e5995eb2f5d03e33ae6fb" - integrity sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag== - ncp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M= +needle@^2.5.2: + version "2.9.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.9.1.tgz#22d1dffbe3490c2b83e301f7709b6736cd8f2684" + integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.4.4" + sax "^1.2.4" + negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" @@ -6942,56 +7237,63 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@^10.1.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-10.1.2.tgz#7c869ec5bea92ff3ab65392913ad4e8af749799a" - integrity sha512-pm61gu6jPkohL8tFWk+2DwUtb3rs5GpND1ZjKUYv5WUJPUQmBfG5WvEO/CDVQpSDWhNWWLTt17NIQ+RS3hNUHg== +ng-packagr@^11.2.4: + version "11.2.4" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.2.4.tgz#9deda83beb831bda7b753686d0f90e12a02dbb47" + integrity sha512-pAZYRWe4duLx6bXgfNKgT2XBHiepWz2sA+CaJ9UYEbLHE+QxYGtw/PJAC6o0zRDv1bBCkv5oquKTyTZtYjkAQQ== dependencies: - "@rollup/plugin-commonjs" "^15.0.0" - "@rollup/plugin-json" "^4.0.0" - "@rollup/plugin-node-resolve" "^9.0.0" - ajv "^6.12.3" + "@rollup/plugin-commonjs" "^17.0.0" + "@rollup/plugin-json" "^4.1.0" + "@rollup/plugin-node-resolve" "^11.1.0" + ajv "^7.0.3" ansi-colors "^4.1.1" - autoprefixer "^9.6.5" - browserslist "^4.7.0" - chokidar "^3.2.1" - commander "^6.0.0" - cssnano-preset-default "^4.0.7" - fs-extra "^9.0.0" - glob "^7.1.2" - injection-js "^2.2.1" - less "^3.10.3" - node-sass-tilde-importer "^1.0.0" - postcss "^7.0.29" - postcss-url "^8.0.0" - read-pkg-up "^5.0.0" + autoprefixer "^10.2.4" + browserslist "^4.16.1" + chokidar "^3.5.1" + commander "^7.0.0" + cssnano "^4.1.10" + glob "^7.1.6" + injection-js "^2.4.0" + less "^4.1.0" + node-sass-tilde-importer "^1.0.2" + ora "^5.1.0" + postcss "^8.2.4" + postcss-url "^10.1.1" rimraf "^3.0.0" - rollup "^2.8.0" - rollup-plugin-sourcemaps "^0.6.0" + rollup "^2.37.0" + rollup-plugin-sourcemaps "^0.6.3" rxjs "^6.5.0" - sass "^1.23.0" - stylus "^0.54.7" - terser "^5.0.0" + sass "^1.32.5" + stylus "^0.54.8" + sync-rpc "^1.3.6" + terser "^5.5.1" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-fetch-npm@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" - integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== - dependencies: - encoding "^0.1.11" - json-parse-better-errors "^1.0.0" - safe-buffer "^5.1.1" - node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" @@ -7031,22 +7333,19 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== -node-sass-tilde-importer@^1.0.0: +node-sass-tilde-importer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz#1a15105c153f648323b4347693fdb0f331bad1ce" integrity sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg== dependencies: find-parent-dir "^0.3.0" -normalize-package-data@^2.0.0, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" + abbrev "1" normalize-path@^2.1.1: version "2.1.1" @@ -7065,25 +7364,20 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== -npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== +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== + +npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" @@ -7094,31 +7388,12 @@ npm-install-checks@^4.0.0: dependencies: semver "^7.1.1" -npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: +npm-normalize-package-bin@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.0.1.tgz#9d76f8d7667b2373ffda60bb801a27ef71e3e270" - integrity sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ== - dependencies: - hosted-git-info "^3.0.2" - semver "^7.0.0" - validate-npm-package-name "^3.0.0" - -npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" - integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== - dependencies: - hosted-git-info "^2.7.1" - osenv "^0.1.5" - semver "^5.6.0" - validate-npm-package-name "^3.0.0" - -npm-package-arg@^8.0.0: +npm-package-arg@8.1.0, npm-package-arg@^8.0.0: version "8.1.0" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.0.tgz#b5f6319418c3246a1c38e1a8fbaa06231bc5308f" integrity sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig== @@ -7127,13 +7402,23 @@ npm-package-arg@^8.0.0: semver "^7.0.0" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.12: - version "1.4.8" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" - integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== +npm-package-arg@^8.0.1, npm-package-arg@^8.1.2: + version "8.1.5" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" + integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== + dependencies: + hosted-git-info "^4.0.1" + semver "^7.3.4" + validate-npm-package-name "^3.0.0" + +npm-packlist@^2.1.4: + version "2.2.2" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" + integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" + glob "^7.1.6" + ignore-walk "^3.0.3" + npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" npm-pick-manifest@6.1.0: @@ -7145,27 +7430,29 @@ npm-pick-manifest@6.1.0: npm-package-arg "^8.0.0" semver "^7.0.0" -npm-pick-manifest@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7" - integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw== +npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" + integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== dependencies: - figgy-pudding "^3.5.1" - npm-package-arg "^6.0.0" - semver "^5.4.1" + npm-install-checks "^4.0.0" + npm-normalize-package-bin "^1.0.1" + npm-package-arg "^8.1.2" + semver "^7.3.4" -npm-registry-fetch@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz#57951bf6541e0246b34c9f9a38ab73607c9449d7" - integrity sha512-cny9v0+Mq6Tjz+e0erFAB+RYJ/AVGzkjnISiobqP8OWj9c9FLoZZu8/SPSKJWE17F1tk4018wfjV+ZbIbqC7fQ== +npm-registry-fetch@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" + integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== dependencies: - JSONStream "^1.3.4" - bluebird "^3.5.1" - figgy-pudding "^3.4.1" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - npm-package-arg "^6.1.0" - safe-buffer "^5.2.0" + "@npmcli/ci-detect" "^1.0.0" + lru-cache "^6.0.0" + make-fetch-happen "^8.0.9" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" npm-run-path@^2.0.0: version "2.0.2" @@ -7174,6 +7461,16 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + nth-check@^1.0.2, nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -7181,10 +7478,17 @@ nth-check@^1.0.2, nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= +nth-check@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= oauth-sign@~0.9.0: version "0.9.0" @@ -7240,7 +7544,7 @@ object.assign@^4.1.0, object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: +object.getownpropertydescriptors@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== @@ -7296,10 +7600,10 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/open/-/open-7.2.0.tgz#212959bd7b0ce2e8e3676adc76e3cf2f0a2498b4" - integrity sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ== +open@7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.0.tgz#ad95b98f871d9acb0ec8fecc557082cc9986626b" + integrity sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA== dependencies: is-docker "^2.0.0" is-wsl "^2.1.1" @@ -7335,17 +7639,32 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -ora@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.0.0.tgz#4f0b34f2994877b49b452a707245ab1e9f6afccb" - integrity sha512-s26qdWqke2kjN/wC4dy+IQPBIMWBJlSU/0JZhk30ZDBLelW25rv66yutUWARMigpGPzcXHb+Nac5pNhN/WsARw== +ora@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" + integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== dependencies: + bl "^4.0.3" chalk "^4.1.0" cli-cursor "^3.1.0" - cli-spinners "^2.4.0" + cli-spinners "^2.5.0" is-interactive "^1.0.0" log-symbols "^4.0.0" - mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ora@^5.1.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" strip-ansi "^6.0.0" wcwidth "^1.0.1" @@ -7361,11 +7680,6 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - os-name@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" @@ -7374,19 +7688,11 @@ os-name@^3.1.0: macos-release "^2.2.0" windows-release "^3.1.0" -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -7399,13 +7705,6 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" - integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== - dependencies: - p-try "^2.0.0" - p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" @@ -7451,41 +7750,30 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@9.5.12: - version "9.5.12" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-9.5.12.tgz#1e11dd7a8d736bcc36b375a9804d41bb0377bf66" - integrity sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ== +pacote@11.2.4: + version "11.2.4" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.2.4.tgz#dc7ca740a573ed86a3bf863511d22c1d413ec82f" + integrity sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ== dependencies: - bluebird "^3.5.3" - cacache "^12.0.2" - chownr "^1.1.2" - figgy-pudding "^3.5.1" - get-stream "^4.1.0" - glob "^7.1.3" + "@npmcli/git" "^2.0.1" + "@npmcli/installed-package-contents" "^1.0.5" + "@npmcli/promise-spawn" "^1.2.0" + "@npmcli/run-script" "^1.3.0" + cacache "^15.0.5" + chownr "^2.0.0" + fs-minipass "^2.1.0" infer-owner "^1.0.4" - lru-cache "^5.1.1" - make-fetch-happen "^5.0.0" - minimatch "^3.0.4" - minipass "^2.3.5" - mississippi "^3.0.0" - mkdirp "^0.5.1" - normalize-package-data "^2.4.0" - npm-normalize-package-bin "^1.0.0" - npm-package-arg "^6.1.0" - npm-packlist "^1.1.12" - npm-pick-manifest "^3.0.0" - npm-registry-fetch "^4.0.0" - osenv "^0.1.5" - promise-inflight "^1.0.1" + minipass "^3.1.3" + mkdirp "^1.0.3" + npm-package-arg "^8.0.1" + npm-packlist "^2.1.4" + npm-pick-manifest "^6.0.0" + npm-registry-fetch "^9.0.0" promise-retry "^1.1.1" - protoduck "^5.0.1" - rimraf "^2.6.2" - safe-buffer "^5.1.2" - semver "^5.6.0" - ssri "^6.0.1" - tar "^4.4.10" - unique-filename "^1.1.1" - which "^1.3.1" + read-package-json-fast "^1.1.3" + rimraf "^3.0.2" + ssri "^8.0.0" + tar "^6.1.0" pako@^0.2.5: version "0.2.9" @@ -7506,6 +7794,13 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" @@ -7535,22 +7830,32 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-node-version@^1.0.0: +parse-node-version@^1.0.0, parse-node-version@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== -parse5-htmlparser2-tree-adapter@6.0.1: +parse5-html-rewriting-stream@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz#de1820559317ab4e451ea72dba05fddfd914480b" + integrity sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg== + dependencies: + parse5 "^6.0.1" + parse5-sax-parser "^6.0.1" + +parse5-htmlparser2-tree-adapter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== dependencies: parse5 "^6.0.1" -parse5@6.0.1, parse5@^6.0.1: +parse5-sax-parser@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + resolved "https://registry.yarnpkg.com/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz#98b4d366b5b266a7cd90b4b58906667af882daba" + integrity sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg== + dependencies: + parse5 "^6.0.1" parse5@^3.0.1: version "3.0.3" @@ -7564,15 +7869,10 @@ parse5@^5.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parseqs@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" - integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== - -parseuri@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" - integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" @@ -7776,6 +8076,14 @@ postcss-calc@^7.0.1: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" +postcss-calc@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" + integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + dependencies: + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + postcss-colormin@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" @@ -7787,6 +8095,16 @@ postcss-colormin@^4.0.3: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-colormin@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.1.tgz#6e444a806fd3c578827dbad022762df19334414d" + integrity sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.1.0" + postcss-convert-values@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" @@ -7795,6 +8113,13 @@ postcss-convert-values@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-convert-values@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" + integrity sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg== + dependencies: + postcss-value-parser "^4.1.0" + postcss-discard-comments@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" @@ -7802,6 +8127,11 @@ postcss-discard-comments@^4.0.2: dependencies: postcss "^7.0.0" +postcss-discard-comments@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" + integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== + postcss-discard-duplicates@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" @@ -7809,6 +8139,11 @@ postcss-discard-duplicates@^4.0.2: dependencies: postcss "^7.0.0" +postcss-discard-duplicates@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" + integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== + postcss-discard-empty@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" @@ -7816,6 +8151,11 @@ postcss-discard-empty@^4.0.1: dependencies: postcss "^7.0.0" +postcss-discard-empty@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" + integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== + postcss-discard-overridden@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" @@ -7823,33 +8163,30 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" -postcss-import@12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-12.0.1.tgz#cf8c7ab0b5ccab5649024536e565f841928b7153" - integrity sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw== +postcss-discard-overridden@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" + integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== + +postcss-import@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.0.tgz#3ed1dadac5a16650bde3f4cdea6633b9c3c78296" + integrity sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg== dependencies: - postcss "^7.0.1" - postcss-value-parser "^3.2.3" + postcss-value-parser "^4.0.0" read-cache "^1.0.0" resolve "^1.1.7" -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== +postcss-loader@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.2.0.tgz#f6993ea3e0f46600fb3ee49bbd010448123a7db4" + integrity sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA== dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" + cosmiconfig "^7.0.0" + klona "^2.0.4" + loader-utils "^2.0.0" + schema-utils "^3.0.0" + semver "^7.3.4" postcss-merge-longhand@^4.0.11: version "4.0.11" @@ -7861,6 +8198,14 @@ postcss-merge-longhand@^4.0.11: postcss-value-parser "^3.0.0" stylehacks "^4.0.0" +postcss-merge-longhand@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz#41f4f3270282ea1a145ece078b7679f0cef21c32" + integrity sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw== + dependencies: + postcss-value-parser "^4.1.0" + stylehacks "^5.0.1" + postcss-merge-rules@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" @@ -7873,6 +8218,16 @@ postcss-merge-rules@^4.0.3: postcss-selector-parser "^3.0.0" vendors "^1.0.0" +postcss-merge-rules@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz#b5cae31f53129812a77e3eb1eeee448f8cf1a1db" + integrity sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^2.0.1" + postcss-selector-parser "^6.0.5" + postcss-minify-font-values@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" @@ -7881,6 +8236,13 @@ postcss-minify-font-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-minify-font-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" + integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== + dependencies: + postcss-value-parser "^4.1.0" + postcss-minify-gradients@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" @@ -7891,6 +8253,15 @@ postcss-minify-gradients@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-minify-gradients@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" + integrity sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q== + dependencies: + colord "^2.9.1" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-minify-params@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" @@ -7903,6 +8274,16 @@ postcss-minify-params@^4.0.2: postcss-value-parser "^3.0.0" uniqs "^2.0.0" +postcss-minify-params@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz#1b644da903473fbbb18fbe07b8e239883684b85c" + integrity sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg== + dependencies: + alphanum-sort "^1.0.2" + browserslist "^4.16.6" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-minify-selectors@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" @@ -7913,38 +8294,41 @@ postcss-minify-selectors@^4.0.2: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== +postcss-minify-selectors@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" + integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== dependencies: - postcss "^7.0.5" + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" -postcss-modules-local-by-default@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" + icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" + postcss-selector-parser "^6.0.4" -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" + icss-utils "^5.0.0" postcss-normalize-charset@^4.0.1: version "4.0.1" @@ -7953,6 +8337,11 @@ postcss-normalize-charset@^4.0.1: dependencies: postcss "^7.0.0" +postcss-normalize-charset@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" + integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== + postcss-normalize-display-values@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" @@ -7962,6 +8351,14 @@ postcss-normalize-display-values@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-display-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" + integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-normalize-positions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" @@ -7972,6 +8369,13 @@ postcss-normalize-positions@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-positions@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" + integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== + dependencies: + postcss-value-parser "^4.1.0" + postcss-normalize-repeat-style@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" @@ -7982,6 +8386,14 @@ postcss-normalize-repeat-style@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-repeat-style@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" + integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-normalize-string@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" @@ -7991,6 +8403,13 @@ postcss-normalize-string@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-string@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" + integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== + dependencies: + postcss-value-parser "^4.1.0" + postcss-normalize-timing-functions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" @@ -8000,6 +8419,14 @@ postcss-normalize-timing-functions@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-timing-functions@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" + integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-normalize-unicode@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" @@ -8009,6 +8436,14 @@ postcss-normalize-unicode@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-unicode@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" + integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== + dependencies: + browserslist "^4.16.0" + postcss-value-parser "^4.1.0" + postcss-normalize-url@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" @@ -8019,6 +8454,15 @@ postcss-normalize-url@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-url@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz#42eca6ede57fe69075fab0f88ac8e48916ef931c" + integrity sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg== + dependencies: + is-absolute-url "^3.0.3" + normalize-url "^6.0.1" + postcss-value-parser "^4.1.0" + postcss-normalize-whitespace@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" @@ -8027,6 +8471,13 @@ postcss-normalize-whitespace@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-normalize-whitespace@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" + integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== + dependencies: + postcss-value-parser "^4.1.0" + postcss-ordered-values@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" @@ -8036,6 +8487,14 @@ postcss-ordered-values@^4.1.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-ordered-values@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" + integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-reduce-initial@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" @@ -8046,6 +8505,14 @@ postcss-reduce-initial@^4.0.3: has "^1.0.0" postcss "^7.0.0" +postcss-reduce-initial@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946" + integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== + dependencies: + browserslist "^4.16.0" + caniuse-api "^3.0.0" + postcss-reduce-transforms@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" @@ -8056,6 +8523,14 @@ postcss-reduce-transforms@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-reduce-transforms@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" + integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + postcss-selector-parser@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" @@ -8065,7 +8540,7 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: +postcss-selector-parser@^6.0.2: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== @@ -8075,16 +8550,31 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: uniq "^1.0.1" util-deprecate "^1.0.2" -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== +postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== dependencies: - is-svg "^3.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" svgo "^1.0.0" +postcss-svgo@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" + integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA== + dependencies: + postcss-value-parser "^4.1.0" + svgo "^2.7.0" + postcss-unique-selectors@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" @@ -8094,46 +8584,44 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-8.0.0.tgz#7b10059bd12929cdbb1971c60f61a0e5af86b4ca" - integrity sha512-E2cbOQ5aii2zNHh8F6fk1cxls7QVFZjLPSrqvmiza8OuXLzIpErij8BDS5Y3STPfJgpIMNCPEr8JlKQWEoozUw== +postcss-unique-selectors@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz#5d6893daf534ae52626708e0d62250890108c0c1" + integrity sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA== dependencies: - mime "^2.3.1" - minimatch "^3.0.4" - mkdirp "^0.5.0" - postcss "^7.0.2" - xxhashjs "^0.2.1" + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3: +postcss-url@^10.1.1: + version "10.1.3" + resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-10.1.3.tgz#54120cc910309e2475ec05c2cfa8f8a2deafdf1e" + integrity sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw== + dependencies: + make-dir "~3.1.0" + mime "~2.5.2" + minimatch "~3.0.4" + xxhashjs "~0.2.2" + +postcss-value-parser@^3.0.0: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@7.0.21: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== +postcss@8.2.15: + version "8.2.15" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" + integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== dependencies: - chalk "^2.4.2" + colorette "^1.2.2" + nanoid "^3.1.23" source-map "^0.6.1" - supports-color "^6.1.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: version "7.0.35" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -8142,7 +8630,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.27 source-map "^0.6.1" supports-color "^6.1.0" -postcss@^7.0.29: +postcss@^7.0.35: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -8150,15 +8638,24 @@ postcss@^7.0.29: picocolors "^0.2.1" source-map "^0.6.1" +postcss@^8.1.4, postcss@^8.2.4, postcss@^8.3.7: + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^0.6.2" + 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= -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +pretty-bytes@^5.3.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== process-nextick-args@~2.0.0: version "2.0.1" @@ -8183,12 +8680,13 @@ promise-retry@^1.1.1: err-code "^1.0.0" retry "^0.10.0" -protoduck@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" - integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg== +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== dependencies: - genfun "^5.0.0" + err-code "^2.0.2" + retry "^0.12.0" protractor@~7.0.0: version "7.0.0" @@ -8311,14 +8809,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -8373,13 +8863,13 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-loader@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.1.tgz#14e1f726a359b68437e183d5a5b7d33a3eba6933" - integrity sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A== +raw-loader@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" + integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== dependencies: loader-utils "^2.0.0" - schema-utils "^2.6.5" + schema-utils "^3.0.0" read-cache@^1.0.0: version "1.0.0" @@ -8388,44 +8878,23 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -read-package-json@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" - integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== +read-package-json-fast@^1.1.3: + version "1.2.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz#fba77b0b0d66b1ab344e214cb0876577e749c423" + integrity sha512-39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ== dependencies: - glob "^7.1.1" json-parse-even-better-errors "^2.3.0" - normalize-package-data "^2.0.0" - npm-normalize-package-bin "^1.0.0" - -read-package-tree@5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" - integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== - dependencies: - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - util-promisify "^2.1.0" - -read-pkg-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== - dependencies: - find-up "^3.0.0" - read-pkg "^5.0.0" + npm-normalize-package-bin "^1.0.1" -read-pkg@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== +read-package-json-fast@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: 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== @@ -8438,7 +8907,7 @@ read-pkg@^5.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -8447,16 +8916,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdir-scoped-modules@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" - integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -8473,6 +8932,13 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + reflect-metadata@^0.1.2: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" @@ -8598,6 +9064,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -8620,20 +9091,20 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= -resolve-url-loader@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz#235e2c28e22e3e432ba7a5d4e305c59a58edfc08" - integrity sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ== - dependencies: - adjust-sourcemap-loader "3.0.0" - camelcase "5.3.1" - compose-function "3.0.3" - convert-source-map "1.7.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.21" - rework "1.0.1" - rework-visit "1.0.0" +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-url-loader@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" + integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== + dependencies: + adjust-sourcemap-loader "^4.0.0" + convert-source-map "^1.7.0" + loader-utils "^2.0.0" + postcss "^7.0.35" source-map "0.6.1" resolve-url@^0.2.1: @@ -8646,7 +9117,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.5, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2: +resolve@1.19.0, resolve@^1.1.5, resolve@^1.1.7, resolve@^1.3.2: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -8654,7 +9125,7 @@ resolve@^1.1.5, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2: is-core-module "^2.1.0" path-parse "^1.0.6" -resolve@^1.17.0, resolve@^1.8.1: +resolve@^1.17.0, resolve@^1.19.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -8697,19 +9168,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - rfdc@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" @@ -8732,7 +9190,7 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -8747,7 +9205,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rollup-plugin-sourcemaps@^0.6.0: +rollup-plugin-sourcemaps@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== @@ -8755,14 +9213,14 @@ rollup-plugin-sourcemaps@^0.6.0: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.26.5: - version "2.26.5" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.26.5.tgz#5562ec36fcba3eed65cfd630bd78e037ad0e0307" - integrity sha512-rCyFG3ZtQdnn9YwfuAVH0l/Om34BdO5lwCA0W6Hq+bNB21dVEBbCRxhaHOmu1G7OBFDWytbzAC104u7rxHwGjA== +rollup@2.38.4: + version "2.38.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.38.4.tgz#1b84ea8728c73b1a00a6a6e9c630ec8c3fe48cea" + integrity sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg== optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.1" -rollup@^2.8.0: +rollup@^2.37.0: version "2.60.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.60.0.tgz#4ee60ab7bdd0356763f87d7099f413e5460fc193" integrity sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ== @@ -8793,21 +9251,14 @@ rxjs@6.5.3: dependencies: tslib "^1.9.0" -rxjs@6.6.2: - version "6.6.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.2.tgz#8096a7ac03f2cc4fe5860ef6e572810d9e01c0d2" - integrity sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg== - dependencies: - tslib "^1.9.0" - -rxjs@^6.5.0: +rxjs@6.6.3, rxjs@^6.5.0: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" -rxjs@^6.6.0: +rxjs@^6.5.3, rxjs@^6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -8836,30 +9287,30 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.0.1.tgz#10c0364d8034f22fee25ddcc9eded20f99bbe3b4" - integrity sha512-b2PSldKVTS3JcFPHSrEXh3BeAfR7XknGiGCAO5aHruR3Pf3kqLP3Gb2ypXLglRrAzgZkloNxLZ7GXEGDX0hBUQ== +sass-loader@10.1.1: + version "10.1.1" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d" + integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw== dependencies: - klona "^2.0.3" + klona "^2.0.4" loader-utils "^2.0.0" neo-async "^2.6.2" - schema-utils "^2.7.0" + schema-utils "^3.0.0" semver "^7.3.2" -sass@1.26.10: - version "1.26.10" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760" - integrity sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw== +sass@1.32.6: + version "1.32.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.6.tgz#e3646c8325cd97ff75a8a15226007f3ccd221393" + integrity sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ== dependencies: chokidar ">=2.0.0 <4.0.0" -sass@^1.23.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.29.0.tgz#ec4e1842c146d8ea9258c28c141b8c2b7c6ab7f1" - integrity sha512-ZpwAUFgnvAUCdkjwPREny+17BpUj8nh5Yr6zKPGtLNTLrmtoRYIjm7njP24COhjJldjwW1dcv52Lpf4tNZVVRA== +sass@^1.32.5: + version "1.43.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" + integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== dependencies: - chokidar ">=2.0.0 <4.0.0" + chokidar ">=3.0.0 <4.0.0" saucelabs@^1.5.0: version "1.5.0" @@ -8868,7 +9319,7 @@ saucelabs@^1.5.0: dependencies: https-proxy-agent "^2.2.1" -sax@>=0.6.0, sax@^1.2.1, sax@~1.2.4: +sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -8882,7 +9333,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: +schema-utils@^2.6.5, schema-utils@^2.7.0: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -8891,6 +9342,15 @@ schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: ajv "^6.12.4" ajv-keywords "^3.5.2" +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + scope-analyzer@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/scope-analyzer/-/scope-analyzer-2.1.1.tgz#5156c27de084d74bf75af9e9506aaf95c6e73dd6" @@ -8919,10 +9379,10 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selfsigned@^1.10.7: - version "1.10.8" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== +selfsigned@^1.10.8: + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== dependencies: node-forge "^0.10.0" @@ -8940,27 +9400,34 @@ semver-intersect@1.4.0: dependencies: semver "^5.0.0" -"semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.2, semver@^7.0.0, semver@^7.1.1: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + +semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.2, semver@^7.3.5: +semver@^7.0.0, semver@^7.1.1: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -8993,6 +9460,13 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" +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" + serve-index@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" @@ -9016,7 +9490,7 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0: +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -9059,6 +9533,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +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" + shallow-copy@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" @@ -9133,117 +9614,91 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -socket.io-adapter@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" - integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== +socket.io-adapter@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz#4d6111e4d42e9f7646e365b4f578269821f13486" + integrity sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ== -socket.io-client@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" - integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== - dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "~1.3.0" - debug "~3.1.0" - engine.io-client "~3.5.0" - has-binary2 "~1.0.2" - indexof "0.0.1" - parseqs "0.0.6" - parseuri "0.0.6" - socket.io-parser "~3.3.0" - to-array "0.1.4" - -socket.io-parser@~3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" - integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== +socket.io-parser@~4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" + integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== dependencies: + "@types/component-emitter" "^1.2.10" component-emitter "~1.3.0" - debug "~3.1.0" - isarray "2.0.1" - -socket.io-parser@~3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" - integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== - dependencies: - component-emitter "1.2.1" - debug "~4.1.0" - isarray "2.0.1" - -socket.io@^2.3.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.1.tgz#95ad861c9a52369d7f1a68acf0d4a1b16da451d2" - integrity sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w== - dependencies: - debug "~4.1.0" - engine.io "~3.5.0" - has-binary2 "~1.0.2" - socket.io-adapter "~1.1.0" - socket.io-client "2.4.0" - socket.io-parser "~3.4.0" + debug "~4.3.1" -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== +socket.io@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.0.tgz#8140a0db2c22235f88a6dceb867e4d5c9bd70507" + integrity sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ== dependencies: - debug "^3.2.5" + accepts "~1.3.4" + base64id "~2.0.0" + debug "~4.3.2" + engine.io "~6.1.0" + socket.io-adapter "~2.3.3" + socket.io-parser "~4.0.4" + +sockjs-client@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== + dependencies: + debug "^3.2.6" eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.3" -sockjs@0.3.20: - version "0.3.20" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" - integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" + integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== dependencies: - faye-websocket "^0.10.0" + faye-websocket "^0.11.3" uuid "^3.4.0" - websocket-driver "0.6.5" + websocket-driver "^0.7.4" -socks-proxy-agent@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" - integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg== +socks-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" + integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== dependencies: - agent-base "~4.2.1" - socks "~2.3.2" + agent-base "^6.0.2" + debug "4" + socks "^2.3.3" -socks@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" - integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA== +socks@^2.3.3: + version "2.6.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== dependencies: - ip "1.1.5" + ip "^1.1.5" smart-buffer "^4.1.0" -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: +source-list-map@^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-loader@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.0.2.tgz#b0a6582b2eaa387ede1ecf8061ae0b93c23f9eb0" - integrity sha512-oX8d6ndRjN+tVyjj6PlXSyFPhDdVAPsZA30nD3/II8g4uOv8fCz0DMn5sy8KtVbDfKQxOpGwGJnK3xIW3tauDw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + +source-map-loader@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.3.tgz#7dbc2fe7ea09d3e43c51fd9fc478b7f016c1f820" + integrity sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA== dependencies: - data-urls "^2.0.0" + abab "^2.0.5" iconv-lite "^0.6.2" loader-utils "^2.0.0" - schema-utils "^2.7.0" + schema-utils "^3.0.0" source-map "^0.6.1" + whatwg-mimetype "^2.3.0" source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" @@ -9279,7 +9734,7 @@ source-map-support@~0.4.0: dependencies: source-map "^0.5.6" -source-map-support@~0.5.20: +source-map-support@~0.5.19, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -9319,32 +9774,6 @@ sourcemap-codec@^1.4.1, sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== - spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -9368,12 +9797,12 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -speed-measure-webpack-plugin@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz#6ff894fc83e8a6310dde3af863a0329cd79da4f5" - integrity sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ== +speed-measure-webpack-plugin@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz#1608e62d3bdb45f01810010e1b5bfedefedfa58f" + integrity sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw== dependencies: - chalk "^2.0.1" + chalk "^4.1.0" split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -9414,7 +9843,7 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^6.0.0, ssri@^6.0.1: +ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== @@ -9528,10 +9957,23 @@ streamroller@^2.2.4: debug "^4.1.1" fs-extra "^8.1.0" -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" @@ -9602,18 +10044,25 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -style-loader@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" - integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== +style-loader@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" + integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== dependencies: loader-utils "^2.0.0" - schema-utils "^2.6.6" + schema-utils "^3.0.0" stylehacks@^4.0.0: version "4.0.3" @@ -9624,16 +10073,26 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylus-loader@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6" - integrity sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA== +stylehacks@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" + integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== + dependencies: + browserslist "^4.16.0" + postcss-selector-parser "^6.0.4" + +stylus-loader@4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.3.3.tgz#381bb6341272ac50bcdfd0b877707eac99b6b757" + integrity sha512-PpWB5PnCXUzW4WMYhCvNzAHJBjIBPMXwsdfkkKuA9W7k8OQFMl/19/AQvaWsxz2IptxUlCseyJ6TY/eEKJ4+UQ== dependencies: - loader-utils "^1.0.2" - lodash.clonedeep "^4.5.0" - when "~3.6.x" + fast-glob "^3.2.4" + klona "^2.0.4" + loader-utils "^2.0.0" + normalize-path "^3.0.0" + schema-utils "^3.0.0" -stylus@0.54.8, stylus@^0.54.7: +stylus@0.54.8, stylus@^0.54.8: version "0.54.8" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== @@ -9699,28 +10158,40 @@ svgo@^1.0.0: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-observable@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-observable@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" + integrity sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q== + +sync-rpc@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" + integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== + dependencies: + get-port "^3.1.0" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^4.4.10: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== tar@^6.0.2: version "6.0.5" @@ -9734,19 +10205,31 @@ tar@^6.0.2: mkdirp "^1.0.3" yallist "^4.0.0" -terser-webpack-plugin@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz#6e9d6ae4e1a900d88ddce8da6a47507ea61f44bc" - integrity sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA== +tar@^6.1.0: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" + integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== dependencies: cacache "^15.0.5" find-cache-dir "^3.3.1" - jest-worker "^26.3.0" + jest-worker "^26.5.0" p-limit "^3.0.2" - schema-utils "^2.6.6" - serialize-javascript "^4.0.0" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^5.0.0" + terser "^5.3.4" webpack-sources "^1.4.3" terser-webpack-plugin@^1.4.3: @@ -9764,14 +10247,14 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.3.0.tgz#c481f4afecdcc182d5e2bdd2ff2dc61555161e81" - integrity sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg== +terser@5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== dependencies: commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" + source-map "~0.7.2" + source-map-support "~0.5.19" terser@^4.1.2: version "4.8.0" @@ -9782,7 +10265,7 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.0.0: +terser@^5.3.4, terser@^5.5.1: version "5.10.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== @@ -9791,6 +10274,11 @@ terser@^5.0.0: source-map "~0.7.2" source-map-support "~0.5.20" +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= + through2@^2.0.0, through2@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -9799,7 +10287,7 @@ through2@^2.0.0, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@X.X.X, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, through@X.X.X, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -9838,13 +10326,6 @@ tmp@0.0.30: dependencies: os-tmpdir "~1.0.1" -tmp@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -9852,10 +10333,12 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - integrity sha1-F+bBH3PdTz10zaek/zI46a2b+JA= +tmp@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" to-arraybuffer@^1.0.0: version "1.0.1" @@ -9912,13 +10395,6 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - traverse@^0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -9964,10 +10440,10 @@ ts-simple-ast@12.4.0: tslib "^1.9.0" typescript "2.9.1" -tslib@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" - integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== +tslib@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" @@ -9979,6 +10455,11 @@ tslib@^2.0.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== +tslib@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tslint@~6.1.0: version "6.1.3" resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" @@ -10034,11 +10515,6 @@ type-fest@^0.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -10067,10 +10543,10 @@ typescript@2.9.1: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.1.tgz#fdb19d2c67a15d11995fd15640e373e09ab09961" integrity sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA== -typescript@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2" - integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ== +typescript@4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" + integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== typescript@^4.0.3: version "4.0.5" @@ -10082,10 +10558,10 @@ typescript@~4.0.8: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.8.tgz#5739105541db80a971fdbd0d56511d1a6f17d37f" integrity sha512-oz1765PN+imfz1MlZzSZPtC/tqcwsCyIYA8L47EkRnRW97ztRk83SzMiWLrnChC0vqoYxSU1fcFUDA5gV/ZiPg== -ua-parser-js@0.7.21: - version "0.7.21" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" - integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== +ua-parser-js@^0.7.30: + version "0.7.31" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" + integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== uglify-js@^3.1.4: version "3.11.5" @@ -10258,6 +10734,14 @@ url-parse@^1.4.3: querystringify "^2.1.1" requires-port "^1.0.0" +url-parse@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" + integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -10276,13 +10760,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util-promisify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" - integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= - dependencies: - object.getownpropertydescriptors "^2.0.3" - util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" @@ -10312,24 +10789,16 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.0.tgz#ab738085ca22dc9a8c92725e459b1d507df5d6ea" - integrity sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ== +uuid@8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^3.0.0, uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - validate-npm-package-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" @@ -10423,11 +10892,6 @@ webdriver-manager@^12.1.7: semver "^5.3.0" xml2js "^0.4.17" -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - webpack-dev-middleware@3.7.2, webpack-dev-middleware@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" @@ -10439,10 +10903,10 @@ webpack-dev-middleware@3.7.2, webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-server@3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" - integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== +webpack-dev-server@3.11.2: + version "3.11.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" + integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== dependencies: ansi-html "0.0.7" bonjour "^3.5.0" @@ -10464,11 +10928,11 @@ webpack-dev-server@3.11.0: p-retry "^3.0.1" portfinder "^1.0.26" schema-utils "^1.0.0" - selfsigned "^1.10.7" + selfsigned "^1.10.8" semver "^6.3.0" serve-index "^1.9.1" - sockjs "0.3.20" - sockjs-client "1.4.0" + sockjs "^0.3.21" + sockjs-client "^1.5.0" spdy "^4.0.2" strip-ansi "^3.0.1" supports-color "^6.1.0" @@ -10486,14 +10950,23 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== +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: - lodash "^4.17.15" + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@2.2.0: + 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-sources@1.4.3, webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: +webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== @@ -10501,17 +10974,17 @@ webpack-sources@1.4.3, webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-s source-list-map "^2.0.0" source-map "~0.6.1" -webpack-subresource-integrity@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz#e8bf918b444277df46a66cd84542cbcdc5a6272d" - integrity sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw== +webpack-subresource-integrity@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz#e40b6578d3072e2d24104975249c52c66e9a743e" + integrity sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw== dependencies: webpack-sources "^1.3.0" -webpack@4.44.1: - version "4.44.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.1.tgz#17e69fff9f321b8f117d1fda714edfc0b939cc21" - integrity sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ== +webpack@4.44.2: + version "4.44.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -10537,14 +11010,7 @@ webpack@4.44.1: watchpack "^1.7.4" webpack-sources "^1.4.1" -websocket-driver@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= - dependencies: - websocket-extensions ">=0.1.1" - -websocket-driver@>=0.5.1: +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== @@ -10563,32 +11029,37 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^8.0.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -when@~3.6.x: - version "3.6.4" - resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" - integrity sha1-RztRfsFZ4rhQBUl6E5g/CVQS404= - which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.1, which@^1.2.9, which@^1.3.1: +which@^1.2.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.2: + 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" + +wide-align@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + windows-release@^3.1.0: version "3.3.3" resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" @@ -10659,10 +11130,10 @@ ws@^6.2.1: dependencies: async-limiter "~1.0.0" -ws@~7.4.2: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@~8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" + integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== xml2js@^0.4.17: version "0.4.23" @@ -10684,17 +11155,12 @@ xmldoc@^1.1.2: dependencies: sax "^1.2.1" -xmlhttprequest-ssl@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" - integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== - xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -xxhashjs@^0.2.1: +xxhashjs@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/xxhashjs/-/xxhashjs-0.2.2.tgz#8a6251567621a1c46a5ae204da0249c7f8caa9d8" integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw== @@ -10711,7 +11177,7 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== @@ -10721,6 +11187,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -10775,7 +11246,7 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.1.1: +yargs@^16.1.1, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -10788,11 +11259,6 @@ yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" - integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= - yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" @@ -10803,7 +11269,7 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zone.js@~0.10.2: +zone.js@~0.10.2, zone.js@~0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.3.tgz#3e5e4da03c607c9dcd92e37dd35687a14a140c16" integrity sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg== From c27ffde4a232bcf19ce758971742f9289d0e9775 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 09:02:22 +0100 Subject: [PATCH 03/16] feat(material): migrate to v10 --- package.json | 4 ++-- yarn.lock | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 18e80d5e..3207e2a0 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,13 @@ "private": true, "dependencies": { "@angular/animations": "~11.2.14", - "@angular/cdk": "^9.2.4", + "@angular/cdk": "^10.2.7", "@angular/common": "~11.2.14", "@angular/compiler": "~11.2.14", "@angular/core": "~11.2.14", "@angular/flex-layout": "9.0.0-beta.30", "@angular/forms": "~11.2.14", - "@angular/material": "^9.2.4", + "@angular/material": "^10.2.7", "@angular/platform-browser": "~11.2.14", "@angular/platform-browser-dynamic": "~11.2.14", "@angular/router": "~11.2.14", diff --git a/yarn.lock b/yarn.lock index 82f5390c..9eb34faa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -141,10 +141,12 @@ dependencies: tslib "^2.0.0" -"@angular/cdk@^9.2.4": - version "9.2.4" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-9.2.4.tgz#8413958bd275e4c34be3b96f56444671dd30ba93" - integrity sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ== +"@angular/cdk@^10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.7.tgz#0ff82eb91b2653ea26909c57a460d4593b44f186" + integrity sha512-ZQjDfTRTn7JuAKsf3jiIdU2XBaxxGBi/ZWYv5Pb3HCl6B4PISsIE5VWRhkoUogoAB0MiFHpjnWeIqknJEm11YQ== + dependencies: + tslib "^2.0.0" optionalDependencies: parse5 "^5.0.0" @@ -245,10 +247,12 @@ resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-11.2.14.tgz#452369cdffe76ac6d07836596fb47f9e69a6d119" integrity sha512-3+0F0X4r1WeNOV6VmaMzYnJENPVmLX2/MX3/lugwZPNYKVXl/oGyh/4PB8ktntIj0tnxQuErzqRSeucNStNGRw== -"@angular/material@^9.2.4": - version "9.2.4" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-9.2.4.tgz#2666ef606fbb88d60f8e2f18c5e4f94a3dd572d8" - integrity sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA== +"@angular/material@^10.2.7": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.7.tgz#b84aeeca997dc64fbcc7969540e22434315bab68" + integrity sha512-uk6JkRrKHaM9VFMzX7pWC83YNLVgXPB3D8U1yjSOafCdWwrRZgUHGr8MPlSILCr3o2nxgg5SsKdWcWwHuXXUZA== + dependencies: + tslib "^2.0.0" "@angular/platform-browser-dynamic@~11.2.14": version "11.2.14" From 84c46a6d3dfd610155d2fb2591be6c807a7270e9 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 09:04:10 +0100 Subject: [PATCH 04/16] feat(material): migrate to v11 --- package.json | 4 ++-- yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 3207e2a0..0b1c39b0 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,13 @@ "private": true, "dependencies": { "@angular/animations": "~11.2.14", - "@angular/cdk": "^10.2.7", + "@angular/cdk": "^11.2.13", "@angular/common": "~11.2.14", "@angular/compiler": "~11.2.14", "@angular/core": "~11.2.14", "@angular/flex-layout": "9.0.0-beta.30", "@angular/forms": "~11.2.14", - "@angular/material": "^10.2.7", + "@angular/material": "^11.2.13", "@angular/platform-browser": "~11.2.14", "@angular/platform-browser-dynamic": "~11.2.14", "@angular/router": "~11.2.14", diff --git a/yarn.lock b/yarn.lock index 9eb34faa..2236cd59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -141,10 +141,10 @@ dependencies: tslib "^2.0.0" -"@angular/cdk@^10.2.7": - version "10.2.7" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.2.7.tgz#0ff82eb91b2653ea26909c57a460d4593b44f186" - integrity sha512-ZQjDfTRTn7JuAKsf3jiIdU2XBaxxGBi/ZWYv5Pb3HCl6B4PISsIE5VWRhkoUogoAB0MiFHpjnWeIqknJEm11YQ== +"@angular/cdk@^11.2.13": + version "11.2.13" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-11.2.13.tgz#d54c9187e3b8cf3f8ba190b1edddc08ed2b740de" + integrity sha512-FkE4iCwoLbQxLDUOjV1I7M/6hmpyb7erAjEdWgch7nGRNxF1hqX5Bqf1lvLFKPNCbx5NRI5K7YVAdIUQUR8vug== dependencies: tslib "^2.0.0" optionalDependencies: @@ -247,10 +247,10 @@ resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-11.2.14.tgz#452369cdffe76ac6d07836596fb47f9e69a6d119" integrity sha512-3+0F0X4r1WeNOV6VmaMzYnJENPVmLX2/MX3/lugwZPNYKVXl/oGyh/4PB8ktntIj0tnxQuErzqRSeucNStNGRw== -"@angular/material@^10.2.7": - version "10.2.7" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.2.7.tgz#b84aeeca997dc64fbcc7969540e22434315bab68" - integrity sha512-uk6JkRrKHaM9VFMzX7pWC83YNLVgXPB3D8U1yjSOafCdWwrRZgUHGr8MPlSILCr3o2nxgg5SsKdWcWwHuXXUZA== +"@angular/material@^11.2.13": + version "11.2.13" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-11.2.13.tgz#99960316d3ce58aac7497d7bb8b0c05468f502b9" + integrity sha512-FqFdGSkOtqsmeLyTSousodDGUy2NqbtxCIKv2rwbsIRwHNKB0KpR/UQhA2gMRuGa5hxhMJ0DW0Tf9neMRuLCTg== dependencies: tslib "^2.0.0" From 0b4a9278eeed452dc792e742508c5e12a297ce51 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 09:06:19 +0100 Subject: [PATCH 05/16] feat(angular): migrate to v12 --- angular.json | 10 +- package.json | 40 +- src/demo/environments/environment.ts | 2 +- src/demo/polyfills.ts | 2 +- src/demo/styles.scss | 14 +- src/demo/test.ts | 2 +- src/ngx-monaco-editor/src/test.ts | 4 +- src/ngx-monaco-editor/tsconfig.lib.json | 1 - tsconfig.json | 1 - yarn.lock | 4153 ++++++++++------------- 10 files changed, 1784 insertions(+), 2445 deletions(-) diff --git a/angular.json b/angular.json index 02bb9ddc..f272ade7 100644 --- a/angular.json +++ b/angular.json @@ -13,7 +13,6 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "aot": true, "outputPath": "dist/demo", "index": "src/demo/index.html", "main": "src/demo/main.ts", @@ -26,7 +25,13 @@ "styles": [ "src/demo/styles.scss" ], - "scripts": [] + "scripts": [], + "vendorChunk": true, + "extractLicenses": false, + "buildOptimizer": false, + "sourceMap": true, + "optimization": false, + "namedChunks": true }, "configurations": { "production": { @@ -46,7 +51,6 @@ "outputHashing": "all", "sourceMap": false, "namedChunks": false, - "aot": true, "extractLicenses": true, "vendorChunk": false, "buildOptimizer": true diff --git a/package.json b/package.json index 0b1c39b0..b8cffa50 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,11 @@ "scripts": { "ng": "ng", "start": "ng serve", - "build": "ng build --prod", + "build": "ng build --configuration production", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", - "build:monaco": "npm run copy-src:types && ng build --prod ngx-monaco-editor && npm run copy-dist:types && npm run copy:license && npm run copy:readme", + "build:monaco": "npm run copy-src:types && ng build --configuration production ngx-monaco-editor && npm run copy-dist:types && npm run copy:license && npm run copy:readme", "build:doc": "rimraf ./docs/* && npm run build && npm run compodoc && ncp ./documentation ./docs/api-reference && ncp ./dist/demo ./docs && node ./scripts/docs-postbuild.js", "copy:readme": "ncp README.md ./dist/ngx-monaco-editor/README.MD", "copy:license": "ncp LICENSE ./dist/ngx-monaco-editor/LICENSE", @@ -19,27 +19,27 @@ }, "private": true, "dependencies": { - "@angular/animations": "~11.2.14", - "@angular/cdk": "^11.2.13", - "@angular/common": "~11.2.14", - "@angular/compiler": "~11.2.14", - "@angular/core": "~11.2.14", + "@angular/animations": "~12.2.13", + "@angular/cdk": "^12.2.13", + "@angular/common": "~12.2.13", + "@angular/compiler": "~12.2.13", + "@angular/core": "~12.2.13", "@angular/flex-layout": "9.0.0-beta.30", - "@angular/forms": "~11.2.14", - "@angular/material": "^11.2.13", - "@angular/platform-browser": "~11.2.14", - "@angular/platform-browser-dynamic": "~11.2.14", - "@angular/router": "~11.2.14", + "@angular/forms": "~12.2.13", + "@angular/material": "^12.2.13", + "@angular/platform-browser": "~12.2.13", + "@angular/platform-browser-dynamic": "~12.2.13", + "@angular/router": "~12.2.13", "monaco-editor": "^0.24.0", "rxjs": "6.5.3", - "tslib": "^2.0.0", - "zone.js": "~0.10.2" + "tslib": "^2.3.1", + "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1102.15", - "@angular/cli": "^11.2.15", - "@angular/compiler-cli": "^11.2.14", - "@angular/language-service": "~11.2.14", + "@angular-devkit/build-angular": "~12.2.13", + "@angular/cli": "^12.2.13", + "@angular/compiler-cli": "^12.2.13", + "@angular/language-service": "~12.2.13", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", @@ -53,11 +53,11 @@ "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "ncp": "^2.0.0", - "ng-packagr": "^11.2.4", + "ng-packagr": "^12.2.5", "protractor": "~7.0.0", "rimraf": "^3.0.0", "ts-node": "~7.0.0", "tslint": "~6.1.0", - "typescript": "~4.0.8" + "typescript": "~4.3.5" } } \ No newline at end of file diff --git a/src/demo/environments/environment.ts b/src/demo/environments/environment.ts index 012182ef..72cd6397 100644 --- a/src/demo/environments/environment.ts +++ b/src/demo/environments/environment.ts @@ -12,4 +12,4 @@ export const environment = { * import the following file, but please comment it out in production mode * because it will have performance impact when throw error */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/src/demo/polyfills.ts b/src/demo/polyfills.ts index d310405a..4f9d81f5 100644 --- a/src/demo/polyfills.ts +++ b/src/demo/polyfills.ts @@ -71,7 +71,7 @@ import 'core-js/es7/reflect'; /*************************************************************************************************** * Zone JS is required by default for Angular itself. */ -import 'zone.js/dist/zone'; // Included with Angular CLI. +import 'zone.js'; // Included with Angular CLI. diff --git a/src/demo/styles.scss b/src/demo/styles.scss index ea79fbdf..378aeec3 100644 --- a/src/demo/styles.scss +++ b/src/demo/styles.scss @@ -1,29 +1,29 @@ /* You can add global styles to this file, and also import other style files */ +@use '~@angular/material' as mat; @import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; -@import '~@angular/material/theming'; // Plus imports for other components in your app. // Include the common styles for Angular Material. We include this here so that you only // have to load a single css file for Angular Material in your app. // Be sure that you only ever include this mixin once! -@include mat-core(); +@include mat.core(); // Define the palettes for your theme using the Material Design palettes available in palette.scss // (imported above). For each palette, you can optionally specify a default, lighter, and darker // hue. Available color palettes: https://material.io/design/color/ -$candy-app-primary: mat-palette($mat-blue); -$candy-app-accent: mat-palette($mat-pink, A200, A100, A400); +$candy-app-primary: mat.define-palette(mat.$blue-palette); +$candy-app-accent: mat.define-palette(mat.$pink-palette, A200, A100, A400); // The warn palette is optional (defaults to red). -$candy-app-warn: mat-palette($mat-red); +$candy-app-warn: mat.define-palette(mat.$red-palette); // Create the theme object (a Sass map containing all of the palettes). -$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn); +$candy-app-theme: mat.define-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn); // Include theme styles for core and each component used in your app. // Alternatively, you can import and @include the theme mixins for each component // that you are using. -@include angular-material-theme($candy-app-theme); +@include mat.all-component-themes($candy-app-theme); html, body { padding: 0; margin: 0; diff --git a/src/demo/test.ts b/src/demo/test.ts index 16317897..a6f15af3 100644 --- a/src/demo/test.ts +++ b/src/demo/test.ts @@ -1,6 +1,6 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import 'zone.js/dist/zone-testing'; +import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, diff --git a/src/ngx-monaco-editor/src/test.ts b/src/ngx-monaco-editor/src/test.ts index e11ff1c9..b1cc186b 100644 --- a/src/ngx-monaco-editor/src/test.ts +++ b/src/ngx-monaco-editor/src/test.ts @@ -1,8 +1,8 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files import 'core-js/es7/reflect'; -import 'zone.js/dist/zone'; -import 'zone.js/dist/zone-testing'; +import 'zone.js'; +import 'zone.js/testing'; import { getTestBed } from '@angular/core/testing'; import { BrowserDynamicTestingModule, diff --git a/src/ngx-monaco-editor/tsconfig.lib.json b/src/ngx-monaco-editor/tsconfig.lib.json index 6d32bf78..8513071e 100644 --- a/src/ngx-monaco-editor/tsconfig.lib.json +++ b/src/ngx-monaco-editor/tsconfig.lib.json @@ -9,7 +9,6 @@ "declaration": true, "sourceMap": true, "inlineSources": true, - "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, "types": [], diff --git a/tsconfig.json b/tsconfig.json index a422c219..49ab7180 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,6 @@ "sourceMap": true, "declaration": false, "moduleResolution": "node", - "emitDecoratorMetadata": true, "experimentalDecorators": true, "target": "es5", "typeRoots": [ diff --git a/yarn.lock b/yarn.lock index 2236cd59..e8248445 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,273 +7,278 @@ resolved "https://registry.yarnpkg.com/@aduh95/viz.js/-/viz.js-3.2.1.tgz#189d7bc08d83e487487fe6c1810cf50fd8747a94" integrity sha512-5Hmejfgemk1qJw24M5I+NabADKmD5Io7LU2fxHw/E6Bo0ji9EdmHP16KrFnt6Sz0/w7VIzc1ZAasyLULaPLGJQ== -"@angular-devkit/architect@0.1102.15": - version "0.1102.15" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1102.15.tgz#c5af92136f7f1c7b6fcacc3294b8d60250ad25ec" - integrity sha512-d6MKQc54HEsWVsFPipoPD7H3kNpsdpksDJyx4D9YWA2NYLbby9HTgBtp1x53glb0ipKRzzYGIr5BurFIMmxYzA== - dependencies: - "@angular-devkit/core" "11.2.15" - rxjs "6.6.3" - -"@angular-devkit/build-angular@~0.1102.15": - version "0.1102.15" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1102.15.tgz#171b831a1e27eab397e08b34bcd6625dac5da17c" - integrity sha512-qE5BF8tluirGIcPdSJechTCqmfRNKNwez8HgG6iR2hKbMcAVx8IYYdr1XKnQifZhGF8C1FSnJzOoR9IUfm3MmA== - dependencies: - "@angular-devkit/architect" "0.1102.15" - "@angular-devkit/build-optimizer" "0.1102.15" - "@angular-devkit/build-webpack" "0.1102.15" - "@angular-devkit/core" "11.2.15" - "@babel/core" "7.12.10" - "@babel/generator" "7.12.11" - "@babel/plugin-transform-async-to-generator" "7.12.1" - "@babel/plugin-transform-runtime" "7.12.10" - "@babel/preset-env" "7.12.11" - "@babel/runtime" "7.12.5" - "@babel/template" "7.12.7" - "@discoveryjs/json-ext" "0.5.2" +"@ampproject/remapping@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.0.1.tgz#1398e73e567c2a7992df6554c15bb94a89b68ba2" + integrity sha512-Ta9bMA3EtUHDaZJXqUoT5cn/EecwOp+SXpKJqxDbDuMbLvEMu6YTyDDuvTWeStODfdmXyfMo7LymQyPkN3BicA== + dependencies: + "@jridgewell/resolve-uri" "1.0.0" + sourcemap-codec "1.4.8" + +"@angular-devkit/architect@0.1202.13": + version "0.1202.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1202.13.tgz#b9b883d62f628a6b31ce071da91e268f61da00ef" + integrity sha512-LXgiidXwBgyWPqqWK4xR1/kCPQTMTzG5w+s7+LvENUZwbcdl6CKrOMjfgjo6WPr6yeq+WWQvPCD4pZ6nXRTm7A== + dependencies: + "@angular-devkit/core" "12.2.13" + rxjs "6.6.7" + +"@angular-devkit/build-angular@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-12.2.13.tgz#f5564d3ec9db132956473bb904bb3590482f5b36" + integrity sha512-iJ1P/RZ1hk2n/HtEqB5ohXvHa+Hf0BXShYskSGrn6/klcTb0eJTCREsFxHk7mNEmRIGPWkjbLAslqpPgwiagXg== + dependencies: + "@ampproject/remapping" "1.0.1" + "@angular-devkit/architect" "0.1202.13" + "@angular-devkit/build-optimizer" "0.1202.13" + "@angular-devkit/build-webpack" "0.1202.13" + "@angular-devkit/core" "12.2.13" + "@babel/core" "7.14.8" + "@babel/generator" "7.14.8" + "@babel/helper-annotate-as-pure" "7.14.5" + "@babel/plugin-proposal-async-generator-functions" "7.14.7" + "@babel/plugin-transform-async-to-generator" "7.14.5" + "@babel/plugin-transform-runtime" "7.14.5" + "@babel/preset-env" "7.14.8" + "@babel/runtime" "7.14.8" + "@babel/template" "7.14.5" + "@discoveryjs/json-ext" "0.5.3" "@jsdevtools/coverage-istanbul-loader" "3.0.5" - "@ngtools/webpack" "11.2.15" + "@ngtools/webpack" "12.2.13" ansi-colors "4.1.1" - autoprefixer "10.2.4" babel-loader "8.2.2" browserslist "^4.9.1" - cacache "15.0.5" + cacache "15.2.0" caniuse-lite "^1.0.30001032" circular-dependency-plugin "5.2.2" - copy-webpack-plugin "6.3.2" - core-js "3.8.3" + copy-webpack-plugin "9.0.1" + core-js "3.16.0" critters "0.0.12" - css-loader "5.0.1" - cssnano "5.0.2" - file-loader "6.2.0" + css-loader "6.2.0" + css-minimizer-webpack-plugin "3.0.2" + esbuild-wasm "0.13.8" find-cache-dir "3.3.1" - glob "7.1.6" + glob "7.1.7" https-proxy-agent "5.0.0" - inquirer "7.3.3" - jest-worker "26.6.2" + inquirer "8.1.2" karma-source-map-support "1.4.0" less "4.1.1" - less-loader "7.3.0" - license-webpack-plugin "2.3.11" + less-loader "10.0.1" + license-webpack-plugin "2.3.20" loader-utils "2.0.0" - mini-css-extract-plugin "1.3.5" + mini-css-extract-plugin "2.4.2" minimatch "3.0.4" - open "7.4.0" - ora "5.3.0" + open "8.2.1" + ora "5.4.1" parse5-html-rewriting-stream "6.0.1" - pnp-webpack-plugin "1.6.4" - postcss "8.2.15" - postcss-import "14.0.0" - postcss-loader "4.2.0" - raw-loader "4.0.2" - regenerator-runtime "0.13.7" + piscina "3.1.0" + postcss "8.3.6" + postcss-import "14.0.2" + postcss-loader "6.1.1" + postcss-preset-env "6.7.0" + regenerator-runtime "0.13.9" resolve-url-loader "4.0.0" - rimraf "3.0.2" - rollup "2.38.4" - rxjs "6.6.3" - sass "1.32.6" - sass-loader "10.1.1" - semver "7.3.4" - source-map "0.7.3" - source-map-loader "1.1.3" + rxjs "6.6.7" + sass "1.36.0" + sass-loader "12.1.0" + semver "7.3.5" + source-map-loader "3.0.0" source-map-support "0.5.19" - speed-measure-webpack-plugin "1.4.2" - style-loader "2.0.0" + style-loader "3.2.1" stylus "0.54.8" - stylus-loader "4.3.3" - terser "5.5.1" - terser-webpack-plugin "4.2.3" + stylus-loader "6.1.0" + terser "5.7.1" + terser-webpack-plugin "5.1.4" text-table "0.2.0" tree-kill "1.2.2" - webpack "4.44.2" - webpack-dev-middleware "3.7.2" + tslib "2.3.0" + webpack "5.50.0" + webpack-dev-middleware "5.0.0" webpack-dev-server "3.11.2" - webpack-merge "5.7.3" - webpack-sources "2.2.0" + webpack-merge "5.8.0" webpack-subresource-integrity "1.5.2" - worker-plugin "5.0.0" + optionalDependencies: + esbuild "0.13.8" -"@angular-devkit/build-optimizer@0.1102.15": - version "0.1102.15" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1102.15.tgz#f99416ea3468b1747d0521ee6b7115e4880dbba0" - integrity sha512-MFW4H25BE1tW6kC7DhNbAjNUNd/w71vO1g8P8OG1mWUVSKkv2W+WhPjwLqZ3TlHbSXiV9OEiOFR29Gt5+5wE/Q== +"@angular-devkit/build-optimizer@0.1202.13": + version "0.1202.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.13.tgz#7f0b13368cc2a08b1f4789ab1296a1609f5049ea" + integrity sha512-XX6rX5+mAl+MiIJDvi5N5mBLWOoskhMJ5r/G1PEqv0CMMJSSw60zUTndjxfq/nrX0PtsV3j/aqHN4Sj0w/gumg== dependencies: - loader-utils "2.0.0" source-map "0.7.3" - tslib "2.1.0" - typescript "4.1.5" - webpack-sources "2.2.0" + tslib "2.3.0" + typescript "4.3.5" -"@angular-devkit/build-webpack@0.1102.15": - version "0.1102.15" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1102.15.tgz#d911bf7146cb9a84d4b6e122be3efe66fb04aa8f" - integrity sha512-/eNooHvpSCU4o+dKb/hy776J8Yb9mgZHCTu4O4+9JNUtgN2Ic1po091TiZP1AEBZ5aH0FtTLy8B580ddj/lsYw== +"@angular-devkit/build-webpack@0.1202.13": + version "0.1202.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1202.13.tgz#875f9f9677bb10056b52230965dc2f00bd3089dd" + integrity sha512-KafzGyHuU2gBKaSICfMTFP2niTYZ/46DKU94TQ0lCILdJZsj0NE5M/288LSCbYgu2c7srJKz+Rvb+JcYGxIZ1g== dependencies: - "@angular-devkit/architect" "0.1102.15" - "@angular-devkit/core" "11.2.15" - rxjs "6.6.3" + "@angular-devkit/architect" "0.1202.13" + rxjs "6.6.7" -"@angular-devkit/core@11.2.15": - version "11.2.15" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-11.2.15.tgz#3e6d0308e049e47a3b21e42a0f2e8d5c31842665" - integrity sha512-6pGblUHg2Hv730cHhUhauTUNbjuviAgn6n23rfYIlfEPV5uxyZib6AUTS1DTcK7ITA0D1PscSsLicMiGaqQ8OA== +"@angular-devkit/core@12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-12.2.13.tgz#db3929d1bfce71010b37fb7c4e6c33ef80a4f35f" + integrity sha512-9csMF0p+lTvlWnutxxTZ/+pDRMIbXk/TV4MGLbcqUPPfeG3dCRwErns73xLuMTwp9qO/KCLkFqNaM6cGOoqsDA== dependencies: - ajv "6.12.6" + ajv "8.6.2" + ajv-formats "2.1.0" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" - rxjs "6.6.3" + rxjs "6.6.7" source-map "0.7.3" -"@angular-devkit/schematics@11.2.15": - version "11.2.15" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-11.2.15.tgz#a2fb129870c3c8e7b283981743999470bfd4a28e" - integrity sha512-cFxtpdpwr9N2gtfIG9VyIMacDNsSuRyiV4pToNl/pyHy0z4zif4j32HydXandylHlrYKG4rBMq0UTD/WzHaUcw== +"@angular-devkit/schematics@12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-12.2.13.tgz#6464d86fa3ccd0efb5ead46c793cef9ec45c7758" + integrity sha512-LQTv72R5Ma1uowMEeii2wIoDWI4bYQyZvunqPy9jRveBTjli2yVwwcOziGCVyttwlYs46bSdxThgeEvVIako2w== dependencies: - "@angular-devkit/core" "11.2.15" - ora "5.3.0" - rxjs "6.6.3" + "@angular-devkit/core" "12.2.13" + ora "5.4.1" + rxjs "6.6.7" -"@angular/animations@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-11.2.14.tgz#cf119ea779bf11bd3759f1355c85e4e8e9e7bb03" - integrity sha512-Heq/nNrCmb3jbkusu+BQszOecfFI/31Oxxj+CDQkqqYpBcswk6bOJLoEE472o+vmgxaXbgeflU9qbIiCQhpMFA== +"@angular/animations@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-12.2.13.tgz#909b79c56a85bb31c0605ed419850340b5580be9" + integrity sha512-qpdmvu+nxsKnimJ3Hc1joNuzK7xXYyE+VtNMk4K77Ao/9+5C/juGMce85DhqZCcu1xraZ3YYIrzYmL/GgdUK4g== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" -"@angular/cdk@^11.2.13": - version "11.2.13" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-11.2.13.tgz#d54c9187e3b8cf3f8ba190b1edddc08ed2b740de" - integrity sha512-FkE4iCwoLbQxLDUOjV1I7M/6hmpyb7erAjEdWgch7nGRNxF1hqX5Bqf1lvLFKPNCbx5NRI5K7YVAdIUQUR8vug== +"@angular/cdk@^12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.2.13.tgz#1fdbe814adfd6b4ff906c6d9c4c6df07b83f09d8" + integrity sha512-zSKRhECyFqhingIeyRInIyTvYErt4gWo+x5DQr0b7YLUbU8DZSwWnG4w76Ke2s4U8T7ry1jpJBHoX/e8YBpGMg== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" optionalDependencies: parse5 "^5.0.0" -"@angular/cli@^11.2.15": - version "11.2.15" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-11.2.15.tgz#1bff50345bac813a03f4ce373d91e57702919651" - integrity sha512-Hg6L0v5lyDzZBELpXTsphJq6kWdW+yH5oUHiZzMjyZmc7qHB94zXZV9oLpMz4JbBEI4stTF6V31pgClyj4pUyQ== +"@angular/cli@^12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-12.2.13.tgz#ca586c14a6f83bb4390875be0a0fa709b9a2ae29" + integrity sha512-Yz6MuwdxxP6U2i8iRuCSNZeJxlLDPshT/joymCsFdjwSMGEH9Kk9DdvAfFYfzdHGdHbGrDdASJ4G+uALyNSLxw== dependencies: - "@angular-devkit/architect" "0.1102.15" - "@angular-devkit/core" "11.2.15" - "@angular-devkit/schematics" "11.2.15" - "@schematics/angular" "11.2.15" - "@schematics/update" "0.1102.15" + "@angular-devkit/architect" "0.1202.13" + "@angular-devkit/core" "12.2.13" + "@angular-devkit/schematics" "12.2.13" + "@schematics/angular" "12.2.13" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" - debug "4.3.1" + debug "4.3.2" ini "2.0.0" - inquirer "7.3.3" + inquirer "8.1.2" jsonc-parser "3.0.0" - npm-package-arg "8.1.0" - npm-pick-manifest "6.1.0" - open "7.4.0" - ora "5.3.0" - pacote "11.2.4" - resolve "1.19.0" - rimraf "3.0.2" - semver "7.3.4" - symbol-observable "3.0.0" - universal-analytics "0.4.23" + npm-package-arg "8.1.5" + npm-pick-manifest "6.1.1" + open "8.2.1" + ora "5.4.1" + pacote "11.3.5" + resolve "1.20.0" + semver "7.3.5" + symbol-observable "4.0.0" uuid "8.3.2" -"@angular/common@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-11.2.14.tgz#52887277b0ae0438e584f9ae97b417ee51a694b5" - integrity sha512-ZSLV/3j7eCTyLf/8g4yBFLWySjiLz3vLJAGWscYoUpnJWMnug1VRu6zoF/COxCbtORgE+Wz6K0uhfS6MziBGVw== +"@angular/common@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-12.2.13.tgz#fe52ffae8668c1dec41b26cdc3a749101399e1fe" + integrity sha512-I1t/jl9ojCwTJKT7PKHnk23D+vMHTHS/9qZ2nndCjzGusMK8029nn8l3tHAkwefvxZWSaLAk1MgsVcP+rHQNsQ== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" -"@angular/compiler-cli@^11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-11.2.14.tgz#fdd22aeec25aa2477595bed631d19e977254ecc5" - integrity sha512-A7ltnCp03/EVqK/Q3tVUDsokgz5GHW3dSPGl0Csk7Ys5uBB9ibHTmVt4eiXA4jt0+6Bk+mKxwe5BEDqLvwYFAg== +"@angular/compiler-cli@^12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-12.2.13.tgz#3ce463263e80a861e14af2ed3ba81598060e3ce0" + integrity sha512-qmnmihl3SCRooj/mCsNIZLtnQ6qbx1/L6aMIEQosPvQhMeGMt8GCYvQPE8IZ+sahv7fih95HCWNa9TeLpOylug== dependencies: "@babel/core" "^7.8.6" "@babel/types" "^7.8.6" canonical-path "1.0.0" chokidar "^3.0.0" convert-source-map "^1.5.1" - dependency-graph "^0.7.2" - fs-extra "4.0.2" + dependency-graph "^0.11.0" magic-string "^0.25.0" minimist "^1.2.0" reflect-metadata "^0.1.2" - semver "^6.3.0" + semver "^7.0.0" source-map "^0.6.1" sourcemap-codec "^1.4.8" - tslib "^2.0.0" - yargs "^16.2.0" + tslib "^2.2.0" + yargs "^17.0.0" "@angular/compiler@9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/compiler@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-11.2.14.tgz#9d3ea26b4d2d858aab935f69af9e201f53453a0f" - integrity sha512-XBOK3HgA+/y6Cz7kOX4zcJYmgJ264XnfcbXUMU2cD7Ac+mbNhLPKohWrEiSWalfcjnpf5gRfufQrQP7lpAGu0A== +"@angular/compiler@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.2.13.tgz#7eef6fdb81b9de6fd0e2cdda2ad8a084c1d9535b" + integrity sha512-L0saTTJJtxldjhaGIL6b1BCfodPOEz4Wrev3pEUK5UcODooj5HLiE/aO6jiNb8M4XTbdqByKyqvZyWzGHeexVQ== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" "@angular/core@9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-11.2.14.tgz#3ebe298c79d5413dc670d56b7f503bd4d788d4a8" - integrity sha512-vpR4XqBGitk1Faph37CSpemwIYTmJ3pdIVNoHKP6jLonpWu+0azkchf0f7oD8/2ivj2F81opcIw0tcsy/D/5Vg== +"@angular/core@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-12.2.13.tgz#fc40acbdcee5c5878bd249ddc0d643be724076c3" + integrity sha512-tZ5nAnmOi418JDaJIFiiP9z2JrluMJZvUvXO4QDUs52BXaL2yuP7MJ2LczWOVJXrBLZXeZGfjDjZmaFPA24grg== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" "@angular/flex-layout@9.0.0-beta.30": version "9.0.0-beta.30" resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-9.0.0-beta.30.tgz#ca18411a8842dcfe3d175931a6ff765e8c76f950" integrity sha512-aPiw9sfuXpV99oFtbIbTJYC+GtubdggP66qO0JH5MCX+J8btCGAOJMf9RPJWx2yyh/VoSBOt2nWSYqcY5OEv+g== -"@angular/forms@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-11.2.14.tgz#dc858408f7647f4fd033996a03aa74df18a02079" - integrity sha512-4LWqY6KEIk1AZQFnk+4PJSOCamlD4tumuVN06gO4D0dZo9Cx+GcvW6pM6N0CPubRvPs3sScCnu20WT11HNWC1w== +"@angular/forms@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-12.2.13.tgz#4de90e88991c274b5d5e3ab0300267e161ba78f2" + integrity sha512-wa7I5R8sck2q+VWNL262GJTVxtpEHMys8Bt6oE+lyHB5zlZAgOXwAb8GE4XVwuc+BZU1Gvrocn21P/8KvDY1uw== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" -"@angular/language-service@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-11.2.14.tgz#452369cdffe76ac6d07836596fb47f9e69a6d119" - integrity sha512-3+0F0X4r1WeNOV6VmaMzYnJENPVmLX2/MX3/lugwZPNYKVXl/oGyh/4PB8ktntIj0tnxQuErzqRSeucNStNGRw== +"@angular/language-service@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-12.2.13.tgz#326045a328f8a962287037d7a85be8120074421c" + integrity sha512-jb9s3IJuWNKTRcM90NOwvMfiy85nnKfTxxLVn8/QFMO6+Ps/hsVZNp+W/TmAEDvCkon+9q0O4hwa4MY1m/Dlkw== -"@angular/material@^11.2.13": - version "11.2.13" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-11.2.13.tgz#99960316d3ce58aac7497d7bb8b0c05468f502b9" - integrity sha512-FqFdGSkOtqsmeLyTSousodDGUy2NqbtxCIKv2rwbsIRwHNKB0KpR/UQhA2gMRuGa5hxhMJ0DW0Tf9neMRuLCTg== +"@angular/material@^12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-12.2.13.tgz#7f92f95002a2abaa8bb115ca8f0809bdc3f7d3fc" + integrity sha512-6g2GyN4qp2D+DqY2AwrQuPB3cd9gybvQVXvNRbTPXEulHr+LgGei00ySdFHFp6RvdGSMZ4i3LM1Fq3VkFxhCfQ== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" -"@angular/platform-browser-dynamic@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.2.14.tgz#3c7fff1a1daacba5390acf033d28c377ec281166" - integrity sha512-TWTPdFs6iBBcp+/YMsgCRQwdHpWGq8KjeJDJ2tfatGgBD3Gqt2YaHOMST1zPW6RkrmupytTejuVqXzeaKWFxuw== +"@angular/platform-browser-dynamic@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.13.tgz#9ee6309f511da419d5d80a1a8279adc806e92f04" + integrity sha512-a7y7R3vOXhMAk9uQWK5/23DefahuF0UYJSFM/wKeVo5zR+qOCVCTfafkJMcWbuZWTrSDbVafJ1xbcWnu3+TkCg== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" -"@angular/platform-browser@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-11.2.14.tgz#e52ad7a54a42a865033a17e57e213013919f1b1d" - integrity sha512-fb7b7ss/gRoP8wLAN17W62leMgjynuyjEPU2eUoAAazsG9f2cgM+z3rK29GYncDVyYQxZUZYnjSqvL6GSXx86A== +"@angular/platform-browser@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-12.2.13.tgz#769fb148b2128663d6b405d2a41023f2cdaa1c95" + integrity sha512-Ua8m2GtG2msqz/Mr/MK7s8RXud554x8cup2THVAwetyTaY5th/1LOZX0hhDIhfsxBCLHnC53LRhMbSsI0cikOg== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" -"@angular/router@~11.2.14": - version "11.2.14" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-11.2.14.tgz#4a8eb6d010a1a45c8e7f0c3b5b705959bdb69294" - integrity sha512-3aYBmj+zrEL9yf/ntIQxHIYaWShZOBKP3U07X2mX+TPMpGlvHDnR7L6bWhQVZwewzMMz7YVR16ldg50IFuAlfA== +"@angular/router@~12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-12.2.13.tgz#e5b939a9675f9d4834fee3e75eb8d040ef63b3b5" + integrity sha512-HZL/Pzp6I7fQiMLrzfEzhnqhgNcGcFjBgMMOoLp5IA1IV26rp1NU6zYJzPrXtopBx7XLl8BECehAwFqrJsu/PQ== dependencies: - tslib "^2.0.0" + tslib "^2.2.0" + +"@assemblyscript/loader@^0.10.1": + version "0.10.1" + resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" + integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": version "7.10.4" @@ -282,37 +287,37 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.16.0": +"@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.12.7", "@babel/compat-data@^7.16.0": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.16.0": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" - integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.10" +"@babel/core@7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.8.tgz#20cdf7c84b5d86d83fac8710a8bc605a7ba3f010" + integrity sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.8" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.8" + "@babel/helpers" "^7.14.8" + "@babel/parser" "^7.14.8" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" convert-source-map "^1.7.0" debug "^4.1.0" - gensync "^1.0.0-beta.1" + gensync "^1.0.0-beta.2" json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.1" + semver "^6.3.0" source-map "^0.5.0" "@babel/core@^7.7.5": @@ -358,12 +363,12 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" - integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== +"@babel/generator@7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz#bf86fd6af96cf3b74395a8ca409515f89423e070" + integrity sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== dependencies: - "@babel/types" "^7.12.11" + "@babel/types" "^7.14.8" jsesc "^2.5.1" source-map "^0.5.0" @@ -376,7 +381,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.10", "@babel/generator@^7.16.0": +"@babel/generator@^7.14.8", "@babel/generator@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== @@ -385,6 +390,13 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/helper-annotate-as-pure@7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" + integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== + dependencies: + "@babel/types" "^7.14.5" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -407,7 +419,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-compilation-targets@^7.12.5", "@babel/helper-compilation-targets@^7.16.0": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== @@ -446,6 +458,20 @@ "@babel/helper-annotate-as-pure" "^7.16.0" regexpu-core "^4.7.1" +"@babel/helper-define-polyfill-provider@^0.2.2", "@babel/helper-define-polyfill-provider@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" + integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-explode-assignable-expression@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" @@ -513,7 +539,7 @@ dependencies: "@babel/types" "^7.12.5" -"@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.16.0": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== @@ -535,7 +561,7 @@ "@babel/types" "^7.12.1" lodash "^4.17.19" -"@babel/helper-module-transforms@^7.16.0": +"@babel/helper-module-transforms@^7.14.8", "@babel/helper-module-transforms@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== @@ -568,7 +594,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== -"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5": +"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== @@ -580,7 +606,7 @@ dependencies: lodash "^4.17.19" -"@babel/helper-remap-async-to-generator@^7.12.1", "@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": +"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== @@ -654,7 +680,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== -"@babel/helper-validator-option@^7.12.11", "@babel/helper-validator-option@^7.14.5": +"@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== @@ -678,7 +704,7 @@ "@babel/traverse" "^7.12.5" "@babel/types" "^7.12.5" -"@babel/helpers@^7.12.5", "@babel/helpers@^7.16.0": +"@babel/helpers@^7.14.8", "@babel/helpers@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== @@ -710,12 +736,30 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== -"@babel/parser@^7.12.10", "@babel/parser@^7.12.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": +"@babel/parser@^7.14.5", "@babel/parser@^7.14.8", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/plugin-proposal-async-generator-functions@^7.12.1": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" + integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + +"@babel/plugin-proposal-async-generator-functions@7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz#784a48c3d8ed073f65adcf30b57bcbf6c8119ace" + integrity sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-async-generator-functions@^7.14.7": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== @@ -724,7 +768,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.4" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.12.1": +"@babel/plugin-proposal-class-properties@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== @@ -732,7 +776,16 @@ "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.12.1": +"@babel/plugin-proposal-class-static-block@^7.14.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" + integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== @@ -740,7 +793,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.12.1": +"@babel/plugin-proposal-export-namespace-from@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== @@ -748,7 +801,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.12.1": +"@babel/plugin-proposal-json-strings@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== @@ -756,7 +809,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": +"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== @@ -764,7 +817,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== @@ -772,7 +825,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.12.7": +"@babel/plugin-proposal-numeric-separator@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== @@ -780,7 +833,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.12.1": +"@babel/plugin-proposal-object-rest-spread@^7.14.7": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== @@ -791,7 +844,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.0" -"@babel/plugin-proposal-optional-catch-binding@^7.12.1": +"@babel/plugin-proposal-optional-catch-binding@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== @@ -799,7 +852,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.12.7": +"@babel/plugin-proposal-optional-chaining@^7.14.5", "@babel/plugin-proposal-optional-chaining@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== @@ -808,7 +861,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.12.1": +"@babel/plugin-proposal-private-methods@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== @@ -816,7 +869,17 @@ "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.12.1": +"@babel/plugin-proposal-private-property-in-object@^7.14.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" + integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== @@ -832,21 +895,28 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": +"@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.1": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== @@ -860,7 +930,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": +"@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== @@ -874,7 +944,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -888,51 +958,58 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": +"@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.12.1": +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.12.1": +"@babel/plugin-transform-arrow-functions@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" - integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== +"@babel/plugin-transform-async-to-generator@7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.12.1": +"@babel/plugin-transform-async-to-generator@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== @@ -941,21 +1018,21 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.16.0" -"@babel/plugin-transform-block-scoped-functions@^7.12.1": +"@babel/plugin-transform-block-scoped-functions@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.12.11": +"@babel/plugin-transform-block-scoping@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.12.1": +"@babel/plugin-transform-classes@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== @@ -968,21 +1045,21 @@ "@babel/helper-split-export-declaration" "^7.16.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.12.1": +"@babel/plugin-transform-computed-properties@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.12.1": +"@babel/plugin-transform-destructuring@^7.14.7": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.12.1": +"@babel/plugin-transform-dotall-regex@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== @@ -998,14 +1075,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-duplicate-keys@^7.12.1": +"@babel/plugin-transform-duplicate-keys@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.12.1": +"@babel/plugin-transform-exponentiation-operator@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== @@ -1013,14 +1090,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-for-of@^7.12.1": +"@babel/plugin-transform-for-of@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.12.1": +"@babel/plugin-transform-function-name@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== @@ -1028,21 +1105,21 @@ "@babel/helper-function-name" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.12.1": +"@babel/plugin-transform-literals@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.12.1": +"@babel/plugin-transform-member-expression-literals@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.12.1": +"@babel/plugin-transform-modules-amd@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== @@ -1051,7 +1128,7 @@ "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.12.1": +"@babel/plugin-transform-modules-commonjs@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== @@ -1061,7 +1138,7 @@ "@babel/helper-simple-access" "^7.16.0" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.12.1": +"@babel/plugin-transform-modules-systemjs@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== @@ -1072,7 +1149,7 @@ "@babel/helper-validator-identifier" "^7.15.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.12.1": +"@babel/plugin-transform-modules-umd@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== @@ -1080,21 +1157,21 @@ "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": +"@babel/plugin-transform-named-capturing-groups-regex@^7.14.7": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.0" -"@babel/plugin-transform-new-target@^7.12.1": +"@babel/plugin-transform-new-target@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.12.1": +"@babel/plugin-transform-object-super@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== @@ -1102,51 +1179,54 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.0": +"@babel/plugin-transform-parameters@^7.14.5", "@babel/plugin-transform-parameters@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.12.1": +"@babel/plugin-transform-property-literals@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-regenerator@^7.12.1": +"@babel/plugin-transform-regenerator@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.12.1": +"@babel/plugin-transform-reserved-words@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-runtime@7.12.10": - version "7.12.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz#af0fded4e846c4b37078e8e5d06deac6cd848562" - integrity sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA== +"@babel/plugin-transform-runtime@7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz#30491dad49c6059f8f8fa5ee8896a0089e987523" + integrity sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg== dependencies: - "@babel/helper-module-imports" "^7.12.5" - "@babel/helper-plugin-utils" "^7.10.4" - semver "^5.5.1" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.12.1": +"@babel/plugin-transform-shorthand-properties@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.12.1": +"@babel/plugin-transform-spread@^7.14.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== @@ -1154,35 +1234,35 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.12.7": +"@babel/plugin-transform-sticky-regex@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.12.1": +"@babel/plugin-transform-template-literals@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.12.10": +"@babel/plugin-transform-typeof-symbol@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-escapes@^7.12.1": +"@babel/plugin-transform-unicode-escapes@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.12.1": +"@babel/plugin-transform-unicode-regex@^7.14.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== @@ -1190,82 +1270,89 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/preset-env@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9" - integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== +"@babel/preset-env@7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.8.tgz#254942f5ca80ccabcfbb2a9f524c74bca574005b" + integrity sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg== dependencies: - "@babel/compat-data" "^7.12.7" - "@babel/helper-compilation-targets" "^7.12.5" - "@babel/helper-module-imports" "^7.12.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.11" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.7" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.7" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/compat-data" "^7.14.7" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-async-generator-functions" "^7.14.7" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.14.5" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-json-strings" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-object-rest-spread" "^7.14.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.11" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.7" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.10" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.11" - core-js-compat "^3.8.0" - semver "^5.5.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.14.5" + "@babel/plugin-transform-async-to-generator" "^7.14.5" + "@babel/plugin-transform-block-scoped-functions" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.14.5" + "@babel/plugin-transform-classes" "^7.14.5" + "@babel/plugin-transform-computed-properties" "^7.14.5" + "@babel/plugin-transform-destructuring" "^7.14.7" + "@babel/plugin-transform-dotall-regex" "^7.14.5" + "@babel/plugin-transform-duplicate-keys" "^7.14.5" + "@babel/plugin-transform-exponentiation-operator" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.14.5" + "@babel/plugin-transform-function-name" "^7.14.5" + "@babel/plugin-transform-literals" "^7.14.5" + "@babel/plugin-transform-member-expression-literals" "^7.14.5" + "@babel/plugin-transform-modules-amd" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.14.5" + "@babel/plugin-transform-modules-systemjs" "^7.14.5" + "@babel/plugin-transform-modules-umd" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.7" + "@babel/plugin-transform-new-target" "^7.14.5" + "@babel/plugin-transform-object-super" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-property-literals" "^7.14.5" + "@babel/plugin-transform-regenerator" "^7.14.5" + "@babel/plugin-transform-reserved-words" "^7.14.5" + "@babel/plugin-transform-shorthand-properties" "^7.14.5" + "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-sticky-regex" "^7.14.5" + "@babel/plugin-transform-template-literals" "^7.14.5" + "@babel/plugin-transform-typeof-symbol" "^7.14.5" + "@babel/plugin-transform-unicode-escapes" "^7.14.5" + "@babel/plugin-transform-unicode-regex" "^7.14.5" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.14.8" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.15.0" + semver "^6.3.0" -"@babel/preset-modules@^0.1.3": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== +"@babel/preset-modules@^0.1.4": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" @@ -1273,21 +1360,28 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": +"@babel/runtime@7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz#7119a56f421018852694290b9f9148097391b446" + integrity sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.12.7": - version "7.12.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc" - integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== +"@babel/template@7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.12.7" - "@babel/types" "^7.12.7" + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" "@babel/template@^7.10.4": version "7.10.4" @@ -1298,7 +1392,7 @@ "@babel/parser" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/template@^7.12.7", "@babel/template@^7.16.0": +"@babel/template@^7.14.5", "@babel/template@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== @@ -1322,7 +1416,7 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/traverse@^7.12.10", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.14.8", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== @@ -1346,7 +1440,7 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.16.0", "@babel/types@^7.8.6": +"@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.16.0", "@babel/types@^7.8.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== @@ -1410,10 +1504,15 @@ dot "^1.1.3" fs-extra "^9.0.1" -"@discoveryjs/json-ext@0.5.2": - 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== +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== + +"@discoveryjs/json-ext@0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" + integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== "@dsherret/to-absolute-glob@^2.0.2": version "2.0.2" @@ -1433,6 +1532,11 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== +"@jridgewell/resolve-uri@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83" + integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA== + "@jsdevtools/coverage-istanbul-loader@3.0.5": version "3.0.5" resolved "https://registry.yarnpkg.com/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz#2a4bc65d0271df8d4435982db4af35d81754ee26" @@ -1452,14 +1556,10 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@ngtools/webpack@11.2.15": - version "11.2.15" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-11.2.15.tgz#217973459112178940aa689a25ab9e3a4cb35a6f" - integrity sha512-uy+ekGlgReO/4N5Ifmd4Dh1s0BTvbvMnjTrSUzmPnaeCjg4zjosA3gcdv+33duQ1Y2ythDSnf2MPYRN9q3tzgQ== - dependencies: - "@angular-devkit/core" "11.2.15" - enhanced-resolve "5.7.0" - webpack-sources "2.2.0" +"@ngtools/webpack@12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-12.2.13.tgz#44d711edfa39d175a2d655aa5c6f9968dfedcc35" + integrity sha512-krAwMyRqOaC1S0+IxAFid9F6A6ABip2DJ0tgCx26X+1Vw/d1GKtV9ZqDJFizMf5k1ywl9aBlhOazWpq5d6i+gw== "@nodelib/fs.scandir@2.1.3": version "2.1.3" @@ -1487,11 +1587,6 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@npmcli/ci-detect@^1.0.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.4.0.tgz#18478bbaa900c37bfbd8a2006a6262c62e8b0fe1" - integrity sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q== - "@npmcli/fs@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" @@ -1500,7 +1595,7 @@ "@gar/promisify" "^1.0.1" semver "^7.3.5" -"@npmcli/git@^2.0.1": +"@npmcli/git@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-2.1.0.tgz#2fbd77e147530247d37f325930d457b3ebe894f6" integrity sha512-/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw== @@ -1514,7 +1609,7 @@ semver "^7.3.5" which "^2.0.2" -"@npmcli/installed-package-contents@^1.0.5": +"@npmcli/installed-package-contents@^1.0.6": version "1.0.7" resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== @@ -1541,7 +1636,7 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^1.3.0": +"@npmcli/run-script@^1.8.2": version "1.8.6" resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7" integrity sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g== @@ -1551,10 +1646,10 @@ node-gyp "^7.1.0" read-package-json-fast "^2.0.1" -"@rollup/plugin-commonjs@^17.0.0": - version "17.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz#757ec88737dffa8aa913eb392fade2e45aef2a2d" - integrity sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew== +"@rollup/plugin-commonjs@^20.0.0": + version "20.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745" + integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg== dependencies: "@rollup/pluginutils" "^3.1.0" commondir "^1.0.1" @@ -1571,10 +1666,10 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^11.1.0": - version "11.2.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" - integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== +"@rollup/plugin-node-resolve@^13.0.0": + version "13.0.6" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.6.tgz#29629070bb767567be8157f575cfa8f2b8e9ef77" + integrity sha512-sFsPDMPd4gMqnh2gS0uIxELnoRUp5kBl5knxD2EO0778G1oOJv4G1vyT2cpWz75OU2jDVcXhjVUuTAczGyFNKA== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -1592,29 +1687,15 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@11.2.15": - version "11.2.15" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-11.2.15.tgz#9e9770746d46d85b6c28106aec23b9cf8981cb52" - integrity sha512-btVLsvIfjMdvBRuww0GkR2Bg1APmw+Kq9+2EqKhD8K7f56s3NEmVpECgSIi4UM0Eybx+2MtKYWeud0p0CdUQ7w== +"@schematics/angular@12.2.13": + version "12.2.13" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-12.2.13.tgz#5bf3e7b699a42d7fd7f7aa12bbe4534e671e7201" + integrity sha512-TrigQ9TCmAedf1J5PSSSfTC+sScYrITeAUN8a9rlkjZNvff8hHVyQaiZmhqL+egKQL828mhkqpnFUDd4QsPBIw== dependencies: - "@angular-devkit/core" "11.2.15" - "@angular-devkit/schematics" "11.2.15" + "@angular-devkit/core" "12.2.13" + "@angular-devkit/schematics" "12.2.13" jsonc-parser "3.0.0" -"@schematics/update@0.1102.15": - version "0.1102.15" - resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.1102.15.tgz#fa6674552858d9a1c12e2c43443fc9f3d92a4f70" - integrity sha512-pC+nqfwfyDqAQYtnNKG15j6eV6XfmCML2DAIHUtTarbHtQjhBkxtdKxXnPqZW9Usa1xFaryET/7yp21uhZ2Nrw== - dependencies: - "@angular-devkit/core" "11.2.15" - "@angular-devkit/schematics" "11.2.15" - "@yarnpkg/lockfile" "1.1.0" - ini "2.0.0" - npm-package-arg "^8.0.0" - pacote "11.2.4" - semver "7.3.4" - semver-intersect "1.4.0" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -1640,6 +1721,22 @@ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== +"@types/eslint-scope@^3.7.0": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" + integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.0.tgz#afd0519223c29c347087542cbaee2fedc0873b16" + integrity sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + "@types/estree@*": version "0.0.45" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" @@ -1650,6 +1747,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@^0.0.50": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -1675,16 +1777,16 @@ dependencies: "@types/jasmine" "*" +"@types/json-schema@*", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/json-schema@^7.0.5": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/json-schema@^7.0.8": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -1715,11 +1817,6 @@ resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" integrity sha1-vShOV8hPEyXacCur/IKlMoGQwMU= -"@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -1746,149 +1843,125 @@ "@types/source-list-map" "*" source-map "^0.6.1" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== dependencies: - "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" + "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -1924,6 +1997,11 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + acorn-node@^1.3.0: version "1.8.2" resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" @@ -1938,16 +2016,16 @@ acorn-walk@^7.0.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - acorn@^7.0.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn@^8.4.1: + version "8.6.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" + integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== + adjust-sourcemap-loader@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" @@ -1997,12 +2075,29 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-formats@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.0.tgz#96eaf83e38d32108b66d82a9cb0cfa24886cdfeb" + integrity sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.1.0, 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@6.12.6, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@8.6.2: + version "8.6.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" + integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^6.1.0, ajv@^6.12.3, ajv@^6.12.4, 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== @@ -2012,17 +2107,17 @@ ajv@6.12.6, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^7.0.3: - version "7.2.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.2.4.tgz#8e239d4d56cf884bccca8cca362f508446dc160f" - integrity sha512-nBeQgg/ZZA3u3SYxyaDvpvDtgZ/EZPF547ARgZBrG9Bhu1vKDwAIjtIf+sDtJUKa2zOcEbmRLBRSyMraS/Oy1A== +ajv@^8.0.0: + version "8.8.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.1.tgz#e73dd88eeb4b10bbcd82bee136e6fbe801664d18" + integrity sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" uri-js "^4.2.2" -alphanum-sort@^1.0.0, alphanum-sort@^1.0.2: +alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= @@ -2146,7 +2241,7 @@ app-root-path@^3.0.0: resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== -aproba@^1.0.3, aproba@^1.1.1: +aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== @@ -2236,16 +2331,6 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -2258,14 +2343,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -2322,28 +2399,17 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@10.2.4: - version "10.2.4" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.4.tgz#c0e7cf24fcc6a1ae5d6250c623f0cb8beef2f7e1" - integrity sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw== - dependencies: - browserslist "^4.16.1" - caniuse-lite "^1.0.30001181" - colorette "^1.2.1" - fraction.js "^4.0.13" - normalize-range "^0.1.2" - postcss-value-parser "^4.1.0" - -autoprefixer@^10.2.4: - version "10.4.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8" - integrity sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA== +autoprefixer@^9.6.1: + version "9.8.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== dependencies: - browserslist "^4.17.5" - caniuse-lite "^1.0.30001272" - fraction.js "^4.1.1" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" normalize-range "^0.1.2" - picocolors "^1.0.0" + num2fraction "^1.2.2" + picocolors "^0.2.1" + postcss "^7.0.32" postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: @@ -2380,6 +2446,30 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" + integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.4" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" + integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.16.2" + +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" + integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.4" + babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -2403,12 +2493,12 @@ base64-js@0.0.8: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" integrity sha1-EQHpVE9KdrG8OybUUsqW16NeeXg= -base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.3.0: +base64-js@^1.1.2, base64-js@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.0.tgz#2d03045876d9e2b68a7a0f87d6bd163595e3b6af" integrity sha512-Jrdy04F2EKcNggUDfubMUPNAZg2vMquLQSm8sKLYJvz40ClFL1S8GKyDshGkNsbNNE5Z+fQavzU7nSK1I9JUGA== -base64-js@^1.3.1: +base64-js@^1.2.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -2477,7 +2567,7 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^4.0.3, bl@^4.1.0: +bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -2493,21 +2583,6 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== - -bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== - body-parser@1.19.0, body-parser@^1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" @@ -2582,11 +2657,6 @@ brfs@^2.0.0, brfs@^2.0.2: static-module "^3.0.2" through2 "^2.0.0" -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - brotli@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/brotli/-/brotli-1.3.2.tgz#525a9cad4fcba96475d7d388f6aecb13eed52f46" @@ -2601,37 +2671,6 @@ browser-resolve@^1.8.1: dependencies: resolve "1.1.7" -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - browserify-optional@^1.0.0, browserify-optional@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/browserify-optional/-/browserify-optional-1.0.1.tgz#1e13722cfde0d85f121676c2a72ced533a018869" @@ -2641,36 +2680,6 @@ browserify-optional@^1.0.0, browserify-optional@^1.0.1: ast-types "^0.7.0" browser-resolve "^1.8.1" -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - browserslist@^4.0.0, browserslist@^4.9.1: version "4.14.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" @@ -2682,7 +2691,7 @@ browserslist@^4.0.0, browserslist@^4.9.1: escalade "^3.1.1" node-releases "^1.1.66" -browserslist@^4.16.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.17.6: +browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.4: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -2715,20 +2724,6 @@ buffer-indexof@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -2747,11 +2742,6 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -2767,10 +2757,10 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@15.0.5: - version "15.0.5" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" - integrity sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== +cacache@15.2.0: + version "15.2.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" + integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== dependencies: "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" @@ -2786,32 +2776,11 @@ cacache@15.0.5: p-map "^4.0.0" promise-inflight "^1.0.1" rimraf "^3.0.2" - ssri "^8.0.0" + ssri "^8.0.1" tar "^6.0.2" unique-filename "^1.1.1" -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^15.0.5: +cacache@^15.0.5, cacache@^15.0.6, cacache@^15.2.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -2897,11 +2866,6 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== - caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -2917,7 +2881,7 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001157: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== -caniuse-lite@^1.0.30001181, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001280: +caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280: version "1.0.30001282" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== @@ -2943,7 +2907,7 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2952,7 +2916,7 @@ chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.1.0: +chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2977,21 +2941,6 @@ cheerio@^1.0.0-rc.3: lodash "^4.15.0" parse5 "^3.0.1" -"chokidar@>=2.0.0 <4.0.0", chokidar@^3.0.0, chokidar@^3.1.1, chokidar@^3.4.1: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - "chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" @@ -3026,13 +2975,23 @@ chokidar@^2.0.4, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" +chokidar@^3.0.0, chokidar@^3.1.1: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^2.0.0: + version "2.0.0" resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== @@ -3043,14 +3002,6 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - circular-dependency-plugin@5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz#39e836079db1d3cf2f988dc48c5188a44058b600" @@ -3129,15 +3080,6 @@ clone@^1.0.2, clone@^1.0.4: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - code-block-writer@^7.2.0: version "7.3.1" resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-7.3.1.tgz#b3b921b885fe7fb869866c0648491eae6c08cfa9" @@ -3176,7 +3118,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0, color-convert@^1.9.1: +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== @@ -3195,32 +3137,16 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" - integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -color@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - colord@^2.9.1: version "2.9.1" resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" @@ -3258,11 +3184,16 @@ commander@^3.0.2: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^7.0.0, commander@^7.2.0: +commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -3298,7 +3229,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@~1.6.0: +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== @@ -3323,21 +3254,11 @@ connect@^3.6.6, connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -3379,41 +3300,25 @@ copy-anything@^2.0.1: dependencies: is-what "^3.12.0" -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@6.3.2: - version "6.3.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.3.2.tgz#0e920a6c181a5052aa6e2861b164bda03f83afeb" - integrity sha512-MgJ1uouLIbDg4ST1GzqrGQyKoXY5iPqi6fghFqarijam7FQcBa/r6Rg0VkoIuzx75Xq8iAMghyOueMkWUQ5OaA== +copy-webpack-plugin@9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz#b71d21991599f61a4ee00ba79087b8ba279bbb59" + integrity sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw== dependencies: - cacache "^15.0.5" - fast-glob "^3.2.4" - find-cache-dir "^3.3.1" - glob-parent "^5.1.1" - globby "^11.0.1" - loader-utils "^2.0.0" + fast-glob "^3.2.5" + glob-parent "^6.0.0" + globby "^11.0.3" normalize-path "^3.0.0" - p-limit "^3.0.2" + p-limit "^3.1.0" schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - webpack-sources "^1.4.3" + serialize-javascript "^6.0.0" -core-js-compat@^3.8.0: +core-js-compat@^3.15.0, core-js-compat@^3.16.2: version "3.19.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== @@ -3421,10 +3326,10 @@ core-js-compat@^3.8.0: browserslist "^4.17.6" semver "7.0.0" -core-js@3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" - integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== +core-js@3.16.0: + version "3.16.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.0.tgz#1d46fb33720bc1fa7f90d20431f36a5540858986" + integrity sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g== core-js@^2.4.0: version "2.6.11" @@ -3444,7 +3349,7 @@ cors@latest, cors@~2.8.5: object-assign "^4" vary "^1" -cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: +cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -3465,37 +3370,6 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - critters@0.0.12: version "0.0.12" resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.12.tgz#32baa87526e053a41b67e19921673ed92264e2ab" @@ -3519,40 +3393,17 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - crypto-js@^3.1.9-1: version "3.3.0" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== dependencies: - postcss "^7.0.1" - timsort "^0.3.0" + postcss "^7.0.5" css-declaration-sorter@^6.0.3: version "6.1.3" @@ -3561,23 +3412,40 @@ css-declaration-sorter@^6.0.3: dependencies: timsort "^0.3.0" -css-loader@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz#9e4de0d6636a6266a585bd0900b422c85539d25f" - integrity sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw== +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== dependencies: - camelcase "^6.2.0" - cssesc "^3.0.0" - icss-utils "^5.0.0" - loader-utils "^2.0.0" - postcss "^8.1.4" + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.2.0.tgz#9663d9443841de957a3cb9bcea2eda65b3377071" + integrity sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.2.15" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" + semver "^7.3.5" + +css-minimizer-webpack-plugin@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz#8fadbdf10128cb40227bff275a4bb47412534245" + integrity sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + p-limit "^3.0.2" + postcss "^8.3.5" schema-utils "^3.0.0" - semver "^7.3.2" + serialize-javascript "^6.0.0" + source-map "^0.6.1" css-parse@~2.0.0: version "2.0.0" @@ -3586,20 +3454,12 @@ css-parse@~2.0.0: dependencies: css "^2.0.0" -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" + postcss "^7.0.5" css-select@^4.1.3: version "4.1.3" @@ -3630,22 +3490,6 @@ css-selector-tokenizer@^0.7.1: cssesc "^3.0.0" fastparse "^1.1.2" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0.tgz#21993fa270d742642a90409a2c0cb3ac0298adf6" - integrity sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== - dependencies: - mdn-data "2.0.12" - source-map "^0.6.1" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -3659,11 +3503,6 @@ css-what@2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - css-what@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" @@ -3686,48 +3525,22 @@ cssauron@^1.4.0: dependencies: through X.X.X +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" - integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.3" - postcss-unique-selectors "^4.0.1" - -cssnano-preset-default@^5.0.1: +cssnano-preset-default@^5.1.7: version "5.1.7" resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.7.tgz#68c3ad1ec6a810482ec7d06b2d70fc34b6b0d70c" integrity sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA== @@ -3762,58 +3575,20 @@ cssnano-preset-default@^5.0.1: postcss-svgo "^5.0.3" postcss-unique-selectors "^5.0.2" -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - cssnano-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== -cssnano@5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.2.tgz#3f6de4fd5ecb7b5fb636c1a606de5f38cd241493" - integrity sha512-8JK3EnPsjQsULme9/e5M2hF564f/480hwsdcHvQ7ZtAIMfQ1O3SCfs+b8Mjf5KJxhYApyRshR2QSovEJi2K72Q== +cssnano@^5.0.6: + version "5.0.11" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.11.tgz#743397a05e04cb87e9df44b7659850adfafc3646" + integrity sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg== dependencies: - cosmiconfig "^7.0.0" - cssnano-preset-default "^5.0.1" + cssnano-preset-default "^5.1.7" is-resolvable "^1.1.0" - -cssnano@^4.1.10: - version "4.1.11" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" - integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.8" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b" - integrity sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg== - dependencies: - css-tree "^1.0.0" + lilconfig "^2.0.3" + yaml "^1.10.2" csso@^4.2.0: version "4.2.0" @@ -3832,11 +3607,6 @@ custom-event@~1.0.0: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -3879,20 +3649,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@4, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.2, debug@^4.3.1, debug@~4.3.1, debug@~4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== dependencies: ms "2.1.2" -debug@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - debug@^3.1.0, debug@^3.1.1: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -3975,6 +3738,11 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -4050,18 +3818,10 @@ depd@~2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -dependency-graph@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.7.2.tgz#91db9de6eb72699209d88aea4c1fd5221cac1c49" - integrity sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ== - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" +dependency-graph@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" + integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== destroy@~1.0.4: version "1.0.4" @@ -4093,15 +3853,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" @@ -4172,11 +3923,6 @@ dom-serializer@~0.1.1: domelementtype "^1.3.0" entities "^1.1.1" -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -4214,7 +3960,7 @@ domutils@1.5.1: dom-serializer "0" domelementtype "1" -domutils@^1.5.1, domutils@^1.7.0: +domutils@^1.5.1: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -4231,13 +3977,6 @@ domutils@^2.6.0: domelementtype "^2.2.0" domhandler "^4.2.0" -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - dot@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/dot/-/dot-1.1.3.tgz#351360e00a748bce9a1f8f27c00c394a7e4e1e9f" @@ -4255,16 +3994,6 @@ duplexer@~0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -4288,19 +4017,6 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz#52a353994faeb0f2a9fab3606b4e0614d1af7b58" integrity sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw== -elliptic@^6.5.3: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -4328,7 +4044,7 @@ encoding@^0.1.12: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +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== @@ -4358,23 +4074,14 @@ engine.io@~6.1.0: engine.io-parser "~5.0.0" ws "~8.2.3" -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== +enhanced-resolve@^5.8.0: + version "5.8.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" + integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -enhanced-resolve@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - ent@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" @@ -4395,17 +4102,12 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= - err-code@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== -errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: +errno@^0.1.1, errno@^0.1.3: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== @@ -4419,7 +4121,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.2: +es-abstract@^1.17.0-next.1: version "1.17.7" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== @@ -4454,6 +4156,11 @@ es-abstract@^1.18.0-next.1: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" +es-module-lexer@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" + integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -4532,6 +4239,129 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" +esbuild-android-arm64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz#c20e875c3c98164b1ffba9b28637bdf96f5e9e7c" + integrity sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA== + +esbuild-darwin-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz#f46e6b471ddbf62265234808a6a1aa91df18a417" + integrity sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng== + +esbuild-darwin-arm64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz#a991157a6013facd4f2e14159b7da52626c90154" + integrity sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ== + +esbuild-freebsd-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz#301601d2e443ad458960e359b402a17d9500be9d" + integrity sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw== + +esbuild-freebsd-arm64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz#039a63acc12ec0892006c147ea221e55f9125a9f" + integrity sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng== + +esbuild-linux-32@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz#c537b67d7e694b60bfa2786581412838c6ba0284" + integrity sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw== + +esbuild-linux-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz#0092fc8a064001a777bfa0e3b425bb8be8f96e6a" + integrity sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w== + +esbuild-linux-arm64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz#5cd3f2bb924212971482e8dbc25c4afd09b28110" + integrity sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ== + +esbuild-linux-arm@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz#ad634f96bf2975536907aeb9fdb75a3194f4ddce" + integrity sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg== + +esbuild-linux-mips64le@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz#57857edfebf9bf65766dc8be1637f2179c990572" + integrity sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA== + +esbuild-linux-ppc64le@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz#fdb82a059a5b86bb10fb42091b4ebcf488b9cd46" + integrity sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig== + +esbuild-netbsd-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz#d7879e7123d3b2c04754ece8bd061aa6866deeff" + integrity sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q== + +esbuild-openbsd-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz#88b280b6cb0a3f6adb60abf27fc506c506a35cf0" + integrity sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw== + +esbuild-sunos-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz#229ae7c7703196a58acd0f0291ad9bebda815d63" + integrity sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw== + +esbuild-wasm@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz#f34134c187ffcfc22d476e925917f70bab40f8b0" + integrity sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA== + +esbuild-wasm@^0.12.15: + version "0.12.29" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.12.29.tgz#1d210bb7d463b2ca51c54d69bb4192d9709f6100" + integrity sha512-amSuB/qOGnTFYLOxGHDGosQbOKZnrinniPHFf6ZxzeNH7WAjLkjXluKyKAtX2YuhTkUXm9XV9igl13iqYZ44fQ== + +esbuild-windows-32@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz#892d093e32a21c0c9135e5a0ffdc380aeb70e763" + integrity sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A== + +esbuild-windows-64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz#7defd8d79ae3bb7e6f53b65a7190be7daf901686" + integrity sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg== + +esbuild-windows-arm64@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz#e59ae004496fd8a5ab67bfc7945a2e47480d6fb9" + integrity sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg== + +esbuild@0.13.8: + version "0.13.8" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.8.tgz#bd7cc51b881ab067789f88e17baca74724c1ec4f" + integrity sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw== + optionalDependencies: + esbuild-android-arm64 "0.13.8" + esbuild-darwin-64 "0.13.8" + esbuild-darwin-arm64 "0.13.8" + esbuild-freebsd-64 "0.13.8" + esbuild-freebsd-arm64 "0.13.8" + esbuild-linux-32 "0.13.8" + esbuild-linux-64 "0.13.8" + esbuild-linux-arm "0.13.8" + esbuild-linux-arm64 "0.13.8" + esbuild-linux-mips64le "0.13.8" + esbuild-linux-ppc64le "0.13.8" + esbuild-netbsd-64 "0.13.8" + esbuild-openbsd-64 "0.13.8" + esbuild-sunos-64 "0.13.8" + esbuild-windows-32 "0.13.8" + esbuild-windows-64 "0.13.8" + esbuild-windows-arm64 "0.13.8" + +esbuild@^0.12.15: + version "0.12.29" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.29.tgz#be602db7c4dc78944a9dbde0d1ea19d36c1f882d" + integrity sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g== + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4570,12 +4400,12 @@ escodegen@~1.2.0: optionalDependencies: source-map "~0.1.30" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== +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.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" esprima@^4.0.0, esprima@^4.0.1: @@ -4588,7 +4418,7 @@ esprima@~1.0.4: resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" integrity sha1-n1V+CPw7TSbs6d00+Pv0drYlha0= -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== @@ -4661,15 +4491,20 @@ event-stream@3.3.4: stream-combiner "~0.0.4" through "~2.3.1" +eventemitter-asyncresource@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz#734ff2e44bf448e627f7748f905d6bdd57bdb65b" + integrity sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ== + eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: version "1.0.7" @@ -4678,14 +4513,6 @@ eventsource@^1.0.7: dependencies: original "^1.0.0" -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4840,7 +4667,7 @@ fast-glob@^2.0.2: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.1.1, fast-glob@^3.2.4: +fast-glob@^3.1.1: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== @@ -4852,6 +4679,17 @@ fast-glob@^3.1.1, fast-glob@^3.2.4: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.5: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@2.1.0, 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" @@ -4888,11 +4726,6 @@ faye-websocket@^0.11.3: dependencies: websocket-driver ">=0.5.1" -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -4900,14 +4733,6 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" -file-loader@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -4952,15 +4777,6 @@ find-cache-dir@3.3.1, find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - find-parent-dir@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" @@ -4991,13 +4807,10 @@ flatted@^2.0.1: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== follow-redirects@^1.0.0: version "1.13.0" @@ -5045,11 +4858,6 @@ forwarded@~0.1.2: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= -fraction.js@^4.0.13, fraction.js@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" - integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -5062,28 +4870,11 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= -fs-extra@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b" - integrity sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" @@ -5119,15 +4910,10 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: dependencies: minipass "^3.0.0" -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" +fs-monkey@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" + integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== fs.realpath@^1.0.0: version "1.0.0" @@ -5147,7 +4933,7 @@ fsevents@~2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -fsevents@~2.3.1, fsevents@~2.3.2: +fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -5195,11 +4981,6 @@ get-intrinsic@^1.0.0: has "^1.0.3" has-symbols "^1.0.1" -get-port@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" - integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -5227,26 +5008,50 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: +glob-parent@^5.1.0, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" -glob-parent@~5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob-parent@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@7.1.6, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +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.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -5275,10 +5080,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== +globby@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -5323,7 +5128,7 @@ globby@^8.0.1: pify "^3.0.0" slash "^1.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -5421,43 +5226,26 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.0, has@^1.0.1, has@^1.0.3: +has@^1.0.1, 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" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== +hdr-histogram-js@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hdr-histogram-js/-/hdr-histogram-js-2.0.1.tgz#ecb1ff2bcb6181c3e93ff4af9472c28c7e97284e" + integrity sha512-uPZxl1dAFnjUFHWLZmt93vUUvtHeaBay9nVNHu38SdOjMSF/4KqJUqa1Seuj08ptU1rEb6AHvB41X8n/zFZ74Q== dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + "@assemblyscript/loader" "^0.10.1" + base64-js "^1.2.0" + pako "^1.0.3" -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" +hdr-histogram-percentiles-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz#9409f4de0c2dda78e61de2d9d78b1e9f3cba283c" + integrity sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw== hosted-git-info@^3.0.6: version "3.0.7" @@ -5483,16 +5271,6 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - html-entities@^1.2.1, html-entities@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" @@ -5609,11 +5387,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" @@ -5658,21 +5431,16 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^5.0.0: +icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ieee754@^1.1.13, ieee754@^1.1.4: +ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - ignore-walk@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" @@ -5739,7 +5507,7 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -infer-owner@^1.0.3, infer-owner@^1.0.4: +infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -5752,16 +5520,11 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, 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== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - inherits@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -5784,21 +5547,22 @@ injection-js@^2.4.0: dependencies: tslib "^2.0.0" -inquirer@7.3.3: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== +inquirer@8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.1.2.tgz#65b204d2cd7fb63400edd925dfe428bafd422e3d" + integrity sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q== dependencies: ansi-escapes "^4.2.1" - chalk "^4.1.0" + chalk "^4.1.1" cli-cursor "^3.1.0" cli-width "^3.0.0" external-editor "^3.0.3" figures "^3.0.0" - lodash "^4.17.19" + lodash "^4.17.21" mute-stream "0.0.8" + ora "^5.3.0" run-async "^2.4.0" - rxjs "^6.6.0" + rxjs "^7.2.0" string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" @@ -5831,11 +5595,6 @@ ipaddr.js@1.9.1, ipaddr.js@^1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - is-absolute-url@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" @@ -5873,11 +5632,6 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -5902,18 +5656,6 @@ is-callable@^1.1.4, is-callable@^1.2.2: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - is-core-module@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946" @@ -5975,6 +5717,11 @@ is-docker@^2.0.0: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== +is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -6023,6 +5770,13 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -6060,11 +5814,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -6131,7 +5880,7 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-resolvable@^1.0.0, is-resolvable@^1.1.0: +is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== @@ -6180,14 +5929,14 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -is-wsl@^2.1.1: +is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -6303,14 +6052,14 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@26.6.2, jest-worker@^26.5.0: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +jest-worker@^27.0.2, jest-worker@^27.0.6: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" + integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== dependencies: "@types/node" "*" merge-stream "^2.0.0" - supports-color "^7.0.0" + supports-color "^8.0.0" js-tokens@^4.0.0: version "4.0.0" @@ -6389,7 +6138,7 @@ json5@^2.1.0, json5@^2.1.2: dependencies: minimist "^1.2.5" -jsonc-parser@3.0.0: +jsonc-parser@3.0.0, jsonc-parser@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== @@ -6535,14 +6284,12 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -less-loader@7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-7.3.0.tgz#f9d6d36d18739d642067a05fb5bd70c8c61317e5" - integrity sha512-Mi8915g7NMaLlgi77mgTTQvK022xKRQBIVDSyfl3ErTuBhmZBQab0mjeJjNNqGbdR+qrfTleKXqbGI4uEFavxg== +less-loader@10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-10.0.1.tgz#c05aaba68d00400820275f21c2ad87cb9fa9923f" + integrity sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA== dependencies: klona "^2.0.4" - loader-utils "^2.0.0" - schema-utils "^3.0.0" less@4.1.1: version "4.1.1" @@ -6586,10 +6333,10 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-webpack-plugin@2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.11.tgz#0d93188a31fce350a44c86212badbaf33dcd29d8" - integrity sha512-0iVGoX5vx0WDy8dmwTTpOOMYiGqILyUbDeVMFH52AjgBlS58lHwOlFMSoqg5nY8Kxl6+FRKyUZY/UdlQaOyqDw== +license-webpack-plugin@2.3.20: + version "2.3.20" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.20.tgz#f51fb674ca31519dbedbe1c7aabc036e5a7f2858" + integrity sha512-AHVueg9clOKACSHkhmEI+PCC9x8+qsQVuKECZD3ETxETK5h/PCv5/MUzyG1gm8OMcip/s1tcNxqo9Qb7WhjGsg== dependencies: "@types/webpack-sources" "^0.1.5" webpack-sources "^1.2.0" @@ -6601,6 +6348,11 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" +lilconfig@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" + integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== + linebreak@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/linebreak/-/linebreak-1.0.2.tgz#4b5781733e9a9eb2849dba2f963e47c887f8aa06" @@ -6634,10 +6386,10 @@ live-server@^1.2.1: send latest serve-index "^1.9.1" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== +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== loader-utils@2.0.0, loader-utils@^2.0.0: version "2.0.0" @@ -6648,7 +6400,7 @@ loader-utils@2.0.0, loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -6672,6 +6424,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -6692,7 +6449,7 @@ lodash@^4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^4.0.0, log-symbols@^4.1.0: +log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -6721,13 +6478,6 @@ loglevel@^1.6.4, loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -6759,7 +6509,7 @@ magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.4" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -6779,13 +6529,13 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^8.0.9: - version "8.0.14" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-8.0.14.tgz#aaba73ae0ab5586ad8eaa68bd83332669393e222" - integrity sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ== +make-fetch-happen@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== dependencies: agentkeepalive "^4.1.3" - cacache "^15.0.5" + cacache "^15.2.0" http-cache-semantics "^4.1.0" http-proxy-agent "^4.0.1" https-proxy-agent "^5.0.0" @@ -6796,10 +6546,18 @@ make-fetch-happen@^8.0.9: minipass-fetch "^1.3.2" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" + negotiator "^0.6.2" promise-retry "^2.0.1" - socks-proxy-agent "^5.0.0" + socks-proxy-agent "^6.0.0" ssri "^8.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6822,35 +6580,31 @@ marked@^0.7.0: resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e" integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.12: - version "2.0.12" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844" - integrity sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q== - mdn-data@2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" + integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^3.1.0" + +memfs@^3.2.2: + version "3.3.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.3.0.tgz#4da2d1fc40a04b170a56622c7164c6be2c4cbef2" + integrity sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg== + dependencies: + fs-monkey "1.0.3" + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -6859,14 +6613,6 @@ memory-fs@^0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -6928,19 +6674,24 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" + braces "^3.0.1" + picomatch "^2.2.3" mime-db@1.44.0: version "1.44.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + "mime-db@>= 1.43.0 < 2": version "1.45.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" @@ -6953,6 +6704,13 @@ mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: dependencies: mime-db "1.44.0" +mime-types@^2.1.27, mime-types@^2.1.31: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + mime@1.6.0, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -6978,25 +6736,23 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mini-css-extract-plugin@1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz#252166e78879c106e0130f229d44e0cbdfcebed3" - integrity sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ== +mimic-fn@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" + integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== + +mini-css-extract-plugin@2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz#b3508191ea479388a4715018c99dd3e6dd40d2d2" + integrity sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA== dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - webpack-sources "^1.1.0" + schema-utils "^3.1.0" -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: +minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.4, minimatch@~3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -7078,22 +6834,6 @@ minizlib@^2.0.0, minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -7102,7 +6842,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7130,18 +6870,6 @@ morgan@^1.9.1: on-finished "~2.3.0" on-headers "~1.0.2" -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -7226,12 +6954,12 @@ needle@^2.5.2: iconv-lite "^0.4.4" sax "^1.2.4" -negotiator@0.6.2: +negotiator@0.6.2, negotiator@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: +neo-async@^2.6.0, 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== @@ -7241,47 +6969,68 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@^11.2.4: - version "11.2.4" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-11.2.4.tgz#9deda83beb831bda7b753686d0f90e12a02dbb47" - integrity sha512-pAZYRWe4duLx6bXgfNKgT2XBHiepWz2sA+CaJ9UYEbLHE+QxYGtw/PJAC6o0zRDv1bBCkv5oquKTyTZtYjkAQQ== +ng-packagr@^12.2.5: + version "12.2.5" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-12.2.5.tgz#94e965102bdeca672e942f9b7b5e203f9abe2262" + integrity sha512-iNxX8lgAMNYAfXDBJomD7SeFpG47uoyKkGCWQo78AlFS4q3fGiFEIRrX842MTuASshYVAqMaBkaKPOajPx7VXw== dependencies: - "@rollup/plugin-commonjs" "^17.0.0" + "@rollup/plugin-commonjs" "^20.0.0" "@rollup/plugin-json" "^4.1.0" - "@rollup/plugin-node-resolve" "^11.1.0" - ajv "^7.0.3" + "@rollup/plugin-node-resolve" "^13.0.0" + ajv "^8.0.0" ansi-colors "^4.1.1" - autoprefixer "^10.2.4" browserslist "^4.16.1" + cacache "^15.0.6" chokidar "^3.5.1" - commander "^7.0.0" - cssnano "^4.1.10" + commander "^8.0.0" + dependency-graph "^0.11.0" + esbuild-wasm "^0.12.15" + find-cache-dir "^3.3.1" glob "^7.1.6" injection-js "^2.4.0" + jsonc-parser "^3.0.0" less "^4.1.0" node-sass-tilde-importer "^1.0.2" ora "^5.1.0" postcss "^8.2.4" + postcss-preset-env "^6.7.0" postcss-url "^10.1.1" - rimraf "^3.0.0" - rollup "^2.37.0" + rollup "^2.45.1" rollup-plugin-sourcemaps "^0.6.3" rxjs "^6.5.0" - sass "^1.32.5" + sass "^1.32.8" stylus "^0.54.8" - sync-rpc "^1.3.6" - terser "^5.5.1" + optionalDependencies: + esbuild "^0.12.15" + +nice-napi@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b" + integrity sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA== + dependencies: + node-addon-api "^3.0.0" + node-gyp-build "^4.2.2" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-gyp-build@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + node-gyp@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" @@ -7298,35 +7047,6 @@ node-gyp@^7.1.0: tar "^6.0.2" which "^2.0.2" -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-releases@^1.1.66: version "1.1.66" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" @@ -7368,11 +7088,6 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -7397,16 +7112,7 @@ npm-normalize-package-bin@^1.0.1: resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== -npm-package-arg@8.1.0, npm-package-arg@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.0.tgz#b5f6319418c3246a1c38e1a8fbaa06231bc5308f" - integrity sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig== - dependencies: - hosted-git-info "^3.0.6" - semver "^7.0.0" - validate-npm-package-name "^3.0.0" - -npm-package-arg@^8.0.1, npm-package-arg@^8.1.2: +npm-package-arg@8.1.5, npm-package-arg@^8.0.1, npm-package-arg@^8.1.2: version "8.1.5" resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.5.tgz#3369b2d5fe8fdc674baa7f1786514ddc15466e44" integrity sha512-LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q== @@ -7415,6 +7121,15 @@ npm-package-arg@^8.0.1, npm-package-arg@^8.1.2: semver "^7.3.4" validate-npm-package-name "^3.0.0" +npm-package-arg@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.0.tgz#b5f6319418c3246a1c38e1a8fbaa06231bc5308f" + integrity sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig== + dependencies: + hosted-git-info "^3.0.6" + semver "^7.0.0" + validate-npm-package-name "^3.0.0" + npm-packlist@^2.1.4: version "2.2.2" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" @@ -7425,16 +7140,7 @@ npm-packlist@^2.1.4: npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" -npm-pick-manifest@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz#2befed87b0fce956790f62d32afb56d7539c022a" - integrity sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw== - dependencies: - npm-install-checks "^4.0.0" - npm-package-arg "^8.0.0" - semver "^7.0.0" - -npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: +npm-pick-manifest@6.1.1, npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-6.1.1.tgz#7b5484ca2c908565f43b7f27644f36bb816f5148" integrity sha512-dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA== @@ -7444,14 +7150,12 @@ npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: npm-package-arg "^8.1.2" semver "^7.3.4" -npm-registry-fetch@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-9.0.0.tgz#86f3feb4ce00313bc0b8f1f8f69daae6face1661" - integrity sha512-PuFYYtnQ8IyVl6ib9d3PepeehcUeHN9IO5N/iCRhyg9tStQcqGQBRVHmfmMWPDERU3KwZoHFvbJ4FPXPspvzbA== +npm-registry-fetch@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" + integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== dependencies: - "@npmcli/ci-detect" "^1.0.0" - lru-cache "^6.0.0" - make-fetch-happen "^8.0.9" + make-fetch-happen "^9.0.1" minipass "^3.1.3" minipass-fetch "^1.3.0" minipass-json-stream "^1.0.1" @@ -7475,13 +7179,6 @@ npmlog@^4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - nth-check@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" @@ -7489,6 +7186,18 @@ nth-check@^2.0.0: dependencies: boolbase "^1.0.0" +nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" @@ -7548,14 +7257,6 @@ object.assign@^4.1.0, object.assign@^4.1.1: has-symbols "^1.0.1" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -7563,16 +7264,6 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -7604,13 +7295,14 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.0.tgz#ad95b98f871d9acb0ec8fecc557082cc9986626b" - integrity sha512-PGoBCX/lclIWlpS/R2PQuIR4NJoXh6X5AwVzE7WXnWRGvHg7+4TBCgsujUgiPpm0K1y4qvQeWnCWVTpTKZBtvA== +open@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/open/-/open-8.2.1.tgz#82de42da0ccbf429bc12d099dad2e0975e14e8af" + integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ== dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" opencollective-postinstall@^2.0.2: version "2.0.3" @@ -7643,21 +7335,7 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -ora@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" - integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== - dependencies: - bl "^4.0.3" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -ora@^5.1.0: +ora@5.4.1, ora@^5.1.0, ora@^5.3.0: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== @@ -7679,11 +7357,6 @@ original@^1.0.0: dependencies: url-parse "^1.4.3" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - os-name@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" @@ -7697,6 +7370,11 @@ os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -7709,7 +7387,7 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, 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== @@ -7754,15 +7432,15 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@11.2.4: - version "11.2.4" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.2.4.tgz#dc7ca740a573ed86a3bf863511d22c1d413ec82f" - integrity sha512-GfTeVQGJ6WyBQbQD4t3ocHbyOmTQLmWjkCKSZPmKiGFKYKNUaM5U2gbLzUW8WG1XmS9yQFnsTFA0k3o1+q4klQ== +pacote@11.3.5: + version "11.3.5" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2" + integrity sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg== dependencies: - "@npmcli/git" "^2.0.1" - "@npmcli/installed-package-contents" "^1.0.5" + "@npmcli/git" "^2.1.0" + "@npmcli/installed-package-contents" "^1.0.6" "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^1.3.0" + "@npmcli/run-script" "^1.8.2" cacache "^15.0.5" chownr "^2.0.0" fs-minipass "^2.1.0" @@ -7772,11 +7450,11 @@ pacote@11.2.4: npm-package-arg "^8.0.1" npm-packlist "^2.1.4" npm-pick-manifest "^6.0.0" - npm-registry-fetch "^9.0.0" - promise-retry "^1.1.1" - read-package-json-fast "^1.1.3" + npm-registry-fetch "^11.0.0" + promise-retry "^2.0.1" + read-package-json-fast "^2.0.1" rimraf "^3.0.2" - ssri "^8.0.0" + ssri "^8.0.1" tar "^6.1.0" pako@^0.2.5: @@ -7784,20 +7462,11 @@ pako@^0.2.5: resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= -pako@~1.0.2, pako@~1.0.5: +pako@^1.0.3, pako@~1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -7805,17 +7474,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -7888,11 +7546,6 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -7952,17 +7605,6 @@ pause-stream@0.0.11: dependencies: through "~2.3" -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - pdfkit@>=0.8.1, pdfkit@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/pdfkit/-/pdfkit-0.11.0.tgz#9cdb2fc42bd2913587fe3ddf48cc5bbb3c36f7de" @@ -8004,6 +7646,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8031,6 +7678,17 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= +piscina@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.1.0.tgz#2333636865b6cb69c5a370bbc499a98cabcf3e04" + integrity sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg== + dependencies: + eventemitter-asyncresource "^1.0.0" + hdr-histogram-js "^2.0.1" + hdr-histogram-percentiles-obj "^3.0.0" + optionalDependencies: + nice-napi "^1.0.2" + pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -8050,13 +7708,6 @@ png-js@^1.0.0: resolved "https://registry.yarnpkg.com/png-js/-/png-js-1.0.0.tgz#e5484f1e8156996e383aceebb3789fd75df1874d" integrity sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g== -pnp-webpack-plugin@1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== - dependencies: - ts-pnp "^1.1.6" - portfinder@^1.0.26: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -8071,14 +7722,13 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" - integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== dependencies: - postcss "^7.0.27" + postcss "^7.0.2" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" postcss-calc@^8.0.0: version "8.0.0" @@ -8088,16 +7738,47 @@ postcss-calc@^8.0.0: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" postcss-colormin@^5.2.1: version "5.2.1" @@ -8109,14 +7790,6 @@ postcss-colormin@^5.2.1: colord "^2.9.1" postcss-value-parser "^4.1.0" -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-convert-values@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" @@ -8124,83 +7797,156 @@ postcss-convert-values@^5.0.2: dependencies: postcss-value-parser "^4.1.0" -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== dependencies: - postcss "^7.0.0" + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" postcss-discard-comments@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - postcss-discard-duplicates@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - postcss-discard-empty@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - postcss-discard-overridden@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== -postcss-import@14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.0.tgz#3ed1dadac5a16650bde3f4cdea6633b9c3c78296" - integrity sha512-gFDDzXhqr9ELmnLHgCC3TbGfA6Dm/YMb/UN8/f7Uuq4fL7VTk2vOIj6hwINEwbokEmp123bLD7a5m+E+KIetRg== +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-import@14.0.2: + version "14.0.2" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.2.tgz#60eff77e6be92e7b67fe469ec797d9424cae1aa1" + integrity sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g== dependencies: postcss-value-parser "^4.0.0" read-cache "^1.0.0" resolve "^1.1.7" -postcss-loader@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.2.0.tgz#f6993ea3e0f46600fb3ee49bbd010448123a7db4" - integrity sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA== +postcss-initial@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== + dependencies: + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-loader@6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.1.1.tgz#58dd0a3accd9bc87cc52eff75244db578d11301a" + integrity sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug== dependencies: cosmiconfig "^7.0.0" klona "^2.0.4" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - semver "^7.3.4" + semver "^7.3.5" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" + postcss "^7.0.2" postcss-merge-longhand@^5.0.4: version "5.0.4" @@ -8210,18 +7956,6 @@ postcss-merge-longhand@^5.0.4: postcss-value-parser "^4.1.0" stylehacks "^5.0.1" -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - postcss-merge-rules@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz#b5cae31f53129812a77e3eb1eeee448f8cf1a1db" @@ -8232,14 +7966,6 @@ postcss-merge-rules@^5.0.3: cssnano-utils "^2.0.1" postcss-selector-parser "^6.0.5" -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-minify-font-values@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" @@ -8247,16 +7973,6 @@ postcss-minify-font-values@^5.0.1: dependencies: postcss-value-parser "^4.1.0" -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-minify-gradients@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" @@ -8266,18 +7982,6 @@ postcss-minify-gradients@^5.0.3: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - postcss-minify-params@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz#1b644da903473fbbb18fbe07b8e239883684b85c" @@ -8288,16 +7992,6 @@ postcss-minify-params@^5.0.2: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - postcss-minify-selectors@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" @@ -8334,27 +8028,18 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== dependencies: - postcss "^7.0.0" + postcss "^7.0.2" postcss-normalize-charset@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-display-values@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" @@ -8363,16 +8048,6 @@ postcss-normalize-display-values@^5.0.1: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-positions@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" @@ -8380,16 +8055,6 @@ postcss-normalize-positions@^5.0.1: dependencies: postcss-value-parser "^4.1.0" -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-repeat-style@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" @@ -8398,15 +8063,6 @@ postcss-normalize-repeat-style@^5.0.1: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-string@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" @@ -8414,15 +8070,6 @@ postcss-normalize-string@^5.0.1: dependencies: postcss-value-parser "^4.1.0" -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-timing-functions@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" @@ -8431,15 +8078,6 @@ postcss-normalize-timing-functions@^5.0.1: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-unicode@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" @@ -8448,16 +8086,6 @@ postcss-normalize-unicode@^5.0.1: browserslist "^4.16.0" postcss-value-parser "^4.1.0" -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-url@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz#42eca6ede57fe69075fab0f88ac8e48916ef931c" @@ -8467,14 +8095,6 @@ postcss-normalize-url@^5.0.3: normalize-url "^6.0.1" postcss-value-parser "^4.1.0" -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-normalize-whitespace@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" @@ -8482,15 +8102,6 @@ postcss-normalize-whitespace@^5.0.1: dependencies: postcss-value-parser "^4.1.0" -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-ordered-values@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" @@ -8499,15 +8110,78 @@ postcss-ordered-values@^5.0.2: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0, postcss-preset-env@^6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" postcss-reduce-initial@^5.0.1: version "5.0.1" @@ -8517,16 +8191,6 @@ postcss-reduce-initial@^5.0.1: browserslist "^4.16.0" caniuse-api "^3.0.0" -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - postcss-reduce-transforms@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" @@ -8535,12 +8199,35 @@ postcss-reduce-transforms@^5.0.1: cssnano-utils "^2.0.1" postcss-value-parser "^4.1.0" -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== + dependencies: + postcss "^7.0.2" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== dependencies: - dot-prop "^5.2.0" + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" indexes-of "^1.0.1" uniq "^1.0.1" @@ -8562,15 +8249,6 @@ postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" - integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - postcss-svgo@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" @@ -8579,15 +8257,6 @@ postcss-svgo@^5.0.3: postcss-value-parser "^4.1.0" svgo "^2.7.0" -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - postcss-unique-selectors@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz#5d6893daf534ae52626708e0d62250890108c0c1" @@ -8606,35 +8275,30 @@ postcss-url@^10.1.1: minimatch "~3.0.4" xxhashjs "~0.2.2" -postcss-value-parser@^3.0.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@8.2.15: - version "8.2.15" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" - integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map "^0.6.1" + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== +postcss@8.3.6: + version "8.3.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" + integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" -postcss@^7.0.35: +postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -8642,7 +8306,7 @@ postcss@^7.0.35: picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.1.4, postcss@^8.2.4, postcss@^8.3.7: +postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.5, postcss@^8.3.7: version "8.3.11" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== @@ -8666,24 +8330,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= -promise-retry@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= - dependencies: - err-code "^1.0.0" - retry "^0.10.0" - promise-retry@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" @@ -8736,26 +8387,6 @@ psl@^1.1.28: resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -8764,25 +8395,11 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -8793,7 +8410,7 @@ q@1.4.1: resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= -q@^1.1.2, q@^1.4.1: +q@^1.4.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= @@ -8813,11 +8430,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" @@ -8837,19 +8449,11 @@ quote-stream@^1.0.1: minimist "^1.1.3" through2 "^2.0.0" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +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" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: - randombytes "^2.0.5" safe-buffer "^5.1.0" range-parser@^1.2.1, range-parser@~1.2.1: @@ -8867,14 +8471,6 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-loader@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" - integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -8882,14 +8478,6 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" -read-package-json-fast@^1.1.3: - version "1.2.2" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-1.2.2.tgz#fba77b0b0d66b1ab344e214cb0876577e749c423" - integrity sha512-39DbPJjkltEzfXJXB6D8/Ir3GFOU2YbSKa2HaB/Y3nKrc/zY+0XrALpID6/13ezWyzqvOHrBbR4t4cjQuTdBVQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - read-package-json-fast@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" @@ -8898,7 +8486,7 @@ read-package-json-fast@^2.0.1: json-parse-even-better-errors "^2.3.0" npm-normalize-package-bin "^1.0.1" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: +readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2, readable-stream@~2.3.3, readable-stream@~2.3.6: 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== @@ -8911,7 +8499,7 @@ read-package-json-fast@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -8960,16 +8548,21 @@ regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@0.13.7, regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== +regenerator-runtime@0.13.9: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + regenerator-transform@^0.14.2: version "0.14.5" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" @@ -9121,15 +8714,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.19.0, resolve@^1.1.5, resolve@^1.1.7, resolve@^1.3.2: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -resolve@^1.17.0, resolve@^1.19.0: +resolve@1.20.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -9137,6 +8722,14 @@ resolve@^1.17.0, resolve@^1.19.0: is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^1.1.5, resolve@^1.1.7, resolve@^1.3.2: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -9157,11 +8750,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= - retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" @@ -9177,23 +8765,6 @@ rfdc@^1.1.4: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -9201,13 +8772,12 @@ rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" + glob "^7.1.3" rollup-plugin-sourcemaps@^0.6.3: version "0.6.3" @@ -9217,14 +8787,7 @@ rollup-plugin-sourcemaps@^0.6.3: "@rollup/pluginutils" "^3.0.9" source-map-resolve "^0.6.0" -rollup@2.38.4: - version "2.38.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.38.4.tgz#1b84ea8728c73b1a00a6a6e9c630ec8c3fe48cea" - integrity sha512-B0LcJhjiwKkTl79aGVF/u5KdzsH8IylVfV56Ut6c9ouWLJcUK17T83aZBetNYSnZtXf2OHD4+2PbmRW+Fp5ulg== - optionalDependencies: - fsevents "~2.3.1" - -rollup@^2.37.0: +rollup@^2.45.1: version "2.60.0" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.60.0.tgz#4ee60ab7bdd0356763f87d7099f413e5460fc193" integrity sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ== @@ -9241,13 +8804,6 @@ run-parallel@^1.1.9: resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - rxjs@6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" @@ -9255,26 +8811,33 @@ rxjs@6.5.3: dependencies: tslib "^1.9.0" -rxjs@6.6.3, rxjs@^6.5.0: +rxjs@6.6.7, rxjs@^6.5.3: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +rxjs@^6.5.0: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== dependencies: tslib "^1.9.0" -rxjs@^6.5.3, rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== +rxjs@^7.2.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" + integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w== dependencies: - tslib "^1.9.0" + tslib "~2.1.0" safe-buffer@5.1.2, 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== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.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== @@ -9291,25 +8854,22 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@10.1.1: - version "10.1.1" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.1.tgz#4ddd5a3d7638e7949065dd6e9c7c04037f7e663d" - integrity sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw== +sass-loader@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.1.0.tgz#b73324622231009da6fba61ab76013256380d201" + integrity sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg== dependencies: klona "^2.0.4" - loader-utils "^2.0.0" neo-async "^2.6.2" - schema-utils "^3.0.0" - semver "^7.3.2" -sass@1.32.6: - version "1.32.6" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.32.6.tgz#e3646c8325cd97ff75a8a15226007f3ccd221393" - integrity sha512-1bcDHDcSqeFtMr0JXI3xc/CXX6c4p0wHHivJdru8W7waM7a1WjKMm4m/Z5sY7CbVw4Whi2Chpcw6DFfSWwGLzQ== +sass@1.36.0: + version "1.36.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.36.0.tgz#5912ef9d5d16714171ba11cb17edb274c4bbc07e" + integrity sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg== dependencies: - chokidar ">=2.0.0 <4.0.0" + chokidar ">=3.0.0 <4.0.0" -sass@^1.32.5: +sass@^1.32.8: version "1.43.4" resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== @@ -9346,7 +8906,7 @@ schema-utils@^2.6.5, schema-utils@^2.7.0: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0: +schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== @@ -9397,31 +8957,24 @@ semver-dsl@^1.0.1: dependencies: semver "^5.3.0" -semver-intersect@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/semver-intersect/-/semver-intersect-1.4.0.tgz#bdd9c06bedcdd2fedb8cd352c3c43ee8c61321f3" - integrity sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ== - dependencies: - semver "^5.0.0" - semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== +semver@7.3.5, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -semver@^5.0.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -9431,13 +8984,6 @@ semver@^7.0.0, semver@^7.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - send@0.17.1, send@latest: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -9457,17 +9003,10 @@ send@0.17.1, send@latest: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -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== +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" @@ -9514,11 +9053,6 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -9529,14 +9063,6 @@ setprototypeof@1.1.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -9566,13 +9092,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -9665,16 +9184,16 @@ sockjs@^0.3.21: uuid "^3.4.0" websocket-driver "^0.7.4" -socks-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" - integrity sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ== +socks-proxy-agent@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3" + integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg== dependencies: agent-base "^6.0.2" - debug "4" - socks "^2.3.3" + debug "^4.3.1" + socks "^2.6.1" -socks@^2.3.3: +socks@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== @@ -9682,7 +9201,7 @@ socks@^2.3.3: ip "^1.1.5" smart-buffer "^4.1.0" -source-list-map@^2.0.0, source-list-map@^2.0.1: +source-list-map@^2.0.0: 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== @@ -9692,17 +9211,14 @@ source-map-js@^0.6.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== -source-map-loader@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-1.1.3.tgz#7dbc2fe7ea09d3e43c51fd9fc478b7f016c1f820" - integrity sha512-6YHeF+XzDOrT/ycFJNI53cgEsp/tHTMl37hi7uVyqFAlTXW109JazaQCkbc+jjoL2637qkH1amLi+JzrIpt5lA== +source-map-loader@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.0.tgz#f2a04ee2808ad01c774dea6b7d2639839f3b3049" + integrity sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw== dependencies: abab "^2.0.5" iconv-lite "^0.6.2" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - source-map "^0.6.1" - whatwg-mimetype "^2.3.0" + source-map-js "^0.6.2" source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" @@ -9723,7 +9239,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.19, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12: +source-map-support@0.5.19, source-map-support@^0.5.5, source-map-support@^0.5.6: 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== @@ -9773,7 +9289,7 @@ source-map@~0.1.30: dependencies: amdefine ">=0.0.4" -sourcemap-codec@^1.4.1, sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: +sourcemap-codec@1.4.8, sourcemap-codec@^1.4.1, sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -9801,13 +9317,6 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -speed-measure-webpack-plugin@1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.4.2.tgz#1608e62d3bdb45f01810010e1b5bfedefedfa58f" - integrity sha512-AtVzD0bnIy2/B0fWqJpJgmhcrfWFhBlduzSo0uwplr/QvB33ZNZj2NEth3NONgdnZJqicK0W0mSxnLSbsVCDbw== - dependencies: - chalk "^4.1.0" - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -9847,13 +9356,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - ssri@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" @@ -9913,14 +9415,6 @@ static-module@^3.0.2: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -9928,30 +9422,6 @@ stream-combiner@~0.0.4: dependencies: duplexer "~0.1.1" -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - streamroller@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53" @@ -10013,7 +9483,7 @@ string.prototype.trimstart@^1.0.1: define-properties "^1.1.3" es-abstract "^1.18.0-next.1" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -10060,22 +9530,10 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -style-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" +style-loader@3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.2.1.tgz#63cb920ec145c8669e9a50e92961452a1ef5dcde" + integrity sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg== stylehacks@^5.0.1: version "5.0.1" @@ -10085,16 +9543,14 @@ stylehacks@^5.0.1: browserslist "^4.16.0" postcss-selector-parser "^6.0.4" -stylus-loader@4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-4.3.3.tgz#381bb6341272ac50bcdfd0b877707eac99b6b757" - integrity sha512-PpWB5PnCXUzW4WMYhCvNzAHJBjIBPMXwsdfkkKuA9W7k8OQFMl/19/AQvaWsxz2IptxUlCseyJ6TY/eEKJ4+UQ== +stylus-loader@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.1.0.tgz#7a3a719a27cb2b9617896d6da28fda94c3ed9762" + integrity sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw== dependencies: - fast-glob "^3.2.4" + fast-glob "^3.2.5" klona "^2.0.4" - loader-utils "^2.0.0" normalize-path "^3.0.0" - schema-utils "^3.0.0" stylus@0.54.8, stylus@^0.54.8: version "0.54.8" @@ -10129,13 +9585,20 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.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" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + svg-to-pdfkit@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/svg-to-pdfkit/-/svg-to-pdfkit-0.1.8.tgz#5921765922044843f0c1a5b25ec1ef8a4a33b8af" @@ -10143,25 +9606,6 @@ svg-to-pdfkit@^0.1.8: dependencies: pdfkit ">=0.8.1" -svgo@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - svgo@^2.7.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" @@ -10175,24 +9619,12 @@ svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" -symbol-observable@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-3.0.0.tgz#eea8f6478c651018e059044268375c408c15c533" - integrity sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q== - -sync-rpc@^1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" - integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== - dependencies: - get-port "^3.1.0" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +symbol-observable@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== -tapable@^2.2.0: +tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== @@ -10221,55 +9653,39 @@ tar@^6.1.0: mkdirp "^1.0.3" yallist "^4.0.0" -terser-webpack-plugin@4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" - integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== +terser-webpack-plugin@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz#c369cf8a47aa9922bd0d8a94fe3d3da11a7678a1" + integrity sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA== dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - jest-worker "^26.5.0" - p-limit "^3.0.2" + jest-worker "^27.0.2" + p-limit "^3.1.0" schema-utils "^3.0.0" - serialize-javascript "^5.0.1" + serialize-javascript "^6.0.0" source-map "^0.6.1" - terser "^5.3.4" - webpack-sources "^1.4.3" + terser "^5.7.0" -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== +terser-webpack-plugin@^5.1.3: + version "5.2.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" + integrity sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g== dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" + jest-worker "^27.0.6" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" + terser "^5.7.2" -terser@5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" - integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== +terser@5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784" + integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== dependencies: commander "^2.20.0" source-map "~0.7.2" source-map-support "~0.5.19" -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.3.4, terser@^5.5.1: +terser@^5.7.0, terser@^5.7.2: version "5.10.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== @@ -10306,13 +9722,6 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" @@ -10344,11 +9753,6 @@ tmp@^0.2.1: dependencies: rimraf "^3.0.0" -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -10423,11 +9827,6 @@ ts-node@~7.0.0: source-map-support "^0.5.6" yn "^2.0.0" -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - ts-simple-ast@12.4.0: version "12.4.0" resolved "https://registry.yarnpkg.com/ts-simple-ast/-/ts-simple-ast-12.4.0.tgz#6b53f6d6a59145da637dfe0e8c646d1e66ba278a" @@ -10444,10 +9843,10 @@ ts-simple-ast@12.4.0: tslib "^1.9.0" typescript "2.9.1" -tslib@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +tslib@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" @@ -10459,11 +9858,16 @@ tslib@^2.0.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tslib@^2.3.0: +tslib@^2.2.0, tslib@^2.3.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== + tslint@~6.1.0: version "6.1.3" resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" @@ -10490,11 +9894,6 @@ tsutils@^2.29.0: dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -10547,21 +9946,16 @@ typescript@2.9.1: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.1.tgz#fdb19d2c67a15d11995fd15640e373e09ab09961" integrity sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA== -typescript@4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" - integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== +typescript@4.3.5, typescript@~4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" + integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== typescript@^4.0.3: version "4.0.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== -typescript@~4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.8.tgz#5739105541db80a971fdbd0d56511d1a6f17d37f" - integrity sha512-oz1765PN+imfz1MlZzSZPtC/tqcwsCyIYA8L47EkRnRW97ztRk83SzMiWLrnChC0vqoYxSU1fcFUDA5gV/ZiPg== - ua-parser-js@^0.7.30: version "0.7.31" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" @@ -10647,11 +10041,6 @@ uniq@^1.0.1: resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -10666,15 +10055,6 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -universal-analytics@0.4.23: - version "0.4.23" - resolved "https://registry.yarnpkg.com/universal-analytics/-/universal-analytics-0.4.23.tgz#d915e676850c25c4156762471bdd7cf2eaaca8ac" - integrity sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A== - dependencies: - debug "^4.1.1" - request "^2.88.2" - uuid "^3.0.0" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -10700,11 +10080,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -10764,30 +10139,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" @@ -10815,11 +10166,6 @@ vary@^1, vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -10829,33 +10175,18 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - void-elements@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== +watchpack@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce" + integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== dependencies: + glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" @@ -10896,7 +10227,19 @@ webdriver-manager@^12.1.7: semver "^5.3.0" xml2js "^0.4.17" -webpack-dev-middleware@3.7.2, webpack-dev-middleware@^3.7.2: +webpack-dev-middleware@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz#0abe825275720e0a339978aea5f0b03b140c1584" + integrity sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw== + dependencies: + colorette "^1.2.2" + mem "^8.1.1" + memfs "^3.2.2" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^3.0.0" + +webpack-dev-middleware@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== @@ -10954,23 +10297,15 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -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== +webpack-merge@5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@2.2.0: - 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-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: +webpack-sources@^1.2.0, webpack-sources@^1.3.0: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== @@ -10978,6 +10313,11 @@ webpack-sources@^1.1.0, webpack-sources@^1.2.0, webpack-sources@^1.3.0, webpack- source-list-map "^2.0.0" source-map "~0.6.1" +webpack-sources@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" + integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== + webpack-subresource-integrity@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz#e40b6578d3072e2d24104975249c52c66e9a743e" @@ -10985,34 +10325,35 @@ webpack-subresource-integrity@1.5.2: dependencies: webpack-sources "^1.3.0" -webpack@4.44.2: - version "4.44.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" +webpack@5.50.0: + version "5.50.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.50.0.tgz#5562d75902a749eb4d75131f5627eac3a3192527" + integrity sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.50" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" - eslint-scope "^4.0.3" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.7.1" + 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 "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.2.0" + webpack-sources "^3.2.0" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -11028,11 +10369,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -11081,20 +10417,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -worker-plugin@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/worker-plugin/-/worker-plugin-5.0.0.tgz#113b5fe1f4a5d6a957cecd29915bedafd70bb537" - integrity sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ== - dependencies: - loader-utils "^1.1.0" - wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -11159,7 +10481,7 @@ xmldoc@^1.1.2: dependencies: sax "^1.2.1" -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -11181,17 +10503,12 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: +yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -11250,7 +10567,7 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^16.1.1, yargs@^16.2.0: +yargs@^16.1.1: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -11263,6 +10580,19 @@ yargs@^16.1.1, yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0: + version "17.2.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" + integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" @@ -11273,7 +10603,14 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zone.js@~0.10.2, zone.js@~0.10.3: +zone.js@~0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.3.tgz#3e5e4da03c607c9dcd92e37dd35687a14a140c16" integrity sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg== + +zone.js@~0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.4.tgz#0f70dcf6aba80f698af5735cbb257969396e8025" + integrity sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw== + dependencies: + tslib "^2.0.0" From d4148102488463fbc1e3dfb1e90b44559db71693 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 09:11:24 +0100 Subject: [PATCH 06/16] feat(angular): migrate to v13 --- .gitignore | 1 + angular.json | 33 - package.json | 36 +- src/demo/polyfills.ts | 11 - src/demo/styles.scss | 4 +- src/demo/test.ts | 4 +- src/ngx-monaco-editor/src/test.ts | 4 +- src/ngx-monaco-editor/tsconfig.lib.prod.json | 2 +- yarn.lock | 2755 +++++++----------- 9 files changed, 1051 insertions(+), 1799 deletions(-) diff --git a/.gitignore b/.gitignore index d239f506..35d2e10f 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ !.vscode/extensions.json # misc +/.angular/cache /.sass-cache /connect.lock /coverage diff --git a/angular.json b/angular.json index f272ade7..fc0818af 100644 --- a/angular.json +++ b/angular.json @@ -90,18 +90,6 @@ "src/demo/assets" ] } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "src/demo/tsconfig.app.json", - "src/demo/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } } } }, @@ -120,15 +108,6 @@ "devServerTarget": "demo:serve:production" } } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": "e2e/tsconfig.e2e.json", - "exclude": [ - "**/node_modules/**" - ] - } } } }, @@ -158,18 +137,6 @@ "tsConfig": "src/ngx-monaco-editor/tsconfig.spec.json", "karmaConfig": "src/ngx-monaco-editor/karma.conf.js" } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "src/ngx-monaco-editor/tsconfig.lib.json", - "src/ngx-monaco-editor/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } } } } diff --git a/package.json b/package.json index b8cffa50..3581221a 100644 --- a/package.json +++ b/package.json @@ -19,27 +19,27 @@ }, "private": true, "dependencies": { - "@angular/animations": "~12.2.13", - "@angular/cdk": "^12.2.13", - "@angular/common": "~12.2.13", - "@angular/compiler": "~12.2.13", - "@angular/core": "~12.2.13", - "@angular/flex-layout": "9.0.0-beta.30", - "@angular/forms": "~12.2.13", - "@angular/material": "^12.2.13", - "@angular/platform-browser": "~12.2.13", - "@angular/platform-browser-dynamic": "~12.2.13", - "@angular/router": "~12.2.13", + "@angular/animations": "~13.0.2", + "@angular/cdk": "^13.0.2", + "@angular/common": "~13.0.2", + "@angular/compiler": "~13.0.2", + "@angular/core": "~13.0.2", + "@angular/flex-layout": "12.0.0-beta.35", + "@angular/forms": "~13.0.2", + "@angular/material": "^13.0.2", + "@angular/platform-browser": "~13.0.2", + "@angular/platform-browser-dynamic": "~13.0.2", + "@angular/router": "~13.0.2", "monaco-editor": "^0.24.0", "rxjs": "6.5.3", "tslib": "^2.3.1", "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "~12.2.13", - "@angular/cli": "^12.2.13", - "@angular/compiler-cli": "^12.2.13", - "@angular/language-service": "~12.2.13", + "@angular-devkit/build-angular": "~13.0.3", + "@angular/cli": "^13.0.3", + "@angular/compiler-cli": "^13.0.2", + "@angular/language-service": "~13.0.2", "@compodoc/compodoc": "^1.1.11", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", @@ -53,11 +53,11 @@ "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "ncp": "^2.0.0", - "ng-packagr": "^12.2.5", + "ng-packagr": "^13.0.6", "protractor": "~7.0.0", "rimraf": "^3.0.0", "ts-node": "~7.0.0", "tslint": "~6.1.0", - "typescript": "~4.3.5" + "typescript": "~4.4.4" } -} \ No newline at end of file +} diff --git a/src/demo/polyfills.ts b/src/demo/polyfills.ts index 4f9d81f5..bcd5dbf6 100644 --- a/src/demo/polyfills.ts +++ b/src/demo/polyfills.ts @@ -34,9 +34,6 @@ // import 'core-js/es6/weak-map'; // import 'core-js/es6/set'; -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - /** IE10 and IE11 requires the following for the Reflect API. */ // import 'core-js/es6/reflect'; @@ -45,14 +42,6 @@ // Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. import 'core-js/es7/reflect'; - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - **/ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - /** * By default, zone.js will patch all possible macroTask and DomEvents * user can disable parts of macroTask/DomEvents patch by setting following flags diff --git a/src/demo/styles.scss b/src/demo/styles.scss index 378aeec3..528bd18e 100644 --- a/src/demo/styles.scss +++ b/src/demo/styles.scss @@ -1,6 +1,6 @@ /* You can add global styles to this file, and also import other style files */ -@use '~@angular/material' as mat; -@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; +@use '@angular/material' as mat; +@import '@angular/material/prebuilt-themes/deeppurple-amber.css'; // Plus imports for other components in your app. // Include the common styles for Angular Material. We include this here so that you only diff --git a/src/demo/test.ts b/src/demo/test.ts index a6f15af3..6b03dbe8 100644 --- a/src/demo/test.ts +++ b/src/demo/test.ts @@ -12,7 +12,9 @@ declare const require: any; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, - platformBrowserDynamicTesting() + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} ); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); diff --git a/src/ngx-monaco-editor/src/test.ts b/src/ngx-monaco-editor/src/test.ts index b1cc186b..8bc9acb8 100644 --- a/src/ngx-monaco-editor/src/test.ts +++ b/src/ngx-monaco-editor/src/test.ts @@ -14,7 +14,9 @@ declare const require: any; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, - platformBrowserDynamicTesting() + platformBrowserDynamicTesting(), { + teardown: { destroyAfterEach: false } +} ); // Then we find all the tests. const context = require.context('./', true, /\.spec\.ts$/); diff --git a/src/ngx-monaco-editor/tsconfig.lib.prod.json b/src/ngx-monaco-editor/tsconfig.lib.prod.json index 2617a83e..6330633d 100644 --- a/src/ngx-monaco-editor/tsconfig.lib.prod.json +++ b/src/ngx-monaco-editor/tsconfig.lib.prod.json @@ -4,6 +4,6 @@ "declarationMap": false }, "angularCompilerOptions": { - "enableIvy": false + "compilationMode": "partial" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index e8248445..b68a6fc7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,304 +15,291 @@ "@jridgewell/resolve-uri" "1.0.0" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1202.13": - version "0.1202.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1202.13.tgz#b9b883d62f628a6b31ce071da91e268f61da00ef" - integrity sha512-LXgiidXwBgyWPqqWK4xR1/kCPQTMTzG5w+s7+LvENUZwbcdl6CKrOMjfgjo6WPr6yeq+WWQvPCD4pZ6nXRTm7A== +"@angular-devkit/architect@0.1300.3": + version "0.1300.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1300.3.tgz#8d74a0f3cc3a0e4ecb0c6723e13fc0fee4790363" + integrity sha512-XY3sjRLk06Q+uAU0BePuIWcK1n3Jr0ksNV0ACNAct+MnI3QFfPPaYA/Tdhp9uWobuZ4lUrL0drc2uppNu0wKmA== dependencies: - "@angular-devkit/core" "12.2.13" + "@angular-devkit/core" "13.0.3" rxjs "6.6.7" -"@angular-devkit/build-angular@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-12.2.13.tgz#f5564d3ec9db132956473bb904bb3590482f5b36" - integrity sha512-iJ1P/RZ1hk2n/HtEqB5ohXvHa+Hf0BXShYskSGrn6/klcTb0eJTCREsFxHk7mNEmRIGPWkjbLAslqpPgwiagXg== +"@angular-devkit/build-angular@~13.0.3": + version "13.0.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.0.3.tgz#763db8882ff86612462a2b6bcdf441ba8e4b29a5" + integrity sha512-5KFsknpnq3mc0KwcIDjvmqB3trz5cMt48dB0nrc23zkFI9v4hkpalc/OEg/H3G93K0c9g6dcyxmHkNfsU1+CHw== dependencies: "@ampproject/remapping" "1.0.1" - "@angular-devkit/architect" "0.1202.13" - "@angular-devkit/build-optimizer" "0.1202.13" - "@angular-devkit/build-webpack" "0.1202.13" - "@angular-devkit/core" "12.2.13" - "@babel/core" "7.14.8" - "@babel/generator" "7.14.8" - "@babel/helper-annotate-as-pure" "7.14.5" - "@babel/plugin-proposal-async-generator-functions" "7.14.7" + "@angular-devkit/architect" "0.1300.3" + "@angular-devkit/build-webpack" "0.1300.3" + "@angular-devkit/core" "13.0.3" + "@babel/core" "7.15.8" + "@babel/generator" "7.15.8" + "@babel/helper-annotate-as-pure" "7.15.4" + "@babel/plugin-proposal-async-generator-functions" "7.15.8" "@babel/plugin-transform-async-to-generator" "7.14.5" - "@babel/plugin-transform-runtime" "7.14.5" - "@babel/preset-env" "7.14.8" - "@babel/runtime" "7.14.8" - "@babel/template" "7.14.5" - "@discoveryjs/json-ext" "0.5.3" - "@jsdevtools/coverage-istanbul-loader" "3.0.5" - "@ngtools/webpack" "12.2.13" + "@babel/plugin-transform-runtime" "7.15.8" + "@babel/preset-env" "7.15.8" + "@babel/runtime" "7.15.4" + "@babel/template" "7.15.4" + "@discoveryjs/json-ext" "0.5.5" + "@ngtools/webpack" "13.0.3" ansi-colors "4.1.1" - babel-loader "8.2.2" + babel-loader "8.2.3" + babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" - cacache "15.2.0" + cacache "15.3.0" caniuse-lite "^1.0.30001032" circular-dependency-plugin "5.2.2" copy-webpack-plugin "9.0.1" - core-js "3.16.0" - critters "0.0.12" - css-loader "6.2.0" - css-minimizer-webpack-plugin "3.0.2" - esbuild-wasm "0.13.8" - find-cache-dir "3.3.1" - glob "7.1.7" + core-js "3.19.0" + critters "0.0.14" + css-loader "6.5.0" + esbuild-wasm "0.13.12" + glob "7.2.0" https-proxy-agent "5.0.0" - inquirer "8.1.2" + inquirer "8.2.0" karma-source-map-support "1.4.0" - less "4.1.1" - less-loader "10.0.1" - license-webpack-plugin "2.3.20" - loader-utils "2.0.0" - mini-css-extract-plugin "2.4.2" + less "4.1.2" + less-loader "10.2.0" + license-webpack-plugin "4.0.0" + loader-utils "3.0.0" + mini-css-extract-plugin "2.4.3" minimatch "3.0.4" - open "8.2.1" + open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.1.0" - postcss "8.3.6" + postcss "8.3.11" postcss-import "14.0.2" - postcss-loader "6.1.1" + postcss-loader "6.2.0" postcss-preset-env "6.7.0" regenerator-runtime "0.13.9" resolve-url-loader "4.0.0" rxjs "6.6.7" - sass "1.36.0" - sass-loader "12.1.0" + sass "1.43.4" + sass-loader "12.3.0" semver "7.3.5" source-map-loader "3.0.0" - source-map-support "0.5.19" - style-loader "3.2.1" - stylus "0.54.8" - stylus-loader "6.1.0" - terser "5.7.1" - terser-webpack-plugin "5.1.4" + source-map-support "0.5.20" + stylus "0.55.0" + stylus-loader "6.2.0" + terser "5.9.0" text-table "0.2.0" tree-kill "1.2.2" - tslib "2.3.0" - webpack "5.50.0" - webpack-dev-middleware "5.0.0" - webpack-dev-server "3.11.2" + tslib "2.3.1" + webpack "5.64.1" + webpack-dev-middleware "5.2.1" + webpack-dev-server "4.4.0" webpack-merge "5.8.0" - webpack-subresource-integrity "1.5.2" + webpack-subresource-integrity "5.0.0" optionalDependencies: - esbuild "0.13.8" + esbuild "0.13.12" -"@angular-devkit/build-optimizer@0.1202.13": - version "0.1202.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.13.tgz#7f0b13368cc2a08b1f4789ab1296a1609f5049ea" - integrity sha512-XX6rX5+mAl+MiIJDvi5N5mBLWOoskhMJ5r/G1PEqv0CMMJSSw60zUTndjxfq/nrX0PtsV3j/aqHN4Sj0w/gumg== +"@angular-devkit/build-webpack@0.1300.3": + version "0.1300.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1300.3.tgz#c0464b6c0d5d09cdd613ed17173a7f3822da1aa3" + integrity sha512-3DNo8575FFPMqJaVMXxrIduWkrcKm5zYSCvkMOmzHLp+gx+RXQiwnoXfVJpukcE/jwK/4SWyRE8Tw75sfPJ71A== dependencies: - source-map "0.7.3" - tslib "2.3.0" - typescript "4.3.5" - -"@angular-devkit/build-webpack@0.1202.13": - version "0.1202.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1202.13.tgz#875f9f9677bb10056b52230965dc2f00bd3089dd" - integrity sha512-KafzGyHuU2gBKaSICfMTFP2niTYZ/46DKU94TQ0lCILdJZsj0NE5M/288LSCbYgu2c7srJKz+Rvb+JcYGxIZ1g== - dependencies: - "@angular-devkit/architect" "0.1202.13" + "@angular-devkit/architect" "0.1300.3" rxjs "6.6.7" -"@angular-devkit/core@12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-12.2.13.tgz#db3929d1bfce71010b37fb7c4e6c33ef80a4f35f" - integrity sha512-9csMF0p+lTvlWnutxxTZ/+pDRMIbXk/TV4MGLbcqUPPfeG3dCRwErns73xLuMTwp9qO/KCLkFqNaM6cGOoqsDA== +"@angular-devkit/core@13.0.3": + version "13.0.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.0.3.tgz#05911ab964f8cbd5cade9bd48215424836ab9c87" + integrity sha512-5yTYW6m4pkDPSYNxThm+47h+UZ6XVEfdfsXR3o+WlRG0hc18EuQ+sXZkzhvZrk5KMLlXFex4eO40RPq2vvWS/w== dependencies: - ajv "8.6.2" - ajv-formats "2.1.0" + ajv "8.6.3" + ajv-formats "2.1.1" fast-json-stable-stringify "2.1.0" magic-string "0.25.7" rxjs "6.6.7" source-map "0.7.3" -"@angular-devkit/schematics@12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-12.2.13.tgz#6464d86fa3ccd0efb5ead46c793cef9ec45c7758" - integrity sha512-LQTv72R5Ma1uowMEeii2wIoDWI4bYQyZvunqPy9jRveBTjli2yVwwcOziGCVyttwlYs46bSdxThgeEvVIako2w== +"@angular-devkit/schematics@13.0.3": + version "13.0.3" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-13.0.3.tgz#255895e10c2b025df8ee4ff93428cb2249ae5fc0" + integrity sha512-+Va1E0zJBCg5jqSfITusghoMJgPAwlU+WUs49fuGVCzfJPwfSjTKSrsbhanahMd27+Ys3rovGZq0F2JUdL801A== dependencies: - "@angular-devkit/core" "12.2.13" + "@angular-devkit/core" "13.0.3" + jsonc-parser "3.0.0" + magic-string "0.25.7" ora "5.4.1" rxjs "6.6.7" -"@angular/animations@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-12.2.13.tgz#909b79c56a85bb31c0605ed419850340b5580be9" - integrity sha512-qpdmvu+nxsKnimJ3Hc1joNuzK7xXYyE+VtNMk4K77Ao/9+5C/juGMce85DhqZCcu1xraZ3YYIrzYmL/GgdUK4g== +"@angular/animations@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.0.2.tgz#afa38f32bfa40be94730905e187279e6af69999d" + integrity sha512-ROR70rM6E13pIJzaYf0Su/ALSoBm5fIMjozey636pAq21TxTy5IfhgaBjv/vflC9psbpaySGw2H5XnwejP0gSw== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/cdk@^12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-12.2.13.tgz#1fdbe814adfd6b4ff906c6d9c4c6df07b83f09d8" - integrity sha512-zSKRhECyFqhingIeyRInIyTvYErt4gWo+x5DQr0b7YLUbU8DZSwWnG4w76Ke2s4U8T7ry1jpJBHoX/e8YBpGMg== +"@angular/cdk@^13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.0.2.tgz#48b9c00d24c9e764c0a718873acf8c6779241a35" + integrity sha512-m7RHIAXpFpgsrydhWXX1hAXRmQpQ+m9eRCYAoz8QiDCchYyVvTaxkZ8J7XGS8RtJ2EiocXSp4TlwQQrpXe+4lg== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/cli@^12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-12.2.13.tgz#ca586c14a6f83bb4390875be0a0fa709b9a2ae29" - integrity sha512-Yz6MuwdxxP6U2i8iRuCSNZeJxlLDPshT/joymCsFdjwSMGEH9Kk9DdvAfFYfzdHGdHbGrDdASJ4G+uALyNSLxw== +"@angular/cli@^13.0.3": + version "13.0.3" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-13.0.3.tgz#7d357a80dc612421115b1288291ce6278720d0a4" + integrity sha512-LDXDXDbQ1MBHVUstu4aNjFbyg5f9hLP52gEKB8Z6fQlf5CB1X5zD6UPcR4IvoYt03EFxg3DHco+ueJQ20oZUWQ== dependencies: - "@angular-devkit/architect" "0.1202.13" - "@angular-devkit/core" "12.2.13" - "@angular-devkit/schematics" "12.2.13" - "@schematics/angular" "12.2.13" + "@angular-devkit/architect" "0.1300.3" + "@angular-devkit/core" "13.0.3" + "@angular-devkit/schematics" "13.0.3" + "@schematics/angular" "13.0.3" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.3.2" ini "2.0.0" - inquirer "8.1.2" + inquirer "8.2.0" jsonc-parser "3.0.0" npm-package-arg "8.1.5" npm-pick-manifest "6.1.1" - open "8.2.1" + open "8.4.0" ora "5.4.1" - pacote "11.3.5" + pacote "12.0.2" resolve "1.20.0" semver "7.3.5" symbol-observable "4.0.0" uuid "8.3.2" -"@angular/common@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-12.2.13.tgz#fe52ffae8668c1dec41b26cdc3a749101399e1fe" - integrity sha512-I1t/jl9ojCwTJKT7PKHnk23D+vMHTHS/9qZ2nndCjzGusMK8029nn8l3tHAkwefvxZWSaLAk1MgsVcP+rHQNsQ== +"@angular/common@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.0.2.tgz#794cea4e1e626012e69ca5fc6ddb78d613b8004f" + integrity sha512-UxWzNAU/o9pP02AYB5MrnIlShirfO631NolmvP0jTSEmym1nAeDOwZIYlkgfcJMHFXFc7DBnE2XOGaTZ8if3kw== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/compiler-cli@^12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-12.2.13.tgz#3ce463263e80a861e14af2ed3ba81598060e3ce0" - integrity sha512-qmnmihl3SCRooj/mCsNIZLtnQ6qbx1/L6aMIEQosPvQhMeGMt8GCYvQPE8IZ+sahv7fih95HCWNa9TeLpOylug== +"@angular/compiler-cli@^13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.0.2.tgz#36757ecb6c7ea63a7a053791737ff39e11b4e45d" + integrity sha512-KVDntMBoPoAPdpyO3LxR2U3BO3ja5fY5Im5rzynjBCC3dnwAPPKoIlYZlFY/5ov6yVoVleeb/BOovYxHuxZBsA== dependencies: "@babel/core" "^7.8.6" - "@babel/types" "^7.8.6" canonical-path "1.0.0" chokidar "^3.0.0" convert-source-map "^1.5.1" dependency-graph "^0.11.0" magic-string "^0.25.0" - minimist "^1.2.0" reflect-metadata "^0.1.2" semver "^7.0.0" - source-map "^0.6.1" sourcemap-codec "^1.4.8" - tslib "^2.2.0" - yargs "^17.0.0" + tslib "^2.3.0" + yargs "^17.2.1" "@angular/compiler@9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== -"@angular/compiler@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-12.2.13.tgz#7eef6fdb81b9de6fd0e2cdda2ad8a084c1d9535b" - integrity sha512-L0saTTJJtxldjhaGIL6b1BCfodPOEz4Wrev3pEUK5UcODooj5HLiE/aO6jiNb8M4XTbdqByKyqvZyWzGHeexVQ== +"@angular/compiler@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.0.2.tgz#5bc1bfc1931f1ff2813f8fff8b8ceaa57b47d717" + integrity sha512-EvIFT8y5VNICrnPgiamv/z9hfQ7KjLCM52g4ssXGCeGPVj58OEfslEc3jO4BCJG7xuLm7dCuSRV0pBlJNTSYFg== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" "@angular/core@9.0.0": version "9.0.0" resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== -"@angular/core@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-12.2.13.tgz#fc40acbdcee5c5878bd249ddc0d643be724076c3" - integrity sha512-tZ5nAnmOi418JDaJIFiiP9z2JrluMJZvUvXO4QDUs52BXaL2yuP7MJ2LczWOVJXrBLZXeZGfjDjZmaFPA24grg== +"@angular/core@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.0.2.tgz#786bb1242d69e8b7a2cbae224448c27e2f1fc064" + integrity sha512-6Jbct50lncMqzwLILzfmwQRK8eOEMv0quCL3pQptEpYPSlPqKz6QRxD76BykSUOs7XYJ/KdZmu3uGcT2Q/DUVg== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/flex-layout@9.0.0-beta.30": - version "9.0.0-beta.30" - resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-9.0.0-beta.30.tgz#ca18411a8842dcfe3d175931a6ff765e8c76f950" - integrity sha512-aPiw9sfuXpV99oFtbIbTJYC+GtubdggP66qO0JH5MCX+J8btCGAOJMf9RPJWx2yyh/VoSBOt2nWSYqcY5OEv+g== +"@angular/flex-layout@12.0.0-beta.35": + version "12.0.0-beta.35" + resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-12.0.0-beta.35.tgz#b52c3c82608cbb92a119f8dcde2a5b98186fe558" + integrity sha512-nPi2MGDFuCacwWHqxF/G7lUJd2X99HbLjjUvKXnyLwyCIVgH1sfS52su2wYbVYWJRqAVAB2/VMlrtW8Khr8hDA== + dependencies: + tslib "^2.1.0" -"@angular/forms@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-12.2.13.tgz#4de90e88991c274b5d5e3ab0300267e161ba78f2" - integrity sha512-wa7I5R8sck2q+VWNL262GJTVxtpEHMys8Bt6oE+lyHB5zlZAgOXwAb8GE4XVwuc+BZU1Gvrocn21P/8KvDY1uw== +"@angular/forms@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.0.2.tgz#c4779636639b9a3c7166b223f3d5c39149b7c72d" + integrity sha512-JGgEOTH/OYr7/RlqJUPSzKQF/a55UM5PD6CgpUjAXKrCV18+zhofO05g+ibIZH3OfONntthcbKEXxMTX2EEQqg== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/language-service@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-12.2.13.tgz#326045a328f8a962287037d7a85be8120074421c" - integrity sha512-jb9s3IJuWNKTRcM90NOwvMfiy85nnKfTxxLVn8/QFMO6+Ps/hsVZNp+W/TmAEDvCkon+9q0O4hwa4MY1m/Dlkw== +"@angular/language-service@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-13.0.2.tgz#edc2ff3f7fdaa679c69d98728924539480119694" + integrity sha512-Q0pvN1cwrUz1qjTis0jsuaZ/NmByKvlLaecDfluOsf4y8AoL509A1Ih5bsN+RNR74EdYj9AmBpBx37Mf7SygWQ== -"@angular/material@^12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-12.2.13.tgz#7f92f95002a2abaa8bb115ca8f0809bdc3f7d3fc" - integrity sha512-6g2GyN4qp2D+DqY2AwrQuPB3cd9gybvQVXvNRbTPXEulHr+LgGei00ySdFHFp6RvdGSMZ4i3LM1Fq3VkFxhCfQ== +"@angular/material@^13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.0.2.tgz#bbab63f69c9227110b7e22d694fe984528b3d5c2" + integrity sha512-DbbkQFpZ73oxOuR9LkkpeUPWP31DNIG3Z94sOrtdBhX3HfbLLOCaAJAIwMl8+bEuzDgtWBmx3taUR8l4WKCO8g== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/platform-browser-dynamic@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.13.tgz#9ee6309f511da419d5d80a1a8279adc806e92f04" - integrity sha512-a7y7R3vOXhMAk9uQWK5/23DefahuF0UYJSFM/wKeVo5zR+qOCVCTfafkJMcWbuZWTrSDbVafJ1xbcWnu3+TkCg== +"@angular/platform-browser-dynamic@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.0.2.tgz#596dfbf5041210d2ecb959d2f298e86940a2adec" + integrity sha512-2wZX2oop3A1kWFcbRYqe8AxBQjT35DXf1qlGyFQoMn7D0vOAprg6X1hUK2XBItRrvwRWh3hSVhzkustTIl+r6g== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/platform-browser@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-12.2.13.tgz#769fb148b2128663d6b405d2a41023f2cdaa1c95" - integrity sha512-Ua8m2GtG2msqz/Mr/MK7s8RXud554x8cup2THVAwetyTaY5th/1LOZX0hhDIhfsxBCLHnC53LRhMbSsI0cikOg== +"@angular/platform-browser@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.0.2.tgz#b4fd97e67321e15a4b6d3f0dcb10b11e8f024cb5" + integrity sha512-fkLGr9Vj2cvFzXefyhNaqwXX90+WbpYj5cCii7S1HcbJ9qSM5ZenLp1t8mGRhmWI7odY4BrFskWOChlWFrLEkA== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" -"@angular/router@~12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-12.2.13.tgz#e5b939a9675f9d4834fee3e75eb8d040ef63b3b5" - integrity sha512-HZL/Pzp6I7fQiMLrzfEzhnqhgNcGcFjBgMMOoLp5IA1IV26rp1NU6zYJzPrXtopBx7XLl8BECehAwFqrJsu/PQ== +"@angular/router@~13.0.2": + version "13.0.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.0.2.tgz#08f80a55d594fdc1c3e75f8fffacff6d4121a5ce" + integrity sha512-AfmT845dcYPvNbUdV2ALlf++szZP3ie2d0eu7JyGWe3anV1fbDcg76RhjxFK8yVUxryrCQtEnot1VEEVlhGkyw== dependencies: - tslib "^2.2.0" + tslib "^2.3.0" "@assemblyscript/loader@^0.10.1": version "0.10.1" resolved "https://registry.yarnpkg.com/@assemblyscript/loader/-/loader-0.10.1.tgz#70e45678f06c72fa2e350e8553ec4a4d72b92e06" integrity sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": +"@babel/code-frame@^7.0.0": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.0": +"@babel/code-frame@^7.14.5", "@babel/code-frame@^7.15.8", "@babel/code-frame@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.16.0": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0", "@babel/compat-data@^7.16.0": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.14.8": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.8.tgz#20cdf7c84b5d86d83fac8710a8bc605a7ba3f010" - integrity sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.8" - "@babel/helper-compilation-targets" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.8" - "@babel/helpers" "^7.14.8" - "@babel/parser" "^7.14.8" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.8" - "@babel/types" "^7.14.8" +"@babel/core@7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.8.tgz#195b9f2bffe995d2c6c159e72fe525b4114e8c10" + integrity sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og== + dependencies: + "@babel/code-frame" "^7.15.8" + "@babel/generator" "^7.15.8" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.8" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.8" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -320,29 +307,7 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/core@^7.7.5": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.8.6": +"@babel/core@^7.12.3", "@babel/core@^7.8.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== @@ -363,25 +328,16 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@7.14.8": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz#bf86fd6af96cf3b74395a8ca409515f89423e070" - integrity sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== - dependencies: - "@babel/types" "^7.14.8" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.1", "@babel/generator@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" - integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== +"@babel/generator@7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1" + integrity sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g== dependencies: - "@babel/types" "^7.12.5" + "@babel/types" "^7.15.6" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.14.8", "@babel/generator@^7.16.0": +"@babel/generator@^7.15.8", "@babel/generator@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== @@ -390,12 +346,12 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" - integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== +"@babel/helper-annotate-as-pure@7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" + integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" @@ -419,7 +375,7 @@ "@babel/helper-explode-assignable-expression" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.16.0": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4", "@babel/helper-compilation-targets@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== @@ -479,15 +435,6 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - "@babel/helper-function-name@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" @@ -497,13 +444,6 @@ "@babel/template" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - "@babel/helper-get-function-arity@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" @@ -518,13 +458,6 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-member-expression-to-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" - integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== - dependencies: - "@babel/types" "^7.12.1" - "@babel/helper-member-expression-to-functions@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" @@ -532,36 +465,14 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-module-imports@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" - integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== - dependencies: - "@babel/types" "^7.12.5" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.16.0": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== dependencies: "@babel/types" "^7.16.0" -"@babel/helper-module-transforms@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-module-transforms@^7.14.8", "@babel/helper-module-transforms@^7.16.0": +"@babel/helper-module-transforms@^7.15.8", "@babel/helper-module-transforms@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== @@ -575,13 +486,6 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - "@babel/helper-optimise-call-expression@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" @@ -606,7 +510,7 @@ dependencies: lodash "^4.17.19" -"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": +"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4", "@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== @@ -615,16 +519,6 @@ "@babel/helper-wrap-function" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-replace-supers@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" - integrity sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" - "@babel/helper-replace-supers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" @@ -635,13 +529,6 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - "@babel/helper-simple-access@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" @@ -656,13 +543,6 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - "@babel/helper-split-export-declaration@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" @@ -695,16 +575,7 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helpers@^7.12.1": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" - integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" - -"@babel/helpers@^7.14.8", "@babel/helpers@^7.16.0": +"@babel/helpers@^7.15.4", "@babel/helpers@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== @@ -731,17 +602,12 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" - integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== - -"@babel/parser@^7.14.5", "@babel/parser@^7.14.8", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": +"@babel/parser@^7.14.7", "@babel/parser@^7.15.4", "@babel/parser@^7.15.8", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== @@ -750,16 +616,16 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.0" -"@babel/plugin-proposal-async-generator-functions@7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz#784a48c3d8ed073f65adcf30b57bcbf6c8119ace" - integrity sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== +"@babel/plugin-proposal-async-generator-functions@7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz#a3100f785fab4357987c4223ab1b02b599048403" + integrity sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.15.4" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-async-generator-functions@^7.14.7": +"@babel/plugin-proposal-async-generator-functions@^7.15.8": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== @@ -776,7 +642,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-class-static-block@^7.14.5": +"@babel/plugin-proposal-class-static-block@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== @@ -833,7 +699,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.14.7": +"@babel/plugin-proposal-object-rest-spread@^7.15.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== @@ -869,7 +735,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-private-property-in-object@^7.14.5": +"@babel/plugin-proposal-private-property-in-object@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== @@ -1025,14 +891,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.14.5": +"@babel/plugin-transform-block-scoping@^7.15.3": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.14.5": +"@babel/plugin-transform-classes@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== @@ -1090,7 +956,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-for-of@^7.14.5": +"@babel/plugin-transform-for-of@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== @@ -1128,7 +994,7 @@ "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.14.5": +"@babel/plugin-transform-modules-commonjs@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== @@ -1138,7 +1004,7 @@ "@babel/helper-simple-access" "^7.16.0" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.14.5": +"@babel/plugin-transform-modules-systemjs@^7.15.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== @@ -1157,7 +1023,7 @@ "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.14.7": +"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== @@ -1179,7 +1045,7 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.14.5", "@babel/plugin-transform-parameters@^7.16.0": +"@babel/plugin-transform-parameters@^7.15.4", "@babel/plugin-transform-parameters@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== @@ -1207,15 +1073,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-runtime@7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz#30491dad49c6059f8f8fa5ee8896a0089e987523" - integrity sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg== +"@babel/plugin-transform-runtime@7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz#9d15b1e94e1c7f6344f65a8d573597d93c6cd886" + integrity sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw== dependencies: - "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-module-imports" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.5" babel-plugin-polyfill-regenerator "^0.2.2" semver "^6.3.0" @@ -1226,7 +1092,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.14.6": +"@babel/plugin-transform-spread@^7.15.8": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== @@ -1270,30 +1136,30 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/preset-env@7.14.8": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.8.tgz#254942f5ca80ccabcfbb2a9f524c74bca574005b" - integrity sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg== +"@babel/preset-env@7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.8.tgz#f527ce5bcb121cd199f6b502bf23e420b3ff8dba" + integrity sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA== dependencies: - "@babel/compat-data" "^7.14.7" - "@babel/helper-compilation-targets" "^7.14.5" + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-async-generator-functions" "^7.14.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" + "@babel/plugin-proposal-async-generator-functions" "^7.15.8" "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-class-static-block" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.15.4" "@babel/plugin-proposal-dynamic-import" "^7.14.5" "@babel/plugin-proposal-export-namespace-from" "^7.14.5" "@babel/plugin-proposal-json-strings" "^7.14.5" "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-object-rest-spread" "^7.14.7" + "@babel/plugin-proposal-object-rest-spread" "^7.15.6" "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" "@babel/plugin-proposal-optional-chaining" "^7.14.5" "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.15.4" "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" @@ -1312,41 +1178,41 @@ "@babel/plugin-transform-arrow-functions" "^7.14.5" "@babel/plugin-transform-async-to-generator" "^7.14.5" "@babel/plugin-transform-block-scoped-functions" "^7.14.5" - "@babel/plugin-transform-block-scoping" "^7.14.5" - "@babel/plugin-transform-classes" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.15.3" + "@babel/plugin-transform-classes" "^7.15.4" "@babel/plugin-transform-computed-properties" "^7.14.5" "@babel/plugin-transform-destructuring" "^7.14.7" "@babel/plugin-transform-dotall-regex" "^7.14.5" "@babel/plugin-transform-duplicate-keys" "^7.14.5" "@babel/plugin-transform-exponentiation-operator" "^7.14.5" - "@babel/plugin-transform-for-of" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.15.4" "@babel/plugin-transform-function-name" "^7.14.5" "@babel/plugin-transform-literals" "^7.14.5" "@babel/plugin-transform-member-expression-literals" "^7.14.5" "@babel/plugin-transform-modules-amd" "^7.14.5" - "@babel/plugin-transform-modules-commonjs" "^7.14.5" - "@babel/plugin-transform-modules-systemjs" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.15.4" + "@babel/plugin-transform-modules-systemjs" "^7.15.4" "@babel/plugin-transform-modules-umd" "^7.14.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" "@babel/plugin-transform-new-target" "^7.14.5" "@babel/plugin-transform-object-super" "^7.14.5" - "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.15.4" "@babel/plugin-transform-property-literals" "^7.14.5" "@babel/plugin-transform-regenerator" "^7.14.5" "@babel/plugin-transform-reserved-words" "^7.14.5" "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-spread" "^7.15.8" "@babel/plugin-transform-sticky-regex" "^7.14.5" "@babel/plugin-transform-template-literals" "^7.14.5" "@babel/plugin-transform-typeof-symbol" "^7.14.5" "@babel/plugin-transform-unicode-escapes" "^7.14.5" "@babel/plugin-transform-unicode-regex" "^7.14.5" "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.14.8" + "@babel/types" "^7.15.6" babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.5" babel-plugin-polyfill-regenerator "^0.2.2" - core-js-compat "^3.15.0" + core-js-compat "^3.16.0" semver "^6.3.0" "@babel/preset-modules@^0.1.4": @@ -1360,10 +1226,10 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@7.14.8": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.8.tgz#7119a56f421018852694290b9f9148097391b446" - integrity sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg== +"@babel/runtime@7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== dependencies: regenerator-runtime "^0.13.4" @@ -1374,25 +1240,16 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== +"@babel/template@7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/template@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/template@^7.14.5", "@babel/template@^7.16.0": +"@babel/template@^7.15.4", "@babel/template@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== @@ -1401,22 +1258,7 @@ "@babel/parser" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5": - version "7.12.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" - integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.5" - "@babel/types" "^7.12.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/traverse@^7.13.0", "@babel/traverse@^7.14.8", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": +"@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== @@ -1431,7 +1273,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.4.4": +"@babel/types@^7.10.4", "@babel/types@^7.4.4": version "7.12.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== @@ -1440,7 +1282,7 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.16.0", "@babel/types@^7.8.6": +"@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== @@ -1509,10 +1351,10 @@ resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== -"@discoveryjs/json-ext@0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz#90420f9f9c6d3987f176a19a7d8e764271a2f55d" - integrity sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g== +"@discoveryjs/json-ext@0.5.5": + version "0.5.5" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3" + integrity sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA== "@dsherret/to-absolute-glob@^2.0.2": version "2.0.2" @@ -1527,6 +1369,17 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + "@istanbuljs/schema@^0.1.2": version "0.1.2" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" @@ -1537,17 +1390,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83" integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA== -"@jsdevtools/coverage-istanbul-loader@3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz#2a4bc65d0271df8d4435982db4af35d81754ee26" - integrity sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA== - dependencies: - convert-source-map "^1.7.0" - istanbul-lib-instrument "^4.0.3" - loader-utils "^2.0.0" - merge-source-map "^1.1.0" - schema-utils "^2.7.0" - "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -1556,10 +1398,10 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@ngtools/webpack@12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-12.2.13.tgz#44d711edfa39d175a2d655aa5c6f9968dfedcc35" - integrity sha512-krAwMyRqOaC1S0+IxAFid9F6A6ABip2DJ0tgCx26X+1Vw/d1GKtV9ZqDJFizMf5k1ywl9aBlhOazWpq5d6i+gw== +"@ngtools/webpack@13.0.3": + version "13.0.3" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.0.3.tgz#ec31dfa49dae79aeee68cc970fea6f5fd9ebc76d" + integrity sha512-sVi1Xk8pyy6Y6JODySucYfvuxb5k3IIX/oIWy8QxlFVzpeB2UMqEOevrgvtmiEbQNB1W+aYSTph6oeV+PRX5YA== "@nodelib/fs.scandir@2.1.3": version "2.1.3" @@ -1636,29 +1478,16 @@ dependencies: infer-owner "^1.0.4" -"@npmcli/run-script@^1.8.2": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-1.8.6.tgz#18314802a6660b0d4baa4c3afe7f1ad39d8c28b7" - integrity sha512-e42bVZnC6VluBZBAFEr3YrdqSspG3bgilyg4nSLBJ7TRGNCzxHa92XAHxQBLYg0BmgwO4b2mf3h/l5EkEWRn3g== +"@npmcli/run-script@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-2.0.0.tgz#9949c0cab415b17aaac279646db4f027d6f1e743" + integrity sha512-fSan/Pu11xS/TdaTpTB0MRn9guwGU8dye+x56mEVgBEd/QsybBbYcAL0phPXi8SGWFEChkQd6M9qL4y6VOpFig== dependencies: "@npmcli/node-gyp" "^1.0.2" "@npmcli/promise-spawn" "^1.3.2" - node-gyp "^7.1.0" + node-gyp "^8.2.0" read-package-json-fast "^2.0.1" -"@rollup/plugin-commonjs@^20.0.0": - version "20.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745" - integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" - "@rollup/plugin-json@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" @@ -1687,13 +1516,13 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@12.2.13": - version "12.2.13" - resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-12.2.13.tgz#5bf3e7b699a42d7fd7f7aa12bbe4534e671e7201" - integrity sha512-TrigQ9TCmAedf1J5PSSSfTC+sScYrITeAUN8a9rlkjZNvff8hHVyQaiZmhqL+egKQL828mhkqpnFUDd4QsPBIw== +"@schematics/angular@13.0.3": + version "13.0.3" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.0.3.tgz#08c5511b0e72a9934ac84545d3e49e05bd0dbf6c" + integrity sha512-qH6mnmGaDCuG1FM3vLdvSFDG394TeZO0ZvRDrw3iCYlX5Nkbz0Kvt0MPtWNZmlohwFhGlbXKVQiR++1dxa6eEA== dependencies: - "@angular-devkit/core" "12.2.13" - "@angular-devkit/schematics" "12.2.13" + "@angular-devkit/core" "13.0.3" + "@angular-devkit/schematics" "13.0.3" jsonc-parser "3.0.0" "@tootallnate/once@1": @@ -1701,11 +1530,6 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - "@types/component-emitter@^1.2.10": version "1.2.11" resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" @@ -1752,12 +1576,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== +"@types/http-proxy@^1.17.5": + version "1.17.7" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.7.tgz#30ea85cc2c868368352a37f0d0d3581e24834c6f" + integrity sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w== dependencies: - "@types/minimatch" "*" "@types/node" "*" "@types/jasmine@*": @@ -1777,7 +1600,7 @@ dependencies: "@types/jasmine" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.8": +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -1787,11 +1610,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - "@types/node@*": version "14.14.7" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" @@ -1824,25 +1642,16 @@ dependencies: "@types/node" "*" +"@types/retry@^0.12.0": + version "0.12.1" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" + integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== + "@types/selenium-webdriver@^3.0.0": version "3.0.17" resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz#50bea0c3c2acc31c959c5b1e747798b3b3d06d4b" integrity sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw== -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/webpack-sources@^0.1.5": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.8.tgz#078d75410435993ec8a0a2855e88706f3f751f81" - integrity sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.6.1" - "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -2070,34 +1879,36 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-formats@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.0.tgz#96eaf83e38d32108b66d82a9cb0cfa24886cdfeb" - integrity sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q== +ajv-formats@2.1.1, ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0, ajv-keywords@^3.5.2: +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@8.6.2: - version "8.6.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" - integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== +ajv-keywords@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.0.0.tgz#d01b3b21715b2f63d02aa511b82fc6eb3b30083c" + integrity sha512-ULd1QMjRoH6JDNUQIfDLrlE+OgZlFaxyYCjzt58uNuUQtKXt8/U+vK/8Ql0gyn/C5mqZzUWtKMqr/4YquvTrWA== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@8.6.3: + version "8.6.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@^6.1.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.3, ajv@^6.12.4, 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== @@ -2107,7 +1918,7 @@ ajv@^6.1.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0: +ajv@^8.0.0, ajv@^8.8.0: version "8.8.1" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.1.tgz#e73dd88eeb4b10bbcd82bee136e6fbe801664d18" integrity sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg== @@ -2117,11 +1928,6 @@ ajv@^8.0.0: require-from-string "^2.0.2" uri-js "^4.2.2" -alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" @@ -2132,11 +1938,6 @@ ansi-colors@4.1.1, ansi-colors@^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-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - ansi-escapes@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" @@ -2151,21 +1952,16 @@ ansi-gray@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== 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@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" @@ -2176,12 +1972,17 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + 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.0, ansi-styles@^3.2.1: +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== @@ -2372,11 +2173,6 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -2429,10 +2225,10 @@ axobject-query@2.0.2: dependencies: ast-types-flow "0.0.7" -babel-loader@8.2.2: - version "8.2.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" - integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== +babel-loader@8.2.3: + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" + integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== dependencies: find-cache-dir "^3.3.1" loader-utils "^1.4.0" @@ -2446,6 +2242,17 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-istanbul@6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + babel-plugin-polyfill-corejs2@^0.2.2: version "0.2.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" @@ -2455,7 +2262,7 @@ babel-plugin-polyfill-corejs2@^0.2.2: "@babel/helper-define-polyfill-provider" "^0.2.4" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.2: +babel-plugin-polyfill-corejs3@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== @@ -2550,6 +2357,11 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +big.js@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.1.1.tgz#63b35b19dc9775c94991ee5db7694880655d5537" + integrity sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg== + binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" @@ -2680,18 +2492,7 @@ browserify-optional@^1.0.0, browserify-optional@^1.0.1: ast-types "^0.7.0" browser-resolve "^1.8.1" -browserslist@^4.0.0, browserslist@^4.9.1: - version "4.14.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" - integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== - dependencies: - caniuse-lite "^1.0.30001157" - colorette "^1.2.1" - electron-to-chromium "^1.3.591" - escalade "^3.1.1" - node-releases "^1.1.66" - -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.4: +browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.4: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -2702,6 +2503,17 @@ browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^ node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.9.1: + version "4.14.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" + integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== + dependencies: + caniuse-lite "^1.0.30001157" + colorette "^1.2.1" + electron-to-chromium "^1.3.591" + escalade "^3.1.1" + node-releases "^1.1.66" + browserstack@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.6.0.tgz#5a56ab90987605d9c138d7a8b88128370297f9bf" @@ -2757,30 +2569,7 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@15.2.0: - version "15.2.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" - integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== - dependencies: - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cacache@^15.0.5, cacache@^15.0.6, cacache@^15.2.0: +cacache@15.3.0, cacache@^15.0.5, cacache@^15.0.6, cacache@^15.2.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -2861,31 +2650,21 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001157: - version "1.0.30001157" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" - integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== - caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280: version "1.0.30001282" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== +caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001157: + version "1.0.30001157" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" + integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== + canonical-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" @@ -2941,7 +2720,7 @@ cheerio@^1.0.0-rc.3: lodash "^4.15.0" parse5 "^3.0.1" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1: +"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1, chokidar@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== @@ -2956,7 +2735,7 @@ cheerio@^1.0.0-rc.3: optionalDependencies: fsevents "~2.3.2" -chokidar@^2.0.4, chokidar@^2.1.8: +chokidar@^2.0.4: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== @@ -3039,15 +2818,6 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -3147,20 +2917,15 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -colord@^2.9.1: - version "2.9.1" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.1.tgz#c961ea0efeb57c9f0f4834458f26cb9cc4a3f90e" - integrity sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw== - colorette@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -colorette@^1.2.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" - integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== +colorette@^2.0.10: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== colors@1.4.0, colors@^1.4.0, colors@latest: version "1.4.0" @@ -3184,11 +2949,6 @@ commander@^3.0.2: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^8.0.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -3318,7 +3078,7 @@ copy-webpack-plugin@9.0.1: schema-utils "^3.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.15.0, core-js-compat@^3.16.2: +core-js-compat@^3.16.0, core-js-compat@^3.16.2: version "3.19.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== @@ -3326,10 +3086,10 @@ core-js-compat@^3.15.0, core-js-compat@^3.16.2: browserslist "^4.17.6" semver "7.0.0" -core-js@3.16.0: - version "3.16.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.0.tgz#1d46fb33720bc1fa7f90d20431f36a5540858986" - integrity sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g== +core-js@3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.0.tgz#9e40098a9bc326c7e81b486abbd5e12b9d275176" + integrity sha512-L1TpFRWXZ76vH1yLM+z6KssLZrP8Z6GxxW4auoCj+XiViOzNPJCAuTIkn03BGdFe6Z5clX5t64wRIRypsZQrUg== core-js@^2.4.0: version "2.6.11" @@ -3370,10 +3130,10 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -critters@0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.12.tgz#32baa87526e053a41b67e19921673ed92264e2ab" - integrity sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw== +critters@0.0.14: + version "0.0.14" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.14.tgz#08e585ce9cb9b9a3eab88cafda7bde7f6cd0763f" + integrity sha512-YiBoGKfU8/xg+tVMw0KfMBgmr0TWa1JGmRXDzbQRQQaDarGUcZZtZEB25QyYrLasQZAnvqoZhSg2GW0zdsQkYQ== dependencies: chalk "^4.1.0" css-select "^4.1.3" @@ -3393,6 +3153,15 @@ cross-spawn@^6.0.0: 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" + crypto-js@^3.1.9-1: version "3.3.0" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" @@ -3405,13 +3174,6 @@ css-blank-pseudo@^0.1.4: dependencies: postcss "^7.0.5" -css-declaration-sorter@^6.0.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" - integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== - dependencies: - timsort "^0.3.0" - css-has-pseudo@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" @@ -3420,10 +3182,10 @@ css-has-pseudo@^0.10.0: postcss "^7.0.6" postcss-selector-parser "^5.0.0-rc.4" -css-loader@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.2.0.tgz#9663d9443841de957a3cb9bcea2eda65b3377071" - integrity sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g== +css-loader@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.0.tgz#9d1cf7766a9a8f0b3c6e1638309b964dbdab46d3" + integrity sha512-VmuSdQa3K+wJsl39i7X3qGBM5+ZHmtTnv65fqMGI+fzmHoYmszTVvTqC1XN8JwWDViCB1a8wgNim5SV4fb37xg== dependencies: icss-utils "^5.1.0" postcss "^8.2.15" @@ -3434,26 +3196,6 @@ css-loader@6.2.0: postcss-value-parser "^4.1.0" semver "^7.3.5" -css-minimizer-webpack-plugin@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz#8fadbdf10128cb40227bff275a4bb47412534245" - integrity sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - p-limit "^3.0.2" - postcss "^8.3.5" - schema-utils "^3.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-parse@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" - integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= - dependencies: - css "^2.0.0" - css-prefers-color-scheme@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" @@ -3490,14 +3232,6 @@ css-selector-tokenizer@^0.7.1: cssesc "^3.0.0" fastparse "^1.1.2" -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -3508,15 +3242,14 @@ css-what@^5.0.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== +css@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" + integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== dependencies: - inherits "^2.0.3" + inherits "^2.0.4" source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" + source-map-resolve "^0.6.0" cssauron@^1.4.0: version "1.4.0" @@ -3540,63 +3273,6 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.7.tgz#68c3ad1ec6a810482ec7d06b2d70fc34b6b0d70c" - integrity sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA== - dependencies: - css-declaration-sorter "^6.0.3" - cssnano-utils "^2.0.1" - postcss-calc "^8.0.0" - postcss-colormin "^5.2.1" - postcss-convert-values "^5.0.2" - postcss-discard-comments "^5.0.1" - postcss-discard-duplicates "^5.0.1" - postcss-discard-empty "^5.0.1" - postcss-discard-overridden "^5.0.1" - postcss-merge-longhand "^5.0.4" - postcss-merge-rules "^5.0.3" - postcss-minify-font-values "^5.0.1" - postcss-minify-gradients "^5.0.3" - postcss-minify-params "^5.0.2" - postcss-minify-selectors "^5.1.0" - postcss-normalize-charset "^5.0.1" - postcss-normalize-display-values "^5.0.1" - postcss-normalize-positions "^5.0.1" - postcss-normalize-repeat-style "^5.0.1" - postcss-normalize-string "^5.0.1" - postcss-normalize-timing-functions "^5.0.1" - postcss-normalize-unicode "^5.0.1" - postcss-normalize-url "^5.0.3" - postcss-normalize-whitespace "^5.0.1" - postcss-ordered-values "^5.0.2" - postcss-reduce-initial "^5.0.1" - postcss-reduce-transforms "^5.0.1" - postcss-svgo "^5.0.3" - postcss-unique-selectors "^5.0.2" - -cssnano-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" - integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== - -cssnano@^5.0.6: - version "5.0.11" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.11.tgz#743397a05e04cb87e9df44b7659850adfafc3646" - integrity sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg== - dependencies: - cssnano-preset-default "^5.1.7" - is-resolvable "^1.1.0" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - cuint@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b" @@ -3723,13 +3399,12 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== +default-gateway@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" + execa "^5.0.0" defaults@^1.0.3: version "1.0.3" @@ -3785,18 +3460,19 @@ del@^2.2.0: pinkie-promise "^2.0.0" rimraf "^2.2.8" -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" +del@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" + integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" delayed-stream@~1.0.0: version "1.0.0" @@ -4017,11 +3693,6 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz#52a353994faeb0f2a9fab3606b4e0614d1af7b58" integrity sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw== -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4074,7 +3745,7 @@ engine.io@~6.1.0: engine.io-parser "~5.0.0" ws "~8.2.3" -enhanced-resolve@^5.8.0: +enhanced-resolve@^5.8.3: version "5.8.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== @@ -4107,7 +3778,7 @@ err-code@^2.0.2: resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== -errno@^0.1.1, errno@^0.1.3: +errno@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== @@ -4156,10 +3827,10 @@ es-abstract@^1.18.0-next.1: string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" -es-module-lexer@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" - integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== es-to-primitive@^1.2.1: version "1.2.1" @@ -4239,128 +3910,231 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -esbuild-android-arm64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz#c20e875c3c98164b1ffba9b28637bdf96f5e9e7c" - integrity sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA== - -esbuild-darwin-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz#f46e6b471ddbf62265234808a6a1aa91df18a417" - integrity sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng== - -esbuild-darwin-arm64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz#a991157a6013facd4f2e14159b7da52626c90154" - integrity sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ== - -esbuild-freebsd-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz#301601d2e443ad458960e359b402a17d9500be9d" - integrity sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw== - -esbuild-freebsd-arm64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz#039a63acc12ec0892006c147ea221e55f9125a9f" - integrity sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng== - -esbuild-linux-32@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz#c537b67d7e694b60bfa2786581412838c6ba0284" - integrity sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw== - -esbuild-linux-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz#0092fc8a064001a777bfa0e3b425bb8be8f96e6a" - integrity sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w== - -esbuild-linux-arm64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz#5cd3f2bb924212971482e8dbc25c4afd09b28110" - integrity sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ== - -esbuild-linux-arm@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz#ad634f96bf2975536907aeb9fdb75a3194f4ddce" - integrity sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg== - -esbuild-linux-mips64le@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz#57857edfebf9bf65766dc8be1637f2179c990572" - integrity sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA== - -esbuild-linux-ppc64le@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz#fdb82a059a5b86bb10fb42091b4ebcf488b9cd46" - integrity sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig== - -esbuild-netbsd-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz#d7879e7123d3b2c04754ece8bd061aa6866deeff" - integrity sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q== - -esbuild-openbsd-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz#88b280b6cb0a3f6adb60abf27fc506c506a35cf0" - integrity sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw== - -esbuild-sunos-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz#229ae7c7703196a58acd0f0291ad9bebda815d63" - integrity sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw== - -esbuild-wasm@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz#f34134c187ffcfc22d476e925917f70bab40f8b0" - integrity sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA== - -esbuild-wasm@^0.12.15: - version "0.12.29" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.12.29.tgz#1d210bb7d463b2ca51c54d69bb4192d9709f6100" - integrity sha512-amSuB/qOGnTFYLOxGHDGosQbOKZnrinniPHFf6ZxzeNH7WAjLkjXluKyKAtX2YuhTkUXm9XV9igl13iqYZ44fQ== - -esbuild-windows-32@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz#892d093e32a21c0c9135e5a0ffdc380aeb70e763" - integrity sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A== - -esbuild-windows-64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz#7defd8d79ae3bb7e6f53b65a7190be7daf901686" - integrity sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg== - -esbuild-windows-arm64@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz#e59ae004496fd8a5ab67bfc7945a2e47480d6fb9" - integrity sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg== - -esbuild@0.13.8: - version "0.13.8" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.8.tgz#bd7cc51b881ab067789f88e17baca74724c1ec4f" - integrity sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw== +esbuild-android-arm64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.12.tgz#e1f199dc05405cdc6670c00fb6c793822bf8ae4c" + integrity sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw== + +esbuild-android-arm64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.14.tgz#c85083ece26be3d67e6c720e088968a98409e023" + integrity sha512-Q+Xhfp827r+ma8/DJgpMRUbDZfefsk13oePFEXEIJ4gxFbNv5+vyiYXYuKm43/+++EJXpnaYmEnu4hAKbAWYbA== + +esbuild-darwin-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.12.tgz#f5c59e622955c01f050e5a7ac9c1d41db714b94d" + integrity sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw== + +esbuild-darwin-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.14.tgz#8e4e237ad847cc54a1d3a5caee26a746b9f0b81f" + integrity sha512-YmOhRns6QBNSjpVdTahi/yZ8dscx9ai7a6OY6z5ACgOuQuaQ2Qk2qgJ0/siZ6LgD0gJFMV8UINFV5oky5TFNQQ== + +esbuild-darwin-arm64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.12.tgz#8abae74c2956a8aa568fc52c78829338c4a4b988" + integrity sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ== + +esbuild-darwin-arm64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.14.tgz#b3b5ebd40b2cb06ee0f6fb342dd4bdcca54ad273" + integrity sha512-Lp00VTli2jqZghSa68fx3fEFCPsO1hK59RMo1PRap5RUjhf55OmaZTZYnCDI0FVlCtt+gBwX5qwFt4lc6tI1xg== + +esbuild-freebsd-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.12.tgz#6ad2ab8c0364ee7dd2d6e324d876a8e60ae75d12" + integrity sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA== + +esbuild-freebsd-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.14.tgz#175ecb2fa8141428cf70ea2d5f4c27534bad53e0" + integrity sha512-BKosI3jtvTfnmsCW37B1TyxMUjkRWKqopR0CE9AF2ratdpkxdR24Vpe3gLKNyWiZ7BE96/SO5/YfhbPUzY8wKw== + +esbuild-freebsd-arm64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.12.tgz#6f38155f4c300ac4c8adde1fde3cc6a4440a8294" + integrity sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw== + +esbuild-freebsd-arm64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.14.tgz#a7d64e41d1fa581f8db7775e5200f18e67d70c4d" + integrity sha512-yd2uh0yf+fWv5114+SYTl4/1oDWtr4nN5Op+PGxAkMqHfYfLjFKpcxwCo/QOS/0NWqPVE8O41IYZlFhbEN2B8Q== + +esbuild-linux-32@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.12.tgz#b1d15e330188a8c21de75c3f0058628a3eefade7" + integrity sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ== + +esbuild-linux-32@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.14.tgz#14bdd4f6b6cfd35c65c835894651ba335c2117da" + integrity sha512-a8rOnS1oWSfkkYWXoD2yXNV4BdbDKA7PNVQ1klqkY9SoSApL7io66w5H44mTLsfyw7G6Z2vLlaLI2nz9MMAowA== + +esbuild-linux-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.12.tgz#25bd64b66162b02348e32d8f12e4c9ee61f1d070" + integrity sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q== + +esbuild-linux-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.14.tgz#7fd56851b2982fdd0cd8447ee9858c2c5711708a" + integrity sha512-yPZSoMs9W2MC3Dw+6kflKt5FfQm6Dicex9dGIr1OlHRsn3Hm7yGMUTctlkW53KknnZdOdcdd5upxvbxqymczVQ== + +esbuild-linux-arm64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.12.tgz#ba582298457cc5c9ac823a275de117620c06537f" + integrity sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA== + +esbuild-linux-arm64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.14.tgz#a55634d70679ba509adeafd68eebb9fd1ec5af6c" + integrity sha512-Lvo391ln9PzC334e+jJ2S0Rt0cxP47eoH5gFyv/E8HhOnEJTvm7A+RRnMjjHnejELacTTfYgFGQYPjLsi/jObQ== + +esbuild-linux-arm@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.12.tgz#6bc81c957bff22725688cc6359c29a25765be09b" + integrity sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw== + +esbuild-linux-arm@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.14.tgz#bb96a99677e608b31ff61f37564326d38e846ca2" + integrity sha512-8chZE4pkKRvJ/M/iwsNQ1KqsRg2RyU5eT/x2flNt/f8F2TVrDreR7I0HEeCR50wLla3B1C3wTIOzQBmjuc6uWg== + +esbuild-linux-mips64le@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.12.tgz#ef3c4aba3e585d847cbade5945a8b4a5c62c7ce2" + integrity sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g== + +esbuild-linux-mips64le@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.14.tgz#6a55362a8fd1e593dea2ecc41877beed8b8184b9" + integrity sha512-MZhgxbmrWbpY3TOE029O6l5tokG9+Yoj2hW7vdit/d/VnmneqeGrSHADuDL6qXM8L5jaCiaivb4VhsyVCpdAbQ== + +esbuild-linux-ppc64le@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.12.tgz#a21fb64e80c38bef06122e48283990fc6db578e1" + integrity sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw== + +esbuild-linux-ppc64le@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.14.tgz#9e0048587ece0a7f184ab147f20d077098045e7f" + integrity sha512-un7KMwS7fX1Un6BjfSZxTT8L5cV/8Uf4SAhM7WYy2XF8o8TI+uRxxD03svZnRNIPsN2J5cl6qV4n7Iwz+yhhVw== + +esbuild-netbsd-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.12.tgz#1ea7fc8cfce88a20a4047b867ef184049a6641ae" + integrity sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA== + +esbuild-netbsd-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.14.tgz#dcab16a4bbcfa16e2e8535dadc5f64fdc891c63b" + integrity sha512-5ekKx/YbOmmlTeNxBjh38Uh5TGn5C4uyqN17i67k18pS3J+U2hTVD7rCxcFcRS1AjNWumkVL3jWqYXadFwMS0Q== + +esbuild-openbsd-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.12.tgz#adde32f2f1b05dc4bd4fc544d6ea5a4379f9ca4d" + integrity sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ== + +esbuild-openbsd-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.14.tgz#3c7453b155ebb68dc34d5aec3bd6505337bdda08" + integrity sha512-9bzvwewHjct2Cv5XcVoE1yW5YTW12Sk838EYfA46abgnhxGoFSD1mFcaztp5HHC43AsF+hQxbSFG/RilONARUA== + +esbuild-sunos-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.12.tgz#a7ecaf52b7364fbee76dc8aa707fa3e1cff3342c" + integrity sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw== + +esbuild-sunos-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.14.tgz#85addf5fef6b5db154a955d4f2e88953359d75ce" + integrity sha512-mjMrZB76M6FmoiTvj/RGWilrioR7gVwtFBRVugr9qLarXMIU1W/pQx+ieEOtflrW61xo8w1fcxyHsVVGRvoQ0w== + +esbuild-wasm@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.13.12.tgz#1f78316c12e66ca7dffded832d5a9630b34b7657" + integrity sha512-eGdiSewbnJffEvyA0qQmr+w3HurBMVp4QhOfICzeeoL9naC8qC3PFaw6hZaqSgks5DXnQONtUGUFLsX3eXpq8A== + +esbuild-wasm@^0.13.0: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.13.14.tgz#30ca6f97ac5fd1cb9cbadbf5ef7e15c1e92023fb" + integrity sha512-QHmWpjJwXDGtMNYJBOhFT7FEqdYIWoAFmIHcBqCPlTKTAsstqUhO1QjHMa3Yvlc35hIzN1NUerEe9iWSolF+Vw== + +esbuild-windows-32@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.12.tgz#a8756033dc905c4b7bea19be69f7ee68809f8770" + integrity sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ== + +esbuild-windows-32@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.14.tgz#f77f98f30a5c636c44db2428ecdf9bcbbaedb1a7" + integrity sha512-GZa6mrx2rgfbH/5uHg0Rdw50TuOKbdoKCpEBitzmG5tsXBdce+cOL+iFO5joZc6fDVCLW3Y6tjxmSXRk/v20Hg== + +esbuild-windows-64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.12.tgz#ae694aa66ca078acb8509b2da31197ed1f40f798" + integrity sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ== + +esbuild-windows-64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.14.tgz#bc778674c40d65150d12385e0f23eb3a0badbd0d" + integrity sha512-Lsgqah24bT7ClHjLp/Pj3A9wxjhIAJyWQcrOV4jqXAFikmrp2CspA8IkJgw7HFjx6QrJuhpcKVbCAe/xw0i2yw== + +esbuild-windows-arm64@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.12.tgz#782c5a8bd6d717ea55aaafe648f9926ca36a4a88" + integrity sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ== + +esbuild-windows-arm64@0.13.14: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.14.tgz#91a8dad35ab2c4dd27cd83860742955b25a354d7" + integrity sha512-KP8FHVlWGhM7nzYtURsGnskXb/cBCPTfj0gOKfjKq2tHtYnhDZywsUG57nk7TKhhK0fL11LcejHG3LRW9RF/9A== + +esbuild@0.13.12: + version "0.13.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.12.tgz#9cac641594bf03cf34145258c093d743ebbde7ca" + integrity sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow== + optionalDependencies: + esbuild-android-arm64 "0.13.12" + esbuild-darwin-64 "0.13.12" + esbuild-darwin-arm64 "0.13.12" + esbuild-freebsd-64 "0.13.12" + esbuild-freebsd-arm64 "0.13.12" + esbuild-linux-32 "0.13.12" + esbuild-linux-64 "0.13.12" + esbuild-linux-arm "0.13.12" + esbuild-linux-arm64 "0.13.12" + esbuild-linux-mips64le "0.13.12" + esbuild-linux-ppc64le "0.13.12" + esbuild-netbsd-64 "0.13.12" + esbuild-openbsd-64 "0.13.12" + esbuild-sunos-64 "0.13.12" + esbuild-windows-32 "0.13.12" + esbuild-windows-64 "0.13.12" + esbuild-windows-arm64 "0.13.12" + +esbuild@^0.13.0: + version "0.13.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.14.tgz#98a3f7f42809abdc2b57c84565d0f713382dc1a5" + integrity sha512-xu4D+1ji9x53ocuomcY+KOrwAnWzhBu/wTEjpdgZ8I1c8i5vboYIeigMdzgY1UowYBKa2vZgVgUB32bu7gkxeg== optionalDependencies: - esbuild-android-arm64 "0.13.8" - esbuild-darwin-64 "0.13.8" - esbuild-darwin-arm64 "0.13.8" - esbuild-freebsd-64 "0.13.8" - esbuild-freebsd-arm64 "0.13.8" - esbuild-linux-32 "0.13.8" - esbuild-linux-64 "0.13.8" - esbuild-linux-arm "0.13.8" - esbuild-linux-arm64 "0.13.8" - esbuild-linux-mips64le "0.13.8" - esbuild-linux-ppc64le "0.13.8" - esbuild-netbsd-64 "0.13.8" - esbuild-openbsd-64 "0.13.8" - esbuild-sunos-64 "0.13.8" - esbuild-windows-32 "0.13.8" - esbuild-windows-64 "0.13.8" - esbuild-windows-arm64 "0.13.8" - -esbuild@^0.12.15: - version "0.12.29" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.29.tgz#be602db7c4dc78944a9dbde0d1ea19d36c1f882d" - integrity sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g== + esbuild-android-arm64 "0.13.14" + esbuild-darwin-64 "0.13.14" + esbuild-darwin-arm64 "0.13.14" + esbuild-freebsd-64 "0.13.14" + esbuild-freebsd-arm64 "0.13.14" + esbuild-linux-32 "0.13.14" + esbuild-linux-64 "0.13.14" + esbuild-linux-arm "0.13.14" + esbuild-linux-arm64 "0.13.14" + esbuild-linux-mips64le "0.13.14" + esbuild-linux-ppc64le "0.13.14" + esbuild-netbsd-64 "0.13.14" + esbuild-openbsd-64 "0.13.14" + esbuild-sunos-64 "0.13.14" + esbuild-windows-32 "0.13.14" + esbuild-windows-64 "0.13.14" + esbuild-windows-arm64 "0.13.14" escalade@^3.1.1: version "3.1.1" @@ -4450,11 +4224,6 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -4506,13 +4275,6 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4526,9 +4288,24 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= expand-brackets@^2.1.4: @@ -4650,7 +4427,7 @@ fancy-log@^1.3.3: parse-node-version "^1.0.0" time-stamp "^1.0.0" -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 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== @@ -4679,7 +4456,7 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" -fast-glob@^3.2.5: +fast-glob@^3.2.5, fast-glob@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== @@ -4768,7 +4545,7 @@ finalhandler@1.1.2, finalhandler@~1.1.2: statuses "~1.5.0" unpipe "~1.0.0" -find-cache-dir@3.3.1, find-cache-dir@^3.3.1: +find-cache-dir@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== @@ -4777,18 +4554,6 @@ find-cache-dir@3.3.1, find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-parent-dir@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.0.tgz#33c44b429ab2b2f0646299c5f9f718f376ff8d54" - integrity sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ= - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -4957,7 +4722,7 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -4981,6 +4746,11 @@ get-intrinsic@^1.0.0: has "^1.0.3" has-symbols "^1.0.1" +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -4988,6 +4758,11 @@ get-stream@^4.0.0: dependencies: pump "^3.0.0" +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -5039,10 +4814,10 @@ glob-to-regexp@^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.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== +glob@7.2.0, glob@^7.1.7: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -5063,24 +4838,12 @@ glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, gl once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - 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.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globby@^11.0.3: +globby@^11.0.1, globby@^11.0.3: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -5104,17 +4867,6 @@ globby@^5.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - globby@^8.0.1: version "8.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" @@ -5133,7 +4885,7 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -graceful-fs@^4.2.3, graceful-fs@^4.2.4, graceful-fs@^4.2.6: +graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -5271,11 +5023,16 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" -html-entities@^1.2.1, html-entities@^1.3.1: +html-entities@^1.2.1: version "1.3.1" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== +html-entities@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" + integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -5359,17 +5116,18 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== +http-proxy-middleware@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f" + integrity sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg== dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" + "@types/http-proxy" "^1.17.5" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" -http-proxy@^1.17.0, http-proxy@^1.18.1: +http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -5403,6 +5161,11 @@ https-proxy-agent@^2.2.1: agent-base "^4.3.0" debug "^3.1.0" +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== + humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" @@ -5441,10 +5204,10 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore-walk@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" - integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== +ignore-walk@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-4.0.1.tgz#fc840e8346cf88a3a9380c5b17933cd8f4d39fa3" + integrity sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw== dependencies: minimatch "^3.0.4" @@ -5484,14 +5247,6 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -5547,10 +5302,10 @@ injection-js@^2.4.0: dependencies: tslib "^2.0.0" -inquirer@8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.1.2.tgz#65b204d2cd7fb63400edd925dfe428bafd422e3d" - integrity sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q== +inquirer@8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a" + integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== dependencies: ansi-escapes "^4.2.1" chalk "^4.1.1" @@ -5560,7 +5315,7 @@ inquirer@8.1.2: figures "^3.0.0" lodash "^4.17.21" mute-stream "0.0.8" - ora "^5.3.0" + ora "^5.4.1" run-async "^2.4.0" rxjs "^7.2.0" string-width "^4.1.0" @@ -5572,33 +5327,35 @@ inside@^1.0.0: resolved "https://registry.yarnpkg.com/inside/-/inside-1.0.0.tgz#db45e993573cdb3db70b9832e8285bad46424770" integrity sha1-20Xpk1c82z23C5gy6ChbrUZCR3A= -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== +internal-ip@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-6.2.0.tgz#d5541e79716e406b74ac6b07b856ef18dc1621c1" + integrity sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg== dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" + default-gateway "^6.0.0" + ipaddr.js "^1.9.1" + is-ip "^3.1.0" + p-event "^4.2.0" -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: +ipaddr.js@1.9.1, ipaddr.js@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== +ipaddr.js@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" + integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== is-absolute@^1.0.0: version "1.0.0" @@ -5746,11 +5503,6 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" -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-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -5782,6 +5534,13 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" @@ -5819,7 +5578,7 @@ is-path-cwd@^1.0.0: resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= -is-path-cwd@^2.0.0: +is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== @@ -5831,13 +5590,6 @@ is-path-in-cwd@^1.0.0: dependencies: is-path-inside "^1.0.0" -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - is-path-inside@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" @@ -5845,12 +5597,15 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" @@ -5859,13 +5614,6 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-regex@^1.0.4, is-regex@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" @@ -5880,16 +5628,16 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-resolvable@^1.1.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@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -5978,14 +5726,20 @@ istanbul-lib-coverage@^3.0.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== -istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== +istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== dependencies: - "@babel/core" "^7.7.5" + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" + istanbul-lib-coverage "^3.2.0" semver "^6.3.0" istanbul-lib-report@^3.0.0: @@ -6052,7 +5806,7 @@ jasminewd2@^2.1.0: resolved "https://registry.yarnpkg.com/jasminewd2/-/jasminewd2-2.2.0.tgz#e37cf0b17f199cce23bea71b2039395246b4ec4e" integrity sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4= -jest-worker@^27.0.2, jest-worker@^27.0.6: +jest-worker@^27.0.6: version "27.3.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== @@ -6119,11 +5873,6 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -6250,11 +5999,6 @@ karma@~6.3.9: ua-parser-js "^0.7.30" yargs "^16.1.1" -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -6284,31 +6028,14 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -less-loader@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-10.0.1.tgz#c05aaba68d00400820275f21c2ad87cb9fa9923f" - integrity sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA== +less-loader@10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-10.2.0.tgz#97286d8797dc3dc05b1d16b0ecec5f968bdd4e32" + integrity sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg== dependencies: klona "^2.0.4" -less@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/less/-/less-4.1.1.tgz#15bf253a9939791dc690888c3ff424f3e6c7edba" - integrity sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw== - dependencies: - copy-anything "^2.0.1" - parse-node-version "^1.0.1" - tslib "^1.10.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - needle "^2.5.2" - source-map "~0.6.0" - -less@^4.1.0: +less@4.1.2, less@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/less/-/less-4.1.2.tgz#6099ee584999750c2624b65f80145f8674e4b4b0" integrity sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA== @@ -6333,13 +6060,12 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -license-webpack-plugin@2.3.20: - version "2.3.20" - resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-2.3.20.tgz#f51fb674ca31519dbedbe1c7aabc036e5a7f2858" - integrity sha512-AHVueg9clOKACSHkhmEI+PCC9x8+qsQVuKECZD3ETxETK5h/PCv5/MUzyG1gm8OMcip/s1tcNxqo9Qb7WhjGsg== +license-webpack-plugin@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/license-webpack-plugin/-/license-webpack-plugin-4.0.0.tgz#11cf6ac96559f4a987cf55d3d2a33f295ae8f13b" + integrity sha512-b9iMrROrw2fTOJBZ57h0xJfT5/1Cxg4ucYbtpWoukv4Awb2TFPfDDFVHNM8w6SYQpVfB13a5tQJxgGamqwrsyw== dependencies: - "@types/webpack-sources" "^0.1.5" - webpack-sources "^1.2.0" + webpack-sources "^3.0.0" lie@~3.3.0: version "3.3.0" @@ -6348,11 +6074,6 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" -lilconfig@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" - integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== - linebreak@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/linebreak/-/linebreak-1.0.2.tgz#4b5781733e9a9eb2849dba2f963e47c887f8aa06" @@ -6391,14 +6112,12 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@2.0.0, loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== +loader-utils@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.0.0.tgz#dfcd9d1101bc4512d4956e1d5d67577c647b47fe" + integrity sha512-ry4RE7qen73BFLgihlbyllGIW9SVWLUD5Cq9VWtzrqhntOMOJl8yEjA89d5mCUTT0puCnHo4EecO6bz+BOAS8w== dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" + big.js "^6.1.1" loader-utils@^1.4.0: version "1.4.0" @@ -6409,13 +6128,14 @@ loader-utils@^1.4.0: emojis-list "^3.0.0" json5 "^1.0.1" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" locate-path@^5.0.0: version "5.0.0" @@ -6429,17 +6149,7 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: +lodash@^4.15.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -6473,7 +6183,7 @@ loglevel-plugin-prefix@^0.8.4: resolved "https://registry.yarnpkg.com/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz#2fe0e05f1a820317d98d8c123e634c1bd84ff644" integrity sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g== -loglevel@^1.6.4, loglevel@^1.6.8: +loglevel@^1.6.4: version "1.7.0" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== @@ -6502,7 +6212,7 @@ magic-string@0.25.1: dependencies: sourcemap-codec "^1.4.1" -magic-string@0.25.7, magic-string@^0.25.0, magic-string@^0.25.7: +magic-string@0.25.7, magic-string@^0.25.0: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -6529,7 +6239,7 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^9.0.1: +make-fetch-happen@^9.0.1, make-fetch-happen@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== @@ -6551,13 +6261,6 @@ make-fetch-happen@^9.0.1: socks-proxy-agent "^6.0.0" ssri "^8.0.0" -map-age-cleaner@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6580,24 +6283,11 @@ marked@^0.7.0: resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e" integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" - integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA== - dependencies: - map-age-cleaner "^0.1.3" - mimic-fn "^3.1.0" - memfs@^3.2.2: version "3.3.0" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.3.0.tgz#4da2d1fc40a04b170a56622c7164c6be2c4cbef2" @@ -6605,14 +6295,6 @@ memfs@^3.2.2: dependencies: fs-monkey "1.0.3" -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -6625,13 +6307,6 @@ merge-source-map@1.0.4: dependencies: source-map "^0.5.6" -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -6716,11 +6391,6 @@ mime@1.6.0, mime@^1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.4: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== - mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" @@ -6736,15 +6406,10 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -mimic-fn@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" - integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== - -mini-css-extract-plugin@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz#b3508191ea479388a4715018c99dd3e6dd40d2d2" - integrity sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA== +mini-css-extract-plugin@2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.3.tgz#be742943c192b028645d4389084ef187615fff82" + integrity sha512-zekavl9mZuGyk7COjsfFY/f655AX61EKE0AthXPrmDk+oZyjZ9WzO4WPjXnnO9xl8obK2kmM6rAQrBEmk+WK1g== dependencies: schema-utils "^3.1.0" @@ -6918,7 +6583,7 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== -nanoid@^3.1.23, nanoid@^3.1.30: +nanoid@^3.1.30: version "3.1.30" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== @@ -6969,12 +6634,11 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -ng-packagr@^12.2.5: - version "12.2.5" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-12.2.5.tgz#94e965102bdeca672e942f9b7b5e203f9abe2262" - integrity sha512-iNxX8lgAMNYAfXDBJomD7SeFpG47uoyKkGCWQo78AlFS4q3fGiFEIRrX842MTuASshYVAqMaBkaKPOajPx7VXw== +ng-packagr@^13.0.6: + version "13.0.6" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-13.0.6.tgz#879b6a053ea76bd5c2b8892a4ce7ff5f753cfb58" + integrity sha512-VKrgsV7MfBoqG+knx3tH9GzFrWhWardUskwvCjcjsFhhPRb1ekbOId/sHdPtuU82vgd6ura2WIjBzJil9MNLUA== dependencies: - "@rollup/plugin-commonjs" "^20.0.0" "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.0.0" ajv "^8.0.0" @@ -6984,13 +6648,12 @@ ng-packagr@^12.2.5: chokidar "^3.5.1" commander "^8.0.0" dependency-graph "^0.11.0" - esbuild-wasm "^0.12.15" + esbuild-wasm "^0.13.0" find-cache-dir "^3.3.1" glob "^7.1.6" injection-js "^2.4.0" jsonc-parser "^3.0.0" less "^4.1.0" - node-sass-tilde-importer "^1.0.2" ora "^5.1.0" postcss "^8.2.4" postcss-preset-env "^6.7.0" @@ -6999,9 +6662,9 @@ ng-packagr@^12.2.5: rollup-plugin-sourcemaps "^0.6.3" rxjs "^6.5.0" sass "^1.32.8" - stylus "^0.54.8" + stylus "^0.55.0" optionalDependencies: - esbuild "^0.12.15" + esbuild "^0.13.0" nice-napi@^1.0.2: version "1.0.2" @@ -7031,20 +6694,20 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== +node-gyp@^8.2.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.0.tgz#6e1112b10617f0f8559c64b3f737e8109e5a8338" + integrity sha512-Bi/oCm5bH6F+FmzfUxJpPaxMEyIhszULGR3TprmTeku8/dMFcdTcypk120NeZqEt54r1BrgEKtm2jJiuIKE28Q== dependencies: env-paths "^2.2.0" glob "^7.1.4" - graceful-fs "^4.2.3" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" nopt "^5.0.0" npmlog "^4.1.2" - request "^2.88.2" rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" + semver "^7.3.5" + tar "^6.1.2" which "^2.0.2" node-releases@^1.1.66: @@ -7057,13 +6720,6 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== -node-sass-tilde-importer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz#1a15105c153f648323b4347693fdb0f331bad1ce" - integrity sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg== - dependencies: - find-parent-dir "^0.3.0" - nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -7088,11 +6744,6 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -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== - npm-bundled@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" @@ -7130,13 +6781,13 @@ npm-package-arg@^8.0.0: semver "^7.0.0" validate-npm-package-name "^3.0.0" -npm-packlist@^2.1.4: - version "2.2.2" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" - integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== +npm-packlist@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-3.0.0.tgz#0370df5cfc2fcc8f79b8f42b37798dd9ee32c2a9" + integrity sha512-L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ== dependencies: glob "^7.1.6" - ignore-walk "^3.0.3" + ignore-walk "^4.0.1" npm-bundled "^1.1.1" npm-normalize-package-bin "^1.0.1" @@ -7169,6 +6820,13 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" @@ -7288,17 +6946,17 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -open@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/open/-/open-8.2.1.tgz#82de42da0ccbf429bc12d099dad2e0975e14e8af" - integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ== +open@8.4.0, open@^8.0.9: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== dependencies: define-lazy-prop "^2.0.0" is-docker "^2.1.1" @@ -7309,13 +6967,6 @@ opencollective-postinstall@^2.0.2: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - opn@latest: version "6.0.0" resolved "https://registry.yarnpkg.com/opn/-/opn-6.0.0.tgz#3c5b0db676d5f97da1233d1ed42d182bc5a27d2d" @@ -7335,7 +6986,7 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" -ora@5.4.1, ora@^5.1.0, ora@^5.3.0: +ora@5.4.1, ora@^5.1.0, ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== @@ -7350,13 +7001,6 @@ ora@5.4.1, ora@^5.1.0, ora@^5.3.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - os-name@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" @@ -7370,37 +7014,32 @@ os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= +p-event@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" + integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== + dependencies: + p-timeout "^3.1.0" p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@^2.0.0, p-limit@^2.2.0: +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.0.2, p-limit@^3.1.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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -7408,11 +7047,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -7420,27 +7054,35 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== +p-retry@^4.5.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.1.tgz#8fcddd5cdf7a67a0911a9cf2ef0e5df7f602316c" + integrity sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA== dependencies: - retry "^0.12.0" + "@types/retry" "^0.12.0" + retry "^0.13.1" + +p-timeout@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@11.3.5: - version "11.3.5" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-11.3.5.tgz#73cf1fc3772b533f575e39efa96c50be8c3dc9d2" - integrity sha512-fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg== +pacote@12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.2.tgz#14ae30a81fe62ec4fc18c071150e6763e932527c" + integrity sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg== dependencies: "@npmcli/git" "^2.1.0" "@npmcli/installed-package-contents" "^1.0.6" "@npmcli/promise-spawn" "^1.2.0" - "@npmcli/run-script" "^1.8.2" + "@npmcli/run-script" "^2.0.0" cacache "^15.0.5" chownr "^2.0.0" fs-minipass "^2.1.0" @@ -7448,7 +7090,7 @@ pacote@11.3.5: minipass "^3.1.3" mkdirp "^1.0.3" npm-package-arg "^8.0.1" - npm-packlist "^2.1.4" + npm-packlist "^3.0.0" npm-pick-manifest "^6.0.0" npm-registry-fetch "^11.0.0" promise-retry "^2.0.1" @@ -7551,11 +7193,6 @@ path-dirname@^1.0.0: resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -7566,7 +7203,7 @@ path-is-absolute@^1.0.0: 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.1, path-is-inside@^1.0.2: +path-is-inside@^1.0.1: 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= @@ -7576,6 +7213,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +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.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -7689,13 +7331,6 @@ piscina@3.1.0: optionalDependencies: nice-napi "^1.0.2" -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - pkg-dir@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -7708,7 +7343,7 @@ png-js@^1.0.0: resolved "https://registry.yarnpkg.com/png-js/-/png-js-1.0.0.tgz#e5484f1e8156996e383aceebb3789fd75df1874d" integrity sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g== -portfinder@^1.0.26: +portfinder@^1.0.28: version "1.0.28" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== @@ -7730,14 +7365,6 @@ postcss-attribute-case-insensitive@^4.0.1: postcss "^7.0.2" postcss-selector-parser "^6.0.2" -postcss-calc@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" - integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== - dependencies: - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - postcss-color-functional-notation@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" @@ -7780,23 +7407,6 @@ postcss-color-rebeccapurple@^4.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-colormin@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.1.tgz#6e444a806fd3c578827dbad022762df19334414d" - integrity sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.1.0" - -postcss-convert-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz#879b849dc3677c7d6bc94b6a2c1a3f0808798059" - integrity sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg== - dependencies: - postcss-value-parser "^4.1.0" - postcss-custom-media@^7.0.8: version "7.0.8" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" @@ -7828,26 +7438,6 @@ postcss-dir-pseudo-class@^5.0.0: postcss "^7.0.2" postcss-selector-parser "^5.0.0-rc.3" -postcss-discard-comments@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" - integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== - -postcss-discard-duplicates@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" - integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== - -postcss-discard-empty@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" - integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== - -postcss-discard-overridden@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" - integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== - postcss-double-position-gradients@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" @@ -7925,10 +7515,10 @@ postcss-lab-function@^2.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-loader@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.1.1.tgz#58dd0a3accd9bc87cc52eff75244db578d11301a" - integrity sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug== +postcss-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.0.tgz#714370a3f567141cf4cadcdf9575f5234d186bc5" + integrity sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA== dependencies: cosmiconfig "^7.0.0" klona "^2.0.4" @@ -7948,58 +7538,6 @@ postcss-media-minmax@^4.0.0: dependencies: postcss "^7.0.2" -postcss-merge-longhand@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz#41f4f3270282ea1a145ece078b7679f0cef21c32" - integrity sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw== - dependencies: - postcss-value-parser "^4.1.0" - stylehacks "^5.0.1" - -postcss-merge-rules@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz#b5cae31f53129812a77e3eb1eeee448f8cf1a1db" - integrity sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - cssnano-utils "^2.0.1" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" - integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-minify-gradients@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz#f970a11cc71e08e9095e78ec3a6b34b91c19550e" - integrity sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q== - dependencies: - colord "^2.9.1" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-minify-params@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz#1b644da903473fbbb18fbe07b8e239883684b85c" - integrity sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg== - dependencies: - alphanum-sort "^1.0.2" - browserslist "^4.16.6" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-minify-selectors@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" - integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -8035,81 +7573,6 @@ postcss-nesting@^7.0.0: dependencies: postcss "^7.0.2" -postcss-normalize-charset@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" - integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== - -postcss-normalize-display-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" - integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-positions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" - integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-repeat-style@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" - integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-string@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" - integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-timing-functions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" - integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-unicode@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" - integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== - dependencies: - browserslist "^4.16.0" - postcss-value-parser "^4.1.0" - -postcss-normalize-url@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz#42eca6ede57fe69075fab0f88ac8e48916ef931c" - integrity sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg== - dependencies: - is-absolute-url "^3.0.3" - normalize-url "^6.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-whitespace@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" - integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-ordered-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" - integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - postcss-overflow-shorthand@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" @@ -8183,22 +7646,6 @@ postcss-pseudo-class-any-link@^6.0.0: postcss "^7.0.2" postcss-selector-parser "^5.0.0-rc.3" -postcss-reduce-initial@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946" - integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== - dependencies: - browserslist "^4.16.0" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" - integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - postcss-replace-overflow-wrap@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" @@ -8241,7 +7688,7 @@ postcss-selector-parser@^6.0.2: uniq "^1.0.1" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: +postcss-selector-parser@^6.0.4: version "6.0.6" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== @@ -8249,22 +7696,6 @@ postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.3.tgz#d945185756e5dfaae07f9edb0d3cae7ff79f9b30" - integrity sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA== - dependencies: - postcss-value-parser "^4.1.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz#5d6893daf534ae52626708e0d62250890108c0c1" - integrity sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - postcss-url@^10.1.1: version "10.1.3" resolved "https://registry.yarnpkg.com/postcss-url/-/postcss-url-10.1.3.tgz#54120cc910309e2475ec05c2cfa8f8a2deafdf1e" @@ -8275,7 +7706,7 @@ postcss-url@^10.1.1: minimatch "~3.0.4" xxhashjs "~0.2.2" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== @@ -8289,13 +7720,13 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@8.3.6: - version "8.3.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" - integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== +postcss@8.3.11, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.7: + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" + nanoid "^3.1.30" + picocolors "^1.0.0" source-map-js "^0.6.2" postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: @@ -8306,15 +7737,6 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0. picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.5, postcss@^8.3.7: - version "8.3.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" - integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^0.6.2" - prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -8435,11 +7857,6 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - quote-stream@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" @@ -8630,7 +8047,7 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request@^2.87.0, request@^2.88.2: +request@^2.87.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -8676,13 +8093,6 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -8693,6 +8103,11 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +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-url-loader@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" @@ -8714,7 +8129,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.20.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0: +resolve@1.20.0, resolve@^1.14.2, resolve@^1.19.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -8755,6 +8170,11 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -8854,22 +8274,15 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.1.0.tgz#b73324622231009da6fba61ab76013256380d201" - integrity sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg== +sass-loader@12.3.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.3.0.tgz#93278981c189c36a58cbfc37d4b9cef0cdc02871" + integrity sha512-6l9qwhdOb7qSrtOu96QQ81LVl8v6Dp9j1w3akOm0aWHyrTYtagDt5+kS32N4yq4hHk3M+rdqoRMH+lIdqvW6HA== dependencies: klona "^2.0.4" neo-async "^2.6.2" -sass@1.36.0: - version "1.36.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.36.0.tgz#5912ef9d5d16714171ba11cb17edb274c4bbc07e" - integrity sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg== - dependencies: - chokidar ">=3.0.0 <4.0.0" - -sass@^1.32.8: +sass@1.43.4, sass@^1.32.8: version "1.43.4" resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== @@ -8888,16 +8301,7 @@ sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4, sax@~1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5, schema-utils@^2.7.0: +schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -8915,6 +8319,16 @@ schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +schema-utils@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" + integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.8.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.0.0" + scope-analyzer@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/scope-analyzer/-/scope-analyzer-2.1.1.tgz#5156c27de084d74bf75af9e9506aaf95c6e73dd6" @@ -8943,7 +8357,7 @@ selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: tmp "0.0.30" xml2js "^0.4.17" -selfsigned@^1.10.8: +selfsigned@^1.10.11: version "1.10.11" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== @@ -8962,14 +8376,14 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@7.3.5, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -9082,16 +8496,33 @@ shebang-command@^1.2.0: 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.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +signal-exit@^3.0.3: + version "3.0.6" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -9163,18 +8594,6 @@ socket.io@^4.2.0: socket.io-adapter "~2.3.3" socket.io-parser "~4.0.4" -sockjs-client@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" - integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.3" - sockjs@^0.3.21: version "0.3.21" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" @@ -9201,11 +8620,6 @@ socks@^2.6.1: ip "^1.1.5" smart-buffer "^4.1.0" -source-list-map@^2.0.0: - 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-js@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" @@ -9220,7 +8634,7 @@ source-map-loader@3.0.0: iconv-lite "^0.6.2" source-map-js "^0.6.2" -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -9239,7 +8653,15 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.19, source-map-support@^0.5.5, source-map-support@^0.5.6: +source-map-support@0.5.20: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.5, source-map-support@^0.5.6: 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== @@ -9254,7 +8676,7 @@ source-map-support@~0.4.0: dependencies: source-map "^0.5.6" -source-map-support@~0.5.19, source-map-support@~0.5.20: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -9370,11 +8792,6 @@ ssri@^8.0.1: dependencies: minipass "^3.1.1" -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - static-eval@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.1.0.tgz#a16dbe54522d7fa5ef1389129d813fd47b148014" @@ -9449,15 +8866,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" @@ -9504,13 +8912,6 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -9525,39 +8926,38 @@ strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + dependencies: + ansi-regex "^6.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -style-loader@3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.2.1.tgz#63cb920ec145c8669e9a50e92961452a1ef5dcde" - integrity sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg== - -stylehacks@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" - integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== - dependencies: - browserslist "^4.16.0" - postcss-selector-parser "^6.0.4" +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== -stylus-loader@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.1.0.tgz#7a3a719a27cb2b9617896d6da28fda94c3ed9762" - integrity sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw== +stylus-loader@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.2.0.tgz#0ba499e744e7fb9d9b3977784c8639728a7ced8c" + integrity sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg== dependencies: - fast-glob "^3.2.5" + fast-glob "^3.2.7" klona "^2.0.4" normalize-path "^3.0.0" -stylus@0.54.8, stylus@^0.54.8: - version "0.54.8" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" - integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== +stylus@0.55.0, stylus@^0.55.0: + version "0.55.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.55.0.tgz#bd404a36dd93fa87744a9dd2d2b1b8450345e5fc" + integrity sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw== dependencies: - css-parse "~2.0.0" + css "^3.0.0" debug "~3.1.0" glob "^7.1.6" mkdirp "~1.0.4" @@ -9578,13 +8978,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -9606,19 +8999,6 @@ svg-to-pdfkit@^0.1.8: dependencies: pdfkit ">=0.8.1" -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - symbol-observable@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" @@ -9641,7 +9021,7 @@ tar@^6.0.2: mkdirp "^1.0.3" yallist "^4.0.0" -tar@^6.1.0: +tar@^6.1.0, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -9653,18 +9033,6 @@ tar@^6.1.0: mkdirp "^1.0.3" yallist "^4.0.0" -terser-webpack-plugin@5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz#c369cf8a47aa9922bd0d8a94fe3d3da11a7678a1" - integrity sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA== - dependencies: - jest-worker "^27.0.2" - p-limit "^3.1.0" - schema-utils "^3.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.0" - terser-webpack-plugin@^5.1.3: version "5.2.5" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" @@ -9676,16 +9044,16 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784" - integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== +terser@5.9.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351" + integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" -terser@^5.7.0, terser@^5.7.2: +terser@^5.7.2: version "5.10.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== @@ -9694,6 +9062,15 @@ terser@^5.7.0, terser@^5.7.2: source-map "~0.7.2" source-map-support "~0.5.20" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + text-table@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -9722,11 +9099,6 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - tiny-inflate@^1.0.0, tiny-inflate@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz#122715494913a1805166aaf7c93467933eea26c4" @@ -9843,10 +9215,10 @@ ts-simple-ast@12.4.0: tslib "^1.9.0" typescript "2.9.1" -tslib@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== +tslib@2.3.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: version "1.14.1" @@ -9858,11 +9230,6 @@ tslib@^2.0.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tslib@^2.2.0, tslib@^2.3.0, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" @@ -9936,6 +9303,11 @@ type@^2.0.0: resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== +typed-assert@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/typed-assert/-/typed-assert-1.0.8.tgz#4bf9f1ce7f3f974d09c3afd7c68d12e1391a233c" + integrity sha512-5NkbXZUlmCE73Fs7gvkp1XXJWHYetPkg60QnQ2NXQmBYNFxbBr2zA8GCtaH4K2s2WhOmSlgiSTmrjrcm5tnM5g== + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" @@ -9946,16 +9318,16 @@ typescript@2.9.1: resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.1.tgz#fdb19d2c67a15d11995fd15640e373e09ab09961" integrity sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA== -typescript@4.3.5, typescript@~4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" - integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== - typescript@^4.0.3: version "4.0.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== +typescript@~4.4.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + ua-parser-js@^0.7.30: version "0.7.31" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" @@ -10105,22 +9477,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url-parse@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" - integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -10227,75 +9583,58 @@ webdriver-manager@^12.1.7: semver "^5.3.0" xml2js "^0.4.17" -webpack-dev-middleware@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz#0abe825275720e0a339978aea5f0b03b140c1584" - integrity sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw== +webpack-dev-middleware@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz#97c948144349177856a3d2d9c612cc3fee180cf1" + integrity sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ== dependencies: - colorette "^1.2.2" - mem "^8.1.1" + colorette "^2.0.10" memfs "^3.2.2" mime-types "^2.1.31" range-parser "^1.2.1" - schema-utils "^3.0.0" + schema-utils "^3.1.0" -webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== +webpack-dev-middleware@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" + integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" + colorette "^2.0.10" + memfs "^3.2.2" + mime-types "^2.1.31" range-parser "^1.2.1" - webpack-log "^2.0.0" + schema-utils "^4.0.0" -webpack-dev-server@3.11.2: - version "3.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" - integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== +webpack-dev-server@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz#10ec17088f840c9ccb2ebb0b43c49ec293206f7e" + integrity sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA== dependencies: - ansi-html "0.0.7" + ansi-html-community "^0.0.8" bonjour "^3.5.0" - chokidar "^2.1.8" + chokidar "^3.5.2" + colorette "^2.0.10" compression "^1.7.4" connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" + del "^6.0.0" express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.0" + internal-ip "^6.2.0" + ipaddr.js "^2.0.1" + open "^8.0.9" + p-retry "^4.5.0" + portfinder "^1.0.28" + schema-utils "^3.1.0" + selfsigned "^1.10.11" serve-index "^1.9.1" sockjs "^0.3.21" - sockjs-client "^1.5.0" spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" + strip-ansi "^7.0.0" url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" + webpack-dev-middleware "^5.2.1" + ws "^8.1.0" webpack-merge@5.8.0: version "5.8.0" @@ -10305,30 +9644,22 @@ webpack-merge@5.8.0: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-sources@^1.2.0, webpack-sources@^1.3.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.0: +webpack-sources@^3.0.0, webpack-sources@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== -webpack-subresource-integrity@1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz#e40b6578d3072e2d24104975249c52c66e9a743e" - integrity sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw== +webpack-subresource-integrity@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.0.0.tgz#8268b9cc1a229a8f8129ca9eeb59cde52185b6b1" + integrity sha512-x9514FpLRydO+UAQ8DY4aLtCjxmdLkuQVcDFN1kGzuusREYJ1B0rzk/iIlWiL6dnvrhEGFj2+UsdxDkP8Z4UKg== dependencies: - webpack-sources "^1.3.0" + typed-assert "^1.0.8" -webpack@5.50.0: - version "5.50.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.50.0.tgz#5562d75902a749eb4d75131f5627eac3a3192527" - integrity sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag== +webpack@5.64.1: + version "5.64.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.1.tgz#fd59840c16f04fe315f2b2598a85026f12dfa1bb" + integrity sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -10339,8 +9670,8 @@ webpack@5.50.0: acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.0" - es-module-lexer "^0.7.1" + enhanced-resolve "^5.8.3" + es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -10353,7 +9684,7 @@ webpack@5.50.0: tapable "^2.1.1" terser-webpack-plugin "^5.1.3" watchpack "^2.2.0" - webpack-sources "^3.2.0" + webpack-sources "^3.2.2" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" @@ -10381,7 +9712,7 @@ which@^1.2.1, which@^1.2.9: dependencies: isexe "^2.0.0" -which@^2.0.2: +which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -10417,15 +9748,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -10449,14 +9771,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -ws@~8.2.3: +ws@^8.1.0, ws@~8.2.3: version "8.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== @@ -10508,19 +9823,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -10534,22 +9841,6 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" @@ -10580,7 +9871,7 @@ yargs@^16.1.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.0: +yargs@^17.2.1: version "17.2.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q== From ccca79f10a53bcf1f5565f5c79cc7d401e773476 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 09:12:26 +0100 Subject: [PATCH 07/16] feat(monaco): bump to v0.30.1 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 3581221a..56f569dc 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@angular/platform-browser": "~13.0.2", "@angular/platform-browser-dynamic": "~13.0.2", "@angular/router": "~13.0.2", - "monaco-editor": "^0.24.0", + "monaco-editor": "^0.30.1", "rxjs": "6.5.3", "tslib": "^2.3.1", "zone.js": "~0.11.4" diff --git a/yarn.lock b/yarn.lock index b68a6fc7..a0039ea3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6519,10 +6519,10 @@ mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -monaco-editor@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.24.0.tgz#990b55096bcc95d08d8d28e55264c6eb17707269" - integrity sha512-o1f0Lz6ABFNTtnEqqqvlY9qzNx24rQZx1RgYNQ8SkWkE+Ka63keHH/RqxQ4QhN4fs/UYOnvAtEUZsPrzccH++A== +monaco-editor@^0.30.1: + version "0.30.1" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.30.1.tgz#47f8d18a0aa2264fc5654581741ab8d7bec01689" + integrity sha512-B/y4+b2O5G2gjuxIFtCE2EkM17R2NM7/3F8x0qcPsqy4V83bitJTIO4TIeZpYlzu/xy6INiY/+84BEm6+7Cmzg== morgan@^1.9.1: version "1.10.0" From 629d23d5d6b05b48d6b1d2a6b67b0647da201f47 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 10:24:32 +0100 Subject: [PATCH 08/16] feat: improve monaco type handling --- package.json | 2 +- src/demo/polyfills.ts | 2 +- src/ngx-monaco-editor/ng-package.json | 2 +- src/ngx-monaco-editor/ng-package.prod.json | 2 +- src/ngx-monaco-editor/package.json | 6 +- .../src/lib/interfaces/index.ts | 5 +- .../src/lib/interfaces/monaco.ts | 7804 +++++++++++++++++ src/ngx-monaco-editor/src/public_api.ts | 1 - src/ngx-monaco-editor/tsconfig.lib.prod.json | 2 +- tsconfig.json | 5 + 10 files changed, 7819 insertions(+), 12 deletions(-) create mode 100644 src/ngx-monaco-editor/src/lib/interfaces/monaco.ts diff --git a/package.json b/package.json index 56f569dc..4440a1cc 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "build:doc": "rimraf ./docs/* && npm run build && npm run compodoc && ncp ./documentation ./docs/api-reference && ncp ./dist/demo ./docs && node ./scripts/docs-postbuild.js", "copy:readme": "ncp README.md ./dist/ngx-monaco-editor/README.MD", "copy:license": "ncp LICENSE ./dist/ngx-monaco-editor/LICENSE", - "copy-src:types": "cp node_modules/monaco-editor/monaco.d.ts src/ngx-monaco-editor/src/lib/interfaces", + "copy-src:types": "cp node_modules/monaco-editor/monaco.d.ts src/ngx-monaco-editor/src/lib/interfaces/monaco.ts", "copy-dist:types": "cp node_modules/monaco-editor/monaco.d.ts dist/ngx-monaco-editor", "compodoc": "./node_modules/.bin/compodoc -p src/ngx-monaco-editor/tsconfig.lib.json --theme=material" }, diff --git a/src/demo/polyfills.ts b/src/demo/polyfills.ts index bcd5dbf6..43e73666 100644 --- a/src/demo/polyfills.ts +++ b/src/demo/polyfills.ts @@ -40,7 +40,7 @@ /** Evergreen browsers require these. **/ // Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. -import 'core-js/es7/reflect'; +// import 'core-js/es7/reflect'; /** * By default, zone.js will patch all possible macroTask and DomEvents diff --git a/src/ngx-monaco-editor/ng-package.json b/src/ngx-monaco-editor/ng-package.json index 989630e9..66d61535 100644 --- a/src/ngx-monaco-editor/ng-package.json +++ b/src/ngx-monaco-editor/ng-package.json @@ -5,7 +5,7 @@ "lib": { "entryFile": "src/public_api.ts" }, - "whitelistedNonPeerDependencies": [ + "allowedNonPeerDependencies": [ "tslib" ] } diff --git a/src/ngx-monaco-editor/ng-package.prod.json b/src/ngx-monaco-editor/ng-package.prod.json index cc096127..012a4fa6 100644 --- a/src/ngx-monaco-editor/ng-package.prod.json +++ b/src/ngx-monaco-editor/ng-package.prod.json @@ -4,7 +4,7 @@ "lib": { "entryFile": "src/public_api.ts" }, - "whitelistedNonPeerDependencies": [ + "allowedNonPeerDependencies": [ "tslib" ] } diff --git a/src/ngx-monaco-editor/package.json b/src/ngx-monaco-editor/package.json index 8921201e..d002c003 100644 --- a/src/ngx-monaco-editor/package.json +++ b/src/ngx-monaco-editor/package.json @@ -30,8 +30,8 @@ "tslib": "^2.0.0" }, "peerDependencies": { - "@angular/common": "9.x || 10.x || 11.x || 12.x", - "@angular/core": "9.x || 10.x || 11.x || 12.x", - "rxjs": "6.x" + "@angular/common": "13.x", + "@angular/core": "13.x", + "rxjs": "6.x | 7.x" } } diff --git a/src/ngx-monaco-editor/src/lib/interfaces/index.ts b/src/ngx-monaco-editor/src/lib/interfaces/index.ts index e5f10eb0..10db2d90 100644 --- a/src/ngx-monaco-editor/src/lib/interfaces/index.ts +++ b/src/ngx-monaco-editor/src/lib/interfaces/index.ts @@ -1,8 +1,7 @@ -/// -declare const monaco: any; +/// export const MONACO_PATH = 'MONACO_PATH'; export type MonacoEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions; -export type MonacoDiffEditorConstructionOptions = monaco.editor.IDiffEditorConstructionOptions; +export type MonacoDiffEditorConstructionOptions = monaco.editor.IStandaloneDiffEditorConstructionOptions; export type MonacoEditorUri = monaco.Uri; export type MonacoStandaloneCodeEditor = monaco.editor.IStandaloneCodeEditor; export type MonacoStandaloneDiffEditor = monaco.editor.IStandaloneDiffEditor; diff --git a/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts b/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts new file mode 100644 index 00000000..13ae66a6 --- /dev/null +++ b/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts @@ -0,0 +1,7804 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Type definitions for monaco-editor + * Released under the MIT license +*-----------------------------------------------------------*/ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + +declare let MonacoEnvironment: monaco.Environment | undefined; + +interface Window { + MonacoEnvironment?: monaco.Environment | undefined; +} + +declare namespace monaco { + + export type Thenable = PromiseLike; + + export interface Environment { + globalAPI?: boolean; + baseUrl?: string; + getWorker?(workerId: string, label: string): Worker; + getWorkerUrl?(workerId: string, label: string): string; + } + + export interface IDisposable { + dispose(): void; + } + + export interface IEvent { + (listener: (e: T) => any, thisArg?: any): IDisposable; + } + + /** + * A helper that allows to emit and listen to typed events + */ + export class Emitter { + constructor(); + readonly event: IEvent; + fire(event: T): void; + dispose(): void; + } + + + export enum MarkerTag { + Unnecessary = 1, + Deprecated = 2 + } + + export enum MarkerSeverity { + Hint = 1, + Info = 2, + Warning = 4, + Error = 8 + } + + export class CancellationTokenSource { + constructor(parent?: CancellationToken); + get token(): CancellationToken; + cancel(): void; + dispose(cancel?: boolean): void; + } + + export interface CancellationToken { + /** + * A flag signalling is cancellation has been requested. + */ + readonly isCancellationRequested: boolean; + /** + * An event which fires when cancellation is requested. This event + * only ever fires `once` as cancellation can only happen once. Listeners + * that are registered after cancellation will be called (next event loop run), + * but also only once. + * + * @event + */ + readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable; + } + /** + * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986. + * This class is a simple parser which creates the basic component parts + * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation + * and encoding. + * + * ```txt + * foo://example.com:8042/over/there?name=ferret#nose + * \_/ \______________/\_________/ \_________/ \__/ + * | | | | | + * scheme authority path query fragment + * | _____________________|__ + * / \ / \ + * urn:example:animal:ferret:nose + * ``` + */ + export class Uri implements UriComponents { + static isUri(thing: any): thing is Uri; + /** + * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'. + * The part before the first colon. + */ + readonly scheme: string; + /** + * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'. + * The part between the first double slashes and the next slash. + */ + readonly authority: string; + /** + * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'. + */ + readonly path: string; + /** + * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'. + */ + readonly query: string; + /** + * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'. + */ + readonly fragment: string; + /** + * Returns a string representing the corresponding file system path of this Uri. + * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the + * platform specific path separator. + * + * * Will *not* validate the path for invalid characters and semantics. + * * Will *not* look at the scheme of this Uri. + * * The result shall *not* be used for display purposes but for accessing a file on disk. + * + * + * The *difference* to `Uri#path` is the use of the platform specific separator and the handling + * of UNC paths. See the below sample of a file-uri with an authority (UNC path). + * + * ```ts + const u = Uri.parse('file://server/c$/folder/file.txt') + u.authority === 'server' + u.path === '/shares/c$/file.txt' + u.fsPath === '\\server\c$\folder\file.txt' + ``` + * + * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path, + * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working + * with URIs that represent files on disk (`file` scheme). + */ + get fsPath(): string; + with(change: { + scheme?: string; + authority?: string | null; + path?: string | null; + query?: string | null; + fragment?: string | null; + }): Uri; + /** + * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`, + * `file:///usr/home`, or `scheme:with/path`. + * + * @param value A string which represents an Uri (see `Uri#toString`). + */ + static parse(value: string, _strict?: boolean): Uri; + /** + * Creates a new Uri from a file system path, e.g. `c:\my\files`, + * `/usr/home`, or `\\server\share\some\path`. + * + * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument + * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as** + * `Uri.parse('file://' + path)` because the path might contain characters that are + * interpreted (# and ?). See the following sample: + * ```ts + const good = Uri.file('/coding/c#/project1'); + good.scheme === 'file'; + good.path === '/coding/c#/project1'; + good.fragment === ''; + const bad = Uri.parse('file://' + '/coding/c#/project1'); + bad.scheme === 'file'; + bad.path === '/coding/c'; // path is now broken + bad.fragment === '/project1'; + ``` + * + * @param path A file system path (see `Uri#fsPath`) + */ + static file(path: string): Uri; + static from(components: { + scheme: string; + authority?: string; + path?: string; + query?: string; + fragment?: string; + }): Uri; + /** + * Join a Uri path with path fragments and normalizes the resulting path. + * + * @param uri The input Uri. + * @param pathFragment The path fragment to add to the Uri path. + * @returns The resulting Uri. + */ + static joinPath(uri: Uri, ...pathFragment: string[]): Uri; + /** + * Creates a string representation for this Uri. It's guaranteed that calling + * `Uri.parse` with the result of this function creates an Uri which is equal + * to this Uri. + * + * * The result shall *not* be used for display purposes but for externalization or transport. + * * The result will be encoded using the percentage encoding and encoding happens mostly + * ignore the scheme-specific encoding rules. + * + * @param skipEncoding Do not encode the result, default is `false` + */ + toString(skipEncoding?: boolean): string; + toJSON(): UriComponents; + static revive(data: UriComponents | Uri): Uri; + static revive(data: UriComponents | Uri | undefined): Uri | undefined; + static revive(data: UriComponents | Uri | null): Uri | null; + static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null; + } + + export interface UriComponents { + scheme: string; + authority: string; + path: string; + query: string; + fragment: string; + } + /** + * Virtual Key Codes, the value does not hold any inherent meaning. + * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx + * But these are "more general", as they should work across browsers & OS`s. + */ + export enum KeyCode { + DependsOnKbLayout = -1, + /** + * Placed first to cover the 0 value of the enum. + */ + Unknown = 0, + Backspace = 1, + Tab = 2, + Enter = 3, + Shift = 4, + Ctrl = 5, + Alt = 6, + PauseBreak = 7, + CapsLock = 8, + Escape = 9, + Space = 10, + PageUp = 11, + PageDown = 12, + End = 13, + Home = 14, + LeftArrow = 15, + UpArrow = 16, + RightArrow = 17, + DownArrow = 18, + Insert = 19, + Delete = 20, + Digit0 = 21, + Digit1 = 22, + Digit2 = 23, + Digit3 = 24, + Digit4 = 25, + Digit5 = 26, + Digit6 = 27, + Digit7 = 28, + Digit8 = 29, + Digit9 = 30, + KeyA = 31, + KeyB = 32, + KeyC = 33, + KeyD = 34, + KeyE = 35, + KeyF = 36, + KeyG = 37, + KeyH = 38, + KeyI = 39, + KeyJ = 40, + KeyK = 41, + KeyL = 42, + KeyM = 43, + KeyN = 44, + KeyO = 45, + KeyP = 46, + KeyQ = 47, + KeyR = 48, + KeyS = 49, + KeyT = 50, + KeyU = 51, + KeyV = 52, + KeyW = 53, + KeyX = 54, + KeyY = 55, + KeyZ = 56, + Meta = 57, + ContextMenu = 58, + F1 = 59, + F2 = 60, + F3 = 61, + F4 = 62, + F5 = 63, + F6 = 64, + F7 = 65, + F8 = 66, + F9 = 67, + F10 = 68, + F11 = 69, + F12 = 70, + F13 = 71, + F14 = 72, + F15 = 73, + F16 = 74, + F17 = 75, + F18 = 76, + F19 = 77, + NumLock = 78, + ScrollLock = 79, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the ';:' key + */ + Semicolon = 80, + /** + * For any country/region, the '+' key + * For the US standard keyboard, the '=+' key + */ + Equal = 81, + /** + * For any country/region, the ',' key + * For the US standard keyboard, the ',<' key + */ + Comma = 82, + /** + * For any country/region, the '-' key + * For the US standard keyboard, the '-_' key + */ + Minus = 83, + /** + * For any country/region, the '.' key + * For the US standard keyboard, the '.>' key + */ + Period = 84, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the '/?' key + */ + Slash = 85, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the '`~' key + */ + Backquote = 86, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the '[{' key + */ + BracketLeft = 87, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the '\|' key + */ + Backslash = 88, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the ']}' key + */ + BracketRight = 89, + /** + * Used for miscellaneous characters; it can vary by keyboard. + * For the US standard keyboard, the ''"' key + */ + Quote = 90, + /** + * Used for miscellaneous characters; it can vary by keyboard. + */ + OEM_8 = 91, + /** + * Either the angle bracket key or the backslash key on the RT 102-key keyboard. + */ + IntlBackslash = 92, + Numpad0 = 93, + Numpad1 = 94, + Numpad2 = 95, + Numpad3 = 96, + Numpad4 = 97, + Numpad5 = 98, + Numpad6 = 99, + Numpad7 = 100, + Numpad8 = 101, + Numpad9 = 102, + NumpadMultiply = 103, + NumpadAdd = 104, + NUMPAD_SEPARATOR = 105, + NumpadSubtract = 106, + NumpadDecimal = 107, + NumpadDivide = 108, + /** + * Cover all key codes when IME is processing input. + */ + KEY_IN_COMPOSITION = 109, + ABNT_C1 = 110, + ABNT_C2 = 111, + AudioVolumeMute = 112, + AudioVolumeUp = 113, + AudioVolumeDown = 114, + BrowserSearch = 115, + BrowserHome = 116, + BrowserBack = 117, + BrowserForward = 118, + MediaTrackNext = 119, + MediaTrackPrevious = 120, + MediaStop = 121, + MediaPlayPause = 122, + LaunchMediaPlayer = 123, + LaunchMail = 124, + LaunchApp2 = 125, + /** + * Placed last to cover the length of the enum. + * Please do not depend on this value! + */ + MAX_VALUE = 126 + } + export class KeyMod { + static readonly CtrlCmd: number; + static readonly Shift: number; + static readonly Alt: number; + static readonly WinCtrl: number; + static chord(firstPart: number, secondPart: number): number; + } + + export interface IMarkdownString { + readonly value: string; + readonly isTrusted?: boolean; + readonly supportThemeIcons?: boolean; + readonly supportHtml?: boolean; + uris?: { + [href: string]: UriComponents; + }; + } + + export interface IKeyboardEvent { + readonly _standardKeyboardEventBrand: true; + readonly browserEvent: KeyboardEvent; + readonly target: HTMLElement; + readonly ctrlKey: boolean; + readonly shiftKey: boolean; + readonly altKey: boolean; + readonly metaKey: boolean; + readonly keyCode: KeyCode; + readonly code: string; + equals(keybinding: number): boolean; + preventDefault(): void; + stopPropagation(): void; + } + export interface IMouseEvent { + readonly browserEvent: MouseEvent; + readonly leftButton: boolean; + readonly middleButton: boolean; + readonly rightButton: boolean; + readonly buttons: number; + readonly target: HTMLElement; + readonly detail: number; + readonly posx: number; + readonly posy: number; + readonly ctrlKey: boolean; + readonly shiftKey: boolean; + readonly altKey: boolean; + readonly metaKey: boolean; + readonly timestamp: number; + preventDefault(): void; + stopPropagation(): void; + } + + export interface IScrollEvent { + readonly scrollTop: number; + readonly scrollLeft: number; + readonly scrollWidth: number; + readonly scrollHeight: number; + readonly scrollTopChanged: boolean; + readonly scrollLeftChanged: boolean; + readonly scrollWidthChanged: boolean; + readonly scrollHeightChanged: boolean; + } + /** + * A position in the editor. This interface is suitable for serialization. + */ + export interface IPosition { + /** + * line number (starts at 1) + */ + readonly lineNumber: number; + /** + * column (the first character in a line is between column 1 and column 2) + */ + readonly column: number; + } + + /** + * A position in the editor. + */ + export class Position { + /** + * line number (starts at 1) + */ + readonly lineNumber: number; + /** + * column (the first character in a line is between column 1 and column 2) + */ + readonly column: number; + constructor(lineNumber: number, column: number); + /** + * Create a new position from this position. + * + * @param newLineNumber new line number + * @param newColumn new column + */ + with(newLineNumber?: number, newColumn?: number): Position; + /** + * Derive a new position from this position. + * + * @param deltaLineNumber line number delta + * @param deltaColumn column delta + */ + delta(deltaLineNumber?: number, deltaColumn?: number): Position; + /** + * Test if this position equals other position + */ + equals(other: IPosition): boolean; + /** + * Test if position `a` equals position `b` + */ + static equals(a: IPosition | null, b: IPosition | null): boolean; + /** + * Test if this position is before other position. + * If the two positions are equal, the result will be false. + */ + isBefore(other: IPosition): boolean; + /** + * Test if position `a` is before position `b`. + * If the two positions are equal, the result will be false. + */ + static isBefore(a: IPosition, b: IPosition): boolean; + /** + * Test if this position is before other position. + * If the two positions are equal, the result will be true. + */ + isBeforeOrEqual(other: IPosition): boolean; + /** + * Test if position `a` is before position `b`. + * If the two positions are equal, the result will be true. + */ + static isBeforeOrEqual(a: IPosition, b: IPosition): boolean; + /** + * A function that compares positions, useful for sorting + */ + static compare(a: IPosition, b: IPosition): number; + /** + * Clone this position. + */ + clone(): Position; + /** + * Convert to a human-readable representation. + */ + toString(): string; + /** + * Create a `Position` from an `IPosition`. + */ + static lift(pos: IPosition): Position; + /** + * Test if `obj` is an `IPosition`. + */ + static isIPosition(obj: any): obj is IPosition; + } + + /** + * A range in the editor. This interface is suitable for serialization. + */ + export interface IRange { + /** + * Line number on which the range starts (starts at 1). + */ + readonly startLineNumber: number; + /** + * Column on which the range starts in line `startLineNumber` (starts at 1). + */ + readonly startColumn: number; + /** + * Line number on which the range ends. + */ + readonly endLineNumber: number; + /** + * Column on which the range ends in line `endLineNumber`. + */ + readonly endColumn: number; + } + + /** + * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn) + */ + export class Range { + /** + * Line number on which the range starts (starts at 1). + */ + readonly startLineNumber: number; + /** + * Column on which the range starts in line `startLineNumber` (starts at 1). + */ + readonly startColumn: number; + /** + * Line number on which the range ends. + */ + readonly endLineNumber: number; + /** + * Column on which the range ends in line `endLineNumber`. + */ + readonly endColumn: number; + constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number); + /** + * Test if this range is empty. + */ + isEmpty(): boolean; + /** + * Test if `range` is empty. + */ + static isEmpty(range: IRange): boolean; + /** + * Test if position is in this range. If the position is at the edges, will return true. + */ + containsPosition(position: IPosition): boolean; + /** + * Test if `position` is in `range`. If the position is at the edges, will return true. + */ + static containsPosition(range: IRange, position: IPosition): boolean; + /** + * Test if range is in this range. If the range is equal to this range, will return true. + */ + containsRange(range: IRange): boolean; + /** + * Test if `otherRange` is in `range`. If the ranges are equal, will return true. + */ + static containsRange(range: IRange, otherRange: IRange): boolean; + /** + * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true. + */ + strictContainsRange(range: IRange): boolean; + /** + * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false. + */ + static strictContainsRange(range: IRange, otherRange: IRange): boolean; + /** + * A reunion of the two ranges. + * The smallest position will be used as the start point, and the largest one as the end point. + */ + plusRange(range: IRange): Range; + /** + * A reunion of the two ranges. + * The smallest position will be used as the start point, and the largest one as the end point. + */ + static plusRange(a: IRange, b: IRange): Range; + /** + * A intersection of the two ranges. + */ + intersectRanges(range: IRange): Range | null; + /** + * A intersection of the two ranges. + */ + static intersectRanges(a: IRange, b: IRange): Range | null; + /** + * Test if this range equals other. + */ + equalsRange(other: IRange | null): boolean; + /** + * Test if range `a` equals `b`. + */ + static equalsRange(a: IRange | null, b: IRange | null): boolean; + /** + * Return the end position (which will be after or equal to the start position) + */ + getEndPosition(): Position; + /** + * Return the end position (which will be after or equal to the start position) + */ + static getEndPosition(range: IRange): Position; + /** + * Return the start position (which will be before or equal to the end position) + */ + getStartPosition(): Position; + /** + * Return the start position (which will be before or equal to the end position) + */ + static getStartPosition(range: IRange): Position; + /** + * Transform to a user presentable string representation. + */ + toString(): string; + /** + * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position. + */ + setEndPosition(endLineNumber: number, endColumn: number): Range; + /** + * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position. + */ + setStartPosition(startLineNumber: number, startColumn: number): Range; + /** + * Create a new empty range using this range's start position. + */ + collapseToStart(): Range; + /** + * Create a new empty range using this range's start position. + */ + static collapseToStart(range: IRange): Range; + static fromPositions(start: IPosition, end?: IPosition): Range; + /** + * Create a `Range` from an `IRange`. + */ + static lift(range: undefined | null): null; + static lift(range: IRange): Range; + /** + * Test if `obj` is an `IRange`. + */ + static isIRange(obj: any): obj is IRange; + /** + * Test if the two ranges are touching in any way. + */ + static areIntersectingOrTouching(a: IRange, b: IRange): boolean; + /** + * Test if the two ranges are intersecting. If the ranges are touching it returns true. + */ + static areIntersecting(a: IRange, b: IRange): boolean; + /** + * A function that compares ranges, useful for sorting ranges + * It will first compare ranges on the startPosition and then on the endPosition + */ + static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number; + /** + * A function that compares ranges, useful for sorting ranges + * It will first compare ranges on the endPosition and then on the startPosition + */ + static compareRangesUsingEnds(a: IRange, b: IRange): number; + /** + * Test if the range spans multiple lines. + */ + static spansMultipleLines(range: IRange): boolean; + } + + /** + * A selection in the editor. + * The selection is a range that has an orientation. + */ + export interface ISelection { + /** + * The line number on which the selection has started. + */ + readonly selectionStartLineNumber: number; + /** + * The column on `selectionStartLineNumber` where the selection has started. + */ + readonly selectionStartColumn: number; + /** + * The line number on which the selection has ended. + */ + readonly positionLineNumber: number; + /** + * The column on `positionLineNumber` where the selection has ended. + */ + readonly positionColumn: number; + } + + /** + * A selection in the editor. + * The selection is a range that has an orientation. + */ + export class Selection extends Range { + /** + * The line number on which the selection has started. + */ + readonly selectionStartLineNumber: number; + /** + * The column on `selectionStartLineNumber` where the selection has started. + */ + readonly selectionStartColumn: number; + /** + * The line number on which the selection has ended. + */ + readonly positionLineNumber: number; + /** + * The column on `positionLineNumber` where the selection has ended. + */ + readonly positionColumn: number; + constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number); + /** + * Transform to a human-readable representation. + */ + toString(): string; + /** + * Test if equals other selection. + */ + equalsSelection(other: ISelection): boolean; + /** + * Test if the two selections are equal. + */ + static selectionsEqual(a: ISelection, b: ISelection): boolean; + /** + * Get directions (LTR or RTL). + */ + getDirection(): SelectionDirection; + /** + * Create a new selection with a different `positionLineNumber` and `positionColumn`. + */ + setEndPosition(endLineNumber: number, endColumn: number): Selection; + /** + * Get the position at `positionLineNumber` and `positionColumn`. + */ + getPosition(): Position; + /** + * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`. + */ + setStartPosition(startLineNumber: number, startColumn: number): Selection; + /** + * Create a `Selection` from one or two positions + */ + static fromPositions(start: IPosition, end?: IPosition): Selection; + /** + * Create a `Selection` from an `ISelection`. + */ + static liftSelection(sel: ISelection): Selection; + /** + * `a` equals `b`. + */ + static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean; + /** + * Test if `obj` is an `ISelection`. + */ + static isISelection(obj: any): obj is ISelection; + /** + * Create with a direction. + */ + static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection; + } + + /** + * The direction of a selection. + */ + export enum SelectionDirection { + /** + * The selection starts above where it ends. + */ + LTR = 0, + /** + * The selection starts below where it ends. + */ + RTL = 1 + } + + export class Token { + _tokenBrand: void; + readonly offset: number; + readonly type: string; + readonly language: string; + constructor(offset: number, type: string, language: string); + toString(): string; + } +} + +declare namespace monaco.editor { + + export interface IDiffNavigator { + canNavigate(): boolean; + next(): void; + previous(): void; + dispose(): void; + } + + /** + * Create a new editor under `domElement`. + * `domElement` should be empty (not contain other dom nodes). + * The editor will read the size of `domElement`. + */ + export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor; + + /** + * Emitted when an editor is created. + * Creating a diff editor might cause this listener to be invoked with the two editors. + * @event + */ + export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable; + + /** + * Create a new diff editor under `domElement`. + * `domElement` should be empty (not contain other dom nodes). + * The editor will read the size of `domElement`. + */ + export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor; + + export interface IDiffNavigatorOptions { + readonly followsCaret?: boolean; + readonly ignoreCharChanges?: boolean; + readonly alwaysRevealFirst?: boolean; + } + + export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator; + + /** + * Create a new editor model. + * You can specify the language that should be set for this model or let the language be inferred from the `uri`. + */ + export function createModel(value: string, language?: string, uri?: Uri): ITextModel; + + /** + * Change the language for a model. + */ + export function setModelLanguage(model: ITextModel, languageId: string): void; + + /** + * Set the markers for a model. + */ + export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void; + + /** + * Get markers for owner and/or resource + * + * @returns list of markers + */ + export function getModelMarkers(filter: { + owner?: string; + resource?: Uri; + take?: number; + }): IMarker[]; + + /** + * Emitted when markers change for a model. + * @event + */ + export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable; + + /** + * Get the model that has `uri` if it exists. + */ + export function getModel(uri: Uri): ITextModel | null; + + /** + * Get all the created models. + */ + export function getModels(): ITextModel[]; + + /** + * Emitted when a model is created. + * @event + */ + export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable; + + /** + * Emitted right before a model is disposed. + * @event + */ + export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable; + + /** + * Emitted when a different language is set to a model. + * @event + */ + export function onDidChangeModelLanguage(listener: (e: { + readonly model: ITextModel; + readonly oldLanguage: string; + }) => void): IDisposable; + + /** + * Create a new web worker that has model syncing capabilities built in. + * Specify an AMD module to load that will `create` an object that will be proxied. + */ + export function createWebWorker(opts: IWebWorkerOptions): MonacoWebWorker; + + /** + * Colorize the contents of `domNode` using attribute `data-lang`. + */ + export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise; + + /** + * Colorize `text` using language `languageId`. + */ + export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise; + + /** + * Colorize a line in a model. + */ + export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string; + + /** + * Tokenize `text` using language `languageId` + */ + export function tokenize(text: string, languageId: string): Token[][]; + + /** + * Define a new theme or update an existing theme. + */ + export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void; + + /** + * Switches to a theme. + */ + export function setTheme(themeName: string): void; + + /** + * Clears all cached font measurements and triggers re-measurement. + */ + export function remeasureFonts(): void; + + /** + * Register a command. + */ + export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable; + + export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black'; + + export interface IStandaloneThemeData { + base: BuiltinTheme; + inherit: boolean; + rules: ITokenThemeRule[]; + encodedTokensColors?: string[]; + colors: IColors; + } + + export type IColors = { + [colorId: string]: string; + }; + + export interface ITokenThemeRule { + token: string; + foreground?: string; + background?: string; + fontStyle?: string; + } + + /** + * A web worker that can provide a proxy to an arbitrary file. + */ + export interface MonacoWebWorker { + /** + * Terminate the web worker, thus invalidating the returned proxy. + */ + dispose(): void; + /** + * Get a proxy to the arbitrary loaded code. + */ + getProxy(): Promise; + /** + * Synchronize (send) the models at `resources` to the web worker, + * making them available in the monaco.worker.getMirrorModels(). + */ + withSyncedResources(resources: Uri[]): Promise; + } + + export interface IWebWorkerOptions { + /** + * The AMD moduleId to load. + * It should export a function `create` that should return the exported proxy. + */ + moduleId: string; + /** + * The data to send over when calling create on the module. + */ + createData?: any; + /** + * A label to be used to identify the web worker for debugging purposes. + */ + label?: string; + /** + * An object that can be used by the web worker to make calls back to the main thread. + */ + host?: any; + /** + * Keep idle models. + * Defaults to false, which means that idle models will stop syncing after a while. + */ + keepIdleModels?: boolean; + } + + /** + * Description of an action contribution + */ + export interface IActionDescriptor { + /** + * An unique identifier of the contributed action. + */ + id: string; + /** + * A label of the action that will be presented to the user. + */ + label: string; + /** + * Precondition rule. + */ + precondition?: string; + /** + * An array of keybindings for the action. + */ + keybindings?: number[]; + /** + * The keybinding rule (condition on top of precondition). + */ + keybindingContext?: string; + /** + * Control if the action should show up in the context menu and where. + * The context menu of the editor has these default: + * navigation - The navigation group comes first in all cases. + * 1_modification - This group comes next and contains commands that modify your code. + * 9_cutcopypaste - The last default group with the basic editing commands. + * You can also create your own group. + * Defaults to null (don't show in context menu). + */ + contextMenuGroupId?: string; + /** + * Control the order in the context menu group. + */ + contextMenuOrder?: number; + /** + * Method that will be executed when the action is triggered. + * @param editor The editor instance is passed in as a convenience + */ + run(editor: ICodeEditor, ...args: any[]): void | Promise; + } + + /** + * Options which apply for all editors. + */ + export interface IGlobalEditorOptions { + /** + * The number of spaces a tab is equal to. + * This setting is overridden based on the file contents when `detectIndentation` is on. + * Defaults to 4. + */ + tabSize?: number; + /** + * Insert spaces when pressing `Tab`. + * This setting is overridden based on the file contents when `detectIndentation` is on. + * Defaults to true. + */ + insertSpaces?: boolean; + /** + * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents. + * Defaults to true. + */ + detectIndentation?: boolean; + /** + * Remove trailing auto inserted whitespace. + * Defaults to true. + */ + trimAutoWhitespace?: boolean; + /** + * Special handling for large files to disable certain memory intensive features. + * Defaults to true. + */ + largeFileOptimizations?: boolean; + /** + * Controls whether completions should be computed based on words in the document. + * Defaults to true. + */ + wordBasedSuggestions?: boolean; + /** + * Controls whether word based completions should be included from opened documents of the same language or any language. + */ + wordBasedSuggestionsOnlySameLanguage?: boolean; + /** + * Controls whether the semanticHighlighting is shown for the languages that support it. + * true: semanticHighlighting is enabled for all themes + * false: semanticHighlighting is disabled for all themes + * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting. + * Defaults to 'byTheme'. + */ + 'semanticHighlighting.enabled'?: true | false | 'configuredByTheme'; + /** + * Keep peek editors open even when double clicking their content or when hitting `Escape`. + * Defaults to false. + */ + stablePeek?: boolean; + /** + * Lines above this length will not be tokenized for performance reasons. + * Defaults to 20000. + */ + maxTokenizationLineLength?: number; + /** + * Theme to be used for rendering. + * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'. + * You can create custom themes via `monaco.editor.defineTheme`. + * To switch a theme, use `monaco.editor.setTheme`. + * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false. + */ + theme?: string; + /** + * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. + * Defaults to true. + */ + autoDetectHighContrast?: boolean; + } + + /** + * The options to create an editor. + */ + export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions { + /** + * The initial model associated with this code editor. + */ + model?: ITextModel | null; + /** + * The initial value of the auto created model in the editor. + * To not automatically create a model, use `model: null`. + */ + value?: string; + /** + * The initial language of the auto created model in the editor. + * To not automatically create a model, use `model: null`. + */ + language?: string; + /** + * Initial theme to be used for rendering. + * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'. + * You can create custom themes via `monaco.editor.defineTheme`. + * To switch a theme, use `monaco.editor.setTheme`. + * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false. + */ + theme?: string; + /** + * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. + * Defaults to true. + */ + autoDetectHighContrast?: boolean; + /** + * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in + * the accessibility help dialog in the editor. + * + * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450" + */ + accessibilityHelpUrl?: string; + /** + * Container element to use for ARIA messages. + * Defaults to document.body. + */ + ariaContainerElement?: HTMLElement; + } + + /** + * The options to create a diff editor. + */ + export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions { + /** + * Initial theme to be used for rendering. + * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'. + * You can create custom themes via `monaco.editor.defineTheme`. + * To switch a theme, use `monaco.editor.setTheme`. + * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false. + */ + theme?: string; + /** + * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme. + * Defaults to true. + */ + autoDetectHighContrast?: boolean; + } + + export interface IStandaloneCodeEditor extends ICodeEditor { + updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void; + addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null; + createContextKey(key: string, defaultValue: T): IContextKey; + addAction(descriptor: IActionDescriptor): IDisposable; + } + + export interface IStandaloneDiffEditor extends IDiffEditor { + addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null; + createContextKey(key: string, defaultValue: T): IContextKey; + addAction(descriptor: IActionDescriptor): IDisposable; + getOriginalEditor(): IStandaloneCodeEditor; + getModifiedEditor(): IStandaloneCodeEditor; + } + export interface ICommandHandler { + (...args: any[]): void; + } + + export interface IContextKey { + set(value: T): void; + reset(): void; + get(): T | undefined; + } + + export interface IEditorOverrideServices { + [index: string]: any; + } + + export interface IMarker { + owner: string; + resource: Uri; + severity: MarkerSeverity; + code?: string | { + value: string; + target: Uri; + }; + message: string; + source?: string; + startLineNumber: number; + startColumn: number; + endLineNumber: number; + endColumn: number; + relatedInformation?: IRelatedInformation[]; + tags?: MarkerTag[]; + } + + /** + * A structure defining a problem/warning/etc. + */ + export interface IMarkerData { + code?: string | { + value: string; + target: Uri; + }; + severity: MarkerSeverity; + message: string; + source?: string; + startLineNumber: number; + startColumn: number; + endLineNumber: number; + endColumn: number; + relatedInformation?: IRelatedInformation[]; + tags?: MarkerTag[]; + } + + /** + * + */ + export interface IRelatedInformation { + resource: Uri; + message: string; + startLineNumber: number; + startColumn: number; + endLineNumber: number; + endColumn: number; + } + + export interface IColorizerOptions { + tabSize?: number; + } + + export interface IColorizerElementOptions extends IColorizerOptions { + theme?: string; + mimeType?: string; + } + + export enum ScrollbarVisibility { + Auto = 1, + Hidden = 2, + Visible = 3 + } + + export interface ThemeColor { + id: string; + } + + /** + * Vertical Lane in the overview ruler of the editor. + */ + export enum OverviewRulerLane { + Left = 1, + Center = 2, + Right = 4, + Full = 7 + } + + /** + * Position in the minimap to render the decoration. + */ + export enum MinimapPosition { + Inline = 1, + Gutter = 2 + } + + export interface IDecorationOptions { + /** + * CSS color to render. + * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry + */ + color: string | ThemeColor | undefined; + /** + * CSS color to render. + * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry + */ + darkColor?: string | ThemeColor; + } + + /** + * Options for rendering a model decoration in the overview ruler. + */ + export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions { + /** + * The position in the overview ruler. + */ + position: OverviewRulerLane; + } + + /** + * Options for rendering a model decoration in the overview ruler. + */ + export interface IModelDecorationMinimapOptions extends IDecorationOptions { + /** + * The position in the overview ruler. + */ + position: MinimapPosition; + } + + /** + * Options for a model decoration. + */ + export interface IModelDecorationOptions { + /** + * Customize the growing behavior of the decoration when typing at the edges of the decoration. + * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges + */ + stickiness?: TrackedRangeStickiness; + /** + * CSS class name describing the decoration. + */ + className?: string | null; + /** + * Message to be rendered when hovering over the glyph margin decoration. + */ + glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null; + /** + * Array of MarkdownString to render as the decoration message. + */ + hoverMessage?: IMarkdownString | IMarkdownString[] | null; + /** + * Should the decoration expand to encompass a whole line. + */ + isWholeLine?: boolean; + /** + * Specifies the stack order of a decoration. + * A decoration with greater stack order is always in front of a decoration with + * a lower stack order when the decorations are on the same line. + */ + zIndex?: number; + /** + * If set, render this decoration in the overview ruler. + */ + overviewRuler?: IModelDecorationOverviewRulerOptions | null; + /** + * If set, render this decoration in the minimap. + */ + minimap?: IModelDecorationMinimapOptions | null; + /** + * If set, the decoration will be rendered in the glyph margin with this CSS class name. + */ + glyphMarginClassName?: string | null; + /** + * If set, the decoration will be rendered in the lines decorations with this CSS class name. + */ + linesDecorationsClassName?: string | null; + /** + * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping. + */ + firstLineDecorationClassName?: string | null; + /** + * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name. + */ + marginClassName?: string | null; + /** + * If set, the decoration will be rendered inline with the text with this CSS class name. + * Please use this only for CSS rules that must impact the text. For example, use `className` + * to have a background color decoration. + */ + inlineClassName?: string | null; + /** + * If there is an `inlineClassName` which affects letter spacing. + */ + inlineClassNameAffectsLetterSpacing?: boolean; + /** + * If set, the decoration will be rendered before the text with this CSS class name. + */ + beforeContentClassName?: string | null; + /** + * If set, the decoration will be rendered after the text with this CSS class name. + */ + afterContentClassName?: string | null; + /** + * If set, text will be injected in the view after the range. + */ + after?: InjectedTextOptions | null; + /** + * If set, text will be injected in the view before the range. + */ + before?: InjectedTextOptions | null; + } + + /** + * Configures text that is injected into the view without changing the underlying document. + */ + export interface InjectedTextOptions { + /** + * Sets the text to inject. Must be a single line. + */ + readonly content: string; + /** + * If set, the decoration will be rendered inline with the text with this CSS class name. + */ + readonly inlineClassName?: string | null; + /** + * If there is an `inlineClassName` which affects letter spacing. + */ + readonly inlineClassNameAffectsLetterSpacing?: boolean; + } + + /** + * New model decorations. + */ + export interface IModelDeltaDecoration { + /** + * Range that this decoration covers. + */ + range: IRange; + /** + * Options associated with this decoration. + */ + options: IModelDecorationOptions; + } + + /** + * A decoration in the model. + */ + export interface IModelDecoration { + /** + * Identifier for a decoration. + */ + readonly id: string; + /** + * Identifier for a decoration's owner. + */ + readonly ownerId: number; + /** + * Range that this decoration covers. + */ + readonly range: Range; + /** + * Options associated with this decoration. + */ + readonly options: IModelDecorationOptions; + } + + /** + * Word inside a model. + */ + export interface IWordAtPosition { + /** + * The word. + */ + readonly word: string; + /** + * The column where the word starts. + */ + readonly startColumn: number; + /** + * The column where the word ends. + */ + readonly endColumn: number; + } + + /** + * End of line character preference. + */ + export enum EndOfLinePreference { + /** + * Use the end of line character identified in the text buffer. + */ + TextDefined = 0, + /** + * Use line feed (\n) as the end of line character. + */ + LF = 1, + /** + * Use carriage return and line feed (\r\n) as the end of line character. + */ + CRLF = 2 + } + + /** + * The default end of line to use when instantiating models. + */ + export enum DefaultEndOfLine { + /** + * Use line feed (\n) as the end of line character. + */ + LF = 1, + /** + * Use carriage return and line feed (\r\n) as the end of line character. + */ + CRLF = 2 + } + + /** + * End of line character preference. + */ + export enum EndOfLineSequence { + /** + * Use line feed (\n) as the end of line character. + */ + LF = 0, + /** + * Use carriage return and line feed (\r\n) as the end of line character. + */ + CRLF = 1 + } + + /** + * A single edit operation, that acts as a simple replace. + * i.e. Replace text at `range` with `text` in model. + */ + export interface ISingleEditOperation { + /** + * The range to replace. This can be empty to emulate a simple insert. + */ + range: IRange; + /** + * The text to replace with. This can be null to emulate a simple delete. + */ + text: string | null; + /** + * This indicates that this operation has "insert" semantics. + * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved. + */ + forceMoveMarkers?: boolean; + } + + /** + * A single edit operation, that has an identifier. + */ + export interface IIdentifiedSingleEditOperation { + /** + * The range to replace. This can be empty to emulate a simple insert. + */ + range: IRange; + /** + * The text to replace with. This can be null to emulate a simple delete. + */ + text: string | null; + /** + * This indicates that this operation has "insert" semantics. + * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved. + */ + forceMoveMarkers?: boolean; + } + + export interface IValidEditOperation { + /** + * The range to replace. This can be empty to emulate a simple insert. + */ + range: Range; + /** + * The text to replace with. This can be empty to emulate a simple delete. + */ + text: string; + } + + /** + * A callback that can compute the cursor state after applying a series of edit operations. + */ + export interface ICursorStateComputer { + /** + * A callback that can compute the resulting cursors state after some edit operations have been executed. + */ + (inverseEditOperations: IValidEditOperation[]): Selection[] | null; + } + + export class TextModelResolvedOptions { + _textModelResolvedOptionsBrand: void; + readonly tabSize: number; + readonly indentSize: number; + readonly insertSpaces: boolean; + readonly defaultEOL: DefaultEndOfLine; + readonly trimAutoWhitespace: boolean; + readonly bracketPairColorizationOptions: BracketPairColorizationOptions; + } + + export interface BracketPairColorizationOptions { + enabled: boolean; + } + + export interface ITextModelUpdateOptions { + tabSize?: number; + indentSize?: number; + insertSpaces?: boolean; + trimAutoWhitespace?: boolean; + bracketColorizationOptions?: BracketPairColorizationOptions; + } + + export class FindMatch { + _findMatchBrand: void; + readonly range: Range; + readonly matches: string[] | null; + } + + /** + * Describes the behavior of decorations when typing/editing near their edges. + * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior` + */ + export enum TrackedRangeStickiness { + AlwaysGrowsWhenTypingAtEdges = 0, + NeverGrowsWhenTypingAtEdges = 1, + GrowsOnlyWhenTypingBefore = 2, + GrowsOnlyWhenTypingAfter = 3 + } + + /** + * A model. + */ + export interface ITextModel { + /** + * Gets the resource associated with this editor model. + */ + readonly uri: Uri; + /** + * A unique identifier associated with this model. + */ + readonly id: string; + /** + * Get the resolved options for this model. + */ + getOptions(): TextModelResolvedOptions; + /** + * Get the current version id of the model. + * Anytime a change happens to the model (even undo/redo), + * the version id is incremented. + */ + getVersionId(): number; + /** + * Get the alternative version id of the model. + * This alternative version id is not always incremented, + * it will return the same values in the case of undo-redo. + */ + getAlternativeVersionId(): number; + /** + * Replace the entire text buffer value contained in this model. + */ + setValue(newValue: string): void; + /** + * Get the text stored in this model. + * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`. + * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed. + * @return The text. + */ + getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string; + /** + * Get the length of the text stored in this model. + */ + getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number; + /** + * Get the text in a certain range. + * @param range The range describing what text to get. + * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`. + * @return The text. + */ + getValueInRange(range: IRange, eol?: EndOfLinePreference): string; + /** + * Get the length of text in a certain range. + * @param range The range describing what text length to get. + * @return The text length. + */ + getValueLengthInRange(range: IRange): number; + /** + * Get the character count of text in a certain range. + * @param range The range describing what text length to get. + */ + getCharacterCountInRange(range: IRange): number; + /** + * Get the number of lines in the model. + */ + getLineCount(): number; + /** + * Get the text for a certain line. + */ + getLineContent(lineNumber: number): string; + /** + * Get the text length for a certain line. + */ + getLineLength(lineNumber: number): number; + /** + * Get the text for all lines. + */ + getLinesContent(): string[]; + /** + * Get the end of line sequence predominantly used in the text buffer. + * @return EOL char sequence (e.g.: '\n' or '\r\n'). + */ + getEOL(): string; + /** + * Get the end of line sequence predominantly used in the text buffer. + */ + getEndOfLineSequence(): EndOfLineSequence; + /** + * Get the minimum legal column for line at `lineNumber` + */ + getLineMinColumn(lineNumber: number): number; + /** + * Get the maximum legal column for line at `lineNumber` + */ + getLineMaxColumn(lineNumber: number): number; + /** + * Returns the column before the first non whitespace character for line at `lineNumber`. + * Returns 0 if line is empty or contains only whitespace. + */ + getLineFirstNonWhitespaceColumn(lineNumber: number): number; + /** + * Returns the column after the last non whitespace character for line at `lineNumber`. + * Returns 0 if line is empty or contains only whitespace. + */ + getLineLastNonWhitespaceColumn(lineNumber: number): number; + /** + * Create a valid position, + */ + validatePosition(position: IPosition): Position; + /** + * Advances the given position by the given offset (negative offsets are also accepted) + * and returns it as a new valid position. + * + * If the offset and position are such that their combination goes beyond the beginning or + * end of the model, throws an exception. + * + * If the offset is such that the new position would be in the middle of a multi-byte + * line terminator, throws an exception. + */ + modifyPosition(position: IPosition, offset: number): Position; + /** + * Create a valid range. + */ + validateRange(range: IRange): Range; + /** + * Converts the position to a zero-based offset. + * + * The position will be [adjusted](#TextDocument.validatePosition). + * + * @param position A position. + * @return A valid zero-based offset. + */ + getOffsetAt(position: IPosition): number; + /** + * Converts a zero-based offset to a position. + * + * @param offset A zero-based offset. + * @return A valid [position](#Position). + */ + getPositionAt(offset: number): Position; + /** + * Get a range covering the entire model + */ + getFullModelRange(): Range; + /** + * Returns if the model was disposed or not. + */ + isDisposed(): boolean; + /** + * Search the model. + * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true. + * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model. + * @param isRegex Used to indicate that `searchString` is a regular expression. + * @param matchCase Force the matching to match lower/upper case exactly. + * @param wordSeparators Force the matching to match entire words only. Pass null otherwise. + * @param captureMatches The result will contain the captured groups. + * @param limitResultCount Limit the number of results + * @return The ranges where the matches are. It is empty if not matches have been found. + */ + findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[]; + /** + * Search the model. + * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true. + * @param searchScope Limit the searching to only search inside these ranges. + * @param isRegex Used to indicate that `searchString` is a regular expression. + * @param matchCase Force the matching to match lower/upper case exactly. + * @param wordSeparators Force the matching to match entire words only. Pass null otherwise. + * @param captureMatches The result will contain the captured groups. + * @param limitResultCount Limit the number of results + * @return The ranges where the matches are. It is empty if no matches have been found. + */ + findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[]; + /** + * Search the model for the next match. Loops to the beginning of the model if needed. + * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true. + * @param searchStart Start the searching at the specified position. + * @param isRegex Used to indicate that `searchString` is a regular expression. + * @param matchCase Force the matching to match lower/upper case exactly. + * @param wordSeparators Force the matching to match entire words only. Pass null otherwise. + * @param captureMatches The result will contain the captured groups. + * @return The range where the next match is. It is null if no next match has been found. + */ + findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null; + /** + * Search the model for the previous match. Loops to the end of the model if needed. + * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true. + * @param searchStart Start the searching at the specified position. + * @param isRegex Used to indicate that `searchString` is a regular expression. + * @param matchCase Force the matching to match lower/upper case exactly. + * @param wordSeparators Force the matching to match entire words only. Pass null otherwise. + * @param captureMatches The result will contain the captured groups. + * @return The range where the previous match is. It is null if no previous match has been found. + */ + findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null; + /** + * Get the language associated with this model. + */ + getLanguageId(): string; + /** + * Get the word under or besides `position`. + * @param position The position to look for a word. + * @return The word under or besides `position`. Might be null. + */ + getWordAtPosition(position: IPosition): IWordAtPosition | null; + /** + * Get the word under or besides `position` trimmed to `position`.column + * @param position The position to look for a word. + * @return The word under or besides `position`. Will never be null. + */ + getWordUntilPosition(position: IPosition): IWordAtPosition; + /** + * Perform a minimum amount of operations, in order to transform the decorations + * identified by `oldDecorations` to the decorations described by `newDecorations` + * and returns the new identifiers associated with the resulting decorations. + * + * @param oldDecorations Array containing previous decorations identifiers. + * @param newDecorations Array describing what decorations should result after the call. + * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model. + * @return An array containing the new decorations identifiers. + */ + deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[]; + /** + * Get the options associated with a decoration. + * @param id The decoration id. + * @return The decoration options or null if the decoration was not found. + */ + getDecorationOptions(id: string): IModelDecorationOptions | null; + /** + * Get the range associated with a decoration. + * @param id The decoration id. + * @return The decoration range or null if the decoration was not found. + */ + getDecorationRange(id: string): Range | null; + /** + * Gets all the decorations for the line `lineNumber` as an array. + * @param lineNumber The line number + * @param ownerId If set, it will ignore decorations belonging to other owners. + * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors). + * @return An array with the decorations + */ + getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[]; + /** + * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array. + * @param startLineNumber The start line number + * @param endLineNumber The end line number + * @param ownerId If set, it will ignore decorations belonging to other owners. + * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors). + * @return An array with the decorations + */ + getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[]; + /** + * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering. + * So for now it returns all the decorations on the same line as `range`. + * @param range The range to search in + * @param ownerId If set, it will ignore decorations belonging to other owners. + * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors). + * @return An array with the decorations + */ + getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[]; + /** + * Gets all the decorations as an array. + * @param ownerId If set, it will ignore decorations belonging to other owners. + * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors). + */ + getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[]; + /** + * Gets all the decorations that should be rendered in the overview ruler as an array. + * @param ownerId If set, it will ignore decorations belonging to other owners. + * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors). + */ + getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[]; + /** + * Gets all the decorations that contain injected text. + * @param ownerId If set, it will ignore decorations belonging to other owners. + */ + getInjectedTextDecorations(ownerId?: number): IModelDecoration[]; + /** + * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs). + */ + normalizeIndentation(str: string): string; + /** + * Change the options of this model. + */ + updateOptions(newOpts: ITextModelUpdateOptions): void; + /** + * Detect the indentation options for this model from its content. + */ + detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void; + /** + * Close the current undo-redo element. + * This offers a way to create an undo/redo stop point. + */ + pushStackElement(): void; + /** + * Open the current undo-redo element. + * This offers a way to remove the current undo/redo stop point. + */ + popStackElement(): void; + /** + * Push edit operations, basically editing the model. This is the preferred way + * of editing the model. The edit operations will land on the undo stack. + * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked. + * @param editOperations The edit operations. + * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed. + * @return The cursor state returned by the `cursorStateComputer`. + */ + pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null; + /** + * Change the end of line sequence. This is the preferred way of + * changing the eol sequence. This will land on the undo stack. + */ + pushEOL(eol: EndOfLineSequence): void; + /** + * Edit the model without adding the edits to the undo stack. + * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way. + * @param operations The edit operations. + * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state. + */ + applyEdits(operations: IIdentifiedSingleEditOperation[]): void; + applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void; + applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[]; + /** + * Change the end of line sequence without recording in the undo stack. + * This can have dire consequences on the undo stack! See @pushEOL for the preferred way. + */ + setEOL(eol: EndOfLineSequence): void; + /** + * An event emitted when the contents of the model have changed. + * @event + */ + onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable; + /** + * An event emitted when decorations of the model have changed. + * @event + */ + onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable; + /** + * An event emitted when the model options have changed. + * @event + */ + onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable; + /** + * An event emitted when the language associated with the model has changed. + * @event + */ + onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable; + /** + * An event emitted when the language configuration associated with the model has changed. + * @event + */ + onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable; + /** + * An event emitted when the model has been attached to the first editor or detached from the last editor. + * @event + */ + onDidChangeAttached(listener: () => void): IDisposable; + /** + * An event emitted right before disposing the model. + * @event + */ + onWillDispose(listener: () => void): IDisposable; + /** + * Destroy this model. + */ + dispose(): void; + /** + * Returns if this model is attached to an editor or not. + */ + isAttachedToEditor(): boolean; + } + + /** + * A builder and helper for edit operations for a command. + */ + export interface IEditOperationBuilder { + /** + * Add a new edit operation (a replace operation). + * @param range The range to replace (delete). May be empty to represent a simple insert. + * @param text The text to replace with. May be null to represent a simple delete. + */ + addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void; + /** + * Add a new edit operation (a replace operation). + * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()` + * @param range The range to replace (delete). May be empty to represent a simple insert. + * @param text The text to replace with. May be null to represent a simple delete. + */ + addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void; + /** + * Track `selection` when applying edit operations. + * A best effort will be made to not grow/expand the selection. + * An empty selection will clamp to a nearby character. + * @param selection The selection to track. + * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection + * should clamp to the previous or the next character. + * @return A unique identifier. + */ + trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string; + } + + /** + * A helper for computing cursor state after a command. + */ + export interface ICursorStateComputerData { + /** + * Get the inverse edit operations of the added edit operations. + */ + getInverseEditOperations(): IValidEditOperation[]; + /** + * Get a previously tracked selection. + * @param id The unique identifier returned by `trackSelection`. + * @return The selection. + */ + getTrackedSelection(id: string): Selection; + } + + /** + * A command that modifies text / cursor state on a model. + */ + export interface ICommand { + /** + * Get the edit operations needed to execute this command. + * @param model The model the command will execute on. + * @param builder A helper to collect the needed edit operations and to track selections. + */ + getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void; + /** + * Compute the cursor state after the edit operations were applied. + * @param model The model the command has executed on. + * @param helper A helper to get inverse edit operations and to get previously tracked selections. + * @return The cursor state after the command executed. + */ + computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection; + } + + /** + * A model for the diff editor. + */ + export interface IDiffEditorModel { + /** + * Original model. + */ + original: ITextModel; + /** + * Modified model. + */ + modified: ITextModel; + } + + /** + * An event describing that an editor has had its model reset (i.e. `editor.setModel()`). + */ + export interface IModelChangedEvent { + /** + * The `uri` of the previous model or null. + */ + readonly oldModelUrl: Uri | null; + /** + * The `uri` of the new model or null. + */ + readonly newModelUrl: Uri | null; + } + + export interface IDimension { + width: number; + height: number; + } + + /** + * A change + */ + export interface IChange { + readonly originalStartLineNumber: number; + readonly originalEndLineNumber: number; + readonly modifiedStartLineNumber: number; + readonly modifiedEndLineNumber: number; + } + + /** + * A character level change. + */ + export interface ICharChange extends IChange { + readonly originalStartColumn: number; + readonly originalEndColumn: number; + readonly modifiedStartColumn: number; + readonly modifiedEndColumn: number; + } + + /** + * A line change + */ + export interface ILineChange extends IChange { + readonly charChanges: ICharChange[] | undefined; + } + + export interface IContentSizeChangedEvent { + readonly contentWidth: number; + readonly contentHeight: number; + readonly contentWidthChanged: boolean; + readonly contentHeightChanged: boolean; + } + + export interface INewScrollPosition { + scrollLeft?: number; + scrollTop?: number; + } + + export interface IEditorAction { + readonly id: string; + readonly label: string; + readonly alias: string; + isSupported(): boolean; + run(): Promise; + } + + export type IEditorModel = ITextModel | IDiffEditorModel; + + /** + * A (serializable) state of the cursors. + */ + export interface ICursorState { + inSelectionMode: boolean; + selectionStart: IPosition; + position: IPosition; + } + + /** + * A (serializable) state of the view. + */ + export interface IViewState { + /** written by previous versions */ + scrollTop?: number; + /** written by previous versions */ + scrollTopWithoutViewZones?: number; + scrollLeft: number; + firstPosition: IPosition; + firstPositionDeltaTop: number; + } + + /** + * A (serializable) state of the code editor. + */ + export interface ICodeEditorViewState { + cursorState: ICursorState[]; + viewState: IViewState; + contributionsState: { + [id: string]: any; + }; + } + + /** + * (Serializable) View state for the diff editor. + */ + export interface IDiffEditorViewState { + original: ICodeEditorViewState | null; + modified: ICodeEditorViewState | null; + } + + /** + * An editor view state. + */ + export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState; + + export enum ScrollType { + Smooth = 0, + Immediate = 1 + } + + /** + * An editor. + */ + export interface IEditor { + /** + * An event emitted when the editor has been disposed. + * @event + */ + onDidDispose(listener: () => void): IDisposable; + /** + * Dispose the editor. + */ + dispose(): void; + /** + * Get a unique id for this editor instance. + */ + getId(): string; + /** + * Get the editor type. Please see `EditorType`. + * This is to avoid an instanceof check + */ + getEditorType(): string; + /** + * Update the editor's options after the editor has been created. + */ + updateOptions(newOptions: IEditorOptions): void; + /** + * Instructs the editor to remeasure its container. This method should + * be called when the container of the editor gets resized. + * + * If a dimension is passed in, the passed in value will be used. + */ + layout(dimension?: IDimension): void; + /** + * Brings browser focus to the editor text + */ + focus(): void; + /** + * Returns true if the text inside this editor is focused (i.e. cursor is blinking). + */ + hasTextFocus(): boolean; + /** + * Returns all actions associated with this editor. + */ + getSupportedActions(): IEditorAction[]; + /** + * Saves current view state of the editor in a serializable object. + */ + saveViewState(): IEditorViewState | null; + /** + * Restores the view state of the editor from a serializable object generated by `saveViewState`. + */ + restoreViewState(state: IEditorViewState): void; + /** + * Given a position, returns a column number that takes tab-widths into account. + */ + getVisibleColumnFromPosition(position: IPosition): number; + /** + * Returns the primary position of the cursor. + */ + getPosition(): Position | null; + /** + * Set the primary position of the cursor. This will remove any secondary cursors. + * @param position New primary cursor's position + */ + setPosition(position: IPosition): void; + /** + * Scroll vertically as necessary and reveal a line. + */ + revealLine(lineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically as necessary and reveal a line centered vertically. + */ + revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. + */ + revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically as necessary and reveal a line close to the top of the viewport, + * optimized for viewing a code definition. + */ + revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a position. + */ + revealPosition(position: IPosition, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a position centered vertically. + */ + revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport. + */ + revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport, + * optimized for viewing a code definition. + */ + revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void; + /** + * Returns the primary selection of the editor. + */ + getSelection(): Selection | null; + /** + * Returns all the selections of the editor. + */ + getSelections(): Selection[] | null; + /** + * Set the primary selection of the editor. This will remove any secondary cursors. + * @param selection The new selection + */ + setSelection(selection: IRange): void; + /** + * Set the primary selection of the editor. This will remove any secondary cursors. + * @param selection The new selection + */ + setSelection(selection: Range): void; + /** + * Set the primary selection of the editor. This will remove any secondary cursors. + * @param selection The new selection + */ + setSelection(selection: ISelection): void; + /** + * Set the primary selection of the editor. This will remove any secondary cursors. + * @param selection The new selection + */ + setSelection(selection: Selection): void; + /** + * Set the selections for all the cursors of the editor. + * Cursors will be removed or added, as necessary. + */ + setSelections(selections: readonly ISelection[]): void; + /** + * Scroll vertically as necessary and reveal lines. + */ + revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically as necessary and reveal lines centered vertically. + */ + revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport. + */ + revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically as necessary and reveal lines close to the top of the viewport, + * optimized for viewing a code definition. + */ + revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a range. + */ + revealRange(range: IRange, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a range centered vertically. + */ + revealRangeInCenter(range: IRange, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport. + */ + revealRangeAtTop(range: IRange, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport. + */ + revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport, + * optimized for viewing a code definition. + */ + revealRangeNearTop(range: IRange, scrollType?: ScrollType): void; + /** + * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport, + * optimized for viewing a code definition. Only if it lies outside the viewport. + */ + revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void; + /** + * Directly trigger a handler or an editor action. + * @param source The source of the call. + * @param handlerId The id of the handler or the id of a contribution. + * @param payload Extra data to be sent to the handler. + */ + trigger(source: string | null | undefined, handlerId: string, payload: any): void; + /** + * Gets the current model attached to this editor. + */ + getModel(): IEditorModel | null; + /** + * Sets the current model attached to this editor. + * If the previous model was created by the editor via the value key in the options + * literal object, it will be destroyed. Otherwise, if the previous model was set + * via setModel, or the model key in the options literal object, the previous model + * will not be destroyed. + * It is safe to call setModel(null) to simply detach the current model from the editor. + */ + setModel(model: IEditorModel | null): void; + } + + /** + * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed. + */ + export interface IEditorContribution { + /** + * Dispose this contribution. + */ + dispose(): void; + /** + * Store view state. + */ + saveViewState?(): any; + /** + * Restore view state. + */ + restoreViewState?(state: any): void; + } + + /** + * The type of the `IEditor`. + */ + export const EditorType: { + ICodeEditor: string; + IDiffEditor: string; + }; + + /** + * An event describing that the current language associated with a model has changed. + */ + export interface IModelLanguageChangedEvent { + /** + * Previous language + */ + readonly oldLanguage: string; + /** + * New language + */ + readonly newLanguage: string; + } + + /** + * An event describing that the language configuration associated with a model has changed. + */ + export interface IModelLanguageConfigurationChangedEvent { + } + + export interface IModelContentChange { + /** + * The range that got replaced. + */ + readonly range: IRange; + /** + * The offset of the range that got replaced. + */ + readonly rangeOffset: number; + /** + * The length of the range that got replaced. + */ + readonly rangeLength: number; + /** + * The new text for the range. + */ + readonly text: string; + } + + /** + * An event describing a change in the text of a model. + */ + export interface IModelContentChangedEvent { + readonly changes: IModelContentChange[]; + /** + * The (new) end-of-line character. + */ + readonly eol: string; + /** + * The new version id the model has transitioned to. + */ + readonly versionId: number; + /** + * Flag that indicates that this event was generated while undoing. + */ + readonly isUndoing: boolean; + /** + * Flag that indicates that this event was generated while redoing. + */ + readonly isRedoing: boolean; + /** + * Flag that indicates that all decorations were lost with this edit. + * The model has been reset to a new value. + */ + readonly isFlush: boolean; + } + + /** + * An event describing that model decorations have changed. + */ + export interface IModelDecorationsChangedEvent { + readonly affectsMinimap: boolean; + readonly affectsOverviewRuler: boolean; + } + + export interface IModelOptionsChangedEvent { + readonly tabSize: boolean; + readonly indentSize: boolean; + readonly insertSpaces: boolean; + readonly trimAutoWhitespace: boolean; + } + + /** + * Describes the reason the cursor has changed its position. + */ + export enum CursorChangeReason { + /** + * Unknown or not set. + */ + NotSet = 0, + /** + * A `model.setValue()` was called. + */ + ContentFlush = 1, + /** + * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers. + */ + RecoverFromMarkers = 2, + /** + * There was an explicit user gesture. + */ + Explicit = 3, + /** + * There was a Paste. + */ + Paste = 4, + /** + * There was an Undo. + */ + Undo = 5, + /** + * There was a Redo. + */ + Redo = 6 + } + + /** + * An event describing that the cursor position has changed. + */ + export interface ICursorPositionChangedEvent { + /** + * Primary cursor's position. + */ + readonly position: Position; + /** + * Secondary cursors' position. + */ + readonly secondaryPositions: Position[]; + /** + * Reason. + */ + readonly reason: CursorChangeReason; + /** + * Source of the call that caused the event. + */ + readonly source: string; + } + + /** + * An event describing that the cursor selection has changed. + */ + export interface ICursorSelectionChangedEvent { + /** + * The primary selection. + */ + readonly selection: Selection; + /** + * The secondary selections. + */ + readonly secondarySelections: Selection[]; + /** + * The model version id. + */ + readonly modelVersionId: number; + /** + * The old selections. + */ + readonly oldSelections: Selection[] | null; + /** + * The model version id the that `oldSelections` refer to. + */ + readonly oldModelVersionId: number; + /** + * Source of the call that caused the event. + */ + readonly source: string; + /** + * Reason. + */ + readonly reason: CursorChangeReason; + } + + export enum AccessibilitySupport { + /** + * This should be the browser case where it is not known if a screen reader is attached or no. + */ + Unknown = 0, + Disabled = 1, + Enabled = 2 + } + + /** + * Configuration options for auto closing quotes and brackets + */ + export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'; + + /** + * Configuration options for auto wrapping quotes and brackets + */ + export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never'; + + /** + * Configuration options for typing over closing quotes or brackets + */ + export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never'; + + /** + * Configuration options for auto indentation in the editor + */ + export enum EditorAutoIndentStrategy { + None = 0, + Keep = 1, + Brackets = 2, + Advanced = 3, + Full = 4 + } + + /** + * Configuration options for the editor. + */ + export interface IEditorOptions { + /** + * This editor is used inside a diff editor. + */ + inDiffEditor?: boolean; + /** + * The aria label for the editor's textarea (when it is focused). + */ + ariaLabel?: string; + /** + * The `tabindex` property of the editor's textarea + */ + tabIndex?: number; + /** + * Render vertical lines at the specified columns. + * Defaults to empty array. + */ + rulers?: (number | IRulerOption)[]; + /** + * A string containing the word separators used when doing word navigation. + * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/? + */ + wordSeparators?: string; + /** + * Enable Linux primary clipboard. + * Defaults to true. + */ + selectionClipboard?: boolean; + /** + * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function). + * Otherwise, line numbers will not be rendered. + * Defaults to `on`. + */ + lineNumbers?: LineNumbersType; + /** + * Controls the minimal number of visible leading and trailing lines surrounding the cursor. + * Defaults to 0. + */ + cursorSurroundingLines?: number; + /** + * Controls when `cursorSurroundingLines` should be enforced + * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed + * by mouse. + */ + cursorSurroundingLinesStyle?: 'default' | 'all'; + /** + * Render last line number when the file ends with a newline. + * Defaults to true. + */ + renderFinalNewline?: boolean; + /** + * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS). + * Defaults to 'prompt'. + */ + unusualLineTerminators?: 'auto' | 'off' | 'prompt'; + /** + * Should the corresponding line be selected when clicking on the line number? + * Defaults to true. + */ + selectOnLineNumbers?: boolean; + /** + * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits. + * Defaults to 5. + */ + lineNumbersMinChars?: number; + /** + * Enable the rendering of the glyph margin. + * Defaults to true in vscode and to false in monaco-editor. + */ + glyphMargin?: boolean; + /** + * The width reserved for line decorations (in px). + * Line decorations are placed between line numbers and the editor content. + * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch. + * Defaults to 10. + */ + lineDecorationsWidth?: number | string; + /** + * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle. + * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport. + * Defaults to 30 (px). + */ + revealHorizontalRightPadding?: number; + /** + * Render the editor selection with rounded borders. + * Defaults to true. + */ + roundedSelection?: boolean; + /** + * Class name to be added to the editor. + */ + extraEditorClassName?: string; + /** + * Should the editor be read only. See also `domReadOnly`. + * Defaults to false. + */ + readOnly?: boolean; + /** + * Should the textarea used for input use the DOM `readonly` attribute. + * Defaults to false. + */ + domReadOnly?: boolean; + /** + * Enable linked editing. + * Defaults to false. + */ + linkedEditing?: boolean; + /** + * deprecated, use linkedEditing instead + */ + renameOnType?: boolean; + /** + * Should the editor render validation decorations. + * Defaults to editable. + */ + renderValidationDecorations?: 'editable' | 'on' | 'off'; + /** + * Control the behavior and rendering of the scrollbars. + */ + scrollbar?: IEditorScrollbarOptions; + /** + * Control the behavior and rendering of the minimap. + */ + minimap?: IEditorMinimapOptions; + /** + * Control the behavior of the find widget. + */ + find?: IEditorFindOptions; + /** + * Display overflow widgets as `fixed`. + * Defaults to `false`. + */ + fixedOverflowWidgets?: boolean; + /** + * The number of vertical lanes the overview ruler should render. + * Defaults to 3. + */ + overviewRulerLanes?: number; + /** + * Controls if a border should be drawn around the overview ruler. + * Defaults to `true`. + */ + overviewRulerBorder?: boolean; + /** + * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'. + * Defaults to 'blink'. + */ + cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid'; + /** + * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl. + * Defaults to false. + */ + mouseWheelZoom?: boolean; + /** + * Control the mouse pointer style, either 'text' or 'default' or 'copy' + * Defaults to 'text' + */ + mouseStyle?: 'text' | 'default' | 'copy'; + /** + * Enable smooth caret animation. + * Defaults to false. + */ + cursorSmoothCaretAnimation?: boolean; + /** + * Control the cursor style, either 'block' or 'line'. + * Defaults to 'line'. + */ + cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin'; + /** + * Control the width of the cursor when cursorStyle is set to 'line' + */ + cursorWidth?: number; + /** + * Enable font ligatures. + * Defaults to false. + */ + fontLigatures?: boolean | string; + /** + * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers. + * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer. + * Defaults to false. + */ + disableLayerHinting?: boolean; + /** + * Disable the optimizations for monospace fonts. + * Defaults to false. + */ + disableMonospaceOptimizations?: boolean; + /** + * Should the cursor be hidden in the overview ruler. + * Defaults to false. + */ + hideCursorInOverviewRuler?: boolean; + /** + * Enable that scrolling can go one screen size after the last line. + * Defaults to true. + */ + scrollBeyondLastLine?: boolean; + /** + * Enable that scrolling can go beyond the last column by a number of columns. + * Defaults to 5. + */ + scrollBeyondLastColumn?: number; + /** + * Enable that the editor animates scrolling to a position. + * Defaults to false. + */ + smoothScrolling?: boolean; + /** + * Enable that the editor will install an interval to check if its container dom node size has changed. + * Enabling this might have a severe performance impact. + * Defaults to false. + */ + automaticLayout?: boolean; + /** + * Control the wrapping of the editor. + * When `wordWrap` = "off", the lines will never wrap. + * When `wordWrap` = "on", the lines will wrap at the viewport width. + * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`. + * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn). + * Defaults to "off". + */ + wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded'; + /** + * Override the `wordWrap` setting. + */ + wordWrapOverride1?: 'off' | 'on' | 'inherit'; + /** + * Override the `wordWrapOverride1` setting. + */ + wordWrapOverride2?: 'off' | 'on' | 'inherit'; + /** + * Control the wrapping of the editor. + * When `wordWrap` = "off", the lines will never wrap. + * When `wordWrap` = "on", the lines will wrap at the viewport width. + * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`. + * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn). + * Defaults to 80. + */ + wordWrapColumn?: number; + /** + * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'. + * Defaults to 'same' in vscode and to 'none' in monaco-editor. + */ + wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent'; + /** + * Controls the wrapping strategy to use. + * Defaults to 'simple'. + */ + wrappingStrategy?: 'simple' | 'advanced'; + /** + * Configure word wrapping characters. A break will be introduced before these characters. + * Defaults to '([{‘“〈《「『【〔([{「£¥$£¥++'. + */ + wordWrapBreakBeforeCharacters?: string; + /** + * Configure word wrapping characters. A break will be introduced after these characters. + * Defaults to ' \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」'. + */ + wordWrapBreakAfterCharacters?: string; + /** + * Performance guard: Stop rendering a line after x characters. + * Defaults to 10000. + * Use -1 to never stop rendering + */ + stopRenderingLineAfter?: number; + /** + * Configure the editor's hover. + */ + hover?: IEditorHoverOptions; + /** + * Enable detecting links and making them clickable. + * Defaults to true. + */ + links?: boolean; + /** + * Enable inline color decorators and color picker rendering. + */ + colorDecorators?: boolean; + /** + * Control the behaviour of comments in the editor. + */ + comments?: IEditorCommentsOptions; + /** + * Enable custom contextmenu. + * Defaults to true. + */ + contextmenu?: boolean; + /** + * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events. + * Defaults to 1. + */ + mouseWheelScrollSensitivity?: number; + /** + * FastScrolling mulitplier speed when pressing `Alt` + * Defaults to 5. + */ + fastScrollSensitivity?: number; + /** + * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad. + * Defaults to true. + */ + scrollPredominantAxis?: boolean; + /** + * Enable that the selection with the mouse and keys is doing column selection. + * Defaults to false. + */ + columnSelection?: boolean; + /** + * The modifier to be used to add multiple cursors with the mouse. + * Defaults to 'alt' + */ + multiCursorModifier?: 'ctrlCmd' | 'alt'; + /** + * Merge overlapping selections. + * Defaults to true + */ + multiCursorMergeOverlapping?: boolean; + /** + * Configure the behaviour when pasting a text with the line count equal to the cursor count. + * Defaults to 'spread'. + */ + multiCursorPaste?: 'spread' | 'full'; + /** + * Configure the editor's accessibility support. + * Defaults to 'auto'. It is best to leave this to 'auto'. + */ + accessibilitySupport?: 'auto' | 'off' | 'on'; + /** + * Controls the number of lines in the editor that can be read out by a screen reader + */ + accessibilityPageSize?: number; + /** + * Suggest options. + */ + suggest?: ISuggestOptions; + inlineSuggest?: IInlineSuggestOptions; + /** + * Smart select options. + */ + smartSelect?: ISmartSelectOptions; + /** + * + */ + gotoLocation?: IGotoLocationOptions; + /** + * Enable quick suggestions (shadow suggestions) + * Defaults to true. + */ + quickSuggestions?: boolean | IQuickSuggestionsOptions; + /** + * Quick suggestions show delay (in ms) + * Defaults to 10 (ms) + */ + quickSuggestionsDelay?: number; + /** + * Controls the spacing around the editor. + */ + padding?: IEditorPaddingOptions; + /** + * Parameter hint options. + */ + parameterHints?: IEditorParameterHintOptions; + /** + * Options for auto closing brackets. + * Defaults to language defined behavior. + */ + autoClosingBrackets?: EditorAutoClosingStrategy; + /** + * Options for auto closing quotes. + * Defaults to language defined behavior. + */ + autoClosingQuotes?: EditorAutoClosingStrategy; + /** + * Options for pressing backspace near quotes or bracket pairs. + */ + autoClosingDelete?: EditorAutoClosingEditStrategy; + /** + * Options for typing over closing quotes or brackets. + */ + autoClosingOvertype?: EditorAutoClosingEditStrategy; + /** + * Options for auto surrounding. + * Defaults to always allowing auto surrounding. + */ + autoSurround?: EditorAutoSurroundStrategy; + /** + * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines. + * Defaults to advanced. + */ + autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full'; + /** + * Emulate selection behaviour of tab characters when using spaces for indentation. + * This means selection will stick to tab stops. + */ + stickyTabStops?: boolean; + /** + * Enable format on type. + * Defaults to false. + */ + formatOnType?: boolean; + /** + * Enable format on paste. + * Defaults to false. + */ + formatOnPaste?: boolean; + /** + * Controls if the editor should allow to move selections via drag and drop. + * Defaults to false. + */ + dragAndDrop?: boolean; + /** + * Enable the suggestion box to pop-up on trigger characters. + * Defaults to true. + */ + suggestOnTriggerCharacters?: boolean; + /** + * Accept suggestions on ENTER. + * Defaults to 'on'. + */ + acceptSuggestionOnEnter?: 'on' | 'smart' | 'off'; + /** + * Accept suggestions on provider defined characters. + * Defaults to true. + */ + acceptSuggestionOnCommitCharacter?: boolean; + /** + * Enable snippet suggestions. Default to 'true'. + */ + snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none'; + /** + * Copying without a selection copies the current line. + */ + emptySelectionClipboard?: boolean; + /** + * Syntax highlighting is copied. + */ + copyWithSyntaxHighlighting?: boolean; + /** + * The history mode for suggestions. + */ + suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'; + /** + * The font size for the suggest widget. + * Defaults to the editor font size. + */ + suggestFontSize?: number; + /** + * The line height for the suggest widget. + * Defaults to the editor line height. + */ + suggestLineHeight?: number; + /** + * Enable tab completion. + */ + tabCompletion?: 'on' | 'off' | 'onlySnippets'; + /** + * Enable selection highlight. + * Defaults to true. + */ + selectionHighlight?: boolean; + /** + * Enable semantic occurrences highlight. + * Defaults to true. + */ + occurrencesHighlight?: boolean; + /** + * Show code lens + * Defaults to true. + */ + codeLens?: boolean; + /** + * Code lens font family. Defaults to editor font family. + */ + codeLensFontFamily?: string; + /** + * Code lens font size. Default to 90% of the editor font size + */ + codeLensFontSize?: number; + /** + * Control the behavior and rendering of the code action lightbulb. + */ + lightbulb?: IEditorLightbulbOptions; + /** + * Timeout for running code actions on save. + */ + codeActionsOnSaveTimeout?: number; + /** + * Enable code folding. + * Defaults to true. + */ + folding?: boolean; + /** + * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy. + * Defaults to 'auto'. + */ + foldingStrategy?: 'auto' | 'indentation'; + /** + * Enable highlight for folded regions. + * 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'. + */ + showFoldingControls?: 'always' | 'mouseover'; + /** + * Controls whether clicking on the empty content after a folded line will unfold the line. + * Defaults to false. + */ + unfoldOnClickAfterEndOfLine?: boolean; + /** + * Enable highlighting of matching brackets. + * Defaults to 'always'. + */ + matchBrackets?: 'never' | 'near' | 'always'; + /** + * Enable rendering of whitespace. + * Defaults to 'selection'. + */ + renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all'; + /** + * Enable rendering of control characters. + * Defaults to true. + */ + renderControlCharacters?: boolean; + /** + * Enable rendering of current line highlight. + * Defaults to all. + */ + renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all'; + /** + * Control if the current line highlight should be rendered only the editor is focused. + * Defaults to false. + */ + renderLineHighlightOnlyWhenFocus?: boolean; + /** + * Inserting and deleting whitespace follows tab stops. + */ + useTabStops?: boolean; + /** + * The font family + */ + fontFamily?: string; + /** + * The font weight + */ + fontWeight?: string; + /** + * The font size + */ + fontSize?: number; + /** + * The line height + */ + lineHeight?: number; + /** + * The letter spacing + */ + letterSpacing?: number; + /** + * Controls fading out of unused variables. + */ + showUnused?: boolean; + /** + * Controls whether to focus the inline editor in the peek widget by default. + * Defaults to false. + */ + peekWidgetDefaultFocus?: 'tree' | 'editor'; + /** + * Controls whether the definition link opens element in the peek widget. + * Defaults to false. + */ + definitionLinkOpensInPeek?: boolean; + /** + * Controls strikethrough deprecated variables. + */ + showDeprecated?: boolean; + /** + * Control the behavior and rendering of the inline hints. + */ + inlayHints?: IEditorInlayHintsOptions; + /** + * Control if the editor should use shadow DOM. + */ + useShadowDOM?: boolean; + /** + * Controls the behavior of editor guides. + */ + guides?: IGuidesOptions; + } + + export interface IDiffEditorBaseOptions { + /** + * Allow the user to resize the diff editor split view. + * Defaults to true. + */ + enableSplitViewResizing?: boolean; + /** + * Render the differences in two side-by-side editors. + * Defaults to true. + */ + renderSideBySide?: boolean; + /** + * Timeout in milliseconds after which diff computation is cancelled. + * Defaults to 5000. + */ + maxComputationTime?: number; + /** + * Maximum supported file size in MB. + * Defaults to 50. + */ + maxFileSize?: number; + /** + * Compute the diff by ignoring leading/trailing whitespace + * Defaults to true. + */ + ignoreTrimWhitespace?: boolean; + /** + * Render +/- indicators for added/deleted changes. + * Defaults to true. + */ + renderIndicators?: boolean; + /** + * Original model should be editable? + * Defaults to false. + */ + originalEditable?: boolean; + /** + * Should the diff editor enable code lens? + * Defaults to false. + */ + diffCodeLens?: boolean; + /** + * Is the diff editor should render overview ruler + * Defaults to true + */ + renderOverviewRuler?: boolean; + /** + * Control the wrapping of the diff editor. + */ + diffWordWrap?: 'off' | 'on' | 'inherit'; + } + + /** + * Configuration options for the diff editor. + */ + export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions { + } + + /** + * An event describing that the configuration of the editor has changed. + */ + export class ConfigurationChangedEvent { + hasChanged(id: EditorOption): boolean; + } + + /** + * All computed editor options. + */ + export interface IComputedEditorOptions { + get(id: T): FindComputedEditorOptionValueById; + } + + export interface IEditorOption { + readonly id: K1; + readonly name: string; + defaultValue: V; + } + + /** + * Configuration options for editor comments + */ + export interface IEditorCommentsOptions { + /** + * Insert a space after the line comment token and inside the block comments tokens. + * Defaults to true. + */ + insertSpace?: boolean; + /** + * Ignore empty lines when inserting line comments. + * Defaults to true. + */ + ignoreEmptyLines?: boolean; + } + + /** + * The kind of animation in which the editor's cursor should be rendered. + */ + export enum TextEditorCursorBlinkingStyle { + /** + * Hidden + */ + Hidden = 0, + /** + * Blinking + */ + Blink = 1, + /** + * Blinking with smooth fading + */ + Smooth = 2, + /** + * Blinking with prolonged filled state and smooth fading + */ + Phase = 3, + /** + * Expand collapse animation on the y axis + */ + Expand = 4, + /** + * No-Blinking + */ + Solid = 5 + } + + /** + * The style in which the editor's cursor should be rendered. + */ + export enum TextEditorCursorStyle { + /** + * As a vertical line (sitting between two characters). + */ + Line = 1, + /** + * As a block (sitting on top of a character). + */ + Block = 2, + /** + * As a horizontal line (sitting under a character). + */ + Underline = 3, + /** + * As a thin vertical line (sitting between two characters). + */ + LineThin = 4, + /** + * As an outlined block (sitting on top of a character). + */ + BlockOutline = 5, + /** + * As a thin horizontal line (sitting under a character). + */ + UnderlineThin = 6 + } + + /** + * Configuration options for editor find widget + */ + export interface IEditorFindOptions { + /** + * Controls whether the cursor should move to find matches while typing. + */ + cursorMoveOnType?: boolean; + /** + * Controls if we seed search string in the Find Widget with editor selection. + */ + seedSearchStringFromSelection?: 'never' | 'always' | 'selection'; + /** + * Controls if Find in Selection flag is turned on in the editor. + */ + autoFindInSelection?: 'never' | 'always' | 'multiline'; + addExtraSpaceOnTop?: boolean; + /** + * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found + */ + loop?: boolean; + } + + export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto'; + + /** + * Configuration options for go to location + */ + export interface IGotoLocationOptions { + multiple?: GoToLocationValues; + multipleDefinitions?: GoToLocationValues; + multipleTypeDefinitions?: GoToLocationValues; + multipleDeclarations?: GoToLocationValues; + multipleImplementations?: GoToLocationValues; + multipleReferences?: GoToLocationValues; + alternativeDefinitionCommand?: string; + alternativeTypeDefinitionCommand?: string; + alternativeDeclarationCommand?: string; + alternativeImplementationCommand?: string; + alternativeReferenceCommand?: string; + } + + /** + * Configuration options for editor hover + */ + export interface IEditorHoverOptions { + /** + * Enable the hover. + * Defaults to true. + */ + enabled?: boolean; + /** + * Delay for showing the hover. + * Defaults to 300. + */ + delay?: number; + /** + * Is the hover sticky such that it can be clicked and its contents selected? + * Defaults to true. + */ + sticky?: boolean; + /** + * Should the hover be shown above the line if possible? + * Defaults to false. + */ + above?: boolean; + } + + /** + * A description for the overview ruler position. + */ + export interface OverviewRulerPosition { + /** + * Width of the overview ruler + */ + readonly width: number; + /** + * Height of the overview ruler + */ + readonly height: number; + /** + * Top position for the overview ruler + */ + readonly top: number; + /** + * Right position for the overview ruler + */ + readonly right: number; + } + + export enum RenderMinimap { + None = 0, + Text = 1, + Blocks = 2 + } + + /** + * The internal layout details of the editor. + */ + export interface EditorLayoutInfo { + /** + * Full editor width. + */ + readonly width: number; + /** + * Full editor height. + */ + readonly height: number; + /** + * Left position for the glyph margin. + */ + readonly glyphMarginLeft: number; + /** + * The width of the glyph margin. + */ + readonly glyphMarginWidth: number; + /** + * Left position for the line numbers. + */ + readonly lineNumbersLeft: number; + /** + * The width of the line numbers. + */ + readonly lineNumbersWidth: number; + /** + * Left position for the line decorations. + */ + readonly decorationsLeft: number; + /** + * The width of the line decorations. + */ + readonly decorationsWidth: number; + /** + * Left position for the content (actual text) + */ + readonly contentLeft: number; + /** + * The width of the content (actual text) + */ + readonly contentWidth: number; + /** + * Layout information for the minimap + */ + readonly minimap: EditorMinimapLayoutInfo; + /** + * The number of columns (of typical characters) fitting on a viewport line. + */ + readonly viewportColumn: number; + readonly isWordWrapMinified: boolean; + readonly isViewportWrapping: boolean; + readonly wrappingColumn: number; + /** + * The width of the vertical scrollbar. + */ + readonly verticalScrollbarWidth: number; + /** + * The height of the horizontal scrollbar. + */ + readonly horizontalScrollbarHeight: number; + /** + * The position of the overview ruler. + */ + readonly overviewRuler: OverviewRulerPosition; + } + + /** + * The internal layout details of the editor. + */ + export interface EditorMinimapLayoutInfo { + readonly renderMinimap: RenderMinimap; + readonly minimapLeft: number; + readonly minimapWidth: number; + readonly minimapHeightIsEditorHeight: boolean; + readonly minimapIsSampling: boolean; + readonly minimapScale: number; + readonly minimapLineHeight: number; + readonly minimapCanvasInnerWidth: number; + readonly minimapCanvasInnerHeight: number; + readonly minimapCanvasOuterWidth: number; + readonly minimapCanvasOuterHeight: number; + } + + /** + * Configuration options for editor lightbulb + */ + export interface IEditorLightbulbOptions { + /** + * Enable the lightbulb code action. + * Defaults to true. + */ + enabled?: boolean; + } + + /** + * Configuration options for editor inlayHints + */ + export interface IEditorInlayHintsOptions { + /** + * Enable the inline hints. + * Defaults to true. + */ + enabled?: boolean; + /** + * Font size of inline hints. + * Default to 90% of the editor font size. + */ + fontSize?: number; + /** + * Font family of inline hints. + * Defaults to editor font family. + */ + fontFamily?: string; + } + + /** + * Configuration options for editor minimap + */ + export interface IEditorMinimapOptions { + /** + * Enable the rendering of the minimap. + * Defaults to true. + */ + enabled?: boolean; + /** + * Control the side of the minimap in editor. + * Defaults to 'right'. + */ + side?: 'right' | 'left'; + /** + * Control the minimap rendering mode. + * Defaults to 'actual'. + */ + size?: 'proportional' | 'fill' | 'fit'; + /** + * Control the rendering of the minimap slider. + * Defaults to 'mouseover'. + */ + showSlider?: 'always' | 'mouseover'; + /** + * Render the actual text on a line (as opposed to color blocks). + * Defaults to true. + */ + renderCharacters?: boolean; + /** + * Limit the width of the minimap to render at most a certain number of columns. + * Defaults to 120. + */ + maxColumn?: number; + /** + * Relative size of the font in the minimap. Defaults to 1. + */ + scale?: number; + } + + /** + * Configuration options for editor padding + */ + export interface IEditorPaddingOptions { + /** + * Spacing between top edge of editor and first line. + */ + top?: number; + /** + * Spacing between bottom edge of editor and last line. + */ + bottom?: number; + } + + /** + * Configuration options for parameter hints + */ + export interface IEditorParameterHintOptions { + /** + * Enable parameter hints. + * Defaults to true. + */ + enabled?: boolean; + /** + * Enable cycling of parameter hints. + * Defaults to false. + */ + cycle?: boolean; + } + + /** + * Configuration options for quick suggestions + */ + export interface IQuickSuggestionsOptions { + other?: boolean; + comments?: boolean; + strings?: boolean; + } + + export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string); + + export enum RenderLineNumbersType { + Off = 0, + On = 1, + Relative = 2, + Interval = 3, + Custom = 4 + } + + export interface InternalEditorRenderLineNumbersOptions { + readonly renderType: RenderLineNumbersType; + readonly renderFn: ((lineNumber: number) => string) | null; + } + + export interface IRulerOption { + readonly column: number; + readonly color: string | null; + } + + /** + * Configuration options for editor scrollbars + */ + export interface IEditorScrollbarOptions { + /** + * The size of arrows (if displayed). + * Defaults to 11. + * **NOTE**: This option cannot be updated using `updateOptions()` + */ + arrowSize?: number; + /** + * Render vertical scrollbar. + * Defaults to 'auto'. + */ + vertical?: 'auto' | 'visible' | 'hidden'; + /** + * Render horizontal scrollbar. + * Defaults to 'auto'. + */ + horizontal?: 'auto' | 'visible' | 'hidden'; + /** + * 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; + /** + * Listen to mouse wheel events and react to them by scrolling. + * Defaults to true. + */ + handleMouseWheel?: boolean; + /** + * 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; + /** + * Height in pixels for the horizontal scrollbar. + * Defaults to 10 (px). + */ + horizontalScrollbarSize?: number; + /** + * Width in pixels for the vertical scrollbar. + * Defaults to 10 (px). + */ + verticalScrollbarSize?: number; + /** + * 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; + /** + * Scroll gutter clicks move by page vs jump to position. + * Defaults to false. + */ + scrollByPage?: boolean; + } + + export interface InternalEditorScrollbarOptions { + readonly arrowSize: number; + readonly vertical: ScrollbarVisibility; + readonly horizontal: ScrollbarVisibility; + readonly useShadows: boolean; + readonly verticalHasArrows: boolean; + readonly horizontalHasArrows: boolean; + readonly handleMouseWheel: boolean; + readonly alwaysConsumeMouseWheel: boolean; + readonly horizontalScrollbarSize: number; + readonly horizontalSliderSize: number; + readonly verticalScrollbarSize: number; + readonly verticalSliderSize: number; + readonly scrollByPage: boolean; + } + + export interface IInlineSuggestOptions { + /** + * Enable or disable the rendering of automatic inline completions. + */ + enabled?: boolean; + /** + * Configures the mode. + * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text. + * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text. + * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position. + * Defaults to `prefix`. + */ + mode?: 'prefix' | 'subword' | 'subwordSmart'; + } + + export interface IBracketPairColorizationOptions { + /** + * Enable or disable bracket pair colorization. + */ + enabled?: boolean; + } + + export interface IGuidesOptions { + /** + * Enable rendering of bracket pair guides. + * Defaults to false. + */ + bracketPairs?: boolean | 'active'; + /** + * Enable rendering of vertical bracket pair guides. + * Defaults to 'active'. + */ + bracketPairsHorizontal?: boolean | 'active'; + /** + * Enable highlighting of the active bracket pair. + * Defaults to true. + */ + highlightActiveBracketPair?: boolean; + /** + * Enable rendering of indent guides. + * Defaults to true. + */ + indentation?: boolean; + /** + * Enable highlighting of the active indent guide. + * Defaults to true. + */ + highlightActiveIndentation?: boolean; + } + + /** + * Configuration options for editor suggest widget + */ + export interface ISuggestOptions { + /** + * Overwrite word ends on accept. Default to false. + */ + insertMode?: 'insert' | 'replace'; + /** + * Enable graceful matching. Defaults to true. + */ + filterGraceful?: boolean; + /** + * Prevent quick suggestions when a snippet is active. Defaults to true. + */ + snippetsPreventQuickSuggestions?: boolean; + /** + * Favors words that appear close to the cursor. + */ + localityBonus?: boolean; + /** + * Enable using global storage for remembering suggestions. + */ + shareSuggestSelections?: boolean; + /** + * Enable or disable icons in suggestions. Defaults to true. + */ + showIcons?: boolean; + /** + * 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. + */ + showInlineDetails?: boolean; + /** + * Show method-suggestions. + */ + showMethods?: boolean; + /** + * Show function-suggestions. + */ + showFunctions?: boolean; + /** + * Show constructor-suggestions. + */ + showConstructors?: boolean; + /** + * Show deprecated-suggestions. + */ + showDeprecated?: boolean; + /** + * Show field-suggestions. + */ + showFields?: boolean; + /** + * Show variable-suggestions. + */ + showVariables?: boolean; + /** + * Show class-suggestions. + */ + showClasses?: boolean; + /** + * Show struct-suggestions. + */ + showStructs?: boolean; + /** + * Show interface-suggestions. + */ + showInterfaces?: boolean; + /** + * Show module-suggestions. + */ + showModules?: boolean; + /** + * Show property-suggestions. + */ + showProperties?: boolean; + /** + * Show event-suggestions. + */ + showEvents?: boolean; + /** + * Show operator-suggestions. + */ + showOperators?: boolean; + /** + * Show unit-suggestions. + */ + showUnits?: boolean; + /** + * Show value-suggestions. + */ + showValues?: boolean; + /** + * Show constant-suggestions. + */ + showConstants?: boolean; + /** + * Show enum-suggestions. + */ + showEnums?: boolean; + /** + * Show enumMember-suggestions. + */ + showEnumMembers?: boolean; + /** + * Show keyword-suggestions. + */ + showKeywords?: boolean; + /** + * Show text-suggestions. + */ + showWords?: boolean; + /** + * Show color-suggestions. + */ + showColors?: boolean; + /** + * Show file-suggestions. + */ + showFiles?: boolean; + /** + * Show reference-suggestions. + */ + showReferences?: boolean; + /** + * Show folder-suggestions. + */ + showFolders?: boolean; + /** + * Show typeParameter-suggestions. + */ + showTypeParameters?: boolean; + /** + * Show issue-suggestions. + */ + showIssues?: boolean; + /** + * Show user-suggestions. + */ + showUsers?: boolean; + /** + * Show snippet-suggestions. + */ + showSnippets?: boolean; + } + + export interface ISmartSelectOptions { + selectLeadingAndTrailingWhitespace?: boolean; + } + + /** + * Describes how to indent wrapped lines. + */ + export enum WrappingIndent { + /** + * No indentation => wrapped lines begin at column 1. + */ + None = 0, + /** + * Same => wrapped lines get the same indentation as the parent. + */ + Same = 1, + /** + * Indent => wrapped lines get +1 indentation toward the parent. + */ + Indent = 2, + /** + * DeepIndent => wrapped lines get +2 indentation toward the parent. + */ + DeepIndent = 3 + } + + export interface EditorWrappingInfo { + readonly isDominatedByLongLines: boolean; + readonly isWordWrapMinified: boolean; + readonly isViewportWrapping: boolean; + readonly wrappingColumn: number; + } + + export enum EditorOption { + acceptSuggestionOnCommitCharacter = 0, + acceptSuggestionOnEnter = 1, + accessibilitySupport = 2, + accessibilityPageSize = 3, + ariaLabel = 4, + autoClosingBrackets = 5, + autoClosingDelete = 6, + autoClosingOvertype = 7, + autoClosingQuotes = 8, + autoIndent = 9, + automaticLayout = 10, + autoSurround = 11, + bracketPairColorization = 12, + guides = 13, + codeLens = 14, + codeLensFontFamily = 15, + codeLensFontSize = 16, + colorDecorators = 17, + columnSelection = 18, + comments = 19, + contextmenu = 20, + copyWithSyntaxHighlighting = 21, + cursorBlinking = 22, + cursorSmoothCaretAnimation = 23, + cursorStyle = 24, + cursorSurroundingLines = 25, + cursorSurroundingLinesStyle = 26, + cursorWidth = 27, + disableLayerHinting = 28, + disableMonospaceOptimizations = 29, + domReadOnly = 30, + dragAndDrop = 31, + emptySelectionClipboard = 32, + extraEditorClassName = 33, + fastScrollSensitivity = 34, + find = 35, + fixedOverflowWidgets = 36, + folding = 37, + foldingStrategy = 38, + foldingHighlight = 39, + foldingImportsByDefault = 40, + unfoldOnClickAfterEndOfLine = 41, + fontFamily = 42, + fontInfo = 43, + fontLigatures = 44, + fontSize = 45, + fontWeight = 46, + formatOnPaste = 47, + formatOnType = 48, + glyphMargin = 49, + gotoLocation = 50, + hideCursorInOverviewRuler = 51, + hover = 52, + inDiffEditor = 53, + inlineSuggest = 54, + letterSpacing = 55, + lightbulb = 56, + lineDecorationsWidth = 57, + lineHeight = 58, + lineNumbers = 59, + lineNumbersMinChars = 60, + linkedEditing = 61, + links = 62, + matchBrackets = 63, + minimap = 64, + mouseStyle = 65, + mouseWheelScrollSensitivity = 66, + mouseWheelZoom = 67, + multiCursorMergeOverlapping = 68, + multiCursorModifier = 69, + multiCursorPaste = 70, + occurrencesHighlight = 71, + overviewRulerBorder = 72, + overviewRulerLanes = 73, + padding = 74, + parameterHints = 75, + peekWidgetDefaultFocus = 76, + definitionLinkOpensInPeek = 77, + quickSuggestions = 78, + quickSuggestionsDelay = 79, + readOnly = 80, + renameOnType = 81, + renderControlCharacters = 82, + renderFinalNewline = 83, + renderLineHighlight = 84, + renderLineHighlightOnlyWhenFocus = 85, + renderValidationDecorations = 86, + renderWhitespace = 87, + revealHorizontalRightPadding = 88, + roundedSelection = 89, + rulers = 90, + scrollbar = 91, + scrollBeyondLastColumn = 92, + scrollBeyondLastLine = 93, + scrollPredominantAxis = 94, + selectionClipboard = 95, + selectionHighlight = 96, + selectOnLineNumbers = 97, + showFoldingControls = 98, + showUnused = 99, + snippetSuggestions = 100, + smartSelect = 101, + smoothScrolling = 102, + stickyTabStops = 103, + stopRenderingLineAfter = 104, + suggest = 105, + suggestFontSize = 106, + suggestLineHeight = 107, + suggestOnTriggerCharacters = 108, + suggestSelection = 109, + tabCompletion = 110, + tabIndex = 111, + unusualLineTerminators = 112, + useShadowDOM = 113, + useTabStops = 114, + wordSeparators = 115, + wordWrap = 116, + wordWrapBreakAfterCharacters = 117, + wordWrapBreakBeforeCharacters = 118, + wordWrapColumn = 119, + wordWrapOverride1 = 120, + wordWrapOverride2 = 121, + wrappingIndent = 122, + wrappingStrategy = 123, + showDeprecated = 124, + inlayHints = 125, + editorClassName = 126, + pixelRatio = 127, + tabFocusMode = 128, + layoutInfo = 129, + wrappingInfo = 130 + } + + export const EditorOptions: { + acceptSuggestionOnCommitCharacter: IEditorOption; + acceptSuggestionOnEnter: IEditorOption; + accessibilitySupport: IEditorOption; + accessibilityPageSize: IEditorOption; + ariaLabel: IEditorOption; + autoClosingBrackets: IEditorOption; + autoClosingDelete: IEditorOption; + autoClosingOvertype: IEditorOption; + autoClosingQuotes: IEditorOption; + autoIndent: IEditorOption; + automaticLayout: IEditorOption; + autoSurround: IEditorOption; + bracketPairColorization: IEditorOption>>; + bracketPairGuides: IEditorOption>>; + stickyTabStops: IEditorOption; + codeLens: IEditorOption; + codeLensFontFamily: IEditorOption; + codeLensFontSize: IEditorOption; + colorDecorators: IEditorOption; + columnSelection: IEditorOption; + comments: IEditorOption>>; + contextmenu: IEditorOption; + copyWithSyntaxHighlighting: IEditorOption; + cursorBlinking: IEditorOption; + cursorSmoothCaretAnimation: IEditorOption; + cursorStyle: IEditorOption; + cursorSurroundingLines: IEditorOption; + cursorSurroundingLinesStyle: IEditorOption; + cursorWidth: IEditorOption; + disableLayerHinting: IEditorOption; + disableMonospaceOptimizations: IEditorOption; + domReadOnly: IEditorOption; + dragAndDrop: IEditorOption; + emptySelectionClipboard: IEditorOption; + extraEditorClassName: IEditorOption; + fastScrollSensitivity: IEditorOption; + find: IEditorOption>>; + fixedOverflowWidgets: IEditorOption; + folding: IEditorOption; + foldingStrategy: IEditorOption; + foldingHighlight: IEditorOption; + foldingImportsByDefault: IEditorOption; + unfoldOnClickAfterEndOfLine: IEditorOption; + fontFamily: IEditorOption; + fontInfo: IEditorOption; + fontLigatures2: IEditorOption; + fontSize: IEditorOption; + fontWeight: IEditorOption; + formatOnPaste: IEditorOption; + formatOnType: IEditorOption; + glyphMargin: IEditorOption; + gotoLocation: IEditorOption>>; + hideCursorInOverviewRuler: IEditorOption; + hover: IEditorOption>>; + inDiffEditor: IEditorOption; + letterSpacing: IEditorOption; + lightbulb: IEditorOption>>; + lineDecorationsWidth: IEditorOption; + lineHeight: IEditorOption; + lineNumbers: IEditorOption; + lineNumbersMinChars: IEditorOption; + linkedEditing: IEditorOption; + links: IEditorOption; + matchBrackets: IEditorOption; + minimap: IEditorOption>>; + mouseStyle: IEditorOption; + mouseWheelScrollSensitivity: IEditorOption; + mouseWheelZoom: IEditorOption; + multiCursorMergeOverlapping: IEditorOption; + multiCursorModifier: IEditorOption; + multiCursorPaste: IEditorOption; + occurrencesHighlight: IEditorOption; + overviewRulerBorder: IEditorOption; + overviewRulerLanes: IEditorOption; + padding: IEditorOption>>; + parameterHints: IEditorOption>>; + peekWidgetDefaultFocus: IEditorOption; + definitionLinkOpensInPeek: IEditorOption; + quickSuggestions: IEditorOption; + quickSuggestionsDelay: IEditorOption; + readOnly: IEditorOption; + renameOnType: IEditorOption; + renderControlCharacters: IEditorOption; + renderFinalNewline: IEditorOption; + renderLineHighlight: IEditorOption; + renderLineHighlightOnlyWhenFocus: IEditorOption; + renderValidationDecorations: IEditorOption; + renderWhitespace: IEditorOption; + revealHorizontalRightPadding: IEditorOption; + roundedSelection: IEditorOption; + rulers: IEditorOption; + scrollbar: IEditorOption; + scrollBeyondLastColumn: IEditorOption; + scrollBeyondLastLine: IEditorOption; + scrollPredominantAxis: IEditorOption; + selectionClipboard: IEditorOption; + selectionHighlight: IEditorOption; + selectOnLineNumbers: IEditorOption; + showFoldingControls: IEditorOption; + showUnused: IEditorOption; + showDeprecated: IEditorOption; + inlayHints: IEditorOption>>; + snippetSuggestions: IEditorOption; + smartSelect: IEditorOption>>; + smoothScrolling: IEditorOption; + stopRenderingLineAfter: IEditorOption; + suggest: IEditorOption>>; + inlineSuggest: IEditorOption>>; + suggestFontSize: IEditorOption; + suggestLineHeight: IEditorOption; + suggestOnTriggerCharacters: IEditorOption; + suggestSelection: IEditorOption; + tabCompletion: IEditorOption; + tabIndex: IEditorOption; + unusualLineTerminators: IEditorOption; + useShadowDOM: IEditorOption; + useTabStops: IEditorOption; + wordSeparators: IEditorOption; + wordWrap: IEditorOption; + wordWrapBreakAfterCharacters: IEditorOption; + wordWrapBreakBeforeCharacters: IEditorOption; + wordWrapColumn: IEditorOption; + wordWrapOverride1: IEditorOption; + wordWrapOverride2: IEditorOption; + wrappingIndent: IEditorOption; + wrappingStrategy: IEditorOption; + editorClassName: IEditorOption; + pixelRatio: IEditorOption; + tabFocusMode: IEditorOption; + layoutInfo: IEditorOption; + wrappingInfo: IEditorOption; + }; + + type EditorOptionsType = typeof EditorOptions; + + type FindEditorOptionsKeyById = { + [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never; + }[keyof EditorOptionsType]; + + type ComputedEditorOptionValue> = T extends IEditorOption ? R : never; + + export type FindComputedEditorOptionValueById = NonNullable]>>; + + /** + * A view zone is a full horizontal rectangle that 'pushes' text down. + * The editor reserves space for view zones when rendering. + */ + export interface IViewZone { + /** + * The line number after which this zone should appear. + * Use 0 to place a view zone before the first line number. + */ + afterLineNumber: number; + /** + * The column after which this zone should appear. + * If not set, the maxLineColumn of `afterLineNumber` will be used. + */ + afterColumn?: number; + /** + * Suppress mouse down events. + * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it. + * Defaults to false + */ + suppressMouseDown?: boolean; + /** + * The height in lines of the view zone. + * If specified, `heightInPx` will be used instead of this. + * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen. + */ + heightInLines?: number; + /** + * The height in px of the view zone. + * If this is set, the editor will give preference to it rather than `heightInLines` above. + * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen. + */ + heightInPx?: number; + /** + * The minimum width in px of the view zone. + * If this is set, the editor will ensure that the scroll width is >= than this value. + */ + minWidthInPx?: number; + /** + * The dom node of the view zone + */ + domNode: HTMLElement; + /** + * An optional dom node for the view zone that will be placed in the margin area. + */ + marginDomNode?: HTMLElement | null; + /** + * Callback which gives the relative top of the view zone as it appears (taking scrolling into account). + */ + onDomNodeTop?: (top: number) => void; + /** + * Callback which gives the height in pixels of the view zone. + */ + onComputedHeight?: (height: number) => void; + } + + /** + * An accessor that allows for zones to be added or removed. + */ + export interface IViewZoneChangeAccessor { + /** + * Create a new view zone. + * @param zone Zone to create + * @return A unique identifier to the view zone. + */ + addZone(zone: IViewZone): string; + /** + * Remove a zone + * @param id A unique identifier to the view zone, as returned by the `addZone` call. + */ + removeZone(id: string): void; + /** + * Change a zone's position. + * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone. + */ + layoutZone(id: string): void; + } + + /** + * A positioning preference for rendering content widgets. + */ + export enum ContentWidgetPositionPreference { + /** + * Place the content widget exactly at a position + */ + EXACT = 0, + /** + * Place the content widget above a position + */ + ABOVE = 1, + /** + * Place the content widget below a position + */ + BELOW = 2 + } + + /** + * A position for rendering content widgets. + */ + export interface IContentWidgetPosition { + /** + * Desired position for the content widget. + * `preference` will also affect the placement. + */ + position: IPosition | null; + /** + * Optionally, a range can be provided to further + * define the position of the content widget. + */ + range?: IRange | null; + /** + * Placement preference for position, in order of preference. + */ + preference: ContentWidgetPositionPreference[]; + } + + /** + * A content widget renders inline with the text and can be easily placed 'near' an editor position. + */ + export interface IContentWidget { + /** + * Render this content widget in a location where it could overflow the editor's view dom node. + */ + allowEditorOverflow?: boolean; + suppressMouseDown?: boolean; + /** + * Get a unique identifier of the content widget. + */ + getId(): string; + /** + * Get the dom node of the content widget. + */ + getDomNode(): HTMLElement; + /** + * Get the placement of the content widget. + * If null is returned, the content widget will be placed off screen. + */ + getPosition(): IContentWidgetPosition | null; + /** + * Optional function that is invoked before rendering + * the content widget. If a dimension is returned the editor will + * attempt to use it. + */ + beforeRender?(): IDimension | null; + /** + * Optional function that is invoked after rendering the content + * widget. Is being invoked with the selected position preference + * or `null` if not rendered. + */ + afterRender?(position: ContentWidgetPositionPreference | null): void; + } + + /** + * A positioning preference for rendering overlay widgets. + */ + export enum OverlayWidgetPositionPreference { + /** + * Position the overlay widget in the top right corner + */ + TOP_RIGHT_CORNER = 0, + /** + * Position the overlay widget in the bottom right corner + */ + BOTTOM_RIGHT_CORNER = 1, + /** + * Position the overlay widget in the top center + */ + TOP_CENTER = 2 + } + + /** + * A position for rendering overlay widgets. + */ + export interface IOverlayWidgetPosition { + /** + * The position preference for the overlay widget. + */ + preference: OverlayWidgetPositionPreference | null; + } + + /** + * An overlay widgets renders on top of the text. + */ + export interface IOverlayWidget { + /** + * Get a unique identifier of the overlay widget. + */ + getId(): string; + /** + * Get the dom node of the overlay widget. + */ + getDomNode(): HTMLElement; + /** + * Get the placement of the overlay widget. + * If null is returned, the overlay widget is responsible to place itself. + */ + getPosition(): IOverlayWidgetPosition | null; + } + + /** + * Type of hit element with the mouse in the editor. + */ + export enum MouseTargetType { + /** + * Mouse is on top of an unknown element. + */ + UNKNOWN = 0, + /** + * Mouse is on top of the textarea used for input. + */ + TEXTAREA = 1, + /** + * Mouse is on top of the glyph margin + */ + GUTTER_GLYPH_MARGIN = 2, + /** + * Mouse is on top of the line numbers + */ + GUTTER_LINE_NUMBERS = 3, + /** + * Mouse is on top of the line decorations + */ + GUTTER_LINE_DECORATIONS = 4, + /** + * Mouse is on top of the whitespace left in the gutter by a view zone. + */ + GUTTER_VIEW_ZONE = 5, + /** + * Mouse is on top of text in the content. + */ + CONTENT_TEXT = 6, + /** + * Mouse is on top of empty space in the content (e.g. after line text or below last line) + */ + CONTENT_EMPTY = 7, + /** + * Mouse is on top of a view zone in the content. + */ + CONTENT_VIEW_ZONE = 8, + /** + * Mouse is on top of a content widget. + */ + CONTENT_WIDGET = 9, + /** + * Mouse is on top of the decorations overview ruler. + */ + OVERVIEW_RULER = 10, + /** + * Mouse is on top of a scrollbar. + */ + SCROLLBAR = 11, + /** + * Mouse is on top of an overlay widget. + */ + OVERLAY_WIDGET = 12, + /** + * Mouse is outside of the editor. + */ + OUTSIDE_EDITOR = 13 + } + + /** + * Target hit with the mouse in the editor. + */ + export interface IMouseTarget { + /** + * The target element + */ + readonly element: Element | null; + /** + * The target type + */ + readonly type: MouseTargetType; + /** + * The 'approximate' editor position + */ + readonly position: Position | null; + /** + * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line). + */ + readonly mouseColumn: number; + /** + * The 'approximate' editor range + */ + readonly range: Range | null; + /** + * Some extra detail. + */ + readonly detail: any; + } + + /** + * A mouse event originating from the editor. + */ + export interface IEditorMouseEvent { + readonly event: IMouseEvent; + readonly target: IMouseTarget; + } + + export interface IPartialEditorMouseEvent { + readonly event: IMouseEvent; + readonly target: IMouseTarget | null; + } + + /** + * A paste event originating from the editor. + */ + export interface IPasteEvent { + readonly range: Range; + readonly languageId: string | null; + } + + export interface IEditorConstructionOptions extends IEditorOptions { + /** + * The initial editor dimension (to avoid measuring the container). + */ + dimension?: IDimension; + /** + * Place overflow widgets inside an external DOM node. + * Defaults to an internal DOM node. + */ + overflowWidgetsDomNode?: HTMLElement; + } + + export interface IDiffEditorConstructionOptions extends IDiffEditorOptions { + /** + * The initial editor dimension (to avoid measuring the container). + */ + dimension?: IDimension; + /** + * Place overflow widgets inside an external DOM node. + * Defaults to an internal DOM node. + */ + overflowWidgetsDomNode?: HTMLElement; + /** + * Aria label for original editor. + */ + originalAriaLabel?: string; + /** + * Aria label for modified editor. + */ + modifiedAriaLabel?: string; + /** + * Is the diff editor inside another editor + * Defaults to false + */ + isInEmbeddedEditor?: boolean; + } + + /** + * A rich code editor. + */ + export interface ICodeEditor extends IEditor { + /** + * An event emitted when the content of the current model has changed. + * @event + */ + onDidChangeModelContent: IEvent; + /** + * An event emitted when the language of the current model has changed. + * @event + */ + onDidChangeModelLanguage: IEvent; + /** + * An event emitted when the language configuration of the current model has changed. + * @event + */ + onDidChangeModelLanguageConfiguration: IEvent; + /** + * An event emitted when the options of the current model has changed. + * @event + */ + onDidChangeModelOptions: IEvent; + /** + * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`) + * @event + */ + onDidChangeConfiguration: IEvent; + /** + * An event emitted when the cursor position has changed. + * @event + */ + onDidChangeCursorPosition: IEvent; + /** + * An event emitted when the cursor selection has changed. + * @event + */ + onDidChangeCursorSelection: IEvent; + /** + * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`). + * @event + */ + onDidChangeModel: IEvent; + /** + * An event emitted when the decorations of the current model have changed. + * @event + */ + onDidChangeModelDecorations: IEvent; + /** + * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking). + * @event + */ + onDidFocusEditorText(listener: () => void): IDisposable; + /** + * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking). + * @event + */ + onDidBlurEditorText(listener: () => void): IDisposable; + /** + * An event emitted when the text inside this editor or an editor widget gained focus. + * @event + */ + onDidFocusEditorWidget(listener: () => void): IDisposable; + /** + * An event emitted when the text inside this editor or an editor widget lost focus. + * @event + */ + onDidBlurEditorWidget(listener: () => void): IDisposable; + /** + * An event emitted after composition has started. + */ + onDidCompositionStart(listener: () => void): IDisposable; + /** + * An event emitted after composition has ended. + */ + onDidCompositionEnd(listener: () => void): IDisposable; + /** + * An event emitted when editing failed because the editor is read-only. + * @event + */ + onDidAttemptReadOnlyEdit(listener: () => void): IDisposable; + /** + * An event emitted when users paste text in the editor. + * @event + */ + onDidPaste: IEvent; + /** + * An event emitted on a "mouseup". + * @event + */ + onMouseUp: IEvent; + /** + * An event emitted on a "mousedown". + * @event + */ + onMouseDown: IEvent; + /** + * An event emitted on a "contextmenu". + * @event + */ + onContextMenu: IEvent; + /** + * An event emitted on a "mousemove". + * @event + */ + onMouseMove: IEvent; + /** + * An event emitted on a "mouseleave". + * @event + */ + onMouseLeave: IEvent; + /** + * An event emitted on a "keyup". + * @event + */ + onKeyUp: IEvent; + /** + * An event emitted on a "keydown". + * @event + */ + onKeyDown: IEvent; + /** + * An event emitted when the layout of the editor has changed. + * @event + */ + onDidLayoutChange: IEvent; + /** + * An event emitted when the content width or content height in the editor has changed. + * @event + */ + onDidContentSizeChange: IEvent; + /** + * An event emitted when the scroll in the editor has changed. + * @event + */ + onDidScrollChange: IEvent; + /** + * An event emitted when hidden areas change in the editor (e.g. due to folding). + * @event + */ + onDidChangeHiddenAreas: IEvent; + /** + * Saves current view state of the editor in a serializable object. + */ + saveViewState(): ICodeEditorViewState | null; + /** + * Restores the view state of the editor from a serializable object generated by `saveViewState`. + */ + restoreViewState(state: ICodeEditorViewState): void; + /** + * Returns true if the text inside this editor or an editor widget has focus. + */ + hasWidgetFocus(): boolean; + /** + * Get a contribution of this editor. + * @id Unique identifier of the contribution. + * @return The contribution or null if contribution not found. + */ + getContribution(id: string): T; + /** + * Type the getModel() of IEditor. + */ + getModel(): ITextModel | null; + /** + * Sets the current model attached to this editor. + * If the previous model was created by the editor via the value key in the options + * literal object, it will be destroyed. Otherwise, if the previous model was set + * via setModel, or the model key in the options literal object, the previous model + * will not be destroyed. + * It is safe to call setModel(null) to simply detach the current model from the editor. + */ + setModel(model: ITextModel | null): void; + /** + * Gets all the editor computed options. + */ + getOptions(): IComputedEditorOptions; + /** + * Gets a specific editor option. + */ + getOption(id: T): FindComputedEditorOptionValueById; + /** + * Returns the editor's configuration (without any validation or defaults). + */ + getRawOptions(): IEditorOptions; + /** + * Get value of the current model attached to this editor. + * @see {@link ITextModel.getValue} + */ + getValue(options?: { + preserveBOM: boolean; + lineEnding: string; + }): string; + /** + * Set the value of the current model attached to this editor. + * @see {@link ITextModel.setValue} + */ + setValue(newValue: string): void; + /** + * Get the width of the editor's content. + * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)` + */ + getContentWidth(): number; + /** + * Get the scrollWidth of the editor's viewport. + */ + getScrollWidth(): number; + /** + * Get the scrollLeft of the editor's viewport. + */ + getScrollLeft(): number; + /** + * Get the height of the editor's content. + * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)` + */ + getContentHeight(): number; + /** + * Get the scrollHeight of the editor's viewport. + */ + getScrollHeight(): number; + /** + * Get the scrollTop of the editor's viewport. + */ + getScrollTop(): number; + /** + * Change the scrollLeft of the editor's viewport. + */ + setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void; + /** + * Change the scrollTop of the editor's viewport. + */ + setScrollTop(newScrollTop: number, scrollType?: ScrollType): void; + /** + * Change the scroll position of the editor's viewport. + */ + setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void; + /** + * Get an action that is a contribution to this editor. + * @id Unique identifier of the contribution. + * @return The action or null if action not found. + */ + getAction(id: string): IEditorAction; + /** + * Execute a command on the editor. + * The edits will land on the undo-redo stack, but no "undo stop" will be pushed. + * @param source The source of the call. + * @param command The command to execute + */ + executeCommand(source: string | null | undefined, command: ICommand): void; + /** + * Create an "undo stop" in the undo-redo stack. + */ + pushUndoStop(): boolean; + /** + * Remove the "undo stop" in the undo-redo stack. + */ + popUndoStop(): boolean; + /** + * Execute edits on the editor. + * The edits will land on the undo-redo stack, but no "undo stop" will be pushed. + * @param source The source of the call. + * @param edits The edits to execute. + * @param endCursorState Cursor state after the edits were applied. + */ + executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean; + /** + * Execute multiple (concomitant) commands on the editor. + * @param source The source of the call. + * @param command The commands to execute + */ + executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void; + /** + * Get all the decorations on a line (filtering out decorations from other editors). + */ + getLineDecorations(lineNumber: number): IModelDecoration[] | null; + /** + * All decorations added through this call will get the ownerId of this editor. + * @see {@link ITextModel.deltaDecorations} + */ + deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[]; + /** + * Get the layout info for the editor. + */ + getLayoutInfo(): EditorLayoutInfo; + /** + * Returns the ranges that are currently visible. + * Does not account for horizontal scrolling. + */ + getVisibleRanges(): Range[]; + /** + * Get the vertical position (top offset) for the line w.r.t. to the first line. + */ + getTopForLineNumber(lineNumber: number): number; + /** + * Get the vertical position (top offset) for the position w.r.t. to the first line. + */ + getTopForPosition(lineNumber: number, column: number): number; + /** + * Returns the editor's container dom node + */ + getContainerDomNode(): HTMLElement; + /** + * Returns the editor's dom node + */ + getDomNode(): HTMLElement | null; + /** + * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten. + */ + addContentWidget(widget: IContentWidget): void; + /** + * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition() + * and update appropriately. + */ + layoutContentWidget(widget: IContentWidget): void; + /** + * Remove a content widget. + */ + removeContentWidget(widget: IContentWidget): void; + /** + * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten. + */ + addOverlayWidget(widget: IOverlayWidget): void; + /** + * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition() + * and update appropriately. + */ + layoutOverlayWidget(widget: IOverlayWidget): void; + /** + * Remove an overlay widget. + */ + removeOverlayWidget(widget: IOverlayWidget): void; + /** + * Change the view zones. View zones are lost when a new model is attached to the editor. + */ + changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void; + /** + * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line. + * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport). + * Use this method with caution. + */ + getOffsetForColumn(lineNumber: number, column: number): number; + /** + * Force an editor render now. + */ + render(forceRedraw?: boolean): void; + /** + * Get the hit test target at coordinates `clientX` and `clientY`. + * The coordinates are relative to the top-left of the viewport. + * + * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model. + */ + getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null; + /** + * Get the visible position for `position`. + * The result position takes scrolling into account and is relative to the top left corner of the editor. + * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor. + * Explanation 2: the results of this method will not change if the container of the editor gets repositioned. + * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport. + */ + getScrolledVisiblePosition(position: IPosition): { + top: number; + left: number; + height: number; + } | null; + /** + * Apply the same font settings as the editor to `target`. + */ + applyFontInfo(target: HTMLElement): void; + } + + /** + * Information about a line in the diff editor + */ + export interface IDiffLineInformation { + readonly equivalentLineNumber: number; + } + + /** + * A rich diff editor. + */ + export interface IDiffEditor extends IEditor { + /** + * @see {@link ICodeEditor.getDomNode} + */ + getDomNode(): HTMLElement; + /** + * An event emitted when the diff information computed by this diff editor has been updated. + * @event + */ + onDidUpdateDiff(listener: () => void): IDisposable; + /** + * Saves current view state of the editor in a serializable object. + */ + saveViewState(): IDiffEditorViewState | null; + /** + * Restores the view state of the editor from a serializable object generated by `saveViewState`. + */ + restoreViewState(state: IDiffEditorViewState): void; + /** + * Type the getModel() of IEditor. + */ + getModel(): IDiffEditorModel | null; + /** + * Sets the current model attached to this editor. + * If the previous model was created by the editor via the value key in the options + * literal object, it will be destroyed. Otherwise, if the previous model was set + * via setModel, or the model key in the options literal object, the previous model + * will not be destroyed. + * It is safe to call setModel(null) to simply detach the current model from the editor. + */ + setModel(model: IDiffEditorModel | null): void; + /** + * Get the `original` editor. + */ + getOriginalEditor(): ICodeEditor; + /** + * Get the `modified` editor. + */ + getModifiedEditor(): ICodeEditor; + /** + * Get the computed diff information. + */ + getLineChanges(): ILineChange[] | null; + /** + * Get information based on computed diff about a line number from the original model. + * If the diff computation is not finished or the model is missing, will return null. + */ + getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null; + /** + * Get information based on computed diff about a line number from the modified model. + * If the diff computation is not finished or the model is missing, will return null. + */ + getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null; + /** + * Update the editor's options after the editor has been created. + */ + updateOptions(newOptions: IDiffEditorOptions): void; + } + + export class FontInfo extends BareFontInfo { + readonly _editorStylingBrand: void; + readonly version: number; + readonly isTrusted: boolean; + readonly isMonospace: boolean; + readonly typicalHalfwidthCharacterWidth: number; + readonly typicalFullwidthCharacterWidth: number; + readonly canUseHalfwidthRightwardsArrow: boolean; + readonly spaceWidth: number; + readonly middotWidth: number; + readonly wsmiddotWidth: number; + readonly maxDigitWidth: number; + } + + export class BareFontInfo { + readonly _bareFontInfoBrand: void; + readonly zoomLevel: number; + readonly pixelRatio: number; + readonly fontFamily: string; + readonly fontWeight: string; + readonly fontSize: number; + readonly fontFeatureSettings: string; + readonly lineHeight: number; + readonly letterSpacing: number; + } + + //compatibility: + export type IReadOnlyModel = ITextModel; + export type IModel = ITextModel; +} + +declare namespace monaco.languages { + + + /** + * Register information about a new language. + */ + export function register(language: ILanguageExtensionPoint): void; + + /** + * Get the information of all the registered languages. + */ + export function getLanguages(): ILanguageExtensionPoint[]; + + export function getEncodedLanguageId(languageId: string): number; + + /** + * An event emitted when a language is first time needed (e.g. a model has it set). + * @event + */ + export function onLanguage(languageId: string, callback: () => void): IDisposable; + + /** + * Set the editing configuration for a language. + */ + export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable; + + /** + * A token. + */ + export interface IToken { + startIndex: number; + scopes: string; + } + + /** + * The result of a line tokenization. + */ + export interface ILineTokens { + /** + * The list of tokens on the line. + */ + tokens: IToken[]; + /** + * The tokenization end state. + * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned. + */ + endState: IState; + } + + /** + * The result of a line tokenization. + */ + export interface IEncodedLineTokens { + /** + * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i: + * - at offset 2*i => startIndex + * - at offset 2*i + 1 => metadata + * Meta data is in binary format: + * - ------------------------------------------- + * 3322 2222 2222 1111 1111 1100 0000 0000 + * 1098 7654 3210 9876 5432 1098 7654 3210 + * - ------------------------------------------- + * bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL + * - ------------------------------------------- + * - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language. + * - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4. + * - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4. + * - f = foreground ColorId (9 bits) + * - b = background ColorId (9 bits) + * - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors: + * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color, + * id = 1 is for the default foreground color, id = 2 for the default background. + */ + tokens: Uint32Array; + /** + * The tokenization end state. + * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned. + */ + endState: IState; + } + + /** + * A "manual" provider of tokens. + */ + export interface TokensProvider { + /** + * The initial state of a language. Will be the state passed in to tokenize the first line. + */ + getInitialState(): IState; + /** + * Tokenize a line given the state at the beginning of the line. + */ + tokenize(line: string, state: IState): ILineTokens; + } + + /** + * A "manual" provider of tokens, returning tokens in a binary form. + */ + export interface EncodedTokensProvider { + /** + * The initial state of a language. Will be the state passed in to tokenize the first line. + */ + getInitialState(): IState; + /** + * Tokenize a line given the state at the beginning of the line. + */ + tokenizeEncoded(line: string, state: IState): IEncodedLineTokens; + /** + * Tokenize a line given the state at the beginning of the line. + */ + tokenize?(line: string, state: IState): ILineTokens; + } + + /** + * Change the color map that is used for token colors. + * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA + */ + export function setColorMap(colorMap: string[] | null): void; + + /** + * Set the tokens provider for a language (manual implementation). + */ + export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable): IDisposable; + + /** + * Set the tokens provider for a language (monarch implementation). + */ + export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable): IDisposable; + + /** + * Register a reference provider (used by e.g. reference search). + */ + export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable; + + /** + * Register a rename provider (used by e.g. rename symbol). + */ + export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable; + + /** + * Register a signature help provider (used by e.g. parameter hints). + */ + export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable; + + /** + * Register a hover provider (used by e.g. editor hover). + */ + export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable; + + /** + * Register a document symbol provider (used by e.g. outline). + */ + export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable; + + /** + * Register a document highlight provider (used by e.g. highlight occurrences). + */ + export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable; + + /** + * Register an linked editing range provider. + */ + export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable; + + /** + * Register a definition provider (used by e.g. go to definition). + */ + export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable; + + /** + * Register a implementation provider (used by e.g. go to implementation). + */ + export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable; + + /** + * Register a type definition provider (used by e.g. go to type definition). + */ + export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable; + + /** + * Register a code lens provider (used by e.g. inline code lenses). + */ + export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable; + + /** + * Register a code action provider (used by e.g. quick fix). + */ + export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable; + + /** + * Register a formatter that can handle only entire models. + */ + export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable; + + /** + * Register a formatter that can handle a range inside a model. + */ + export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable; + + /** + * Register a formatter than can do formatting as the user types. + */ + export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable; + + /** + * Register a link provider that can find links in text. + */ + export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable; + + /** + * Register a completion item provider (use by e.g. suggestions). + */ + export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable; + + /** + * Register a document color provider (used by Color Picker, Color Decorator). + */ + export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable; + + /** + * Register a folding range provider + */ + export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable; + + /** + * Register a declaration provider + */ + export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable; + + /** + * Register a selection range provider + */ + export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable; + + /** + * Register a document semantic tokens provider + */ + export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable; + + /** + * Register a document range semantic tokens provider + */ + export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable; + + /** + * Register an inline completions provider. + */ + export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable; + + /** + * Register an inlay hints provider. + */ + export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable; + + /** + * Contains additional diagnostic information about the context in which + * a [code action](#CodeActionProvider.provideCodeActions) is run. + */ + export interface CodeActionContext { + /** + * An array of diagnostics. + */ + readonly markers: editor.IMarkerData[]; + /** + * Requested kind of actions to return. + */ + readonly only?: string; + } + + /** + * The code action interface defines the contract between extensions and + * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature. + */ + export interface CodeActionProvider { + /** + * Provide commands for the given document and range. + */ + provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult; + /** + * Given a code action fill in the edit. Will only invoked when missing. + */ + resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult; + } + + /** + * Metadata about the type of code actions that a {@link CodeActionProvider} provides. + */ + export interface CodeActionProviderMetadata { + /** + * List of code action kinds that a {@link CodeActionProvider} may return. + * + * This list is used to determine if a given `CodeActionProvider` should be invoked or not. + * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The + * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided, + * such as `["quickfix.removeLine", "source.fixAll" ...]`. + */ + readonly providedCodeActionKinds?: readonly string[]; + } + + /** + * Describes how comments for a language work. + */ + export interface CommentRule { + /** + * The line comment token, like `// this is a comment` + */ + lineComment?: string | null; + /** + * The block comment character pair, like `/* block comment */` + */ + blockComment?: CharacterPair | null; + } + + /** + * The language configuration interface defines the contract between extensions and + * various editor features, like automatic bracket insertion, automatic indentation etc. + */ + export interface LanguageConfiguration { + /** + * The language's comment settings. + */ + comments?: CommentRule; + /** + * The language's brackets. + * This configuration implicitly affects pressing Enter around these brackets. + */ + brackets?: CharacterPair[]; + /** + * The language's word definition. + * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable + * to provide a word definition that uses exclusion of known separators. + * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number): + * /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g + */ + wordPattern?: RegExp; + /** + * The language's indentation settings. + */ + indentationRules?: IndentationRule; + /** + * The language's rules to be evaluated when pressing Enter. + */ + onEnterRules?: OnEnterRule[]; + /** + * The language's auto closing pairs. The 'close' character is automatically inserted with the + * 'open' character is typed. If not set, the configured brackets will be used. + */ + autoClosingPairs?: IAutoClosingPairConditional[]; + /** + * The language's surrounding pairs. When the 'open' character is typed on a selection, the + * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs + * settings will be used. + */ + surroundingPairs?: IAutoClosingPair[]; + /** + * Defines a list of bracket pairs that are colorized depending on their nesting level. + * If not set, the configured brackets will be used. + */ + colorizedBracketPairs?: CharacterPair[]; + /** + * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting. + * + * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc. + */ + autoCloseBefore?: string; + /** + * The language's folding rules. + */ + folding?: FoldingRules; + /** + * **Deprecated** Do not use. + * + * @deprecated Will be replaced by a better API soon. + */ + __electricCharacterSupport?: { + docComment?: IDocComment; + }; + } + + /** + * Describes indentation rules for a language. + */ + export interface IndentationRule { + /** + * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches). + */ + decreaseIndentPattern: RegExp; + /** + * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches). + */ + increaseIndentPattern: RegExp; + /** + * If a line matches this pattern, then **only the next line** after it should be indented once. + */ + indentNextLinePattern?: RegExp | null; + /** + * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules. + */ + unIndentedLinePattern?: RegExp | null; + } + + /** + * Describes language specific folding markers such as '#region' and '#endregion'. + * The start and end regexes will be tested against the contents of all lines and must be designed efficiently: + * - the regex should start with '^' + * - regexp flags (i, g) are ignored + */ + export interface FoldingMarkers { + start: RegExp; + end: RegExp; + } + + /** + * Describes folding rules for a language. + */ + export interface FoldingRules { + /** + * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block. + * A language adheres to the off-side rule if blocks in that language are expressed by their indentation. + * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information. + * If not set, `false` is used and empty lines belong to the previous block. + */ + offSide?: boolean; + /** + * Region markers used by the language. + */ + markers?: FoldingMarkers; + } + + /** + * Describes a rule to be evaluated when pressing Enter. + */ + export interface OnEnterRule { + /** + * This rule will only execute if the text before the cursor matches this regular expression. + */ + beforeText: RegExp; + /** + * This rule will only execute if the text after the cursor matches this regular expression. + */ + afterText?: RegExp; + /** + * This rule will only execute if the text above the this line matches this regular expression. + */ + previousLineText?: RegExp; + /** + * The action to execute. + */ + action: EnterAction; + } + + /** + * Definition of documentation comments (e.g. Javadoc/JSdoc) + */ + export interface IDocComment { + /** + * The string that starts a doc comment (e.g. '/**') + */ + open: string; + /** + * The string that appears on the last line and closes the doc comment (e.g. ' * /'). + */ + close?: string; + } + + /** + * A tuple of two characters, like a pair of + * opening and closing brackets. + */ + export type CharacterPair = [string, string]; + + export interface IAutoClosingPair { + open: string; + close: string; + } + + export interface IAutoClosingPairConditional extends IAutoClosingPair { + notIn?: string[]; + } + + /** + * Describes what to do with the indentation when pressing Enter. + */ + export enum IndentAction { + /** + * Insert new line and copy the previous line's indentation. + */ + None = 0, + /** + * Insert new line and indent once (relative to the previous line's indentation). + */ + Indent = 1, + /** + * Insert two new lines: + * - the first one indented which will hold the cursor + * - the second one at the same indentation level + */ + IndentOutdent = 2, + /** + * Insert new line and outdent once (relative to the previous line's indentation). + */ + Outdent = 3 + } + + /** + * Describes what to do when pressing Enter. + */ + export interface EnterAction { + /** + * Describe what to do with the indentation. + */ + indentAction: IndentAction; + /** + * Describes text to be appended after the new line and after the indentation. + */ + appendText?: string; + /** + * Describes the number of characters to remove from the new line's indentation. + */ + removeText?: number; + } + + /** + * The state of the tokenizer between two lines. + * It is useful to store flags such as in multiline comment, etc. + * The model will clone the previous line's state and pass it in to tokenize the next line. + */ + export interface IState { + clone(): IState; + equals(other: IState): boolean; + } + + /** + * A provider result represents the values a provider, like the {@link HoverProvider}, + * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves + * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a + * thenable. + */ + export type ProviderResult = T | undefined | null | Thenable; + + /** + * A hover represents additional information for a symbol or word. Hovers are + * rendered in a tooltip-like widget. + */ + export interface Hover { + /** + * The contents of this hover. + */ + contents: IMarkdownString[]; + /** + * The range to which this hover applies. When missing, the + * editor will use the range at the current position or the + * current position itself. + */ + range?: IRange; + } + + /** + * The hover provider interface defines the contract between extensions and + * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature. + */ + export interface HoverProvider { + /** + * Provide a hover for the given position and document. Multiple hovers at the same + * position will be merged by the editor. A hover can have a range which defaults + * to the word range at the position when omitted. + */ + provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + export enum CompletionItemKind { + Method = 0, + Function = 1, + Constructor = 2, + Field = 3, + Variable = 4, + Class = 5, + Struct = 6, + Interface = 7, + Module = 8, + Property = 9, + Event = 10, + Operator = 11, + Unit = 12, + Value = 13, + Constant = 14, + Enum = 15, + EnumMember = 16, + Keyword = 17, + Text = 18, + Color = 19, + File = 20, + Reference = 21, + Customcolor = 22, + Folder = 23, + TypeParameter = 24, + User = 25, + Issue = 26, + Snippet = 27 + } + + export interface CompletionItemLabel { + label: string; + detail?: string; + description?: string; + } + + export enum CompletionItemTag { + Deprecated = 1 + } + + export enum CompletionItemInsertTextRule { + /** + * Adjust whitespace/indentation of multiline insert texts to + * match the current line indentation. + */ + KeepWhitespace = 1, + /** + * `insertText` is a snippet. + */ + InsertAsSnippet = 4 + } + + /** + * A completion item represents a text snippet that is + * proposed to complete text that is being typed. + */ + export interface CompletionItem { + /** + * The label of this completion item. By default + * this is also the text that is inserted when selecting + * this completion. + */ + label: string | CompletionItemLabel; + /** + * The kind of this completion item. Based on the kind + * an icon is chosen by the editor. + */ + kind: CompletionItemKind; + /** + * A modifier to the `kind` which affect how the item + * is rendered, e.g. Deprecated is rendered with a strikeout + */ + tags?: ReadonlyArray; + /** + * A human-readable string with additional information + * about this item, like type or symbol information. + */ + detail?: string; + /** + * A human-readable string that represents a doc-comment. + */ + documentation?: string | IMarkdownString; + /** + * A string that should be used when comparing this item + * with other items. When `falsy` the {@link CompletionItem.label label} + * is used. + */ + sortText?: string; + /** + * A string that should be used when filtering a set of + * completion items. When `falsy` the {@link CompletionItem.label label} + * is used. + */ + filterText?: string; + /** + * Select this item when showing. *Note* that only one completion item can be selected and + * that the editor decides which item that is. The rule is that the *first* item of those + * that match best is selected. + */ + preselect?: boolean; + /** + * A string or snippet that should be inserted in a document when selecting + * this completion. + * is used. + */ + insertText: string; + /** + * Addition rules (as bitmask) that should be applied when inserting + * this completion. + */ + insertTextRules?: CompletionItemInsertTextRule; + /** + * A range of text that should be replaced by this completion item. + * + * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the + * current position. + * + * *Note:* The range must be a {@link Range.isSingleLine single line} and it must + * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}. + */ + range: IRange | { + insert: IRange; + replace: IRange; + }; + /** + * An optional set of characters that when pressed while this completion is active will accept it first and + * then type that character. *Note* that all commit characters should have `length=1` and that superfluous + * characters will be ignored. + */ + commitCharacters?: string[]; + /** + * An optional array of additional text edits that are applied when + * selecting this completion. Edits must not overlap with the main edit + * nor with themselves. + */ + additionalTextEdits?: editor.ISingleEditOperation[]; + /** + * A command that should be run upon acceptance of this item. + */ + command?: Command; + } + + export interface CompletionList { + suggestions: CompletionItem[]; + incomplete?: boolean; + dispose?(): void; + } + + /** + * How a suggest provider was triggered. + */ + export enum CompletionTriggerKind { + Invoke = 0, + TriggerCharacter = 1, + TriggerForIncompleteCompletions = 2 + } + + /** + * Contains additional information about the context in which + * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered. + */ + export interface CompletionContext { + /** + * How the completion was triggered. + */ + triggerKind: CompletionTriggerKind; + /** + * Character that triggered the completion item provider. + * + * `undefined` if provider was not triggered by a character. + */ + triggerCharacter?: string; + } + + /** + * The completion item provider interface defines the contract between extensions and + * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense). + * + * When computing *complete* completion items is expensive, providers can optionally implement + * the `resolveCompletionItem`-function. In that case it is enough to return completion + * items with a {@link CompletionItem.label label} from the + * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently, + * when a completion item is shown in the UI and gains focus this provider is asked to resolve + * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}. + */ + export interface CompletionItemProvider { + triggerCharacters?: string[]; + /** + * Provide completion items for the given position and document. + */ + provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult; + /** + * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment} + * or {@link CompletionItem.detail details}. + * + * The editor will only resolve a completion item once. + */ + resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult; + } + + /** + * How an {@link InlineCompletionsProvider inline completion provider} was triggered. + */ + export enum InlineCompletionTriggerKind { + /** + * Completion was triggered automatically while editing. + * It is sufficient to return a single completion item in this case. + */ + Automatic = 0, + /** + * Completion was triggered explicitly by a user gesture. + * Return multiple completion items to enable cycling through them. + */ + Explicit = 1 + } + + export interface InlineCompletionContext { + /** + * How the completion was triggered. + */ + readonly triggerKind: InlineCompletionTriggerKind; + readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined; + } + + export interface SelectedSuggestionInfo { + range: IRange; + text: string; + } + + export interface InlineCompletion { + /** + * The text to insert. + * If the text contains a line break, the range must end at the end of a line. + * If existing text should be replaced, the existing text must be a prefix of the text to insert. + */ + readonly text: string; + /** + * The range to replace. + * Must begin and end on the same line. + */ + readonly range?: IRange; + readonly command?: Command; + } + + export interface InlineCompletions { + readonly items: readonly TItem[]; + } + + export interface InlineCompletionsProvider { + provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult; + /** + * Will be called when an item is shown. + */ + handleItemDidShow?(completions: T, item: T['items'][number]): void; + /** + * Will be called when a completions list is no longer in use and can be garbage-collected. + */ + freeInlineCompletions(completions: T): void; + } + + export interface CodeAction { + title: string; + command?: Command; + edit?: WorkspaceEdit; + diagnostics?: editor.IMarkerData[]; + kind?: string; + isPreferred?: boolean; + disabled?: string; + } + + export interface CodeActionList extends IDisposable { + readonly actions: ReadonlyArray; + } + + /** + * Represents a parameter of a callable-signature. A parameter can + * have a label and a doc-comment. + */ + export interface ParameterInformation { + /** + * The label of this signature. Will be shown in + * the UI. + */ + label: string | [number, number]; + /** + * The human-readable doc-comment of this signature. Will be shown + * in the UI but can be omitted. + */ + documentation?: string | IMarkdownString; + } + + /** + * Represents the signature of something callable. A signature + * can have a label, like a function-name, a doc-comment, and + * a set of parameters. + */ + export interface SignatureInformation { + /** + * The label of this signature. Will be shown in + * the UI. + */ + label: string; + /** + * The human-readable doc-comment of this signature. Will be shown + * in the UI but can be omitted. + */ + documentation?: string | IMarkdownString; + /** + * The parameters of this signature. + */ + parameters: ParameterInformation[]; + /** + * Index of the active parameter. + * + * If provided, this is used in place of `SignatureHelp.activeSignature`. + */ + activeParameter?: number; + } + + /** + * Signature help represents the signature of something + * callable. There can be multiple signatures but only one + * active and only one active parameter. + */ + export interface SignatureHelp { + /** + * One or more signatures. + */ + signatures: SignatureInformation[]; + /** + * The active signature. + */ + activeSignature: number; + /** + * The active parameter of the active signature. + */ + activeParameter: number; + } + + export interface SignatureHelpResult extends IDisposable { + value: SignatureHelp; + } + + export enum SignatureHelpTriggerKind { + Invoke = 1, + TriggerCharacter = 2, + ContentChange = 3 + } + + export interface SignatureHelpContext { + readonly triggerKind: SignatureHelpTriggerKind; + readonly triggerCharacter?: string; + readonly isRetrigger: boolean; + readonly activeSignatureHelp?: SignatureHelp; + } + + /** + * The signature help provider interface defines the contract between extensions and + * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature. + */ + export interface SignatureHelpProvider { + readonly signatureHelpTriggerCharacters?: ReadonlyArray; + readonly signatureHelpRetriggerCharacters?: ReadonlyArray; + /** + * Provide help for the signature at the given position and document. + */ + provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult; + } + + /** + * A document highlight kind. + */ + export enum DocumentHighlightKind { + /** + * A textual occurrence. + */ + Text = 0, + /** + * Read-access of a symbol, like reading a variable. + */ + Read = 1, + /** + * Write-access of a symbol, like writing to a variable. + */ + Write = 2 + } + + /** + * A document highlight is a range inside a text document which deserves + * special attention. Usually a document highlight is visualized by changing + * the background color of its range. + */ + export interface DocumentHighlight { + /** + * The range this highlight applies to. + */ + range: IRange; + /** + * The highlight kind, default is {@link DocumentHighlightKind.Text text}. + */ + kind?: DocumentHighlightKind; + } + + /** + * The document highlight provider interface defines the contract between extensions and + * the word-highlight-feature. + */ + export interface DocumentHighlightProvider { + /** + * Provide a set of document highlights, like all occurrences of a variable or + * all exit-points of a function. + */ + provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + /** + * The linked editing range provider interface defines the contract between extensions and + * the linked editing feature. + */ + export interface LinkedEditingRangeProvider { + /** + * Provide a list of ranges that can be edited together. + */ + provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + /** + * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents. + */ + export interface LinkedEditingRanges { + /** + * A list of ranges that can be edited together. The ranges must have + * identical length and text content. The ranges cannot overlap + */ + ranges: IRange[]; + /** + * An optional word pattern that describes valid contents for the given ranges. + * If no pattern is provided, the language configuration's word pattern will be used. + */ + wordPattern?: RegExp; + } + + /** + * Value-object that contains additional information when + * requesting references. + */ + export interface ReferenceContext { + /** + * Include the declaration of the current symbol. + */ + includeDeclaration: boolean; + } + + /** + * The reference provider interface defines the contract between extensions and + * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature. + */ + export interface ReferenceProvider { + /** + * Provide a set of project-wide references for the given position and document. + */ + provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult; + } + + /** + * Represents a location inside a resource, such as a line + * inside a text file. + */ + export interface Location { + /** + * The resource identifier of this location. + */ + uri: Uri; + /** + * The document range of this locations. + */ + range: IRange; + } + + export interface LocationLink { + /** + * A range to select where this link originates from. + */ + originSelectionRange?: IRange; + /** + * The target uri this link points to. + */ + uri: Uri; + /** + * The full range this link points to. + */ + range: IRange; + /** + * A range to select this link points to. Must be contained + * in `LocationLink.range`. + */ + targetSelectionRange?: IRange; + } + + export type Definition = Location | Location[] | LocationLink[]; + + /** + * The definition provider interface defines the contract between extensions and + * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition) + * and peek definition features. + */ + export interface DefinitionProvider { + /** + * Provide the definition of the symbol at the given position and document. + */ + provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + /** + * The definition provider interface defines the contract between extensions and + * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition) + * and peek definition features. + */ + export interface DeclarationProvider { + /** + * Provide the declaration of the symbol at the given position and document. + */ + provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + /** + * The implementation provider interface defines the contract between extensions and + * the go to implementation feature. + */ + export interface ImplementationProvider { + /** + * Provide the implementation of the symbol at the given position and document. + */ + provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + /** + * The type definition provider interface defines the contract between extensions and + * the go to type definition feature. + */ + export interface TypeDefinitionProvider { + /** + * Provide the type definition of the symbol at the given position and document. + */ + provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + /** + * A symbol kind. + */ + export enum SymbolKind { + File = 0, + Module = 1, + Namespace = 2, + Package = 3, + Class = 4, + Method = 5, + Property = 6, + Field = 7, + Constructor = 8, + Enum = 9, + Interface = 10, + Function = 11, + Variable = 12, + Constant = 13, + String = 14, + Number = 15, + Boolean = 16, + Array = 17, + Object = 18, + Key = 19, + Null = 20, + EnumMember = 21, + Struct = 22, + Event = 23, + Operator = 24, + TypeParameter = 25 + } + + export enum SymbolTag { + Deprecated = 1 + } + + export interface DocumentSymbol { + name: string; + detail: string; + kind: SymbolKind; + tags: ReadonlyArray; + containerName?: string; + range: IRange; + selectionRange: IRange; + children?: DocumentSymbol[]; + } + + /** + * The document symbol provider interface defines the contract between extensions and + * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature. + */ + export interface DocumentSymbolProvider { + displayName?: string; + /** + * Provide symbol information for the given document. + */ + provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult; + } + + export type TextEdit = { + range: IRange; + text: string; + eol?: editor.EndOfLineSequence; + }; + + /** + * Interface used to format a model + */ + export interface FormattingOptions { + /** + * Size of a tab in spaces. + */ + tabSize: number; + /** + * Prefer spaces over tabs. + */ + insertSpaces: boolean; + } + + /** + * The document formatting provider interface defines the contract between extensions and + * the formatting-feature. + */ + export interface DocumentFormattingEditProvider { + readonly displayName?: string; + /** + * Provide formatting edits for a whole document. + */ + provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult; + } + + /** + * The document formatting provider interface defines the contract between extensions and + * the formatting-feature. + */ + export interface DocumentRangeFormattingEditProvider { + readonly displayName?: string; + /** + * Provide formatting edits for a range in a document. + * + * The given range is a hint and providers can decide to format a smaller + * or larger range. Often this is done by adjusting the start and end + * of the range to full syntax nodes. + */ + provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult; + } + + /** + * The document formatting provider interface defines the contract between extensions and + * the formatting-feature. + */ + export interface OnTypeFormattingEditProvider { + autoFormatTriggerCharacters: string[]; + /** + * Provide formatting edits after a character has been typed. + * + * The given position and character should hint to the provider + * what range the position to expand to, like find the matching `{` + * when `}` has been entered. + */ + provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult; + } + + /** + * A link inside the editor. + */ + export interface ILink { + range: IRange; + url?: Uri | string; + tooltip?: string; + } + + export interface ILinksList { + links: ILink[]; + dispose?(): void; + } + + /** + * A provider of links. + */ + export interface LinkProvider { + provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult; + resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult; + } + + /** + * A color in RGBA format. + */ + export interface IColor { + /** + * The red component in the range [0-1]. + */ + readonly red: number; + /** + * The green component in the range [0-1]. + */ + readonly green: number; + /** + * The blue component in the range [0-1]. + */ + readonly blue: number; + /** + * The alpha component in the range [0-1]. + */ + readonly alpha: number; + } + + /** + * String representations for a color + */ + export interface IColorPresentation { + /** + * The label of this color presentation. It will be shown on the color + * picker header. By default this is also the text that is inserted when selecting + * this color presentation. + */ + label: string; + /** + * An {@link TextEdit edit} which is applied to a document when selecting + * this presentation for the color. + */ + textEdit?: TextEdit; + /** + * An optional array of additional {@link TextEdit text edits} that are applied when + * selecting this color presentation. + */ + additionalTextEdits?: TextEdit[]; + } + + /** + * A color range is a range in a text model which represents a color. + */ + export interface IColorInformation { + /** + * The range within the model. + */ + range: IRange; + /** + * The color represented in this range. + */ + color: IColor; + } + + /** + * A provider of colors for editor models. + */ + export interface DocumentColorProvider { + /** + * Provides the color ranges for a specific model. + */ + provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult; + /** + * Provide the string representations for a color. + */ + provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult; + } + + export interface SelectionRange { + range: IRange; + } + + export interface SelectionRangeProvider { + /** + * Provide ranges that should be selected from the given position. + */ + provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult; + } + + export interface FoldingContext { + } + + /** + * A provider of folding ranges for editor models. + */ + export interface FoldingRangeProvider { + /** + * An optional event to signal that the folding ranges from this provider have changed. + */ + onDidChange?: IEvent; + /** + * Provides the folding ranges for a specific model. + */ + provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult; + } + + export interface FoldingRange { + /** + * The one-based start line of the range to fold. The folded area starts after the line's last character. + */ + start: number; + /** + * The one-based end line of the range to fold. The folded area ends with the line's last character. + */ + end: number; + /** + * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or + * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands + * like 'Fold all comments'. See + * {@link FoldingRangeKind} for an enumeration of standardized kinds. + */ + kind?: FoldingRangeKind; + } + + export class FoldingRangeKind { + value: string; + /** + * Kind for folding range representing a comment. The value of the kind is 'comment'. + */ + static readonly Comment: FoldingRangeKind; + /** + * Kind for folding range representing a import. The value of the kind is 'imports'. + */ + static readonly Imports: FoldingRangeKind; + /** + * Kind for folding range representing regions (for example marked by `#region`, `#endregion`). + * The value of the kind is 'region'. + */ + static readonly Region: FoldingRangeKind; + /** + * Creates a new {@link FoldingRangeKind}. + * + * @param value of the kind. + */ + constructor(value: string); + } + + export interface WorkspaceEditMetadata { + needsConfirmation: boolean; + label: string; + description?: string; + } + + export interface WorkspaceFileEditOptions { + overwrite?: boolean; + ignoreIfNotExists?: boolean; + ignoreIfExists?: boolean; + recursive?: boolean; + copy?: boolean; + folder?: boolean; + skipTrashBin?: boolean; + maxSize?: number; + } + + export interface WorkspaceFileEdit { + oldUri?: Uri; + newUri?: Uri; + options?: WorkspaceFileEditOptions; + metadata?: WorkspaceEditMetadata; + } + + export interface WorkspaceTextEdit { + resource: Uri; + edit: TextEdit; + modelVersionId?: number; + metadata?: WorkspaceEditMetadata; + } + + export interface WorkspaceEdit { + edits: Array; + } + + export interface Rejection { + rejectReason?: string; + } + + export interface RenameLocation { + range: IRange; + text: string; + } + + export interface RenameProvider { + provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult; + resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult; + } + + export interface Command { + id: string; + title: string; + tooltip?: string; + arguments?: any[]; + } + + export interface CodeLens { + range: IRange; + id?: string; + command?: Command; + } + + export interface CodeLensList { + lenses: CodeLens[]; + dispose(): void; + } + + export interface CodeLensProvider { + onDidChange?: IEvent; + provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult; + resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult; + } + + export enum InlayHintKind { + Other = 0, + Type = 1, + Parameter = 2 + } + + export interface InlayHint { + text: string; + position: IPosition; + kind: InlayHintKind; + whitespaceBefore?: boolean; + whitespaceAfter?: boolean; + } + + export interface InlayHintsProvider { + onDidChangeInlayHints?: IEvent; + provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult; + } + + export interface SemanticTokensLegend { + readonly tokenTypes: string[]; + readonly tokenModifiers: string[]; + } + + export interface SemanticTokens { + readonly resultId?: string; + readonly data: Uint32Array; + } + + export interface SemanticTokensEdit { + readonly start: number; + readonly deleteCount: number; + readonly data?: Uint32Array; + } + + export interface SemanticTokensEdits { + readonly resultId?: string; + readonly edits: SemanticTokensEdit[]; + } + + export interface DocumentSemanticTokensProvider { + onDidChange?: IEvent; + getLegend(): SemanticTokensLegend; + provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult; + releaseDocumentSemanticTokens(resultId: string | undefined): void; + } + + export interface DocumentRangeSemanticTokensProvider { + getLegend(): SemanticTokensLegend; + provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult; + } + + export interface ILanguageExtensionPoint { + id: string; + extensions?: string[]; + filenames?: string[]; + filenamePatterns?: string[]; + firstLine?: string; + aliases?: string[]; + mimetypes?: string[]; + configuration?: Uri; + } + /** + * A Monarch language definition + */ + export interface IMonarchLanguage { + /** + * map from string to ILanguageRule[] + */ + tokenizer: { + [name: string]: IMonarchLanguageRule[]; + }; + /** + * is the language case insensitive? + */ + ignoreCase?: boolean; + /** + * is the language unicode-aware? (i.e., /\u{1D306}/) + */ + unicode?: boolean; + /** + * if no match in the tokenizer assign this token class (default 'source') + */ + defaultToken?: string; + /** + * for example [['{','}','delimiter.curly']] + */ + brackets?: IMonarchLanguageBracket[]; + /** + * start symbol in the tokenizer (by default the first entry is used) + */ + start?: string; + /** + * attach this to every token class (by default '.' + name) + */ + tokenPostfix?: string; + /** + * include line feeds (in the form of a \n character) at the end of lines + * Defaults to false + */ + includeLF?: boolean; + /** + * Other keys that can be referred to by the tokenizer. + */ + [key: string]: any; + } + + /** + * A rule is either a regular expression and an action + * shorthands: [reg,act] == { regex: reg, action: act} + * and : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }} + */ + export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction]; + + export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string]; + + export interface IExpandedMonarchLanguageRule { + /** + * match tokens + */ + regex?: string | RegExp; + /** + * action to take on match + */ + action?: IMonarchLanguageAction; + /** + * or an include rule. include all rules from the included state + */ + include?: string; + } + + export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule; + + /** + * An action is either an array of actions... + * ... or a case statement with guards... + * ... or a basic action with a token value. + */ + export type IShortMonarchLanguageAction = string; + + export interface IExpandedMonarchLanguageAction { + /** + * array of actions for each parenthesized match group + */ + group?: IMonarchLanguageAction[]; + /** + * map from string to ILanguageAction + */ + cases?: Object; + /** + * token class (ie. css class) (or "@brackets" or "@rematch") + */ + token?: string; + /** + * the next state to push, or "@push", "@pop", "@popall" + */ + next?: string; + /** + * switch to this state + */ + switchTo?: string; + /** + * go back n characters in the stream + */ + goBack?: number; + /** + * @open or @close + */ + bracket?: string; + /** + * switch to embedded language (using the mimetype) or get out using "@pop" + */ + nextEmbedded?: string; + /** + * log a message to the browser console window + */ + log?: string; + } + + export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[]; + + /** + * This interface can be shortened as an array, ie. ['{','}','delimiter.curly'] + */ + export interface IMonarchLanguageBracket { + /** + * open bracket + */ + open: string; + /** + * closing bracket + */ + close: string; + /** + * token class + */ + token: string; + } + +} + +declare namespace monaco.worker { + + + export interface IMirrorTextModel { + readonly version: number; + } + + export interface IMirrorModel extends IMirrorTextModel { + readonly uri: Uri; + readonly version: number; + getValue(): string; + } + + export interface IWorkerContext { + /** + * A proxy to the main thread host object. + */ + host: H; + /** + * Get all available mirror models in this worker. + */ + getMirrorModels(): IMirrorModel[]; + } + +} + +//dtsv=3 + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + + +declare namespace monaco.languages.typescript { + export enum ModuleKind { + None = 0, + CommonJS = 1, + AMD = 2, + UMD = 3, + System = 4, + ES2015 = 5, + ESNext = 99 + } + export enum JsxEmit { + None = 0, + Preserve = 1, + React = 2, + ReactNative = 3, + ReactJSX = 4, + ReactJSXDev = 5 + } + export enum NewLineKind { + CarriageReturnLineFeed = 0, + LineFeed = 1 + } + export enum ScriptTarget { + ES3 = 0, + ES5 = 1, + ES2015 = 2, + ES2016 = 3, + ES2017 = 4, + ES2018 = 5, + ES2019 = 6, + ES2020 = 7, + ESNext = 99, + JSON = 100, + Latest = 99 + } + export enum ModuleResolutionKind { + Classic = 1, + NodeJs = 2 + } + interface MapLike { + [index: string]: T; + } + type CompilerOptionsValue = + | string + | number + | boolean + | (string | number)[] + | string[] + | MapLike + | null + | undefined; + interface CompilerOptions { + allowJs?: boolean; + allowSyntheticDefaultImports?: boolean; + allowUmdGlobalAccess?: boolean; + allowUnreachableCode?: boolean; + allowUnusedLabels?: boolean; + alwaysStrict?: boolean; + baseUrl?: string; + charset?: string; + checkJs?: boolean; + declaration?: boolean; + declarationMap?: boolean; + emitDeclarationOnly?: boolean; + declarationDir?: string; + disableSizeLimit?: boolean; + disableSourceOfProjectReferenceRedirect?: boolean; + downlevelIteration?: boolean; + emitBOM?: boolean; + emitDecoratorMetadata?: boolean; + experimentalDecorators?: boolean; + forceConsistentCasingInFileNames?: boolean; + importHelpers?: boolean; + inlineSourceMap?: boolean; + inlineSources?: boolean; + isolatedModules?: boolean; + jsx?: JsxEmit; + keyofStringsOnly?: boolean; + lib?: string[]; + locale?: string; + mapRoot?: string; + maxNodeModuleJsDepth?: number; + module?: ModuleKind; + moduleResolution?: ModuleResolutionKind; + newLine?: NewLineKind; + noEmit?: boolean; + noEmitHelpers?: boolean; + noEmitOnError?: boolean; + noErrorTruncation?: boolean; + noFallthroughCasesInSwitch?: boolean; + noImplicitAny?: boolean; + noImplicitReturns?: boolean; + noImplicitThis?: boolean; + noStrictGenericChecks?: boolean; + noUnusedLocals?: boolean; + noUnusedParameters?: boolean; + noImplicitUseStrict?: boolean; + noLib?: boolean; + noResolve?: boolean; + out?: string; + outDir?: string; + outFile?: string; + paths?: MapLike; + preserveConstEnums?: boolean; + preserveSymlinks?: boolean; + project?: string; + reactNamespace?: string; + jsxFactory?: string; + composite?: boolean; + removeComments?: boolean; + rootDir?: string; + rootDirs?: string[]; + skipLibCheck?: boolean; + skipDefaultLibCheck?: boolean; + sourceMap?: boolean; + sourceRoot?: string; + strict?: boolean; + strictFunctionTypes?: boolean; + strictBindCallApply?: boolean; + strictNullChecks?: boolean; + strictPropertyInitialization?: boolean; + stripInternal?: boolean; + suppressExcessPropertyErrors?: boolean; + suppressImplicitAnyIndexErrors?: boolean; + target?: ScriptTarget; + traceResolution?: boolean; + resolveJsonModule?: boolean; + types?: string[]; + /** Paths used to compute primary types search locations */ + typeRoots?: string[]; + esModuleInterop?: boolean; + useDefineForClassFields?: boolean; + [option: string]: CompilerOptionsValue | undefined; + } + export interface DiagnosticsOptions { + noSemanticValidation?: boolean; + noSyntaxValidation?: boolean; + noSuggestionDiagnostics?: boolean; + /** + * Limit diagnostic computation to only visible files. + * Defaults to false. + */ + onlyVisible?: boolean; + diagnosticCodesToIgnore?: number[]; + } + export interface WorkerOptions { + /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */ + customWorkerPath?: string; + } + interface InlayHintsOptions { + readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all'; + readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean; + readonly includeInlayFunctionParameterTypeHints?: boolean; + readonly includeInlayVariableTypeHints?: boolean; + readonly includeInlayPropertyDeclarationTypeHints?: boolean; + readonly includeInlayFunctionLikeReturnTypeHints?: boolean; + readonly includeInlayEnumMemberValueHints?: boolean; + } + interface IExtraLib { + content: string; + version: number; + } + export interface IExtraLibs { + [path: string]: IExtraLib; + } + /** + * A linked list of formatted diagnostic messages to be used as part of a multiline message. + * It is built from the bottom up, leaving the head to be the "main" diagnostic. + */ + interface DiagnosticMessageChain { + messageText: string; + /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */ + category: 0 | 1 | 2 | 3; + code: number; + next?: DiagnosticMessageChain[]; + } + export interface Diagnostic extends DiagnosticRelatedInformation { + /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ + reportsUnnecessary?: {}; + reportsDeprecated?: {}; + source?: string; + relatedInformation?: DiagnosticRelatedInformation[]; + } + export interface DiagnosticRelatedInformation { + /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */ + category: 0 | 1 | 2 | 3; + code: number; + /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ + file: + | { + fileName: string; + } + | undefined; + start: number | undefined; + length: number | undefined; + messageText: string | DiagnosticMessageChain; + } + interface EmitOutput { + outputFiles: OutputFile[]; + emitSkipped: boolean; + } + interface OutputFile { + name: string; + writeByteOrderMark: boolean; + text: string; + } + export interface LanguageServiceDefaults { + /** + * Event fired when compiler options or diagnostics options are changed. + */ + readonly onDidChange: IEvent; + /** + * Event fired when extra libraries registered with the language service change. + */ + readonly onDidExtraLibsChange: IEvent; + readonly workerOptions: WorkerOptions; + readonly inlayHintsOptions: InlayHintsOptions; + /** + * Get the current extra libs registered with the language service. + */ + getExtraLibs(): IExtraLibs; + /** + * Add an additional source file to the language service. Use this + * for typescript (definition) files that won't be loaded as editor + * documents, like `jquery.d.ts`. + * + * @param content The file content + * @param filePath An optional file path + * @returns A disposable which will remove the file from the + * language service upon disposal. + */ + addExtraLib(content: string, filePath?: string): IDisposable; + /** + * Remove all existing extra libs and set the additional source + * files to the language service. Use this for typescript definition + * files that won't be loaded as editor documents, like `jquery.d.ts`. + * @param libs An array of entries to register. + */ + setExtraLibs( + libs: { + content: string; + filePath?: string; + }[] + ): void; + /** + * Get current TypeScript compiler options for the language service. + */ + getCompilerOptions(): CompilerOptions; + /** + * Set TypeScript compiler options. + */ + setCompilerOptions(options: CompilerOptions): void; + /** + * Get the current diagnostics options for the language service. + */ + getDiagnosticsOptions(): DiagnosticsOptions; + /** + * Configure whether syntactic and/or semantic validation should + * be performed + */ + setDiagnosticsOptions(options: DiagnosticsOptions): void; + /** + * Configure webworker options + */ + setWorkerOptions(options: WorkerOptions): void; + /** + * No-op. + */ + setMaximumWorkerIdleTime(value: number): void; + /** + * Configure if all existing models should be eagerly sync'd + * to the worker on start or restart. + */ + setEagerModelSync(value: boolean): void; + /** + * Get the current setting for whether all existing models should be eagerly sync'd + * to the worker on start or restart. + */ + getEagerModelSync(): boolean; + /** + * Configure inlay hints options. + */ + setInlayHintsOptions(options: InlayHintsOptions): void; + } + export interface TypeScriptWorker { + /** + * Get diagnostic messages for any syntax issues in the given file. + */ + getSyntacticDiagnostics(fileName: string): Promise; + /** + * Get diagnostic messages for any semantic issues in the given file. + */ + getSemanticDiagnostics(fileName: string): Promise; + /** + * Get diagnostic messages for any suggestions related to the given file. + */ + getSuggestionDiagnostics(fileName: string): Promise; + /** + * Get the content of a given file. + */ + getScriptText(fileName: string): Promise; + /** + * Get diagnostic messages related to the current compiler options. + * @param fileName Not used + */ + getCompilerOptionsDiagnostics(fileName: string): Promise; + /** + * Get code completions for the given file and position. + * @returns `Promise` + */ + getCompletionsAtPosition(fileName: string, position: number): Promise; + /** + * Get code completion details for the given file, position, and entry. + * @returns `Promise` + */ + getCompletionEntryDetails( + fileName: string, + position: number, + entry: string + ): Promise; + /** + * Get signature help items for the item at the given file and position. + * @returns `Promise` + */ + getSignatureHelpItems( + fileName: string, + position: number, + options: any + ): Promise; + /** + * Get quick info for the item at the given position in the file. + * @returns `Promise` + */ + getQuickInfoAtPosition(fileName: string, position: number): Promise; + /** + * Get other ranges which are related to the item at the given position in the file (often used for highlighting). + * @returns `Promise | undefined>` + */ + getOccurrencesAtPosition( + fileName: string, + position: number + ): Promise | undefined>; + /** + * Get the definition of the item at the given position in the file. + * @returns `Promise | undefined>` + */ + getDefinitionAtPosition( + fileName: string, + position: number + ): Promise | undefined>; + /** + * Get references to the item at the given position in the file. + * @returns `Promise` + */ + getReferencesAtPosition(fileName: string, position: number): Promise; + /** + * Get outline entries for the item at the given position in the file. + * @returns `Promise` + */ + getNavigationBarItems(fileName: string): Promise; + /** + * Get changes which should be applied to format the given file. + * @param options `typescript.FormatCodeOptions` + * @returns `Promise` + */ + getFormattingEditsForDocument(fileName: string, options: any): Promise; + /** + * Get changes which should be applied to format the given range in the file. + * @param options `typescript.FormatCodeOptions` + * @returns `Promise` + */ + getFormattingEditsForRange( + fileName: string, + start: number, + end: number, + options: any + ): Promise; + /** + * Get formatting changes which should be applied after the given keystroke. + * @param options `typescript.FormatCodeOptions` + * @returns `Promise` + */ + getFormattingEditsAfterKeystroke( + fileName: string, + postion: number, + ch: string, + options: any + ): Promise; + /** + * Get other occurrences which should be updated when renaming the item at the given file and position. + * @returns `Promise` + */ + findRenameLocations( + fileName: string, + positon: number, + findInStrings: boolean, + findInComments: boolean, + providePrefixAndSuffixTextForRename: boolean + ): Promise; + /** + * Get edits which should be applied to rename the item at the given file and position (or a failure reason). + * @param options `typescript.RenameInfoOptions` + * @returns `Promise` + */ + getRenameInfo(fileName: string, positon: number, options: any): Promise; + /** + * Get transpiled output for the given file. + * @returns `typescript.EmitOutput` + */ + getEmitOutput(fileName: string): Promise; + /** + * Get possible code fixes at the given position in the file. + * @param formatOptions `typescript.FormatCodeOptions` + * @returns `Promise>` + */ + getCodeFixesAtPosition( + fileName: string, + start: number, + end: number, + errorCodes: number[], + formatOptions: any + ): Promise>; + /** + * Get inlay hints in the range of the file. + * @param fileName + * @returns `Promise` + */ + provideInlayHints(fileName: string, start: number, end: number): Promise>; + } + export const typescriptVersion: string; + export const typescriptDefaults: LanguageServiceDefaults; + export const javascriptDefaults: LanguageServiceDefaults; + export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise>; + export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise>; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + + +declare namespace monaco.languages.css { + export interface Options { + readonly validate?: boolean; + readonly lint?: { + readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error'; + readonly vendorPrefix?: 'ignore' | 'warning' | 'error'; + readonly duplicateProperties?: 'ignore' | 'warning' | 'error'; + readonly emptyRules?: 'ignore' | 'warning' | 'error'; + readonly importStatement?: 'ignore' | 'warning' | 'error'; + readonly boxModel?: 'ignore' | 'warning' | 'error'; + readonly universalSelector?: 'ignore' | 'warning' | 'error'; + readonly zeroUnits?: 'ignore' | 'warning' | 'error'; + readonly fontFaceProperties?: 'ignore' | 'warning' | 'error'; + readonly hexColorLength?: 'ignore' | 'warning' | 'error'; + readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error'; + readonly unknownProperties?: 'ignore' | 'warning' | 'error'; + readonly ieHack?: 'ignore' | 'warning' | 'error'; + readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error'; + readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error'; + readonly important?: 'ignore' | 'warning' | 'error'; + readonly float?: 'ignore' | 'warning' | 'error'; + readonly idSelector?: 'ignore' | 'warning' | 'error'; + }; + /** + * Configures the CSS data types known by the langauge service. + */ + readonly data?: CSSDataConfiguration; + } + export interface ModeConfiguration { + /** + * Defines whether the built-in completionItemProvider is enabled. + */ + readonly completionItems?: boolean; + /** + * Defines whether the built-in hoverProvider is enabled. + */ + readonly hovers?: boolean; + /** + * Defines whether the built-in documentSymbolProvider is enabled. + */ + readonly documentSymbols?: boolean; + /** + * Defines whether the built-in definitions provider is enabled. + */ + readonly definitions?: boolean; + /** + * Defines whether the built-in references provider is enabled. + */ + readonly references?: boolean; + /** + * Defines whether the built-in references provider is enabled. + */ + readonly documentHighlights?: boolean; + /** + * Defines whether the built-in rename provider is enabled. + */ + readonly rename?: boolean; + /** + * Defines whether the built-in color provider is enabled. + */ + readonly colors?: boolean; + /** + * Defines whether the built-in foldingRange provider is enabled. + */ + readonly foldingRanges?: boolean; + /** + * Defines whether the built-in diagnostic provider is enabled. + */ + readonly diagnostics?: boolean; + /** + * Defines whether the built-in selection range provider is enabled. + */ + readonly selectionRanges?: boolean; + } + export interface LanguageServiceDefaults { + readonly languageId: string; + readonly onDidChange: IEvent; + readonly modeConfiguration: ModeConfiguration; + readonly options: Options; + setOptions(options: Options): void; + setModeConfiguration(modeConfiguration: ModeConfiguration): void; + /** @deprecated Use options instead */ + readonly diagnosticsOptions: DiagnosticsOptions; + /** @deprecated Use setOptions instead */ + setDiagnosticsOptions(options: DiagnosticsOptions): void; + } + /** @deprecated Use Options instead */ + export type DiagnosticsOptions = Options; + export const cssDefaults: LanguageServiceDefaults; + export const scssDefaults: LanguageServiceDefaults; + export const lessDefaults: LanguageServiceDefaults; + export interface CSSDataConfiguration { + /** + * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown. + */ + useDefaultDataProvider?: boolean; + /** + * Provides a set of custom data providers. + */ + dataProviders?: { + [providerId: string]: CSSDataV1; + }; + } + /** + * Custom CSS properties, at-directives, pseudoClasses and pseudoElements + * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md + */ + export interface CSSDataV1 { + version: 1 | 1.1; + properties?: IPropertyData[]; + atDirectives?: IAtDirectiveData[]; + pseudoClasses?: IPseudoClassData[]; + pseudoElements?: IPseudoElementData[]; + } + export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete'; + export interface IReference { + name: string; + url: string; + } + export interface IPropertyData { + name: string; + description?: string | MarkupContent; + browsers?: string[]; + restrictions?: string[]; + status?: EntryStatus; + syntax?: string; + values?: IValueData[]; + references?: IReference[]; + relevance?: number; + } + export interface IAtDirectiveData { + name: string; + description?: string | MarkupContent; + browsers?: string[]; + status?: EntryStatus; + references?: IReference[]; + } + export interface IPseudoClassData { + name: string; + description?: string | MarkupContent; + browsers?: string[]; + status?: EntryStatus; + references?: IReference[]; + } + export interface IPseudoElementData { + name: string; + description?: string | MarkupContent; + browsers?: string[]; + status?: EntryStatus; + references?: IReference[]; + } + export interface IValueData { + name: string; + description?: string | MarkupContent; + browsers?: string[]; + status?: EntryStatus; + references?: IReference[]; + } + export interface MarkupContent { + kind: MarkupKind; + value: string; + } + export type MarkupKind = 'plaintext' | 'markdown'; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + + +declare namespace monaco.languages.json { + export interface DiagnosticsOptions { + /** + * If set, the validator will be enabled and perform syntax and schema based validation, + * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`. + */ + readonly validate?: boolean; + /** + * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments. + * `DiagnosticsOptions.allowComments` will override this setting. + */ + readonly allowComments?: boolean; + /** + * A list of known schemas and/or associations of schemas to file names. + */ + readonly schemas?: { + /** + * The URI of the schema, which is also the identifier of the schema. + */ + readonly uri: string; + /** + * A list of glob patterns that describe for which file URIs the JSON schema will be used. + * '*' and '**' wildcards are supported. Exclusion patterns start with '!'. + * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'. + * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'. + */ + readonly fileMatch?: string[]; + /** + * The schema for the given URI. + */ + readonly schema?: any; + }[]; + /** + * If set, the schema service would load schema content on-demand with 'fetch' if available + */ + readonly enableSchemaRequest?: boolean; + /** + * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used. + */ + readonly schemaValidation?: SeverityLevel; + /** + * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used. + */ + readonly schemaRequest?: SeverityLevel; + /** + * The severity of reported trailing commas. If not set, trailing commas will be reported as errors. + */ + readonly trailingCommas?: SeverityLevel; + /** + * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors. + */ + readonly comments?: SeverityLevel; + } + export type SeverityLevel = 'error' | 'warning' | 'ignore'; + export interface ModeConfiguration { + /** + * Defines whether the built-in documentFormattingEdit provider is enabled. + */ + readonly documentFormattingEdits?: boolean; + /** + * Defines whether the built-in documentRangeFormattingEdit provider is enabled. + */ + readonly documentRangeFormattingEdits?: boolean; + /** + * Defines whether the built-in completionItemProvider is enabled. + */ + readonly completionItems?: boolean; + /** + * Defines whether the built-in hoverProvider is enabled. + */ + readonly hovers?: boolean; + /** + * Defines whether the built-in documentSymbolProvider is enabled. + */ + readonly documentSymbols?: boolean; + /** + * Defines whether the built-in tokens provider is enabled. + */ + readonly tokens?: boolean; + /** + * Defines whether the built-in color provider is enabled. + */ + readonly colors?: boolean; + /** + * Defines whether the built-in foldingRange provider is enabled. + */ + readonly foldingRanges?: boolean; + /** + * Defines whether the built-in diagnostic provider is enabled. + */ + readonly diagnostics?: boolean; + /** + * Defines whether the built-in selection range provider is enabled. + */ + readonly selectionRanges?: boolean; + } + export interface LanguageServiceDefaults { + readonly languageId: string; + readonly onDidChange: IEvent; + readonly diagnosticsOptions: DiagnosticsOptions; + readonly modeConfiguration: ModeConfiguration; + setDiagnosticsOptions(options: DiagnosticsOptions): void; + setModeConfiguration(modeConfiguration: ModeConfiguration): void; + } + export const jsonDefaults: LanguageServiceDefaults; +} + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + + +declare namespace monaco.languages.html { + export interface HTMLFormatConfiguration { + readonly tabSize: number; + readonly insertSpaces: boolean; + readonly wrapLineLength: number; + readonly unformatted: string; + readonly contentUnformatted: string; + readonly indentInnerHtml: boolean; + readonly preserveNewLines: boolean; + readonly maxPreserveNewLines: number; + readonly indentHandlebars: boolean; + readonly endWithNewline: boolean; + readonly extraLiners: string; + readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline'; + } + export interface CompletionConfiguration { + readonly [providerId: string]: boolean; + } + export interface Options { + /** + * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments. + */ + readonly format?: HTMLFormatConfiguration; + /** + * A list of known schemas and/or associations of schemas to file names. + */ + readonly suggest?: CompletionConfiguration; + /** + * Configures the HTML data types known by the HTML langauge service. + */ + readonly data?: HTMLDataConfiguration; + } + export interface ModeConfiguration { + /** + * Defines whether the built-in completionItemProvider is enabled. + */ + readonly completionItems?: boolean; + /** + * Defines whether the built-in hoverProvider is enabled. + */ + readonly hovers?: boolean; + /** + * Defines whether the built-in documentSymbolProvider is enabled. + */ + readonly documentSymbols?: boolean; + /** + * Defines whether the built-in definitions provider is enabled. + */ + readonly links?: boolean; + /** + * Defines whether the built-in references provider is enabled. + */ + readonly documentHighlights?: boolean; + /** + * Defines whether the built-in rename provider is enabled. + */ + readonly rename?: boolean; + /** + * Defines whether the built-in color provider is enabled. + */ + readonly colors?: boolean; + /** + * Defines whether the built-in foldingRange provider is enabled. + */ + readonly foldingRanges?: boolean; + /** + * Defines whether the built-in diagnostic provider is enabled. + */ + readonly diagnostics?: boolean; + /** + * Defines whether the built-in selection range provider is enabled. + */ + readonly selectionRanges?: boolean; + /** + * Defines whether the built-in documentFormattingEdit provider is enabled. + */ + readonly documentFormattingEdits?: boolean; + /** + * Defines whether the built-in documentRangeFormattingEdit provider is enabled. + */ + readonly documentRangeFormattingEdits?: boolean; + } + export interface LanguageServiceDefaults { + readonly languageId: string; + readonly modeConfiguration: ModeConfiguration; + readonly onDidChange: IEvent; + readonly options: Options; + setOptions(options: Options): void; + setModeConfiguration(modeConfiguration: ModeConfiguration): void; + } + export const htmlLanguageService: LanguageServiceRegistration; + export const htmlDefaults: LanguageServiceDefaults; + export const handlebarLanguageService: LanguageServiceRegistration; + export const handlebarDefaults: LanguageServiceDefaults; + export const razorLanguageService: LanguageServiceRegistration; + export const razorDefaults: LanguageServiceDefaults; + export interface LanguageServiceRegistration extends IDisposable { + readonly defaults: LanguageServiceDefaults; + } + /** + * Registers a new HTML language service for the languageId. + * Note: 'html', 'handlebar' and 'razor' are registered by default. + * + * Use this method to register additional language ids with a HTML service. + * The language server has to be registered before an editor model is opened. + */ + export function registerHTMLLanguageService( + languageId: string, + options?: Options, + modeConfiguration?: ModeConfiguration + ): LanguageServiceRegistration; + export interface HTMLDataConfiguration { + /** + * Defines whether the standard HTML tags and attributes are shown + */ + readonly useDefaultDataProvider?: boolean; + /** + * Provides a set of custom data providers. + */ + readonly dataProviders?: { + [providerId: string]: HTMLDataV1; + }; + } + /** + * Custom HTML tags attributes and attribute values + * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md + */ + export interface HTMLDataV1 { + readonly version: 1 | 1.1; + readonly tags?: ITagData[]; + readonly globalAttributes?: IAttributeData[]; + readonly valueSets?: IValueSet[]; + } + export interface IReference { + readonly name: string; + readonly url: string; + } + export interface ITagData { + readonly name: string; + readonly description?: string | MarkupContent; + readonly attributes: IAttributeData[]; + readonly references?: IReference[]; + } + export interface IAttributeData { + readonly name: string; + readonly description?: string | MarkupContent; + readonly valueSet?: string; + readonly values?: IValueData[]; + readonly references?: IReference[]; + } + export interface IValueData { + readonly name: string; + readonly description?: string | MarkupContent; + readonly references?: IReference[]; + } + export interface IValueSet { + readonly name: string; + readonly values: IValueData[]; + } + export interface MarkupContent { + readonly kind: MarkupKind; + readonly value: string; + } + export type MarkupKind = 'plaintext' | 'markdown'; +} diff --git a/src/ngx-monaco-editor/src/public_api.ts b/src/ngx-monaco-editor/src/public_api.ts index 32e4bc23..bc41810b 100644 --- a/src/ngx-monaco-editor/src/public_api.ts +++ b/src/ngx-monaco-editor/src/public_api.ts @@ -1,7 +1,6 @@ /* * Public API Surface of materia-monaco-editor-lib */ - export * from './lib/directives/monaco-editor-loader.directive'; export * from './lib/services/monaco-editor-loader.service'; export * from './lib/interfaces'; diff --git a/src/ngx-monaco-editor/tsconfig.lib.prod.json b/src/ngx-monaco-editor/tsconfig.lib.prod.json index 6330633d..2a2faa88 100644 --- a/src/ngx-monaco-editor/tsconfig.lib.prod.json +++ b/src/ngx-monaco-editor/tsconfig.lib.prod.json @@ -6,4 +6,4 @@ "angularCompilerOptions": { "compilationMode": "partial" } -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index 49ab7180..4f74c9d3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,5 +24,10 @@ "dist/ngx-monaco-editor/*" ] } + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictTemplates": true } } From 644d7b323612108967cb47a77c3604885700584f Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 20 Nov 2021 10:47:17 +0100 Subject: [PATCH 09/16] chore(lint): migrate tslint to eslint --- .eslintrc.json | 51 ++ angular.json | 27 +- package.json | 12 +- src/demo/.eslintrc.json | 37 ++ src/demo/tslint.json | 17 - src/ngx-monaco-editor/.eslintrc.json | 44 ++ src/ngx-monaco-editor/tslint.json | 16 - tslint.json | 130 ----- yarn.lock | 758 +++++++++++++++++++++------ 9 files changed, 766 insertions(+), 326 deletions(-) create mode 100644 .eslintrc.json create mode 100644 src/demo/.eslintrc.json delete mode 100644 src/demo/tslint.json create mode 100644 src/ngx-monaco-editor/.eslintrc.json delete mode 100644 src/ngx-monaco-editor/tslint.json delete mode 100644 tslint.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..aea44723 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,51 @@ +{ + "root": true, + "ignorePatterns": [ + "projects/**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "tsconfig.json", + "e2e/tsconfig.json" + ], + "createDefaultProgram": true + }, + "extends": [ + "plugin:@angular-eslint/recommended", + "plugin:@angular-eslint/template/process-inline-templates" + ], + "rules": { + "@angular-eslint/component-selector": [ + "error", + { + "prefix": "ngx", + "style": "kebab-case", + "type": "element" + } + ], + "@angular-eslint/directive-selector": [ + "error", + { + "prefix": "ngx", + "style": "camelCase", + "type": "attribute" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "extends": [ + "plugin:@angular-eslint/template/recommended" + ], + "rules": {} + } + ] +} diff --git a/angular.json b/angular.json index fc0818af..9fee91f5 100644 --- a/angular.json +++ b/angular.json @@ -90,6 +90,15 @@ "src/demo/assets" ] } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] + } } } }, @@ -125,9 +134,9 @@ }, "configurations": { "production": { - "project": "src/ngx-monaco-editor/ng-package.prod.json" - , "tsConfig": "src/ngx-monaco-editor/tsconfig.lib.prod.json" -} + "project": "src/ngx-monaco-editor/ng-package.prod.json", + "tsConfig": "src/ngx-monaco-editor/tsconfig.lib.prod.json" + } } }, "test": { @@ -137,6 +146,15 @@ "tsConfig": "src/ngx-monaco-editor/tsconfig.spec.json", "karmaConfig": "src/ngx-monaco-editor/karma.conf.js" } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/ngx-monaco-editor/**/*.ts", + "src/ngx-monaco-editor/**/*.html" + ] + } } } } @@ -146,5 +164,8 @@ "@schematics/angular:component": { "style": "scss" } + }, + "cli": { + "defaultCollection": "@angular-eslint/schematics" } } diff --git a/package.json b/package.json index 4440a1cc..9375f0dc 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,11 @@ }, "devDependencies": { "@angular-devkit/build-angular": "~13.0.3", + "@angular-eslint/builder": "13.0.1", + "@angular-eslint/eslint-plugin": "13.0.1", + "@angular-eslint/eslint-plugin-template": "13.0.1", + "@angular-eslint/schematics": "13.0.1", + "@angular-eslint/template-parser": "13.0.1", "@angular/cli": "^13.0.3", "@angular/compiler-cli": "^13.0.2", "@angular/language-service": "~13.0.2", @@ -44,7 +49,9 @@ "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.3", "@types/node": "^12.11.1", - "codelyzer": "^6.0.0", + "@typescript-eslint/eslint-plugin": "5.3.0", + "@typescript-eslint/parser": "5.3.0", + "eslint": "^8.2.0", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", "karma": "~6.3.9", @@ -57,7 +64,6 @@ "protractor": "~7.0.0", "rimraf": "^3.0.0", "ts-node": "~7.0.0", - "tslint": "~6.1.0", "typescript": "~4.4.4" } -} +} \ No newline at end of file diff --git a/src/demo/.eslintrc.json b/src/demo/.eslintrc.json new file mode 100644 index 00000000..4ae84bee --- /dev/null +++ b/src/demo/.eslintrc.json @@ -0,0 +1,37 @@ +{ + "extends": "../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "app", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "app", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "rules": {} + } + ] +} diff --git a/src/demo/tslint.json b/src/demo/tslint.json deleted file mode 100644 index 52e2c1a5..00000000 --- a/src/demo/tslint.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../tslint.json", - "rules": { - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ] - } -} diff --git a/src/ngx-monaco-editor/.eslintrc.json b/src/ngx-monaco-editor/.eslintrc.json new file mode 100644 index 00000000..b2ad664f --- /dev/null +++ b/src/ngx-monaco-editor/.eslintrc.json @@ -0,0 +1,44 @@ +{ + "extends": "../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "src/ngx-monaco-editor/tsconfig.lib.json", + "src/ngx-monaco-editor/tsconfig.spec.json" + ], + "createDefaultProgram": true + }, + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "ngx", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "ngx", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "rules": {} + } + ] +} diff --git a/src/ngx-monaco-editor/tslint.json b/src/ngx-monaco-editor/tslint.json deleted file mode 100644 index 070cc39e..00000000 --- a/src/ngx-monaco-editor/tslint.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tslint.json", - "rules": { - "directive-selector": [ - true, - "attribute", - "camelCase" - ], - "component-selector": [ - true, - "element", - "ngx", - "kebab-case" - ] - } -} diff --git a/tslint.json b/tslint.json deleted file mode 100644 index 16bd4176..00000000 --- a/tslint.json +++ /dev/null @@ -1,130 +0,0 @@ -{ - "rulesDirectory": [ - "node_modules/codelyzer" - ], - "linterOptions": {"exclude": ["node_modules/**", "docs/**", "dist/**"]}, - "rules": { - "arrow-return-shorthand": true, - "callable-types": true, - "class-name": true, - "comment-format": [ - true, - "check-space" - ], - "curly": true, - "deprecation": { - "severity": "warn" - }, - "eofline": true, - "forin": true, - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "import-spacing": true, - "indent": [ - true, - "spaces" - ], - "interface-over-type-literal": true, - "label-position": true, - "max-line-length": [ - true, - 140 - ], - "member-access": false, - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-arg": true, - "no-bitwise": true, - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-construct": true, - "no-debugger": true, - "no-duplicate-super": true, - "no-empty": false, - "no-empty-interface": true, - "no-eval": true, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-misused-new": true, - "no-non-null-assertion": true, - "no-shadowed-variable": true, - "no-string-literal": false, - "no-string-throw": true, - "no-switch-case-fall-through": true, - "no-trailing-whitespace": true, - "no-unnecessary-initializer": true, - "no-unused-expression": true, - "no-var-keyword": true, - "object-literal-sort-keys": false, - "one-line": [ - true, - "check-open-brace", - "check-catch", - "check-else", - "check-whitespace" - ], - "prefer-const": true, - "quotemark": [ - true, - "single" - ], - "radix": true, - "semicolon": [ - true, - "always" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "typedef-whitespace": [ - true, - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - } - ], - "unified-signatures": true, - "variable-name": false, - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type" - ], - "no-output-on-prefix": true, - "use-input-property-decorator": true, - "use-output-property-decorator": true, - "use-host-property-decorator": true, - "no-input-rename": true, - "no-output-rename": true, - "use-life-cycle-interface": true, - "use-pipe-transform-interface": true, - "component-class-suffix": true, - "directive-class-suffix": true - } -} diff --git a/yarn.lock b/yarn.lock index a0039ea3..8817a72b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -126,6 +126,63 @@ ora "5.4.1" rxjs "6.6.7" +"@angular-eslint/builder@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/builder/-/builder-13.0.1.tgz#568bf7df41b7ff4fcf51d2d2188b372da6152bcd" + integrity sha512-z43jUpA4xm767ze/yWwvoy5PdvSe57DAvXHlHywv0iYxXl1OhytPIA0CdOA3ZWkbSWWVmWmFzELeYfGnE3+igg== + dependencies: + "@nrwl/devkit" "13.1.3" + +"@angular-eslint/bundled-angular-compiler@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-13.0.1.tgz#fc0a568f915948fc4eb701abb331dc2f0e3ebc71" + integrity sha512-Eih9Kh0hxHO4+3in9mgjksQecym0p+3p+287y3LLihIc7gCkAO4xZeHGVGiC8qUX72PNUXkDlyskI9oHjK9Axw== + +"@angular-eslint/eslint-plugin-template@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-13.0.1.tgz#96d5e319278f629afcd034ff57f02de19e510e2b" + integrity sha512-8FclNMjEzb87CtE3TdsXXWk1SRCp/tSSHI0cYVv6YpU7f/9Mnej+ZY3MdvqI/amD8zJueTMdnjNRP/jiwX2XhQ== + dependencies: + "@angular-eslint/bundled-angular-compiler" "13.0.1" + "@typescript-eslint/experimental-utils" "5.3.0" + aria-query "^4.2.2" + axobject-query "^2.2.0" + +"@angular-eslint/eslint-plugin@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/eslint-plugin/-/eslint-plugin-13.0.1.tgz#fd737c8a97a5e65ab92e71b5fab1ffd45ed295f6" + integrity sha512-WxqgMLTfE45dqjzg/Nq0dOEDwzpdB+zYOWrA41MT3jt0UbukFEx8+FMrAgBLIeDaHzwWomiAEV5Tm5mQAKA4VA== + dependencies: + "@angular-eslint/utils" "13.0.1" + "@typescript-eslint/experimental-utils" "5.3.0" + +"@angular-eslint/schematics@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/schematics/-/schematics-13.0.1.tgz#c668b9b5f81695da5f1aa6dd2c45d33ad0835c73" + integrity sha512-LiPUVff6fexQNa6Ttgb+yhIoQc9oXc1qb34kmntvQDw59xBeEyrUojG2P2I5VS+1ZoVUWNY86cqEaxkFJVkY7w== + dependencies: + "@angular-eslint/eslint-plugin" "13.0.1" + "@angular-eslint/eslint-plugin-template" "13.0.1" + ignore "5.1.9" + strip-json-comments "3.1.1" + tmp "0.2.1" + +"@angular-eslint/template-parser@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/template-parser/-/template-parser-13.0.1.tgz#80121c3101053f1494cc8ec8882f569f7610d601" + integrity sha512-GEJzVLS4Sb4UdurqaPD1/ucGhagGAQCp17CIgjpcXRwzxBZ9OLqbO/rx8diRbADp+1rceVq4BhADsg3VdsOsuw== + dependencies: + "@angular-eslint/bundled-angular-compiler" "13.0.1" + eslint-scope "^5.1.0" + +"@angular-eslint/utils@13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@angular-eslint/utils/-/utils-13.0.1.tgz#e45085987b86a18ff567b4104b11fd03aa886c0a" + integrity sha512-makSpu8kr5yHIz0c6WaWwix+tk5DN5Uix9vQulVisZWchTmSqEovJih/UC+4XspM9kQbjcbWHohYKiBbBEQpbA== + dependencies: + "@angular-eslint/bundled-angular-compiler" "13.0.1" + "@typescript-eslint/experimental-utils" "5.3.0" + "@angular/animations@~13.0.2": version "13.0.2" resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.0.2.tgz#afa38f32bfa40be94730905e187279e6af69999d" @@ -191,11 +248,6 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0.tgz#87e0bef4c369b6cadae07e3a4295778fc93799d5" - integrity sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ== - "@angular/compiler@~13.0.2": version "13.0.2" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.0.2.tgz#5bc1bfc1931f1ff2813f8fff8b8ceaa57b47d717" @@ -203,11 +255,6 @@ dependencies: tslib "^2.3.0" -"@angular/core@9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0.tgz#227dc53e1ac81824f998c6e76000b7efc522641e" - integrity sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w== - "@angular/core@~13.0.2": version "13.0.2" resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.0.2.tgz#786bb1242d69e8b7a2cbae224448c27e2f1fc064" @@ -1226,6 +1273,14 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/runtime-corejs3@^7.10.2": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== + dependencies: + core-js-pure "^3.19.0" + regenerator-runtime "^0.13.4" + "@babel/runtime@7.15.4": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" @@ -1233,6 +1288,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.10.2": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" @@ -1364,11 +1426,40 @@ is-absolute "^1.0.0" is-negated-glob "^1.0.0" +"@eslint/eslintrc@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.4.tgz#dfe0ff7ba270848d10c5add0715e04964c034b31" + integrity sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.0.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@gar/promisify@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== +"@humanwhocodes/config-array@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a" + integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1488,6 +1579,64 @@ node-gyp "^8.2.0" read-package-json-fast "^2.0.1" +"@nrwl/cli@*": + version "13.2.1" + resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.2.1.tgz#bd9666a0df12c97b248b5a2f5d4a1a5ad0d84407" + integrity sha512-02S3Kmszf9mB1BSpiUEvHlPhKX/0jbCYCzansHxWSXftdX5i4sXWdD3o+bm3ySxRctMYc6NXy4P98Th62GZGQg== + dependencies: + "@nrwl/tao" "13.2.1" + chalk "4.1.0" + enquirer "~2.3.6" + v8-compile-cache "2.3.0" + yargs "15.4.1" + yargs-parser "20.0.0" + +"@nrwl/devkit@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.1.3.tgz#8b119587984371a4caf0b3601a7481e04bac65a3" + integrity sha512-TAAsZJvVc/obeH0rZKY6miVhyM2GHGb8qIWp9MAIdLlXf4VDcNC7rxwb5OrGVSwuTTjqGYBGPUx0yEogOOJthA== + dependencies: + "@nrwl/tao" "13.1.3" + ejs "^3.1.5" + ignore "^5.0.4" + rxjs "^6.5.4" + semver "7.3.4" + tslib "^2.0.0" + +"@nrwl/tao@13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.1.3.tgz#5a88029b0aa9dfd4bca0a86d3dde2b608c468b36" + integrity sha512-/IwJgSgCBD1SaF+n8RuXX2OxDAh8ut/+P8pMswjm8063ac30UlAHjQ4XTYyskLH8uoUmNi2hNaGgHUrkwt7tQA== + dependencies: + chalk "4.1.0" + enquirer "~2.3.6" + fs-extra "^9.1.0" + jsonc-parser "3.0.0" + nx "13.1.3" + rxjs "^6.5.4" + rxjs-for-await "0.0.2" + semver "7.3.4" + tmp "~0.2.1" + tslib "^2.0.0" + yargs-parser "20.0.0" + +"@nrwl/tao@13.2.1": + version "13.2.1" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.2.1.tgz#b70e30c996f2ea2448f4c31e3a3ce962e8aff863" + integrity sha512-NT2EFRbA8juAIRNF0BZG4/7IZmVnhC49qeiaahciL08ZBJxnryR82EXDYxD5+RUIGfjGg2kCHH+Jy+rQ9wf8RA== + dependencies: + chalk "4.1.0" + enquirer "~2.3.6" + fs-extra "^9.1.0" + jsonc-parser "3.0.0" + nx "13.2.1" + rxjs "^6.5.4" + rxjs-for-await "0.0.2" + semver "7.3.4" + tmp "~0.2.1" + tslib "^2.3.0" + yargs-parser "20.0.0" + "@rollup/plugin-json@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" @@ -1652,6 +1801,76 @@ resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz#50bea0c3c2acc31c959c5b1e747798b3b3d06d4b" integrity sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw== +"@typescript-eslint/eslint-plugin@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.3.0.tgz#a55ae72d28ffeb6badd817fe4566c9cced1f5e29" + integrity sha512-ARUEJHJrq85aaiCqez7SANeahDsJTD3AEua34EoQN9pHS6S5Bq9emcIaGGySt/4X2zSi+vF5hAH52sEen7IO7g== + dependencies: + "@typescript-eslint/experimental-utils" "5.3.0" + "@typescript-eslint/scope-manager" "5.3.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.0.tgz#ee56b4957547ed2b0fc7451205e41502e664f546" + integrity sha512-NFVxYTjKj69qB0FM+piah1x3G/63WB8vCBMnlnEHUsiLzXSTWb9FmFn36FD9Zb4APKBLY3xRArOGSMQkuzTF1w== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.3.0" + "@typescript-eslint/types" "5.3.0" + "@typescript-eslint/typescript-estree" "5.3.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.3.0.tgz#7879f15e26d370ed3f653fb7dd06479531ed3ab9" + integrity sha512-rKu/yAReip7ovx8UwOAszJVO5MgBquo8WjIQcp1gx4pYQCwYzag+I5nVNHO4MqyMkAo0gWt2gWUi+36gWAVKcw== + dependencies: + "@typescript-eslint/scope-manager" "5.3.0" + "@typescript-eslint/types" "5.3.0" + "@typescript-eslint/typescript-estree" "5.3.0" + debug "^4.3.2" + +"@typescript-eslint/scope-manager@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.3.0.tgz#97d0ccc7c9158e89e202d5e24ce6ba49052d432e" + integrity sha512-22Uic9oRlTsPppy5Tcwfj+QET5RWEnZ5414Prby465XxQrQFZ6nnm5KnXgnsAJefG4hEgMnaxTB3kNEyjdjj6A== + dependencies: + "@typescript-eslint/types" "5.3.0" + "@typescript-eslint/visitor-keys" "5.3.0" + +"@typescript-eslint/types@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.3.0.tgz#af29fd53867c2df0028c57c36a655bd7e9e05416" + integrity sha512-fce5pG41/w8O6ahQEhXmMV+xuh4+GayzqEogN24EK+vECA3I6pUwKuLi5QbXO721EMitpQne5VKXofPonYlAQg== + +"@typescript-eslint/typescript-estree@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.0.tgz#4f68ddd46dc2983182402d2ab21fb44ad94988cf" + integrity sha512-FJ0nqcaUOpn/6Z4Jwbtf+o0valjBLkqc3MWkMvrhA2TvzFXtcclIM8F4MBEmYa2kgcI8EZeSAzwoSrIC8JYkug== + dependencies: + "@typescript-eslint/types" "5.3.0" + "@typescript-eslint/visitor-keys" "5.3.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.0.tgz#a6258790f3b7b2547f70ed8d4a1e0c3499994523" + integrity sha512-oVIAfIQuq0x2TFDNLVavUn548WL+7hdhxYn+9j3YdJJXB7mH9dAmZNJsPDa7Jc+B9WGqoiex7GUDbyMxV0a/aw== + dependencies: + "@typescript-eslint/types" "5.3.0" + eslint-visitor-keys "^3.0.0" + "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -1811,6 +2030,11 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + acorn-node@^1.3.0: version "1.8.2" resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" @@ -1830,7 +2054,7 @@ acorn@^7.0.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1: +acorn@^8.4.1, acorn@^8.5.0: version "8.6.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== @@ -1908,7 +2132,7 @@ ajv@8.6.3: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, 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== @@ -2037,11 +2261,6 @@ apache-md5@^1.0.6: resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.5.tgz#5d6365ece2ccc32b612f886b2b292e1c96ff3ffb" integrity sha512-sbLEIMQrkV7RkIruqTPXxeCMkAAycv4yzTkBzRgOR1BrR5UB7qZtupqxkersTJSf0HZ3sbaNRrNV80TnnM7cUw== -app-root-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.0.0.tgz#210b6f43873227e18a4b810a032283311555d5ad" - integrity sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw== - aproba@^1.0.3: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -2062,13 +2281,18 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" arr-diff@^4.0.0: version "4.0.0" @@ -2158,11 +2382,6 @@ ast-transform@0.0.0: esprima "~1.0.4" through "~2.3.4" -ast-types-flow@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - ast-types@^0.7.0: version "0.7.8" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.7.8.tgz#902d2e0d60d071bdcd46dc115e1809ed11c138a9" @@ -2173,6 +2392,11 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + async@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -2218,12 +2442,10 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axobject-query@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== - dependencies: - ast-types-flow "0.0.7" +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== babel-loader@8.2.3: version "8.2.3" @@ -2544,11 +2766,6 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - builtin-modules@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" @@ -2675,6 +2892,14 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= +chalk@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -2686,7 +2911,7 @@ chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2695,7 +2920,7 @@ chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2860,26 +3085,6 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codelyzer@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-6.0.2.tgz#25d72eae641e8ff13ffd7d99b27c9c7ad5d7e135" - integrity sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g== - dependencies: - "@angular/compiler" "9.0.0" - "@angular/core" "9.0.0" - app-root-path "^3.0.0" - aria-query "^3.0.0" - axobject-query "2.0.2" - css-selector-tokenizer "^0.7.1" - cssauron "^1.4.0" - damerau-levenshtein "^1.0.4" - rxjs "^6.5.3" - semver-dsl "^1.0.1" - source-map "^0.5.7" - sprintf-js "^1.1.2" - tslib "^1.10.0" - zone.js "~0.10.3" - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -2939,7 +3144,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.11.0, commander@^2.12.1, commander@^2.20.0: +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== @@ -3086,6 +3291,11 @@ core-js-compat@^3.16.0, core-js-compat@^3.16.2: browserslist "^4.17.6" semver "7.0.0" +core-js-pure@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" + integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== + core-js@3.19.0: version "3.19.0" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.0.tgz#9e40098a9bc326c7e81b486abbd5e12b9d275176" @@ -3153,7 +3363,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.3: +cross-spawn@^7.0.2, 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== @@ -3224,14 +3434,6 @@ css-select@~1.2.0: domutils "1.5.1" nth-check "~1.0.1" -css-selector-tokenizer@^0.7.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1" - integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== - dependencies: - cssesc "^3.0.0" - fastparse "^1.1.2" - css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" @@ -3251,13 +3453,6 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssauron@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssauron/-/cssauron-1.4.0.tgz#a6602dff7e04a8306dc0db9a551e92e8b5662ad8" - integrity sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg= - dependencies: - through X.X.X - cssdb@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" @@ -3291,11 +3486,6 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== - dash-ast@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dash-ast/-/dash-ast-1.0.0.tgz#12029ba5fb2f8aa6f0a861795b23c1b4b6c27d37" @@ -3325,7 +3515,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@4, debug@4.3.2, debug@^4.3.1, debug@~4.3.1, debug@~4.3.2: +debug@4, debug@4.3.2, debug@^4.3.1, debug@^4.3.2, debug@~4.3.1, debug@~4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -3389,6 +3579,11 @@ deep-equal@^1.0.0, deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -3524,11 +3719,6 @@ diff@^3.1.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - dir-glob@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" @@ -3564,6 +3754,13 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dom-serialize@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" @@ -3683,6 +3880,13 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= +ejs@^3.1.5: + version "3.1.6" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" + integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== + dependencies: + jake "^10.6.1" + electron-to-chromium@^1.3.591: version "1.3.592" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.592.tgz#4621521b223bf6e5469373528321e185d3c24670" @@ -3753,6 +3957,13 @@ enhanced-resolve@^5.8.3: graceful-fs "^4.2.4" tapable "^2.2.0" +enquirer@^2.3.5, 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" + ent@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" @@ -4151,6 +4362,11 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^1.11.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" @@ -4174,7 +4390,7 @@ escodegen@~1.2.0: optionalDependencies: source-map "~0.1.30" -eslint-scope@5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.0, 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== @@ -4182,6 +4398,84 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" +eslint-scope@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" + integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" + integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== + +eslint@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.2.0.tgz#44d3fb506d0f866a506d97a0fc0e90ee6d06a815" + integrity sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw== + dependencies: + "@eslint/eslintrc" "^1.0.4" + "@humanwhocodes/config-array" "^0.6.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^6.0.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.2.0" + semver "^7.2.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" + integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== + dependencies: + acorn "^8.5.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^3.0.0" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -4192,6 +4486,13 @@ esprima@~1.0.4: resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" integrity sha1-n1V+CPw7TSbs6d00+Pv0drYlha0= +esquery@^1.4.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.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -4204,6 +4505,11 @@ estraverse@^4.1.1, estraverse@^4.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" @@ -4472,16 +4778,11 @@ fast-json-stable-stringify@2.1.0, fast-json-stable-stringify@^2.0.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: +fast-levenshtein@^2.0.6, 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= -fastparse@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - fastq@^1.6.0: version "1.9.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" @@ -4510,11 +4811,25 @@ figures@^3.0.0: dependencies: escape-string-regexp "^1.0.5" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +filelist@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" + integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== + dependencies: + minimatch "^3.0.4" + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -4567,11 +4882,24 @@ findit2@^2.2.3: resolved "https://registry.yarnpkg.com/findit2/-/findit2-2.2.3.tgz#58a466697df8a6205cdfdbf395536b8bd777a5f6" integrity sha1-WKRmaX34piBc39vzlVNri9d3pfY= +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + flatted@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatted@^3.1.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + flatten@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" @@ -4668,6 +4996,16 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -4708,6 +5046,11 @@ function-bind@^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= + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -4797,7 +5140,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.0: +glob-parent@^6.0.0, glob-parent@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -4826,7 +5169,7 @@ glob@7.2.0, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.3, glob@^7.0.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -4843,7 +5186,14 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globby@^11.0.1, globby@^11.0.3: +globals@^13.6.0, globals@^13.9.0: + version "13.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.1, globby@^11.0.3, globby@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -5211,11 +5561,21 @@ ignore-walk@^4.0.1: dependencies: minimatch "^3.0.4" +ignore@5.1.9, ignore@^5.0.4, ignore@^5.1.8: + version "5.1.9" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== + ignore@^3.3.5: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + ignore@^5.1.4: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" @@ -5239,7 +5599,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -5770,6 +6130,16 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + jasmine-core@^3.6.0: version "3.10.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.10.1.tgz#7aa6fa2b834a522315c651a128d940eca553989a" @@ -5828,6 +6198,13 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -5868,6 +6245,11 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +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= + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -6052,6 +6434,14 @@ less@4.1.2, less@^4.1.0: needle "^2.5.2" source-map "~0.6.0" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -6149,6 +6539,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + lodash@^4.15.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" @@ -6507,7 +6902,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: +mkdirp@^0.5.1, mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -6605,6 +7000,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +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= + ncp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" @@ -6861,6 +7261,20 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= +nx@13.1.3: + version "13.1.3" + resolved "https://registry.yarnpkg.com/nx/-/nx-13.1.3.tgz#0b2db9b5bc87a47fb3a90014d2b2abb44f568851" + integrity sha512-clM0NQhQKYkqcNz2E3uYRMLwhp2L/9dBhJhQi9XBX4IAyA2gWAomhRIlLm5Xxg3g4h1xwSpP3eJ5t89VikY8Pw== + dependencies: + "@nrwl/cli" "*" + +nx@13.2.1: + version "13.2.1" + resolved "https://registry.yarnpkg.com/nx/-/nx-13.2.1.tgz#fb2249b53c69867681d532364ca33293b1a932ad" + integrity sha512-z1+f6rMSrA8unHDjUmcnwSUo5w7ZnQYnHIx0aQvIeYYeACrQsgYMNIucEzsKb4eTKu7ekpkWVPrQpeK4Fzc/0Q== + dependencies: + "@nrwl/cli" "*" + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -6986,6 +7400,18 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + ora@5.4.1, ora@^5.1.0, ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" @@ -7737,6 +8163,11 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0. picocolors "^0.2.1" source-map "^0.6.1" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -7752,6 +8183,11 @@ process-nextick-args@~2.0.0: 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== + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -8008,6 +8444,11 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + regexpu-core@^4.7.1: version "4.7.1" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" @@ -8137,7 +8578,7 @@ resolve@1.20.0, resolve@^1.14.2, resolve@^1.19.0: is-core-module "^2.2.0" path-parse "^1.0.6" -resolve@^1.1.5, resolve@^1.1.7, resolve@^1.3.2: +resolve@^1.1.5, resolve@^1.1.7: version "1.19.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== @@ -8224,6 +8665,11 @@ run-parallel@^1.1.9: resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== +rxjs-for-await@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/rxjs-for-await/-/rxjs-for-await-0.0.2.tgz#26598a1d6167147cc192172970e7eed4e620384b" + integrity sha512-IJ8R/ZCFMHOcDIqoABs82jal00VrZx8Xkgfe7TOKoaRPAW5nH/VFlG23bXpeGdrmtqI9UobFPgUKgCuFc7Lncw== + rxjs@6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" @@ -8231,7 +8677,7 @@ rxjs@6.5.3: dependencies: tslib "^1.9.0" -rxjs@6.6.7, rxjs@^6.5.3: +rxjs@6.6.7, rxjs@^6.5.4: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -8364,19 +8810,19 @@ selfsigned@^1.10.11: dependencies: node-forge "^0.10.0" -semver-dsl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/semver-dsl/-/semver-dsl-1.0.1.tgz#d3678de5555e8a61f629eed025366ae5f27340a0" - integrity sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA= - dependencies: - semver "^5.3.0" - semver@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.5, semver@^7.3.4, semver@^7.3.5: +semver@7.3.4: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + +semver@7.3.5, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -8699,7 +9145,7 @@ source-map@0.7.3, source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -8753,11 +9199,6 @@ split@0.3: dependencies: through "2" -sprintf-js@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -8943,6 +9384,11 @@ strip-final-newline@^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@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + stylus-loader@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.2.0.tgz#0ba499e744e7fb9d9b3977784c8639728a7ced8c" @@ -9071,7 +9517,7 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" -text-table@0.2.0: +text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= @@ -9084,7 +9530,7 @@ through2@^2.0.0, through2@~2.0.3: readable-stream "~2.3.6" xtend "~4.0.1" -through@2, through@X.X.X, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -9111,6 +9557,13 @@ tmp@0.0.30: dependencies: os-tmpdir "~1.0.1" +tmp@0.2.1, tmp@^0.2.1, tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -9118,13 +9571,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -9220,7 +9666,7 @@ tslib@2.3.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1, 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== @@ -9235,29 +9681,10 @@ tslib@~2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== -tslint@~6.1.0: - version "6.1.3" - resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -9273,6 +9700,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -9285,6 +9719,11 @@ type-fest@^0.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -9510,6 +9949,11 @@ uuid@^3.0.0, uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +v8-compile-cache@2.3.0, v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + validate-npm-package-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" @@ -9738,7 +10182,7 @@ windows-release@^3.1.0: dependencies: execa "^1.0.0" -word-wrap@~1.2.3: +word-wrap@^1.2.3, 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== @@ -9828,6 +10272,11 @@ yaml@^1.10.0: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yargs-parser@20.0.0: + version "20.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.0.0.tgz#c65a1daaa977ad63cebdd52159147b789a4e19a9" + integrity sha512-8eblPHTL7ZWRkyjIZJjnGf+TijiKJSwA24svzLRVvtgoi/RZiKa9fFQTrlx0OKLnyHSdt/enrdadji6WFfESVA== + yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -9841,7 +10290,7 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^15.3.1: +yargs@15.4.1, yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -9894,11 +10343,6 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zone.js@~0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.10.3.tgz#3e5e4da03c607c9dcd92e37dd35687a14a140c16" - integrity sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg== - zone.js@~0.11.4: version "0.11.4" resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.11.4.tgz#0f70dcf6aba80f698af5735cbb257969396e8025" From 6b608da64174dc068c5cf2d1e6ad856155ca4452 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sun, 12 Dec 2021 17:00:44 +0100 Subject: [PATCH 10/16] release: bump to v6.0.0-beta.1 --- src/ngx-monaco-editor/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ngx-monaco-editor/package.json b/src/ngx-monaco-editor/package.json index d002c003..541bcadc 100644 --- a/src/ngx-monaco-editor/package.json +++ b/src/ngx-monaco-editor/package.json @@ -1,6 +1,6 @@ { "name": "@materia-ui/ngx-monaco-editor", - "version": "5.1.0", + "version": "6.0.0-beta.1", "author": { "name": "Jean-Marc Roy", "email": "jeanmarc.royy@gmail.com" @@ -32,6 +32,6 @@ "peerDependencies": { "@angular/common": "13.x", "@angular/core": "13.x", - "rxjs": "6.x | 7.x" + "rxjs": "6.x || 7.x" } } From d4fdebb13ebc2e825b75d0a35e0910c71c9c722a Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 8 Jan 2022 10:32:28 +0100 Subject: [PATCH 11/16] build(deps): bump @angular/flex-layout to v13 --- package.json | 4 ++-- yarn.lock | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 9375f0dc..5249900f 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@angular/common": "~13.0.2", "@angular/compiler": "~13.0.2", "@angular/core": "~13.0.2", - "@angular/flex-layout": "12.0.0-beta.35", + "@angular/flex-layout": "13.0.0-beta.36", "@angular/forms": "~13.0.2", "@angular/material": "^13.0.2", "@angular/platform-browser": "~13.0.2", @@ -66,4 +66,4 @@ "ts-node": "~7.0.0", "typescript": "~4.4.4" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 8817a72b..72f77699 100644 --- a/yarn.lock +++ b/yarn.lock @@ -262,12 +262,12 @@ dependencies: tslib "^2.3.0" -"@angular/flex-layout@12.0.0-beta.35": - version "12.0.0-beta.35" - resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-12.0.0-beta.35.tgz#b52c3c82608cbb92a119f8dcde2a5b98186fe558" - integrity sha512-nPi2MGDFuCacwWHqxF/G7lUJd2X99HbLjjUvKXnyLwyCIVgH1sfS52su2wYbVYWJRqAVAB2/VMlrtW8Khr8hDA== +"@angular/flex-layout@13.0.0-beta.36": + version "13.0.0-beta.36" + resolved "https://registry.yarnpkg.com/@angular/flex-layout/-/flex-layout-13.0.0-beta.36.tgz#0e91e6837b767841b579f8a5be66667255e30484" + integrity sha512-JLC3C1oEKVu9lLyottvHbfyCf/pOPzjXfFO3qOPBbWyVqxuQkfkd2NILZZh4DHsKYbBxIZ01vnfQHCV8NdaZ3w== dependencies: - tslib "^2.1.0" + tslib "^2.3.0" "@angular/forms@~13.0.2": version "13.0.2" @@ -9661,7 +9661,7 @@ ts-simple-ast@12.4.0: tslib "^1.9.0" typescript "2.9.1" -tslib@2.3.1, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: +tslib@2.3.1, tslib@^2.3.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== From 74c7f704f22da60b7cdf71440a47cb7dcf7b763d Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 8 Jan 2022 10:39:56 +0100 Subject: [PATCH 12/16] build: upgrade monaco-editor to v0.31.1 --- package.json | 2 +- src/demo/app/app.module.ts | 2 +- src/ngx-monaco-editor/package.json | 5 +- .../src/lib/interfaces/monaco.ts | 189 ++++++++---------- yarn.lock | 8 +- 5 files changed, 94 insertions(+), 112 deletions(-) diff --git a/package.json b/package.json index 5249900f..3f93fd39 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@angular/platform-browser": "~13.0.2", "@angular/platform-browser-dynamic": "~13.0.2", "@angular/router": "~13.0.2", - "monaco-editor": "^0.30.1", + "monaco-editor": "^0.31.1", "rxjs": "6.5.3", "tslib": "^2.3.1", "zone.js": "~0.11.4" diff --git a/src/demo/app/app.module.ts b/src/demo/app/app.module.ts index e2051de8..1a6bb185 100644 --- a/src/demo/app/app.module.ts +++ b/src/demo/app/app.module.ts @@ -35,7 +35,7 @@ import { MonacoEditorModule, MONACO_PATH } from '@materia-ui/ngx-monaco-editor'; providers: [ { provide: MONACO_PATH, - useValue: 'https://unpkg.com/monaco-editor@0.24.0/min/vs' + useValue: 'https://unpkg.com/monaco-editor@0.31.1/min/vs' } ], bootstrap: [AppComponent] diff --git a/src/ngx-monaco-editor/package.json b/src/ngx-monaco-editor/package.json index 541bcadc..d512f9ea 100644 --- a/src/ngx-monaco-editor/package.json +++ b/src/ngx-monaco-editor/package.json @@ -30,8 +30,7 @@ "tslib": "^2.0.0" }, "peerDependencies": { - "@angular/common": "13.x", - "@angular/core": "13.x", - "rxjs": "6.x || 7.x" + "@angular/core": ">=13.0.0", + "rxjs": ">=6.0.0" } } diff --git a/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts b/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts index 13ae66a6..b09b1a34 100644 --- a/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +++ b/src/ngx-monaco-editor/src/lib/interfaces/monaco.ts @@ -807,6 +807,10 @@ declare namespace monaco { * Get the position at `positionLineNumber` and `positionColumn`. */ getPosition(): Position; + /** + * Get the position at the start of the selection. + */ + getSelectionStart(): Position; /** * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`. */ @@ -815,6 +819,10 @@ declare namespace monaco { * Create a `Selection` from one or two positions */ static fromPositions(start: IPosition, end?: IPosition): Selection; + /** + * Creates a `Selection` from a range, given a direction. + */ + static fromRange(range: Range, direction: SelectionDirection): Selection; /** * Create a `Selection` from an `ISelection`. */ @@ -1804,7 +1812,7 @@ declare namespace monaco.editor { */ getLineLastNonWhitespaceColumn(lineNumber: number): number; /** - * Create a valid position, + * Create a valid position. */ validatePosition(position: IPosition): Position; /** @@ -1839,7 +1847,7 @@ declare namespace monaco.editor { */ getPositionAt(offset: number): Position; /** - * Get a range covering the entire model + * Get a range covering the entire model. */ getFullModelRange(): Range; /** @@ -2954,12 +2962,10 @@ declare namespace monaco.editor { wrappingStrategy?: 'simple' | 'advanced'; /** * Configure word wrapping characters. A break will be introduced before these characters. - * Defaults to '([{‘“〈《「『【〔([{「£¥$£¥++'. */ wordWrapBreakBeforeCharacters?: string; /** * Configure word wrapping characters. A break will be introduced after these characters. - * Defaults to ' \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」'. */ wordWrapBreakAfterCharacters?: string; /** @@ -3298,6 +3304,7 @@ declare namespace monaco.editor { * Controls the behavior of editor guides. */ guides?: IGuidesOptions; + unicodeHighlight?: IUnicodeHighlightOptions; } export interface IDiffEditorBaseOptions { @@ -3376,6 +3383,16 @@ declare namespace monaco.editor { readonly id: K1; readonly name: string; defaultValue: V; + /** + * Might modify `value`. + */ + applyUpdate(value: V, update: V): ApplyUpdateResult; + } + + export class ApplyUpdateResult { + readonly newValue: T; + readonly didChange: boolean; + constructor(newValue: T, didChange: boolean); } /** @@ -3861,6 +3878,22 @@ declare namespace monaco.editor { readonly scrollByPage: boolean; } + export type InUntrustedWorkspace = 'inUntrustedWorkspace'; + + /** + * Configuration options for unicode highlighting. + */ + export interface IUnicodeHighlightOptions { + nonBasicASCII?: boolean | InUntrustedWorkspace; + invisibleCharacters?: boolean; + ambiguousCharacters?: boolean; + includeComments?: boolean | InUntrustedWorkspace; + /** + * A map of allowed characters (true: allowed). + */ + allowedCharacters?: Record; + } + export interface IInlineSuggestOptions { /** * Enable or disable the rendering of automatic inline completions. @@ -4215,25 +4248,26 @@ declare namespace monaco.editor { suggestSelection = 109, tabCompletion = 110, tabIndex = 111, - unusualLineTerminators = 112, - useShadowDOM = 113, - useTabStops = 114, - wordSeparators = 115, - wordWrap = 116, - wordWrapBreakAfterCharacters = 117, - wordWrapBreakBeforeCharacters = 118, - wordWrapColumn = 119, - wordWrapOverride1 = 120, - wordWrapOverride2 = 121, - wrappingIndent = 122, - wrappingStrategy = 123, - showDeprecated = 124, - inlayHints = 125, - editorClassName = 126, - pixelRatio = 127, - tabFocusMode = 128, - layoutInfo = 129, - wrappingInfo = 130 + unicodeHighlighting = 112, + unusualLineTerminators = 113, + useShadowDOM = 114, + useTabStops = 115, + wordSeparators = 116, + wordWrap = 117, + wordWrapBreakAfterCharacters = 118, + wordWrapBreakBeforeCharacters = 119, + wordWrapColumn = 120, + wordWrapOverride1 = 121, + wordWrapOverride2 = 122, + wrappingIndent = 123, + wrappingStrategy = 124, + showDeprecated = 125, + inlayHints = 126, + editorClassName = 127, + pixelRatio = 128, + tabFocusMode = 129, + layoutInfo = 130, + wrappingInfo = 131 } export const EditorOptions: { @@ -4351,6 +4385,7 @@ declare namespace monaco.editor { suggestSelection: IEditorOption; tabCompletion: IEditorOption; tabIndex: IEditorOption; + unicodeHighlight: IEditorOption>>; unusualLineTerminators: IEditorOption; useShadowDOM: IEditorOption; useTabStops: IEditorOption; @@ -5097,6 +5132,7 @@ declare namespace monaco.editor { * Apply the same font settings as the editor to `target`. */ applyFontInfo(target: HTMLElement): void; + setBanner(bannerDomNode: HTMLElement | null, height: number): void; } /** @@ -5822,6 +5858,11 @@ declare namespace monaco.languages { InsertAsSnippet = 4 } + export interface CompletionItemRanges { + insert: IRange; + replace: IRange; + } + /** * A completion item represents a text snippet that is * proposed to complete text that is being typed. @@ -5873,11 +5914,10 @@ declare namespace monaco.languages { /** * A string or snippet that should be inserted in a document when selecting * this completion. - * is used. */ insertText: string; /** - * Addition rules (as bitmask) that should be applied when inserting + * Additional rules (as bitmask) that should be applied when inserting * this completion. */ insertTextRules?: CompletionItemInsertTextRule; @@ -5890,10 +5930,7 @@ declare namespace monaco.languages { * *Note:* The range must be a {@link Range.isSingleLine single line} and it must * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}. */ - range: IRange | { - insert: IRange; - replace: IRange; - }; + range: IRange | CompletionItemRanges; /** * An optional set of characters that when pressed while this completion is active will accept it first and * then type that character. *Note* that all commit characters should have `length=1` and that superfluous @@ -5997,6 +6034,8 @@ declare namespace monaco.languages { export interface SelectedSuggestionInfo { range: IRange; text: string; + isSnippetText: boolean; + completionKind: CompletionItemKind; } export interface InlineCompletion { @@ -6910,7 +6949,6 @@ declare namespace monaco.worker { * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - declare namespace monaco.languages.typescript { export enum ModuleKind { None = 0, @@ -6953,15 +6991,7 @@ declare namespace monaco.languages.typescript { interface MapLike { [index: string]: T; } - type CompilerOptionsValue = - | string - | number - | boolean - | (string | number)[] - | string[] - | MapLike - | null - | undefined; + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | null | undefined; interface CompilerOptions { allowJs?: boolean; allowSyntheticDefaultImports?: boolean; @@ -7099,11 +7129,9 @@ declare namespace monaco.languages.typescript { category: 0 | 1 | 2 | 3; code: number; /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ - file: - | { - fileName: string; - } - | undefined; + file: { + fileName: string; + } | undefined; start: number | undefined; length: number | undefined; messageText: string | DiagnosticMessageChain; @@ -7149,12 +7177,10 @@ declare namespace monaco.languages.typescript { * files that won't be loaded as editor documents, like `jquery.d.ts`. * @param libs An array of entries to register. */ - setExtraLibs( - libs: { - content: string; - filePath?: string; - }[] - ): void; + setExtraLibs(libs: { + content: string; + filePath?: string; + }[]): void; /** * Get current TypeScript compiler options for the language service. */ @@ -7226,20 +7252,12 @@ declare namespace monaco.languages.typescript { * Get code completion details for the given file, position, and entry. * @returns `Promise` */ - getCompletionEntryDetails( - fileName: string, - position: number, - entry: string - ): Promise; + getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise; /** * Get signature help items for the item at the given file and position. * @returns `Promise` */ - getSignatureHelpItems( - fileName: string, - position: number, - options: any - ): Promise; + getSignatureHelpItems(fileName: string, position: number, options: any): Promise; /** * Get quick info for the item at the given position in the file. * @returns `Promise` @@ -7249,18 +7267,12 @@ declare namespace monaco.languages.typescript { * Get other ranges which are related to the item at the given position in the file (often used for highlighting). * @returns `Promise | undefined>` */ - getOccurrencesAtPosition( - fileName: string, - position: number - ): Promise | undefined>; + getOccurrencesAtPosition(fileName: string, position: number): Promise | undefined>; /** * Get the definition of the item at the given position in the file. * @returns `Promise | undefined>` */ - getDefinitionAtPosition( - fileName: string, - position: number - ): Promise | undefined>; + getDefinitionAtPosition(fileName: string, position: number): Promise | undefined>; /** * Get references to the item at the given position in the file. * @returns `Promise` @@ -7282,34 +7294,18 @@ declare namespace monaco.languages.typescript { * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsForRange( - fileName: string, - start: number, - end: number, - options: any - ): Promise; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise; /** * Get formatting changes which should be applied after the given keystroke. * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsAfterKeystroke( - fileName: string, - postion: number, - ch: string, - options: any - ): Promise; + getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise; /** * Get other occurrences which should be updated when renaming the item at the given file and position. * @returns `Promise` */ - findRenameLocations( - fileName: string, - positon: number, - findInStrings: boolean, - findInComments: boolean, - providePrefixAndSuffixTextForRename: boolean - ): Promise; + findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise; /** * Get edits which should be applied to rename the item at the given file and position (or a failure reason). * @param options `typescript.RenameInfoOptions` @@ -7326,13 +7322,7 @@ declare namespace monaco.languages.typescript { * @param formatOptions `typescript.FormatCodeOptions` * @returns `Promise>` */ - getCodeFixesAtPosition( - fileName: string, - start: number, - end: number, - errorCodes: number[], - formatOptions: any - ): Promise>; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise>; /** * Get inlay hints in the range of the file. * @param fileName @@ -7352,7 +7342,6 @@ declare namespace monaco.languages.typescript { * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - declare namespace monaco.languages.css { export interface Options { readonly validate?: boolean; @@ -7523,7 +7512,6 @@ declare namespace monaco.languages.css { * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - declare namespace monaco.languages.json { export interface DiagnosticsOptions { /** @@ -7636,7 +7624,6 @@ declare namespace monaco.languages.json { * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ - declare namespace monaco.languages.html { export interface HTMLFormatConfiguration { readonly tabSize: number; @@ -7646,7 +7633,7 @@ declare namespace monaco.languages.html { readonly contentUnformatted: string; readonly indentInnerHtml: boolean; readonly preserveNewLines: boolean; - readonly maxPreserveNewLines: number; + readonly maxPreserveNewLines: number | undefined; readonly indentHandlebars: boolean; readonly endWithNewline: boolean; readonly extraLiners: string; @@ -7743,11 +7730,7 @@ declare namespace monaco.languages.html { * Use this method to register additional language ids with a HTML service. * The language server has to be registered before an editor model is opened. */ - export function registerHTMLLanguageService( - languageId: string, - options?: Options, - modeConfiguration?: ModeConfiguration - ): LanguageServiceRegistration; + export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration; export interface HTMLDataConfiguration { /** * Defines whether the standard HTML tags and attributes are shown diff --git a/yarn.lock b/yarn.lock index 72f77699..c59a622a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6914,10 +6914,10 @@ mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -monaco-editor@^0.30.1: - version "0.30.1" - resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.30.1.tgz#47f8d18a0aa2264fc5654581741ab8d7bec01689" - integrity sha512-B/y4+b2O5G2gjuxIFtCE2EkM17R2NM7/3F8x0qcPsqy4V83bitJTIO4TIeZpYlzu/xy6INiY/+84BEm6+7Cmzg== +monaco-editor@^0.31.1: + version "0.31.1" + resolved "https://registry.yarnpkg.com/monaco-editor/-/monaco-editor-0.31.1.tgz#67f597b3e45679d1f551237e12a3a42c4438b97b" + integrity sha512-FYPwxGZAeP6mRRyrr5XTGHD9gRXVjy7GUzF4IPChnyt3fS5WrNxIkS8DNujWf6EQy0Zlzpxw8oTVE+mWI2/D1Q== morgan@^1.9.1: version "1.10.0" From 2eea4ffcb619db250cd6ef13b0468d37f2eca04f Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 8 Jan 2022 10:40:48 +0100 Subject: [PATCH 13/16] refac: remove unnecessary entryComponents declaration --- .../monaco-editor/monaco-editor.component.ts | 31 ++++++++++++------- .../src/lib/monaco-editor.module.ts | 23 +++++++------- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts b/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts index 2ef219f8..55f7b69e 100644 --- a/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts +++ b/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts @@ -63,7 +63,7 @@ export class MonacoEditorComponent implements OnInit, OnChanges, OnDestroy, Cont @Input() options: MonacoEditorConstructionOptions; @Input() uri?: MonacoEditorUri; @Output() init: EventEmitter = new EventEmitter(); - @ViewChild('editor', {static: true}) editorContent: ElementRef; + @ViewChild('editor', { static: true }) editorContent: ElementRef; editor: MonacoStandaloneCodeEditor; modelUriInstance: monaco.editor.ITextModel; @@ -99,29 +99,38 @@ export class MonacoEditorComponent implements OnInit, OnChanges, OnDestroy, Cont if (this.editor && changes.options && !changes.options.firstChange) { const { language: toLanguage, theme: toTheme, ...options } = changes.options.currentValue; const { language: fromLanguage, theme: fromTheme } = changes.options.previousValue; - if (fromLanguage !== toLanguage) { - monaco.editor.setModelLanguage( - this.editor.getModel(), - this.options && this.options.language ? this.options.language : 'text' - ); - } - if (fromTheme !== toTheme) { - monaco.editor.setTheme(toTheme); - } - this.editor.updateOptions(options); + + if (fromLanguage !== toLanguage) { + monaco.editor.setModelLanguage( + this.editor.getModel(), + this.options && this.options.language ? this.options.language : 'text' + ); + } + + if (fromTheme !== toTheme) { + monaco.editor.setTheme(toTheme); + } + + this.editor.updateOptions(options); } + if (this.editor && changes.uri) { const toUri = changes.uri.currentValue; const fromUri = changes.uri.previousValue; + if (fromUri && !toUri || !fromUri && toUri || toUri && fromUri && toUri.path !== fromUri.path) { const value = this.editor.getValue(); + if (this.modelUriInstance) { this.modelUriInstance.dispose(); } + let existingModel; + if (toUri) { existingModel = monaco.editor.getModels().find((model) => model.uri.path === toUri.path); } + this.modelUriInstance = existingModel ? existingModel : monaco.editor.createModel(value, this.options.language || 'text', this.uri); this.editor.setModel(this.modelUriInstance); } diff --git a/src/ngx-monaco-editor/src/lib/monaco-editor.module.ts b/src/ngx-monaco-editor/src/lib/monaco-editor.module.ts index a49a3a60..7de77cfc 100644 --- a/src/ngx-monaco-editor/src/lib/monaco-editor.module.ts +++ b/src/ngx-monaco-editor/src/lib/monaco-editor.module.ts @@ -4,17 +4,16 @@ import { MonacoEditorComponent } from './components/monaco-editor/monaco-editor. import { MonacoDiffEditorComponent } from './components/monaco-diff-editor/monaco-diff-editor.component'; @NgModule({ - imports: [], - declarations: [ - MonacoEditorLoaderDirective, - MonacoEditorComponent, - MonacoDiffEditorComponent - ], - exports: [ - MonacoEditorLoaderDirective, - MonacoEditorComponent, - MonacoDiffEditorComponent - ], - entryComponents: [MonacoEditorComponent, MonacoDiffEditorComponent] + imports: [], + declarations: [ + MonacoEditorLoaderDirective, + MonacoEditorComponent, + MonacoDiffEditorComponent + ], + exports: [ + MonacoEditorLoaderDirective, + MonacoEditorComponent, + MonacoDiffEditorComponent + ] }) export class MonacoEditorModule { } From b29ea9563912ef539d7b16003eb0a59038e50438 Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 8 Jan 2022 10:45:52 +0100 Subject: [PATCH 14/16] feat(lib): avoid errors when using editor without ngModel or formControl --- .../lib/components/monaco-editor/monaco-editor.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts b/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts index 55f7b69e..86ccfb02 100644 --- a/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts +++ b/src/ngx-monaco-editor/src/lib/components/monaco-editor/monaco-editor.component.ts @@ -70,9 +70,9 @@ export class MonacoEditorComponent implements OnInit, OnChanges, OnDestroy, Cont value: string; parsedError: string; - private onTouched: () => void; - private onErrorStatusChange: () => void; - private propagateChange: (_: any) => any = (_: any) => { }; + private onTouched: () => void = () => {}; + private onErrorStatusChange: () => void = () => {}; + private propagateChange: (_: any) => any = () => {}; get model() { return this.editor && this.editor.getModel(); From 0e806acf7b0822fc31f29b47f94962d0ba23d8ae Mon Sep 17 00:00:00 2001 From: GeoAstronaute Date: Sat, 8 Jan 2022 15:45:58 +0100 Subject: [PATCH 15/16] doc(api): generate documentation with latest compodoc version --- README.md | 5 +- docs/3rdpartylicenses.txt | 141 +- .../classes/CancellationTokenSource.html | 8162 ++++++++++++ docs/api-reference/classes/Emitter.html | 8146 ++++++++++++ .../classes/FoldingRangeKind.html | 8157 ++++++++++++ docs/api-reference/classes/KeyMod.html | 8197 ++++++++++++ docs/api-reference/classes/Position.html | 9129 +++++++++++++ docs/api-reference/classes/Range.html | 10631 +++++++++++++++ docs/api-reference/classes/Selection.html | 10770 ++++++++++++++++ docs/api-reference/classes/Token.html | 8212 ++++++++++++ docs/api-reference/classes/Uri.html | 9192 +++++++++++++ .../components/MonacoDiffEditorComponent.html | 195 +- .../components/MonacoEditorComponent.html | 511 +- docs/api-reference/coverage.html | 280 +- docs/api-reference/dependencies.html | 48 +- .../MonacoEditorLoaderDirective.html | 111 +- .../images/coverage-badge-documentation.svg | 6 +- docs/api-reference/index.html | 42 +- .../MonacoEditorLoaderService.html | 225 +- .../interfaces/CancellationToken.html | 8040 ++++++++++++ docs/api-reference/interfaces/CodeAction.html | 8194 ++++++++++++ .../interfaces/CodeActionList.html | 7972 ++++++++++++ docs/api-reference/interfaces/CodeLens.html | 8042 ++++++++++++ .../interfaces/CodeLensList.html | 8024 ++++++++++++ .../interfaces/CodeLensProvider.html | 8172 ++++++++++++ docs/api-reference/interfaces/Command.html | 8074 ++++++++++++ .../api-reference/interfaces/CommentRule.html | 8029 ++++++++++++ .../interfaces/CompletionContext.html | 8025 ++++++++++++ .../interfaces/CompletionItem.html | 8555 ++++++++++++ .../interfaces/CompletionItemLabel.html | 8042 ++++++++++++ .../interfaces/CompletionItemProvider.html | 8204 ++++++++++++ .../interfaces/CompletionItemRanges.html | 7998 ++++++++++++ .../interfaces/CompletionList.html | 8064 ++++++++++++ .../interfaces/DeclarationProvider.html | 8044 ++++++++++++ .../interfaces/DefinitionProvider.html | 8044 ++++++++++++ .../interfaces/DocumentColorProvider.html | 8129 ++++++++++++ .../DocumentFormattingEditProvider.html | 8095 ++++++++++++ .../interfaces/DocumentHighlight.html | 8025 ++++++++++++ .../interfaces/DocumentHighlightProvider.html | 8044 ++++++++++++ .../DocumentRangeFormattingEditProvider.html | 8110 ++++++++++++ .../DocumentRangeSemanticTokensProvider.html | 8075 ++++++++++++ .../DocumentSemanticTokensProvider.html | 8200 ++++++++++++ .../interfaces/DocumentSymbol.html | 8202 ++++++++++++ .../interfaces/DocumentSymbolProvider.html | 8083 ++++++++++++ .../api-reference/interfaces/EnterAction.html | 8067 ++++++++++++ .../api-reference/interfaces/Environment.html | 8231 ++++++++++++ .../interfaces/FoldingContext.html | 7913 ++++++++++++ .../interfaces/FoldingMarkers.html | 8010 ++++++++++++ .../interfaces/FoldingRange.html | 8057 ++++++++++++ .../interfaces/FoldingRangeProvider.html | 8100 ++++++++++++ .../interfaces/FoldingRules.html | 8032 ++++++++++++ .../interfaces/FormattingOptions.html | 8017 ++++++++++++ docs/api-reference/interfaces/Hover.html | 8026 ++++++++++++ .../interfaces/HoverProvider.html | 8045 ++++++++++++ .../interfaces/IAutoClosingPair.html | 7998 ++++++++++++ .../IAutoClosingPairConditional.html | 7978 ++++++++++++ docs/api-reference/interfaces/IColor.html | 8093 ++++++++++++ .../interfaces/IColorInformation.html | 8017 ++++++++++++ .../interfaces/IColorPresentation.html | 8071 ++++++++++++ .../api-reference/interfaces/IDisposable.html | 7992 ++++++++++++ .../api-reference/interfaces/IDocComment.html | 8023 ++++++++++++ docs/api-reference/interfaces/IEvent.html | 7977 ++++++++++++ .../IExpandedMonarchLanguageAction.html | 8324 ++++++++++++ .../IExpandedMonarchLanguageRule.html | 8066 ++++++++++++ .../interfaces/IKeyboardEvent.html | 8469 ++++++++++++ .../interfaces/ILanguageExtensionPoint.html | 8232 ++++++++++++ docs/api-reference/interfaces/ILink.html | 8049 ++++++++++++ docs/api-reference/interfaces/ILinksList.html | 8026 ++++++++++++ .../interfaces/IMarkdownString.html | 8166 ++++++++++++ .../interfaces/IMonarchLanguage.html | 8312 ++++++++++++ .../interfaces/IMonarchLanguageBracket.html | 8055 ++++++++++++ .../api-reference/interfaces/IMouseEvent.html | 8595 ++++++++++++ docs/api-reference/interfaces/IPosition.html | 8044 ++++++++++++ docs/api-reference/interfaces/IRange.html | 8134 ++++++++++++ .../interfaces/IScrollEvent.html | 8259 ++++++++++++ docs/api-reference/interfaces/ISelection.html | 8135 ++++++++++++ docs/api-reference/interfaces/IState.html | 8060 ++++++++++++ .../interfaces/ImplementationProvider.html | 8043 ++++++++++++ .../interfaces/IndentationRule.html | 8105 ++++++++++++ docs/api-reference/interfaces/InlayHint.html | 8106 ++++++++++++ .../interfaces/InlayHintsProvider.html | 8085 ++++++++++++ .../interfaces/InlineCompletion.html | 8057 ++++++++++++ .../interfaces/InlineCompletionContext.html | 8004 ++++++++++++ .../interfaces/InlineCompletions.html | 7966 ++++++++++++ .../interfaces/InlineCompletionsProvider.html | 8208 ++++++++++++ .../interfaces/LanguageConfiguration.html | 8437 ++++++++++++ .../interfaces/LinkProvider.html | 8080 ++++++++++++ .../LinkedEditingRangeProvider.html | 8043 ++++++++++++ .../interfaces/LinkedEditingRanges.html | 8025 ++++++++++++ docs/api-reference/interfaces/Location.html | 8018 ++++++++++++ .../interfaces/LocationLink.html | 8099 ++++++++++++ .../api-reference/interfaces/OnEnterRule.html | 8105 ++++++++++++ .../OnTypeFormattingEditProvider.html | 8116 ++++++++++++ .../interfaces/ParameterInformation.html | 8026 ++++++++++++ .../interfaces/ReferenceContext.html | 7980 ++++++++++++ .../interfaces/ReferenceProvider.html | 8055 ++++++++++++ docs/api-reference/interfaces/Rejection.html | 7972 ++++++++++++ .../interfaces/RenameLocation.html | 7998 ++++++++++++ .../interfaces/RenameProvider.html | 8144 ++++++++++++ .../interfaces/SelectedSuggestionInfo.html | 8062 ++++++++++++ .../interfaces/SelectionRange.html | 7966 ++++++++++++ .../interfaces/SelectionRangeProvider.html | 8035 ++++++++++++ .../interfaces/SemanticTokens.html | 8004 ++++++++++++ .../interfaces/SemanticTokensEdit.html | 8036 ++++++++++++ .../interfaces/SemanticTokensEdits.html | 8004 ++++++++++++ .../interfaces/SemanticTokensLegend.html | 7998 ++++++++++++ .../interfaces/SignatureHelp.html | 8057 ++++++++++++ .../interfaces/SignatureHelpContext.html | 8074 ++++++++++++ .../interfaces/SignatureHelpProvider.html | 8145 ++++++++++++ .../interfaces/SignatureHelpResult.html | 7972 ++++++++++++ .../interfaces/SignatureInformation.html | 8110 ++++++++++++ .../interfaces/TypeDefinitionProvider.html | 8043 ++++++++++++ .../interfaces/UriComponents.html | 8142 ++++++++++++ docs/api-reference/interfaces/Window.html | 7992 ++++++++++++ .../interfaces/WorkspaceEdit.html | 7966 ++++++++++++ .../interfaces/WorkspaceEditMetadata.html | 8036 ++++++++++++ .../interfaces/WorkspaceFileEdit.html | 8086 ++++++++++++ .../interfaces/WorkspaceFileEditOptions.html | 8238 ++++++++++++ .../interfaces/WorkspaceTextEdit.html | 8074 ++++++++++++ docs/api-reference/js/libs/prism.js | 60 +- docs/api-reference/js/menu-wc.js | 112 +- docs/api-reference/js/menu-wc_es5.js | 60 + docs/api-reference/js/menu.js | 76 +- docs/api-reference/js/search/lunr.min.js | 6 +- docs/api-reference/js/search/search_index.js | 4 +- docs/api-reference/license.html | 20 +- .../miscellaneous/enumerations.html | 1554 +++ .../miscellaneous/typealiases.html | 71 +- .../miscellaneous/variables.html | 99 +- docs/api-reference/modules.html | 22 +- .../modules/MonacoEditorModule.html | 68 +- .../MonacoEditorModule/dependencies.svg | 8 +- docs/api-reference/overview.html | 40 +- docs/api-reference/styles/bootstrap.min.css | 7 +- docs/api-reference/styles/compodoc.css | 146 +- docs/api-reference/styles/dark.css | 117 + docs/api-reference/styles/laravel.css | 56 +- docs/api-reference/styles/material.css | 36 +- docs/api-reference/styles/original.css | 16 +- docs/api-reference/styles/postmark.css | 28 +- docs/api-reference/styles/prism.css | 304 +- docs/api-reference/styles/readthedocs.css | 31 +- docs/api-reference/styles/reset.css | 149 +- docs/api-reference/styles/stripe.css | 51 +- docs/api-reference/styles/vagrant.css | 46 +- docs/index.html | 13 +- docs/main.49c2ed1acbc735a30d84.js | 1 - docs/main.d732e5452b06e70b.js | 1 + docs/polyfills-es5.c2e3ad64b58a96a39de7.js | 1 - docs/polyfills.59e23087dbc6235ea0ee.js | 1 - docs/polyfills.da901140edde03b2.js | 1 + docs/runtime.0045d9658522cbaf.js | 1 + docs/runtime.c51bd5b1c616d9ffddc1.js | 1 - docs/styles.0f93b06ebe2ec700.css | 1 + docs/styles.b533b536f66ede4e6add.css | 3 - package.json | 2 +- yarn.lock | 2501 ++-- 157 files changed, 894199 insertions(+), 2446 deletions(-) create mode 100644 docs/api-reference/classes/CancellationTokenSource.html create mode 100644 docs/api-reference/classes/Emitter.html create mode 100644 docs/api-reference/classes/FoldingRangeKind.html create mode 100644 docs/api-reference/classes/KeyMod.html create mode 100644 docs/api-reference/classes/Position.html create mode 100644 docs/api-reference/classes/Range.html create mode 100644 docs/api-reference/classes/Selection.html create mode 100644 docs/api-reference/classes/Token.html create mode 100644 docs/api-reference/classes/Uri.html create mode 100644 docs/api-reference/interfaces/CancellationToken.html create mode 100644 docs/api-reference/interfaces/CodeAction.html create mode 100644 docs/api-reference/interfaces/CodeActionList.html create mode 100644 docs/api-reference/interfaces/CodeLens.html create mode 100644 docs/api-reference/interfaces/CodeLensList.html create mode 100644 docs/api-reference/interfaces/CodeLensProvider.html create mode 100644 docs/api-reference/interfaces/Command.html create mode 100644 docs/api-reference/interfaces/CommentRule.html create mode 100644 docs/api-reference/interfaces/CompletionContext.html create mode 100644 docs/api-reference/interfaces/CompletionItem.html create mode 100644 docs/api-reference/interfaces/CompletionItemLabel.html create mode 100644 docs/api-reference/interfaces/CompletionItemProvider.html create mode 100644 docs/api-reference/interfaces/CompletionItemRanges.html create mode 100644 docs/api-reference/interfaces/CompletionList.html create mode 100644 docs/api-reference/interfaces/DeclarationProvider.html create mode 100644 docs/api-reference/interfaces/DefinitionProvider.html create mode 100644 docs/api-reference/interfaces/DocumentColorProvider.html create mode 100644 docs/api-reference/interfaces/DocumentFormattingEditProvider.html create mode 100644 docs/api-reference/interfaces/DocumentHighlight.html create mode 100644 docs/api-reference/interfaces/DocumentHighlightProvider.html create mode 100644 docs/api-reference/interfaces/DocumentRangeFormattingEditProvider.html create mode 100644 docs/api-reference/interfaces/DocumentRangeSemanticTokensProvider.html create mode 100644 docs/api-reference/interfaces/DocumentSemanticTokensProvider.html create mode 100644 docs/api-reference/interfaces/DocumentSymbol.html create mode 100644 docs/api-reference/interfaces/DocumentSymbolProvider.html create mode 100644 docs/api-reference/interfaces/EnterAction.html create mode 100644 docs/api-reference/interfaces/Environment.html create mode 100644 docs/api-reference/interfaces/FoldingContext.html create mode 100644 docs/api-reference/interfaces/FoldingMarkers.html create mode 100644 docs/api-reference/interfaces/FoldingRange.html create mode 100644 docs/api-reference/interfaces/FoldingRangeProvider.html create mode 100644 docs/api-reference/interfaces/FoldingRules.html create mode 100644 docs/api-reference/interfaces/FormattingOptions.html create mode 100644 docs/api-reference/interfaces/Hover.html create mode 100644 docs/api-reference/interfaces/HoverProvider.html create mode 100644 docs/api-reference/interfaces/IAutoClosingPair.html create mode 100644 docs/api-reference/interfaces/IAutoClosingPairConditional.html create mode 100644 docs/api-reference/interfaces/IColor.html create mode 100644 docs/api-reference/interfaces/IColorInformation.html create mode 100644 docs/api-reference/interfaces/IColorPresentation.html create mode 100644 docs/api-reference/interfaces/IDisposable.html create mode 100644 docs/api-reference/interfaces/IDocComment.html create mode 100644 docs/api-reference/interfaces/IEvent.html create mode 100644 docs/api-reference/interfaces/IExpandedMonarchLanguageAction.html create mode 100644 docs/api-reference/interfaces/IExpandedMonarchLanguageRule.html create mode 100644 docs/api-reference/interfaces/IKeyboardEvent.html create mode 100644 docs/api-reference/interfaces/ILanguageExtensionPoint.html create mode 100644 docs/api-reference/interfaces/ILink.html create mode 100644 docs/api-reference/interfaces/ILinksList.html create mode 100644 docs/api-reference/interfaces/IMarkdownString.html create mode 100644 docs/api-reference/interfaces/IMonarchLanguage.html create mode 100644 docs/api-reference/interfaces/IMonarchLanguageBracket.html create mode 100644 docs/api-reference/interfaces/IMouseEvent.html create mode 100644 docs/api-reference/interfaces/IPosition.html create mode 100644 docs/api-reference/interfaces/IRange.html create mode 100644 docs/api-reference/interfaces/IScrollEvent.html create mode 100644 docs/api-reference/interfaces/ISelection.html create mode 100644 docs/api-reference/interfaces/IState.html create mode 100644 docs/api-reference/interfaces/ImplementationProvider.html create mode 100644 docs/api-reference/interfaces/IndentationRule.html create mode 100644 docs/api-reference/interfaces/InlayHint.html create mode 100644 docs/api-reference/interfaces/InlayHintsProvider.html create mode 100644 docs/api-reference/interfaces/InlineCompletion.html create mode 100644 docs/api-reference/interfaces/InlineCompletionContext.html create mode 100644 docs/api-reference/interfaces/InlineCompletions.html create mode 100644 docs/api-reference/interfaces/InlineCompletionsProvider.html create mode 100644 docs/api-reference/interfaces/LanguageConfiguration.html create mode 100644 docs/api-reference/interfaces/LinkProvider.html create mode 100644 docs/api-reference/interfaces/LinkedEditingRangeProvider.html create mode 100644 docs/api-reference/interfaces/LinkedEditingRanges.html create mode 100644 docs/api-reference/interfaces/Location.html create mode 100644 docs/api-reference/interfaces/LocationLink.html create mode 100644 docs/api-reference/interfaces/OnEnterRule.html create mode 100644 docs/api-reference/interfaces/OnTypeFormattingEditProvider.html create mode 100644 docs/api-reference/interfaces/ParameterInformation.html create mode 100644 docs/api-reference/interfaces/ReferenceContext.html create mode 100644 docs/api-reference/interfaces/ReferenceProvider.html create mode 100644 docs/api-reference/interfaces/Rejection.html create mode 100644 docs/api-reference/interfaces/RenameLocation.html create mode 100644 docs/api-reference/interfaces/RenameProvider.html create mode 100644 docs/api-reference/interfaces/SelectedSuggestionInfo.html create mode 100644 docs/api-reference/interfaces/SelectionRange.html create mode 100644 docs/api-reference/interfaces/SelectionRangeProvider.html create mode 100644 docs/api-reference/interfaces/SemanticTokens.html create mode 100644 docs/api-reference/interfaces/SemanticTokensEdit.html create mode 100644 docs/api-reference/interfaces/SemanticTokensEdits.html create mode 100644 docs/api-reference/interfaces/SemanticTokensLegend.html create mode 100644 docs/api-reference/interfaces/SignatureHelp.html create mode 100644 docs/api-reference/interfaces/SignatureHelpContext.html create mode 100644 docs/api-reference/interfaces/SignatureHelpProvider.html create mode 100644 docs/api-reference/interfaces/SignatureHelpResult.html create mode 100644 docs/api-reference/interfaces/SignatureInformation.html create mode 100644 docs/api-reference/interfaces/TypeDefinitionProvider.html create mode 100644 docs/api-reference/interfaces/UriComponents.html create mode 100644 docs/api-reference/interfaces/Window.html create mode 100644 docs/api-reference/interfaces/WorkspaceEdit.html create mode 100644 docs/api-reference/interfaces/WorkspaceEditMetadata.html create mode 100644 docs/api-reference/interfaces/WorkspaceFileEdit.html create mode 100644 docs/api-reference/interfaces/WorkspaceFileEditOptions.html create mode 100644 docs/api-reference/interfaces/WorkspaceTextEdit.html create mode 100644 docs/api-reference/js/menu-wc_es5.js create mode 100644 docs/api-reference/miscellaneous/enumerations.html create mode 100644 docs/api-reference/styles/dark.css delete mode 100644 docs/main.49c2ed1acbc735a30d84.js create mode 100644 docs/main.d732e5452b06e70b.js delete mode 100644 docs/polyfills-es5.c2e3ad64b58a96a39de7.js delete mode 100644 docs/polyfills.59e23087dbc6235ea0ee.js create mode 100644 docs/polyfills.da901140edde03b2.js create mode 100644 docs/runtime.0045d9658522cbaf.js delete mode 100644 docs/runtime.c51bd5b1c616d9ffddc1.js create mode 100644 docs/styles.0f93b06ebe2ec700.css delete mode 100644 docs/styles.b533b536f66ede4e6add.css diff --git a/README.md b/README.md index 18105037..b6a190b7 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,12 @@ ### Angular versions -The library is currently supported by Angular v9 to v12. +The library is currently supported by Angular v13. Check older versions support: -- Angular v6/v7: [v2.x](https://github.com/materiahq/ngx-monaco-editor/tree/2.0.x). +- Angular v6/v7: [v2.x](https://github.com/materiahq/ngx-monaco-editor/tree/2.0.x) - Angular v8: [v4.x](https://github.com/materiahq/ngx-monaco-editor/tree/4.0.x) +- Angular v9 to v12: [5.x](https://github.com/materiahq/ngx-monaco-editor/tree/5.1.x) ### Standard installation diff --git a/docs/3rdpartylicenses.txt b/docs/3rdpartylicenses.txt index c6a9ac99..f99213ca 100644 --- a/docs/3rdpartylicenses.txt +++ b/docs/3rdpartylicenses.txt @@ -1,28 +1,3 @@ -@angular-devkit/build-angular -MIT -The MIT License - -Copyright (c) 2017 Google, Inc. - -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. - - @angular/animations MIT @@ -30,7 +5,7 @@ MIT MIT The MIT License -Copyright (c) 2020 Google LLC. +Copyright (c) 2021 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -59,28 +34,6 @@ MIT @angular/flex-layout MIT -The MIT License - -Copyright (c) 2020 Google LLC. - -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. - @angular/forms MIT @@ -89,7 +42,7 @@ MIT MIT The MIT License -Copyright (c) 2020 Google LLC. +Copyright (c) 2021 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -113,34 +66,37 @@ THE SOFTWARE. @angular/platform-browser MIT -@materia-ui/ngx-monaco-editor +@babel/runtime MIT MIT License -Copyright (c) 2019 Materia +Copyright (c) 2014-present Sebastian McKenzie and other 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: +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 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. +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. -core-js +@materia-ui/ngx-monaco-editor MIT -Copyright (c) 2014-2019 Denis Pushkarev +MIT License + +Copyright (c) 2019 Materia Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -149,40 +105,16 @@ 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 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. - - -css-loader -MIT -Copyright JS Foundation and other 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. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. regenerator-runtime @@ -416,26 +348,11 @@ Apache-2.0 -tslib -0BSD -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - zone.js MIT The MIT License -Copyright (c) 2010-2020 Google LLC. http://angular.io/license +Copyright (c) 2010-2020 Google LLC. https://angular.io/license Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/docs/api-reference/classes/CancellationTokenSource.html b/docs/api-reference/classes/CancellationTokenSource.html new file mode 100644 index 00000000..ec76e882 --- /dev/null +++ b/docs/api-reference/classes/CancellationTokenSource.html @@ -0,0 +1,8162 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + + + + + + + + + + + +
+
+

+

File

+

+

+ src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

+ + + + + + +
+

Index

+ + + + + + + + + + + + + + + + + + + + + +
+
Methods
+
+ +
+
Accessors
+
+ +
+
+ +
+

Constructor

+ + + + + + + + + + + + + +
+constructor(parent?: CancellationToken) +
+ +
+
+ Parameters : + + + + + + + + + + + + + + + + + + +
NameTypeOptional
parent + CancellationToken + + Yes +
+
+
+
+ + +
+ +

+ Methods +

+ + + + + + + + + + + + + + + + + + + +
+ + + cancel + + +
+cancel() +
+ +
+ +
+ Returns : void + +
+
+ + + + + + + + + + + + + + + + + + + +
+ + + dispose + + +
+dispose(cancel?: boolean) +
+ +
+ +
+ Parameters : + + + + + + + + + + + + + + + + + + + +
NameTypeOptional
cancel + boolean + + Yes +
+
+
+
+
+ Returns : void + +
+
+ +
+
+
+ + + + + +
+

+ Accessors +

+ + + + + + + + + + + + + + +
+ + token +
+ gettoken() +
+ +
+
+
+ + +
+
declare let MonacoEnvironment: monaco.Environment | undefined;
+
+interface Window {
+    MonacoEnvironment?: monaco.Environment | undefined;
+}
+
+declare namespace monaco {
+
+    export type Thenable<T> = PromiseLike<T>;
+
+    export interface Environment {
+        globalAPI?: boolean;
+        baseUrl?: string;
+        getWorker?(workerId: string, label: string): Worker;
+        getWorkerUrl?(workerId: string, label: string): string;
+    }
+
+    export interface IDisposable {
+        dispose(): void;
+    }
+
+    export interface IEvent<T> {
+        (listener: (e: T) => any, thisArg?: any): IDisposable;
+    }
+
+    /**
+     * A helper that allows to emit and listen to typed events
+     */
+    export class Emitter<T> {
+        constructor();
+        readonly event: IEvent<T>;
+        fire(event: T): void;
+        dispose(): void;
+    }
+
+
+    export enum MarkerTag {
+        Unnecessary = 1,
+        Deprecated = 2
+    }
+
+    export enum MarkerSeverity {
+        Hint = 1,
+        Info = 2,
+        Warning = 4,
+        Error = 8
+    }
+
+    export class CancellationTokenSource {
+        constructor(parent?: CancellationToken);
+        get token(): CancellationToken;
+        cancel(): void;
+        dispose(cancel?: boolean): void;
+    }
+
+    export interface CancellationToken {
+        /**
+         * A flag signalling is cancellation has been requested.
+         */
+        readonly isCancellationRequested: boolean;
+        /**
+         * An event which fires when cancellation is requested. This event
+         * only ever fires `once` as cancellation can only happen once. Listeners
+         * that are registered after cancellation will be called (next event loop run),
+         * but also only once.
+         *
+         * @event
+         */
+        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
+    }
+    /**
+     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
+     * This class is a simple parser which creates the basic component parts
+     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
+     * and encoding.
+     *
+     * ```txt
+     *       foo://example.com:8042/over/there?name=ferret#nose
+     *       \_/   \______________/\_________/ \_________/ \__/
+     *        |           |            |            |        |
+     *     scheme     authority       path        query   fragment
+     *        |   _____________________|__
+     *       / \ /                        \
+     *       urn:example:animal:ferret:nose
+     * ```
+     */
+    export class Uri implements UriComponents {
+        static isUri(thing: any): thing is Uri;
+        /**
+         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
+         * The part before the first colon.
+         */
+        readonly scheme: string;
+        /**
+         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
+         * The part between the first double slashes and the next slash.
+         */
+        readonly authority: string;
+        /**
+         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
+         */
+        readonly path: string;
+        /**
+         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
+         */
+        readonly query: string;
+        /**
+         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
+         */
+        readonly fragment: string;
+        /**
+         * Returns a string representing the corresponding file system path of this Uri.
+         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
+         * platform specific path separator.
+         *
+         * * Will *not* validate the path for invalid characters and semantics.
+         * * Will *not* look at the scheme of this Uri.
+         * * The result shall *not* be used for display purposes but for accessing a file on disk.
+         *
+         *
+         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
+         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
+         *
+         * ```ts
+            const u = Uri.parse('file://server/c$/folder/file.txt')
+            u.authority === 'server'
+            u.path === '/shares/c$/file.txt'
+            u.fsPath === '\\server\c$\folder\file.txt'
+        ```
+         *
+         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
+         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
+         * with URIs that represent files on disk (`file` scheme).
+         */
+        get fsPath(): string;
+        with(change: {
+            scheme?: string;
+            authority?: string | null;
+            path?: string | null;
+            query?: string | null;
+            fragment?: string | null;
+        }): Uri;
+        /**
+         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
+         * `file:///usr/home`, or `scheme:with/path`.
+         *
+         * @param value A string which represents an Uri (see `Uri#toString`).
+         */
+        static parse(value: string, _strict?: boolean): Uri;
+        /**
+         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
+         * `/usr/home`, or `\\server\share\some\path`.
+         *
+         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
+         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
+         * `Uri.parse('file://' + path)` because the path might contain characters that are
+         * interpreted (# and ?). See the following sample:
+         * ```ts
+        const good = Uri.file('/coding/c#/project1');
+        good.scheme === 'file';
+        good.path === '/coding/c#/project1';
+        good.fragment === '';
+        const bad = Uri.parse('file://' + '/coding/c#/project1');
+        bad.scheme === 'file';
+        bad.path === '/coding/c'; // path is now broken
+        bad.fragment === '/project1';
+        ```
+         *
+         * @param path A file system path (see `Uri#fsPath`)
+         */
+        static file(path: string): Uri;
+        static from(components: {
+            scheme: string;
+            authority?: string;
+            path?: string;
+            query?: string;
+            fragment?: string;
+        }): Uri;
+        /**
+         * Join a Uri path with path fragments and normalizes the resulting path.
+         *
+         * @param uri The input Uri.
+         * @param pathFragment The path fragment to add to the Uri path.
+         * @returns The resulting Uri.
+         */
+        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
+        /**
+         * Creates a string representation for this Uri. It's guaranteed that calling
+         * `Uri.parse` with the result of this function creates an Uri which is equal
+         * to this Uri.
+         *
+         * * The result shall *not* be used for display purposes but for externalization or transport.
+         * * The result will be encoded using the percentage encoding and encoding happens mostly
+         * ignore the scheme-specific encoding rules.
+         *
+         * @param skipEncoding Do not encode the result, default is `false`
+         */
+        toString(skipEncoding?: boolean): string;
+        toJSON(): UriComponents;
+        static revive(data: UriComponents | Uri): Uri;
+        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
+        static revive(data: UriComponents | Uri | null): Uri | null;
+        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
+    }
+
+    export interface UriComponents {
+        scheme: string;
+        authority: string;
+        path: string;
+        query: string;
+        fragment: string;
+    }
+    /**
+     * Virtual Key Codes, the value does not hold any inherent meaning.
+     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
+     * But these are "more general", as they should work across browsers & OS`s.
+     */
+    export enum KeyCode {
+        DependsOnKbLayout = -1,
+        /**
+         * Placed first to cover the 0 value of the enum.
+         */
+        Unknown = 0,
+        Backspace = 1,
+        Tab = 2,
+        Enter = 3,
+        Shift = 4,
+        Ctrl = 5,
+        Alt = 6,
+        PauseBreak = 7,
+        CapsLock = 8,
+        Escape = 9,
+        Space = 10,
+        PageUp = 11,
+        PageDown = 12,
+        End = 13,
+        Home = 14,
+        LeftArrow = 15,
+        UpArrow = 16,
+        RightArrow = 17,
+        DownArrow = 18,
+        Insert = 19,
+        Delete = 20,
+        Digit0 = 21,
+        Digit1 = 22,
+        Digit2 = 23,
+        Digit3 = 24,
+        Digit4 = 25,
+        Digit5 = 26,
+        Digit6 = 27,
+        Digit7 = 28,
+        Digit8 = 29,
+        Digit9 = 30,
+        KeyA = 31,
+        KeyB = 32,
+        KeyC = 33,
+        KeyD = 34,
+        KeyE = 35,
+        KeyF = 36,
+        KeyG = 37,
+        KeyH = 38,
+        KeyI = 39,
+        KeyJ = 40,
+        KeyK = 41,
+        KeyL = 42,
+        KeyM = 43,
+        KeyN = 44,
+        KeyO = 45,
+        KeyP = 46,
+        KeyQ = 47,
+        KeyR = 48,
+        KeyS = 49,
+        KeyT = 50,
+        KeyU = 51,
+        KeyV = 52,
+        KeyW = 53,
+        KeyX = 54,
+        KeyY = 55,
+        KeyZ = 56,
+        Meta = 57,
+        ContextMenu = 58,
+        F1 = 59,
+        F2 = 60,
+        F3 = 61,
+        F4 = 62,
+        F5 = 63,
+        F6 = 64,
+        F7 = 65,
+        F8 = 66,
+        F9 = 67,
+        F10 = 68,
+        F11 = 69,
+        F12 = 70,
+        F13 = 71,
+        F14 = 72,
+        F15 = 73,
+        F16 = 74,
+        F17 = 75,
+        F18 = 76,
+        F19 = 77,
+        NumLock = 78,
+        ScrollLock = 79,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the ';:' key
+         */
+        Semicolon = 80,
+        /**
+         * For any country/region, the '+' key
+         * For the US standard keyboard, the '=+' key
+         */
+        Equal = 81,
+        /**
+         * For any country/region, the ',' key
+         * For the US standard keyboard, the ',<' key
+         */
+        Comma = 82,
+        /**
+         * For any country/region, the '-' key
+         * For the US standard keyboard, the '-_' key
+         */
+        Minus = 83,
+        /**
+         * For any country/region, the '.' key
+         * For the US standard keyboard, the '.>' key
+         */
+        Period = 84,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the '/?' key
+         */
+        Slash = 85,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the '`~' key
+         */
+        Backquote = 86,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the '[{' key
+         */
+        BracketLeft = 87,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the '\|' key
+         */
+        Backslash = 88,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the ']}' key
+         */
+        BracketRight = 89,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         * For the US standard keyboard, the ''"' key
+         */
+        Quote = 90,
+        /**
+         * Used for miscellaneous characters; it can vary by keyboard.
+         */
+        OEM_8 = 91,
+        /**
+         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
+         */
+        IntlBackslash = 92,
+        Numpad0 = 93,
+        Numpad1 = 94,
+        Numpad2 = 95,
+        Numpad3 = 96,
+        Numpad4 = 97,
+        Numpad5 = 98,
+        Numpad6 = 99,
+        Numpad7 = 100,
+        Numpad8 = 101,
+        Numpad9 = 102,
+        NumpadMultiply = 103,
+        NumpadAdd = 104,
+        NUMPAD_SEPARATOR = 105,
+        NumpadSubtract = 106,
+        NumpadDecimal = 107,
+        NumpadDivide = 108,
+        /**
+         * Cover all key codes when IME is processing input.
+         */
+        KEY_IN_COMPOSITION = 109,
+        ABNT_C1 = 110,
+        ABNT_C2 = 111,
+        AudioVolumeMute = 112,
+        AudioVolumeUp = 113,
+        AudioVolumeDown = 114,
+        BrowserSearch = 115,
+        BrowserHome = 116,
+        BrowserBack = 117,
+        BrowserForward = 118,
+        MediaTrackNext = 119,
+        MediaTrackPrevious = 120,
+        MediaStop = 121,
+        MediaPlayPause = 122,
+        LaunchMediaPlayer = 123,
+        LaunchMail = 124,
+        LaunchApp2 = 125,
+        /**
+         * Placed last to cover the length of the enum.
+         * Please do not depend on this value!
+         */
+        MAX_VALUE = 126
+    }
+    export class KeyMod {
+        static readonly CtrlCmd: number;
+        static readonly Shift: number;
+        static readonly Alt: number;
+        static readonly WinCtrl: number;
+        static chord(firstPart: number, secondPart: number): number;
+    }
+
+    export interface IMarkdownString {
+        readonly value: string;
+        readonly isTrusted?: boolean;
+        readonly supportThemeIcons?: boolean;
+        readonly supportHtml?: boolean;
+        uris?: {
+            [href: string]: UriComponents;
+        };
+    }
+
+    export interface IKeyboardEvent {
+        readonly _standardKeyboardEventBrand: true;
+        readonly browserEvent: KeyboardEvent;
+        readonly target: HTMLElement;
+        readonly ctrlKey: boolean;
+        readonly shiftKey: boolean;
+        readonly altKey: boolean;
+        readonly metaKey: boolean;
+        readonly keyCode: KeyCode;
+        readonly code: string;
+        equals(keybinding: number): boolean;
+        preventDefault(): void;
+        stopPropagation(): void;
+    }
+    export interface IMouseEvent {
+        readonly browserEvent: MouseEvent;
+        readonly leftButton: boolean;
+        readonly middleButton: boolean;
+        readonly rightButton: boolean;
+        readonly buttons: number;
+        readonly target: HTMLElement;
+        readonly detail: number;
+        readonly posx: number;
+        readonly posy: number;
+        readonly ctrlKey: boolean;
+        readonly shiftKey: boolean;
+        readonly altKey: boolean;
+        readonly metaKey: boolean;
+        readonly timestamp: number;
+        preventDefault(): void;
+        stopPropagation(): void;
+    }
+
+    export interface IScrollEvent {
+        readonly scrollTop: number;
+        readonly scrollLeft: number;
+        readonly scrollWidth: number;
+        readonly scrollHeight: number;
+        readonly scrollTopChanged: boolean;
+        readonly scrollLeftChanged: boolean;
+        readonly scrollWidthChanged: boolean;
+        readonly scrollHeightChanged: boolean;
+    }
+    /**
+     * A position in the editor. This interface is suitable for serialization.
+     */
+    export interface IPosition {
+        /**
+         * line number (starts at 1)
+         */
+        readonly lineNumber: number;
+        /**
+         * column (the first character in a line is between column 1 and column 2)
+         */
+        readonly column: number;
+    }
+
+    /**
+     * A position in the editor.
+     */
+    export class Position {
+        /**
+         * line number (starts at 1)
+         */
+        readonly lineNumber: number;
+        /**
+         * column (the first character in a line is between column 1 and column 2)
+         */
+        readonly column: number;
+        constructor(lineNumber: number, column: number);
+        /**
+         * Create a new position from this position.
+         *
+         * @param newLineNumber new line number
+         * @param newColumn new column
+         */
+        with(newLineNumber?: number, newColumn?: number): Position;
+        /**
+         * Derive a new position from this position.
+         *
+         * @param deltaLineNumber line number delta
+         * @param deltaColumn column delta
+         */
+        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
+        /**
+         * Test if this position equals other position
+         */
+        equals(other: IPosition): boolean;
+        /**
+         * Test if position `a` equals position `b`
+         */
+        static equals(a: IPosition | null, b: IPosition | null): boolean;
+        /**
+         * Test if this position is before other position.
+         * If the two positions are equal, the result will be false.
+         */
+        isBefore(other: IPosition): boolean;
+        /**
+         * Test if position `a` is before position `b`.
+         * If the two positions are equal, the result will be false.
+         */
+        static isBefore(a: IPosition, b: IPosition): boolean;
+        /**
+         * Test if this position is before other position.
+         * If the two positions are equal, the result will be true.
+         */
+        isBeforeOrEqual(other: IPosition): boolean;
+        /**
+         * Test if position `a` is before position `b`.
+         * If the two positions are equal, the result will be true.
+         */
+        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
+        /**
+         * A function that compares positions, useful for sorting
+         */
+        static compare(a: IPosition, b: IPosition): number;
+        /**
+         * Clone this position.
+         */
+        clone(): Position;
+        /**
+         * Convert to a human-readable representation.
+         */
+        toString(): string;
+        /**
+         * Create a `Position` from an `IPosition`.
+         */
+        static lift(pos: IPosition): Position;
+        /**
+         * Test if `obj` is an `IPosition`.
+         */
+        static isIPosition(obj: any): obj is IPosition;
+    }
+
+    /**
+     * A range in the editor. This interface is suitable for serialization.
+     */
+    export interface IRange {
+        /**
+         * Line number on which the range starts (starts at 1).
+         */
+        readonly startLineNumber: number;
+        /**
+         * Column on which the range starts in line `startLineNumber` (starts at 1).
+         */
+        readonly startColumn: number;
+        /**
+         * Line number on which the range ends.
+         */
+        readonly endLineNumber: number;
+        /**
+         * Column on which the range ends in line `endLineNumber`.
+         */
+        readonly endColumn: number;
+    }
+
+    /**
+     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
+     */
+    export class Range {
+        /**
+         * Line number on which the range starts (starts at 1).
+         */
+        readonly startLineNumber: number;
+        /**
+         * Column on which the range starts in line `startLineNumber` (starts at 1).
+         */
+        readonly startColumn: number;
+        /**
+         * Line number on which the range ends.
+         */
+        readonly endLineNumber: number;
+        /**
+         * Column on which the range ends in line `endLineNumber`.
+         */
+        readonly endColumn: number;
+        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
+        /**
+         * Test if this range is empty.
+         */
+        isEmpty(): boolean;
+        /**
+         * Test if `range` is empty.
+         */
+        static isEmpty(range: IRange): boolean;
+        /**
+         * Test if position is in this range. If the position is at the edges, will return true.
+         */
+        containsPosition(position: IPosition): boolean;
+        /**
+         * Test if `position` is in `range`. If the position is at the edges, will return true.
+         */
+        static containsPosition(range: IRange, position: IPosition): boolean;
+        /**
+         * Test if range is in this range. If the range is equal to this range, will return true.
+         */
+        containsRange(range: IRange): boolean;
+        /**
+         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
+         */
+        static containsRange(range: IRange, otherRange: IRange): boolean;
+        /**
+         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
+         */
+        strictContainsRange(range: IRange): boolean;
+        /**
+         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
+         */
+        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
+        /**
+         * A reunion of the two ranges.
+         * The smallest position will be used as the start point, and the largest one as the end point.
+         */
+        plusRange(range: IRange): Range;
+        /**
+         * A reunion of the two ranges.
+         * The smallest position will be used as the start point, and the largest one as the end point.
+         */
+        static plusRange(a: IRange, b: IRange): Range;
+        /**
+         * A intersection of the two ranges.
+         */
+        intersectRanges(range: IRange): Range | null;
+        /**
+         * A intersection of the two ranges.
+         */
+        static intersectRanges(a: IRange, b: IRange): Range | null;
+        /**
+         * Test if this range equals other.
+         */
+        equalsRange(other: IRange | null): boolean;
+        /**
+         * Test if range `a` equals `b`.
+         */
+        static equalsRange(a: IRange | null, b: IRange | null): boolean;
+        /**
+         * Return the end position (which will be after or equal to the start position)
+         */
+        getEndPosition(): Position;
+        /**
+         * Return the end position (which will be after or equal to the start position)
+         */
+        static getEndPosition(range: IRange): Position;
+        /**
+         * Return the start position (which will be before or equal to the end position)
+         */
+        getStartPosition(): Position;
+        /**
+         * Return the start position (which will be before or equal to the end position)
+         */
+        static getStartPosition(range: IRange): Position;
+        /**
+         * Transform to a user presentable string representation.
+         */
+        toString(): string;
+        /**
+         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
+         */
+        setEndPosition(endLineNumber: number, endColumn: number): Range;
+        /**
+         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
+         */
+        setStartPosition(startLineNumber: number, startColumn: number): Range;
+        /**
+         * Create a new empty range using this range's start position.
+         */
+        collapseToStart(): Range;
+        /**
+         * Create a new empty range using this range's start position.
+         */
+        static collapseToStart(range: IRange): Range;
+        static fromPositions(start: IPosition, end?: IPosition): Range;
+        /**
+         * Create a `Range` from an `IRange`.
+         */
+        static lift(range: undefined | null): null;
+        static lift(range: IRange): Range;
+        /**
+         * Test if `obj` is an `IRange`.
+         */
+        static isIRange(obj: any): obj is IRange;
+        /**
+         * Test if the two ranges are touching in any way.
+         */
+        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
+        /**
+         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
+         */
+        static areIntersecting(a: IRange, b: IRange): boolean;
+        /**
+         * A function that compares ranges, useful for sorting ranges
+         * It will first compare ranges on the startPosition and then on the endPosition
+         */
+        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
+        /**
+         * A function that compares ranges, useful for sorting ranges
+         * It will first compare ranges on the endPosition and then on the startPosition
+         */
+        static compareRangesUsingEnds(a: IRange, b: IRange): number;
+        /**
+         * Test if the range spans multiple lines.
+         */
+        static spansMultipleLines(range: IRange): boolean;
+    }
+
+    /**
+     * A selection in the editor.
+     * The selection is a range that has an orientation.
+     */
+    export interface ISelection {
+        /**
+         * The line number on which the selection has started.
+         */
+        readonly selectionStartLineNumber: number;
+        /**
+         * The column on `selectionStartLineNumber` where the selection has started.
+         */
+        readonly selectionStartColumn: number;
+        /**
+         * The line number on which the selection has ended.
+         */
+        readonly positionLineNumber: number;
+        /**
+         * The column on `positionLineNumber` where the selection has ended.
+         */
+        readonly positionColumn: number;
+    }
+
+    /**
+     * A selection in the editor.
+     * The selection is a range that has an orientation.
+     */
+    export class Selection extends Range {
+        /**
+         * The line number on which the selection has started.
+         */
+        readonly selectionStartLineNumber: number;
+        /**
+         * The column on `selectionStartLineNumber` where the selection has started.
+         */
+        readonly selectionStartColumn: number;
+        /**
+         * The line number on which the selection has ended.
+         */
+        readonly positionLineNumber: number;
+        /**
+         * The column on `positionLineNumber` where the selection has ended.
+         */
+        readonly positionColumn: number;
+        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
+        /**
+         * Transform to a human-readable representation.
+         */
+        toString(): string;
+        /**
+         * Test if equals other selection.
+         */
+        equalsSelection(other: ISelection): boolean;
+        /**
+         * Test if the two selections are equal.
+         */
+        static selectionsEqual(a: ISelection, b: ISelection): boolean;
+        /**
+         * Get directions (LTR or RTL).
+         */
+        getDirection(): SelectionDirection;
+        /**
+         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
+         */
+        setEndPosition(endLineNumber: number, endColumn: number): Selection;
+        /**
+         * Get the position at `positionLineNumber` and `positionColumn`.
+         */
+        getPosition(): Position;
+        /**
+         * Get the position at the start of the selection.
+        */
+        getSelectionStart(): Position;
+        /**
+         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
+         */
+        setStartPosition(startLineNumber: number, startColumn: number): Selection;
+        /**
+         * Create a `Selection` from one or two positions
+         */
+        static fromPositions(start: IPosition, end?: IPosition): Selection;
+        /**
+         * Creates a `Selection` from a range, given a direction.
+         */
+        static fromRange(range: Range, direction: SelectionDirection): Selection;
+        /**
+         * Create a `Selection` from an `ISelection`.
+         */
+        static liftSelection(sel: ISelection): Selection;
+        /**
+         * `a` equals `b`.
+         */
+        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
+        /**
+         * Test if `obj` is an `ISelection`.
+         */
+        static isISelection(obj: any): obj is ISelection;
+        /**
+         * Create with a direction.
+         */
+        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
+    }
+
+    /**
+     * The direction of a selection.
+     */
+    export enum SelectionDirection {
+        /**
+         * The selection starts above where it ends.
+         */
+        LTR = 0,
+        /**
+         * The selection starts below where it ends.
+         */
+        RTL = 1
+    }
+
+    export class Token {
+        _tokenBrand: void;
+        readonly offset: number;
+        readonly type: string;
+        readonly language: string;
+        constructor(offset: number, type: string, language: string);
+        toString(): string;
+    }
+}
+
+declare namespace monaco.editor {
+
+    export interface IDiffNavigator {
+        canNavigate(): boolean;
+        next(): void;
+        previous(): void;
+        dispose(): void;
+    }
+
+    /**
+     * Create a new editor under `domElement`.
+     * `domElement` should be empty (not contain other dom nodes).
+     * The editor will read the size of `domElement`.
+     */
+    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
+
+    /**
+     * Emitted when an editor is created.
+     * Creating a diff editor might cause this listener to be invoked with the two editors.
+     * @event
+     */
+    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
+
+    /**
+     * Create a new diff editor under `domElement`.
+     * `domElement` should be empty (not contain other dom nodes).
+     * The editor will read the size of `domElement`.
+     */
+    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
+
+    export interface IDiffNavigatorOptions {
+        readonly followsCaret?: boolean;
+        readonly ignoreCharChanges?: boolean;
+        readonly alwaysRevealFirst?: boolean;
+    }
+
+    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
+
+    /**
+     * Create a new editor model.
+     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
+     */
+    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
+
+    /**
+     * Change the language for a model.
+     */
+    export function setModelLanguage(model: ITextModel, languageId: string): void;
+
+    /**
+     * Set the markers for a model.
+     */
+    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
+
+    /**
+     * Get markers for owner and/or resource
+     *
+     * @returns list of markers
+     */
+    export function getModelMarkers(filter: {
+        owner?: string;
+        resource?: Uri;
+        take?: number;
+    }): IMarker[];
+
+    /**
+     * Emitted when markers change for a model.
+     * @event
+     */
+    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
+
+    /**
+     * Get the model that has `uri` if it exists.
+     */
+    export function getModel(uri: Uri): ITextModel | null;
+
+    /**
+     * Get all the created models.
+     */
+    export function getModels(): ITextModel[];
+
+    /**
+     * Emitted when a model is created.
+     * @event
+     */
+    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
+
+    /**
+     * Emitted right before a model is disposed.
+     * @event
+     */
+    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
+
+    /**
+     * Emitted when a different language is set to a model.
+     * @event
+     */
+    export function onDidChangeModelLanguage(listener: (e: {
+        readonly model: ITextModel;
+        readonly oldLanguage: string;
+    }) => void): IDisposable;
+
+    /**
+     * Create a new web worker that has model syncing capabilities built in.
+     * Specify an AMD module to load that will `create` an object that will be proxied.
+     */
+    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
+
+    /**
+     * Colorize the contents of `domNode` using attribute `data-lang`.
+     */
+    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
+
+    /**
+     * Colorize `text` using language `languageId`.
+     */
+    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
+
+    /**
+     * Colorize a line in a model.
+     */
+    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
+
+    /**
+     * Tokenize `text` using language `languageId`
+     */
+    export function tokenize(text: string, languageId: string): Token[][];
+
+    /**
+     * Define a new theme or update an existing theme.
+     */
+    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
+
+    /**
+     * Switches to a theme.
+     */
+    export function setTheme(themeName: string): void;
+
+    /**
+     * Clears all cached font measurements and triggers re-measurement.
+     */
+    export function remeasureFonts(): void;
+
+    /**
+     * Register a command.
+     */
+    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
+
+    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
+
+    export interface IStandaloneThemeData {
+        base: BuiltinTheme;
+        inherit: boolean;
+        rules: ITokenThemeRule[];
+        encodedTokensColors?: string[];
+        colors: IColors;
+    }
+
+    export type IColors = {
+        [colorId: string]: string;
+    };
+
+    export interface ITokenThemeRule {
+        token: string;
+        foreground?: string;
+        background?: string;
+        fontStyle?: string;
+    }
+
+    /**
+     * A web worker that can provide a proxy to an arbitrary file.
+     */
+    export interface MonacoWebWorker<T> {
+        /**
+         * Terminate the web worker, thus invalidating the returned proxy.
+         */
+        dispose(): void;
+        /**
+         * Get a proxy to the arbitrary loaded code.
+         */
+        getProxy(): Promise<T>;
+        /**
+         * Synchronize (send) the models at `resources` to the web worker,
+         * making them available in the monaco.worker.getMirrorModels().
+         */
+        withSyncedResources(resources: Uri[]): Promise<T>;
+    }
+
+    export interface IWebWorkerOptions {
+        /**
+         * The AMD moduleId to load.
+         * It should export a function `create` that should return the exported proxy.
+         */
+        moduleId: string;
+        /**
+         * The data to send over when calling create on the module.
+         */
+        createData?: any;
+        /**
+         * A label to be used to identify the web worker for debugging purposes.
+         */
+        label?: string;
+        /**
+         * An object that can be used by the web worker to make calls back to the main thread.
+         */
+        host?: any;
+        /**
+         * Keep idle models.
+         * Defaults to false, which means that idle models will stop syncing after a while.
+         */
+        keepIdleModels?: boolean;
+    }
+
+    /**
+     * Description of an action contribution
+     */
+    export interface IActionDescriptor {
+        /**
+         * An unique identifier of the contributed action.
+         */
+        id: string;
+        /**
+         * A label of the action that will be presented to the user.
+         */
+        label: string;
+        /**
+         * Precondition rule.
+         */
+        precondition?: string;
+        /**
+         * An array of keybindings for the action.
+         */
+        keybindings?: number[];
+        /**
+         * The keybinding rule (condition on top of precondition).
+         */
+        keybindingContext?: string;
+        /**
+         * Control if the action should show up in the context menu and where.
+         * The context menu of the editor has these default:
+         *   navigation - The navigation group comes first in all cases.
+         *   1_modification - This group comes next and contains commands that modify your code.
+         *   9_cutcopypaste - The last default group with the basic editing commands.
+         * You can also create your own group.
+         * Defaults to null (don't show in context menu).
+         */
+        contextMenuGroupId?: string;
+        /**
+         * Control the order in the context menu group.
+         */
+        contextMenuOrder?: number;
+        /**
+         * Method that will be executed when the action is triggered.
+         * @param editor The editor instance is passed in as a convenience
+         */
+        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
+    }
+
+    /**
+     * Options which apply for all editors.
+     */
+    export interface IGlobalEditorOptions {
+        /**
+         * The number of spaces a tab is equal to.
+         * This setting is overridden based on the file contents when `detectIndentation` is on.
+         * Defaults to 4.
+         */
+        tabSize?: number;
+        /**
+         * Insert spaces when pressing `Tab`.
+         * This setting is overridden based on the file contents when `detectIndentation` is on.
+         * Defaults to true.
+         */
+        insertSpaces?: boolean;
+        /**
+         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
+         * Defaults to true.
+         */
+        detectIndentation?: boolean;
+        /**
+         * Remove trailing auto inserted whitespace.
+         * Defaults to true.
+         */
+        trimAutoWhitespace?: boolean;
+        /**
+         * Special handling for large files to disable certain memory intensive features.
+         * Defaults to true.
+         */
+        largeFileOptimizations?: boolean;
+        /**
+         * Controls whether completions should be computed based on words in the document.
+         * Defaults to true.
+         */
+        wordBasedSuggestions?: boolean;
+        /**
+         * Controls whether word based completions should be included from opened documents of the same language or any language.
+         */
+        wordBasedSuggestionsOnlySameLanguage?: boolean;
+        /**
+         * Controls whether the semanticHighlighting is shown for the languages that support it.
+         * true: semanticHighlighting is enabled for all themes
+         * false: semanticHighlighting is disabled for all themes
+         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
+         * Defaults to 'byTheme'.
+         */
+        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
+        /**
+         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
+         * Defaults to false.
+         */
+        stablePeek?: boolean;
+        /**
+         * Lines above this length will not be tokenized for performance reasons.
+         * Defaults to 20000.
+         */
+        maxTokenizationLineLength?: number;
+        /**
+         * Theme to be used for rendering.
+         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
+         * You can create custom themes via `monaco.editor.defineTheme`.
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
+         */
+        theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
+    }
+
+    /**
+     * The options to create an editor.
+     */
+    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
+        /**
+         * The initial model associated with this code editor.
+         */
+        model?: ITextModel | null;
+        /**
+         * The initial value of the auto created model in the editor.
+         * To not automatically create a model, use `model: null`.
+         */
+        value?: string;
+        /**
+         * The initial language of the auto created model in the editor.
+         * To not automatically create a model, use `model: null`.
+         */
+        language?: string;
+        /**
+         * Initial theme to be used for rendering.
+         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
+         * You can create custom themes via `monaco.editor.defineTheme`.
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
+         */
+        theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
+        /**
+         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
+         * the accessibility help dialog in the editor.
+         *
+         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
+         */
+        accessibilityHelpUrl?: string;
+        /**
+         * Container element to use for ARIA messages.
+         * Defaults to document.body.
+         */
+        ariaContainerElement?: HTMLElement;
+    }
+
+    /**
+     * The options to create a diff editor.
+     */
+    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
+        /**
+         * Initial theme to be used for rendering.
+         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
+         * You can create custom themes via `monaco.editor.defineTheme`.
+         * To switch a theme, use `monaco.editor.setTheme`.
+         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
+         */
+        theme?: string;
+        /**
+         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
+         * Defaults to true.
+         */
+        autoDetectHighContrast?: boolean;
+    }
+
+    export interface IStandaloneCodeEditor extends ICodeEditor {
+        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
+        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
+        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
+        addAction(descriptor: IActionDescriptor): IDisposable;
+    }
+
+    export interface IStandaloneDiffEditor extends IDiffEditor {
+        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
+        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
+        addAction(descriptor: IActionDescriptor): IDisposable;
+        getOriginalEditor(): IStandaloneCodeEditor;
+        getModifiedEditor(): IStandaloneCodeEditor;
+    }
+    export interface ICommandHandler {
+        (...args: any[]): void;
+    }
+
+    export interface IContextKey<T> {
+        set(value: T): void;
+        reset(): void;
+        get(): T | undefined;
+    }
+
+    export interface IEditorOverrideServices {
+        [index: string]: any;
+    }
+
+    export interface IMarker {
+        owner: string;
+        resource: Uri;
+        severity: MarkerSeverity;
+        code?: string | {
+            value: string;
+            target: Uri;
+        };
+        message: string;
+        source?: string;
+        startLineNumber: number;
+        startColumn: number;
+        endLineNumber: number;
+        endColumn: number;
+        relatedInformation?: IRelatedInformation[];
+        tags?: MarkerTag[];
+    }
+
+    /**
+     * A structure defining a problem/warning/etc.
+     */
+    export interface IMarkerData {
+        code?: string | {
+            value: string;
+            target: Uri;
+        };
+        severity: MarkerSeverity;
+        message: string;
+        source?: string;
+        startLineNumber: number;
+        startColumn: number;
+        endLineNumber: number;
+        endColumn: number;
+        relatedInformation?: IRelatedInformation[];
+        tags?: MarkerTag[];
+    }
+
+    /**
+     *
+     */
+    export interface IRelatedInformation {
+        resource: Uri;
+        message: string;
+        startLineNumber: number;
+        startColumn: number;
+        endLineNumber: number;
+        endColumn: number;
+    }
+
+    export interface IColorizerOptions {
+        tabSize?: number;
+    }
+
+    export interface IColorizerElementOptions extends IColorizerOptions {
+        theme?: string;
+        mimeType?: string;
+    }
+
+    export enum ScrollbarVisibility {
+        Auto = 1,
+        Hidden = 2,
+        Visible = 3
+    }
+
+    export interface ThemeColor {
+        id: string;
+    }
+
+    /**
+     * Vertical Lane in the overview ruler of the editor.
+     */
+    export enum OverviewRulerLane {
+        Left = 1,
+        Center = 2,
+        Right = 4,
+        Full = 7
+    }
+
+    /**
+     * Position in the minimap to render the decoration.
+     */
+    export enum MinimapPosition {
+        Inline = 1,
+        Gutter = 2
+    }
+
+    export interface IDecorationOptions {
+        /**
+         * CSS color to render.
+         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
+         */
+        color: string | ThemeColor | undefined;
+        /**
+         * CSS color to render.
+         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
+         */
+        darkColor?: string | ThemeColor;
+    }
+
+    /**
+     * Options for rendering a model decoration in the overview ruler.
+     */
+    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
+        /**
+         * The position in the overview ruler.
+         */
+        position: OverviewRulerLane;
+    }
+
+    /**
+     * Options for rendering a model decoration in the overview ruler.
+     */
+    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
+        /**
+         * The position in the overview ruler.
+         */
+        position: MinimapPosition;
+    }
+
+    /**
+     * Options for a model decoration.
+     */
+    export interface IModelDecorationOptions {
+        /**
+         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
+         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
+         */
+        stickiness?: TrackedRangeStickiness;
+        /**
+         * CSS class name describing the decoration.
+         */
+        className?: string | null;
+        /**
+         * Message to be rendered when hovering over the glyph margin decoration.
+         */
+        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
+        /**
+         * Array of MarkdownString to render as the decoration message.
+         */
+        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
+        /**
+         * Should the decoration expand to encompass a whole line.
+         */
+        isWholeLine?: boolean;
+        /**
+         * Specifies the stack order of a decoration.
+         * A decoration with greater stack order is always in front of a decoration with
+         * a lower stack order when the decorations are on the same line.
+         */
+        zIndex?: number;
+        /**
+         * If set, render this decoration in the overview ruler.
+         */
+        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
+        /**
+         * If set, render this decoration in the minimap.
+         */
+        minimap?: IModelDecorationMinimapOptions | null;
+        /**
+         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
+         */
+        glyphMarginClassName?: string | null;
+        /**
+         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
+         */
+        linesDecorationsClassName?: string | null;
+        /**
+         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
+         */
+        firstLineDecorationClassName?: string | null;
+        /**
+         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
+         */
+        marginClassName?: string | null;
+        /**
+         * If set, the decoration will be rendered inline with the text with this CSS class name.
+         * Please use this only for CSS rules that must impact the text. For example, use `className`
+         * to have a background color decoration.
+         */
+        inlineClassName?: string | null;
+        /**
+         * If there is an `inlineClassName` which affects letter spacing.
+         */
+        inlineClassNameAffectsLetterSpacing?: boolean;
+        /**
+         * If set, the decoration will be rendered before the text with this CSS class name.
+         */
+        beforeContentClassName?: string | null;
+        /**
+         * If set, the decoration will be rendered after the text with this CSS class name.
+         */
+        afterContentClassName?: string | null;
+        /**
+         * If set, text will be injected in the view after the range.
+         */
+        after?: InjectedTextOptions | null;
+        /**
+         * If set, text will be injected in the view before the range.
+         */
+        before?: InjectedTextOptions | null;
+    }
+
+    /**
+     * Configures text that is injected into the view without changing the underlying document.
+    */
+    export interface InjectedTextOptions {
+        /**
+         * Sets the text to inject. Must be a single line.
+         */
+        readonly content: string;
+        /**
+         * If set, the decoration will be rendered inline with the text with this CSS class name.
+         */
+        readonly inlineClassName?: string | null;
+        /**
+         * If there is an `inlineClassName` which affects letter spacing.
+         */
+        readonly inlineClassNameAffectsLetterSpacing?: boolean;
+    }
+
+    /**
+     * New model decorations.
+     */
+    export interface IModelDeltaDecoration {
+        /**
+         * Range that this decoration covers.
+         */
+        range: IRange;
+        /**
+         * Options associated with this decoration.
+         */
+        options: IModelDecorationOptions;
+    }
+
+    /**
+     * A decoration in the model.
+     */
+    export interface IModelDecoration {
+        /**
+         * Identifier for a decoration.
+         */
+        readonly id: string;
+        /**
+         * Identifier for a decoration's owner.
+         */
+        readonly ownerId: number;
+        /**
+         * Range that this decoration covers.
+         */
+        readonly range: Range;
+        /**
+         * Options associated with this decoration.
+         */
+        readonly options: IModelDecorationOptions;
+    }
+
+    /**
+     * Word inside a model.
+     */
+    export interface IWordAtPosition {
+        /**
+         * The word.
+         */
+        readonly word: string;
+        /**
+         * The column where the word starts.
+         */
+        readonly startColumn: number;
+        /**
+         * The column where the word ends.
+         */
+        readonly endColumn: number;
+    }
+
+    /**
+     * End of line character preference.
+     */
+    export enum EndOfLinePreference {
+        /**
+         * Use the end of line character identified in the text buffer.
+         */
+        TextDefined = 0,
+        /**
+         * Use line feed (\n) as the end of line character.
+         */
+        LF = 1,
+        /**
+         * Use carriage return and line feed (\r\n) as the end of line character.
+         */
+        CRLF = 2
+    }
+
+    /**
+     * The default end of line to use when instantiating models.
+     */
+    export enum DefaultEndOfLine {
+        /**
+         * Use line feed (\n) as the end of line character.
+         */
+        LF = 1,
+        /**
+         * Use carriage return and line feed (\r\n) as the end of line character.
+         */
+        CRLF = 2
+    }
+
+    /**
+     * End of line character preference.
+     */
+    export enum EndOfLineSequence {
+        /**
+         * Use line feed (\n) as the end of line character.
+         */
+        LF = 0,
+        /**
+         * Use carriage return and line feed (\r\n) as the end of line character.
+         */
+        CRLF = 1
+    }
+
+    /**
+     * A single edit operation, that acts as a simple replace.
+     * i.e. Replace text at `range` with `text` in model.
+     */
+    export interface ISingleEditOperation {
+        /**
+         * The range to replace. This can be empty to emulate a simple insert.
+         */
+        range: IRange;
+        /**
+         * The text to replace with. This can be null to emulate a simple delete.
+         */
+        text: string | null;
+        /**
+         * This indicates that this operation has "insert" semantics.
+         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
+         */
+        forceMoveMarkers?: boolean;
+    }
+
+    /**
+     * A single edit operation, that has an identifier.
+     */
+    export interface IIdentifiedSingleEditOperation {
+        /**
+         * The range to replace. This can be empty to emulate a simple insert.
+         */
+        range: IRange;
+        /**
+         * The text to replace with. This can be null to emulate a simple delete.
+         */
+        text: string | null;
+        /**
+         * This indicates that this operation has "insert" semantics.
+         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
+         */
+        forceMoveMarkers?: boolean;
+    }
+
+    export interface IValidEditOperation {
+        /**
+         * The range to replace. This can be empty to emulate a simple insert.
+         */
+        range: Range;
+        /**
+         * The text to replace with. This can be empty to emulate a simple delete.
+         */
+        text: string;
+    }
+
+    /**
+     * A callback that can compute the cursor state after applying a series of edit operations.
+     */
+    export interface ICursorStateComputer {
+        /**
+         * A callback that can compute the resulting cursors state after some edit operations have been executed.
+         */
+        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
+    }
+
+    export class TextModelResolvedOptions {
+        _textModelResolvedOptionsBrand: void;
+        readonly tabSize: number;
+        readonly indentSize: number;
+        readonly insertSpaces: boolean;
+        readonly defaultEOL: DefaultEndOfLine;
+        readonly trimAutoWhitespace: boolean;
+        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
+    }
+
+    export interface BracketPairColorizationOptions {
+        enabled: boolean;
+    }
+
+    export interface ITextModelUpdateOptions {
+        tabSize?: number;
+        indentSize?: number;
+        insertSpaces?: boolean;
+        trimAutoWhitespace?: boolean;
+        bracketColorizationOptions?: BracketPairColorizationOptions;
+    }
+
+    export class FindMatch {
+        _findMatchBrand: void;
+        readonly range: Range;
+        readonly matches: string[] | null;
+    }
+
+    /**
+     * Describes the behavior of decorations when typing/editing near their edges.
+     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
+     */
+    export enum TrackedRangeStickiness {
+        AlwaysGrowsWhenTypingAtEdges = 0,
+        NeverGrowsWhenTypingAtEdges = 1,
+        GrowsOnlyWhenTypingBefore = 2,
+        GrowsOnlyWhenTypingAfter = 3
+    }
+
+    /**
+     * A model.
+     */
+    export interface ITextModel {
+        /**
+         * Gets the resource associated with this editor model.
+         */
+        readonly uri: Uri;
+        /**
+         * A unique identifier associated with this model.
+         */
+        readonly id: string;
+        /**
+         * Get the resolved options for this model.
+         */
+        getOptions(): TextModelResolvedOptions;
+        /**
+         * Get the current version id of the model.
+         * Anytime a change happens to the model (even undo/redo),
+         * the version id is incremented.
+         */
+        getVersionId(): number;
+        /**
+         * Get the alternative version id of the model.
+         * This alternative version id is not always incremented,
+         * it will return the same values in the case of undo-redo.
+         */
+        getAlternativeVersionId(): number;
+        /**
+         * Replace the entire text buffer value contained in this model.
+         */
+        setValue(newValue: string): void;
+        /**
+         * Get the text stored in this model.
+         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
+         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
+         * @return The text.
+         */
+        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
+        /**
+         * Get the length of the text stored in this model.
+         */
+        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
+        /**
+         * Get the text in a certain range.
+         * @param range The range describing what text to get.
+         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
+         * @return The text.
+         */
+        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
+        /**
+         * Get the length of text in a certain range.
+         * @param range The range describing what text length to get.
+         * @return The text length.
+         */
+        getValueLengthInRange(range: IRange): number;
+        /**
+         * Get the character count of text in a certain range.
+         * @param range The range describing what text length to get.
+         */
+        getCharacterCountInRange(range: IRange): number;
+        /**
+         * Get the number of lines in the model.
+         */
+        getLineCount(): number;
+        /**
+         * Get the text for a certain line.
+         */
+        getLineContent(lineNumber: number): string;
+        /**
+         * Get the text length for a certain line.
+         */
+        getLineLength(lineNumber: number): number;
+        /**
+         * Get the text for all lines.
+         */
+        getLinesContent(): string[];
+        /**
+         * Get the end of line sequence predominantly used in the text buffer.
+         * @return EOL char sequence (e.g.: '\n' or '\r\n').
+         */
+        getEOL(): string;
+        /**
+         * Get the end of line sequence predominantly used in the text buffer.
+         */
+        getEndOfLineSequence(): EndOfLineSequence;
+        /**
+         * Get the minimum legal column for line at `lineNumber`
+         */
+        getLineMinColumn(lineNumber: number): number;
+        /**
+         * Get the maximum legal column for line at `lineNumber`
+         */
+        getLineMaxColumn(lineNumber: number): number;
+        /**
+         * Returns the column before the first non whitespace character for line at `lineNumber`.
+         * Returns 0 if line is empty or contains only whitespace.
+         */
+        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
+        /**
+         * Returns the column after the last non whitespace character for line at `lineNumber`.
+         * Returns 0 if line is empty or contains only whitespace.
+         */
+        getLineLastNonWhitespaceColumn(lineNumber: number): number;
+        /**
+         * Create a valid position.
+         */
+        validatePosition(position: IPosition): Position;
+        /**
+         * Advances the given position by the given offset (negative offsets are also accepted)
+         * and returns it as a new valid position.
+         *
+         * If the offset and position are such that their combination goes beyond the beginning or
+         * end of the model, throws an exception.
+         *
+         * If the offset is such that the new position would be in the middle of a multi-byte
+         * line terminator, throws an exception.
+         */
+        modifyPosition(position: IPosition, offset: number): Position;
+        /**
+         * Create a valid range.
+         */
+        validateRange(range: IRange): Range;
+        /**
+         * Converts the position to a zero-based offset.
+         *
+         * The position will be [adjusted](#TextDocument.validatePosition).
+         *
+         * @param position A position.
+         * @return A valid zero-based offset.
+         */
+        getOffsetAt(position: IPosition): number;
+        /**
+         * Converts a zero-based offset to a position.
+         *
+         * @param offset A zero-based offset.
+         * @return A valid [position](#Position).
+         */
+        getPositionAt(offset: number): Position;
+        /**
+         * Get a range covering the entire model.
+         */
+        getFullModelRange(): Range;
+        /**
+         * Returns if the model was disposed or not.
+         */
+        isDisposed(): boolean;
+        /**
+         * Search the model.
+         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
+         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
+         * @param isRegex Used to indicate that `searchString` is a regular expression.
+         * @param matchCase Force the matching to match lower/upper case exactly.
+         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
+         * @param captureMatches The result will contain the captured groups.
+         * @param limitResultCount Limit the number of results
+         * @return The ranges where the matches are. It is empty if not matches have been found.
+         */
+        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
+        /**
+         * Search the model.
+         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
+         * @param searchScope Limit the searching to only search inside these ranges.
+         * @param isRegex Used to indicate that `searchString` is a regular expression.
+         * @param matchCase Force the matching to match lower/upper case exactly.
+         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
+         * @param captureMatches The result will contain the captured groups.
+         * @param limitResultCount Limit the number of results
+         * @return The ranges where the matches are. It is empty if no matches have been found.
+         */
+        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
+        /**
+         * Search the model for the next match. Loops to the beginning of the model if needed.
+         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
+         * @param searchStart Start the searching at the specified position.
+         * @param isRegex Used to indicate that `searchString` is a regular expression.
+         * @param matchCase Force the matching to match lower/upper case exactly.
+         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
+         * @param captureMatches The result will contain the captured groups.
+         * @return The range where the next match is. It is null if no next match has been found.
+         */
+        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
+        /**
+         * Search the model for the previous match. Loops to the end of the model if needed.
+         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
+         * @param searchStart Start the searching at the specified position.
+         * @param isRegex Used to indicate that `searchString` is a regular expression.
+         * @param matchCase Force the matching to match lower/upper case exactly.
+         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
+         * @param captureMatches The result will contain the captured groups.
+         * @return The range where the previous match is. It is null if no previous match has been found.
+         */
+        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
+        /**
+         * Get the language associated with this model.
+         */
+        getLanguageId(): string;
+        /**
+         * Get the word under or besides `position`.
+         * @param position The position to look for a word.
+         * @return The word under or besides `position`. Might be null.
+         */
+        getWordAtPosition(position: IPosition): IWordAtPosition | null;
+        /**
+         * Get the word under or besides `position` trimmed to `position`.column
+         * @param position The position to look for a word.
+         * @return The word under or besides `position`. Will never be null.
+         */
+        getWordUntilPosition(position: IPosition): IWordAtPosition;
+        /**
+         * Perform a minimum amount of operations, in order to transform the decorations
+         * identified by `oldDecorations` to the decorations described by `newDecorations`
+         * and returns the new identifiers associated with the resulting decorations.
+         *
+         * @param oldDecorations Array containing previous decorations identifiers.
+         * @param newDecorations Array describing what decorations should result after the call.
+         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
+         * @return An array containing the new decorations identifiers.
+         */
+        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
+        /**
+         * Get the options associated with a decoration.
+         * @param id The decoration id.
+         * @return The decoration options or null if the decoration was not found.
+         */
+        getDecorationOptions(id: string): IModelDecorationOptions | null;
+        /**
+         * Get the range associated with a decoration.
+         * @param id The decoration id.
+         * @return The decoration range or null if the decoration was not found.
+         */
+        getDecorationRange(id: string): Range | null;
+        /**
+         * Gets all the decorations for the line `lineNumber` as an array.
+         * @param lineNumber The line number
+         * @param ownerId If set, it will ignore decorations belonging to other owners.
+         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
+         * @return An array with the decorations
+         */
+        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
+        /**
+         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
+         * @param startLineNumber The start line number
+         * @param endLineNumber The end line number
+         * @param ownerId If set, it will ignore decorations belonging to other owners.
+         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
+         * @return An array with the decorations
+         */
+        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
+        /**
+         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
+         * So for now it returns all the decorations on the same line as `range`.
+         * @param range The range to search in
+         * @param ownerId If set, it will ignore decorations belonging to other owners.
+         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
+         * @return An array with the decorations
+         */
+        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
+        /**
+         * Gets all the decorations as an array.
+         * @param ownerId If set, it will ignore decorations belonging to other owners.
+         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
+         */
+        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
+        /**
+         * Gets all the decorations that should be rendered in the overview ruler as an array.
+         * @param ownerId If set, it will ignore decorations belonging to other owners.
+         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
+         */
+        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
+        /**
+         * Gets all the decorations that contain injected text.
+         * @param ownerId If set, it will ignore decorations belonging to other owners.
+         */
+        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
+        /**
+         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
+         */
+        normalizeIndentation(str: string): string;
+        /**
+         * Change the options of this model.
+         */
+        updateOptions(newOpts: ITextModelUpdateOptions): void;
+        /**
+         * Detect the indentation options for this model from its content.
+         */
+        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
+        /**
+         * Close the current undo-redo element.
+         * This offers a way to create an undo/redo stop point.
+         */
+        pushStackElement(): void;
+        /**
+         * Open the current undo-redo element.
+         * This offers a way to remove the current undo/redo stop point.
+         */
+        popStackElement(): void;
+        /**
+         * Push edit operations, basically editing the model. This is the preferred way
+         * of editing the model. The edit operations will land on the undo stack.
+         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
+         * @param editOperations The edit operations.
+         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
+         * @return The cursor state returned by the `cursorStateComputer`.
+         */
+        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
+        /**
+         * Change the end of line sequence. This is the preferred way of
+         * changing the eol sequence. This will land on the undo stack.
+         */
+        pushEOL(eol: EndOfLineSequence): void;
+        /**
+         * Edit the model without adding the edits to the undo stack.
+         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
+         * @param operations The edit operations.
+         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
+         */
+        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
+        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
+        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
+        /**
+         * Change the end of line sequence without recording in the undo stack.
+         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
+         */
+        setEOL(eol: EndOfLineSequence): void;
+        /**
+         * An event emitted when the contents of the model have changed.
+         * @event
+         */
+        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
+        /**
+         * An event emitted when decorations of the model have changed.
+         * @event
+         */
+        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
+        /**
+         * An event emitted when the model options have changed.
+         * @event
+         */
+        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
+        /**
+         * An event emitted when the language associated with the model has changed.
+         * @event
+         */
+        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
+        /**
+         * An event emitted when the language configuration associated with the model has changed.
+         * @event
+         */
+        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
+        /**
+         * An event emitted when the model has been attached to the first editor or detached from the last editor.
+         * @event
+         */
+        onDidChangeAttached(listener: () => void): IDisposable;
+        /**
+         * An event emitted right before disposing the model.
+         * @event
+         */
+        onWillDispose(listener: () => void): IDisposable;
+        /**
+         * Destroy this model.
+         */
+        dispose(): void;
+        /**
+         * Returns if this model is attached to an editor or not.
+         */
+        isAttachedToEditor(): boolean;
+    }
+
+    /**
+     * A builder and helper for edit operations for a command.
+     */
+    export interface IEditOperationBuilder {
+        /**
+         * Add a new edit operation (a replace operation).
+         * @param range The range to replace (delete). May be empty to represent a simple insert.
+         * @param text The text to replace with. May be null to represent a simple delete.
+         */
+        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
+        /**
+         * Add a new edit operation (a replace operation).
+         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
+         * @param range The range to replace (delete). May be empty to represent a simple insert.
+         * @param text The text to replace with. May be null to represent a simple delete.
+         */
+        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
+        /**
+         * Track `selection` when applying edit operations.
+         * A best effort will be made to not grow/expand the selection.
+         * An empty selection will clamp to a nearby character.
+         * @param selection The selection to track.
+         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
+         *           should clamp to the previous or the next character.
+         * @return A unique identifier.
+         */
+        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
+    }
+
+    /**
+     * A helper for computing cursor state after a command.
+     */
+    export interface ICursorStateComputerData {
+        /**
+         * Get the inverse edit operations of the added edit operations.
+         */
+        getInverseEditOperations(): IValidEditOperation[];
+        /**
+         * Get a previously tracked selection.
+         * @param id The unique identifier returned by `trackSelection`.
+         * @return The selection.
+         */
+        getTrackedSelection(id: string): Selection;
+    }
+
+    /**
+     * A command that modifies text / cursor state on a model.
+     */
+    export interface ICommand {
+        /**
+         * Get the edit operations needed to execute this command.
+         * @param model The model the command will execute on.
+         * @param builder A helper to collect the needed edit operations and to track selections.
+         */
+        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
+        /**
+         * Compute the cursor state after the edit operations were applied.
+         * @param model The model the command has executed on.
+         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
+         * @return The cursor state after the command executed.
+         */
+        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
+    }
+
+    /**
+     * A model for the diff editor.
+     */
+    export interface IDiffEditorModel {
+        /**
+         * Original model.
+         */
+        original: ITextModel;
+        /**
+         * Modified model.
+         */
+        modified: ITextModel;
+    }
+
+    /**
+     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
+     */
+    export interface IModelChangedEvent {
+        /**
+         * The `uri` of the previous model or null.
+         */
+        readonly oldModelUrl: Uri | null;
+        /**
+         * The `uri` of the new model or null.
+         */
+        readonly newModelUrl: Uri | null;
+    }
+
+    export interface IDimension {
+        width: number;
+        height: number;
+    }
+
+    /**
+     * A change
+     */
+    export interface IChange {
+        readonly originalStartLineNumber: number;
+        readonly originalEndLineNumber: number;
+        readonly modifiedStartLineNumber: number;
+        readonly modifiedEndLineNumber: number;
+    }
+
+    /**
+     * A character level change.
+     */
+    export interface ICharChange extends IChange {
+        readonly originalStartColumn: number;
+        readonly originalEndColumn: number;
+        readonly modifiedStartColumn: number;
+        readonly modifiedEndColumn: number;
+    }
+
+    /**
+     * A line change
+     */
+    export interface ILineChange extends IChange {
+        readonly charChanges: ICharChange[] | undefined;
+    }
+
+    export interface IContentSizeChangedEvent {
+        readonly contentWidth: number;
+        readonly contentHeight: number;
+        readonly contentWidthChanged: boolean;
+        readonly contentHeightChanged: boolean;
+    }
+
+    export interface INewScrollPosition {
+        scrollLeft?: number;
+        scrollTop?: number;
+    }
+
+    export interface IEditorAction {
+        readonly id: string;
+        readonly label: string;
+        readonly alias: string;
+        isSupported(): boolean;
+        run(): Promise<void>;
+    }
+
+    export type IEditorModel = ITextModel | IDiffEditorModel;
+
+    /**
+     * A (serializable) state of the cursors.
+     */
+    export interface ICursorState {
+        inSelectionMode: boolean;
+        selectionStart: IPosition;
+        position: IPosition;
+    }
+
+    /**
+     * A (serializable) state of the view.
+     */
+    export interface IViewState {
+        /** written by previous versions */
+        scrollTop?: number;
+        /** written by previous versions */
+        scrollTopWithoutViewZones?: number;
+        scrollLeft: number;
+        firstPosition: IPosition;
+        firstPositionDeltaTop: number;
+    }
+
+    /**
+     * A (serializable) state of the code editor.
+     */
+    export interface ICodeEditorViewState {
+        cursorState: ICursorState[];
+        viewState: IViewState;
+        contributionsState: {
+            [id: string]: any;
+        };
+    }
+
+    /**
+     * (Serializable) View state for the diff editor.
+     */
+    export interface IDiffEditorViewState {
+        original: ICodeEditorViewState | null;
+        modified: ICodeEditorViewState | null;
+    }
+
+    /**
+     * An editor view state.
+     */
+    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
+
+    export enum ScrollType {
+        Smooth = 0,
+        Immediate = 1
+    }
+
+    /**
+     * An editor.
+     */
+    export interface IEditor {
+        /**
+         * An event emitted when the editor has been disposed.
+         * @event
+         */
+        onDidDispose(listener: () => void): IDisposable;
+        /**
+         * Dispose the editor.
+         */
+        dispose(): void;
+        /**
+         * Get a unique id for this editor instance.
+         */
+        getId(): string;
+        /**
+         * Get the editor type. Please see `EditorType`.
+         * This is to avoid an instanceof check
+         */
+        getEditorType(): string;
+        /**
+         * Update the editor's options after the editor has been created.
+         */
+        updateOptions(newOptions: IEditorOptions): void;
+        /**
+         * Instructs the editor to remeasure its container. This method should
+         * be called when the container of the editor gets resized.
+         *
+         * If a dimension is passed in, the passed in value will be used.
+         */
+        layout(dimension?: IDimension): void;
+        /**
+         * Brings browser focus to the editor text
+         */
+        focus(): void;
+        /**
+         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
+         */
+        hasTextFocus(): boolean;
+        /**
+         * Returns all actions associated with this editor.
+         */
+        getSupportedActions(): IEditorAction[];
+        /**
+         * Saves current view state of the editor in a serializable object.
+         */
+        saveViewState(): IEditorViewState | null;
+        /**
+         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
+         */
+        restoreViewState(state: IEditorViewState): void;
+        /**
+         * Given a position, returns a column number that takes tab-widths into account.
+         */
+        getVisibleColumnFromPosition(position: IPosition): number;
+        /**
+         * Returns the primary position of the cursor.
+         */
+        getPosition(): Position | null;
+        /**
+         * Set the primary position of the cursor. This will remove any secondary cursors.
+         * @param position New primary cursor's position
+         */
+        setPosition(position: IPosition): void;
+        /**
+         * Scroll vertically as necessary and reveal a line.
+         */
+        revealLine(lineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically as necessary and reveal a line centered vertically.
+         */
+        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
+         */
+        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
+         * optimized for viewing a code definition.
+         */
+        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a position.
+         */
+        revealPosition(position: IPosition, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
+         */
+        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
+         */
+        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
+         * optimized for viewing a code definition.
+         */
+        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
+        /**
+         * Returns the primary selection of the editor.
+         */
+        getSelection(): Selection | null;
+        /**
+         * Returns all the selections of the editor.
+         */
+        getSelections(): Selection[] | null;
+        /**
+         * Set the primary selection of the editor. This will remove any secondary cursors.
+         * @param selection The new selection
+         */
+        setSelection(selection: IRange): void;
+        /**
+         * Set the primary selection of the editor. This will remove any secondary cursors.
+         * @param selection The new selection
+         */
+        setSelection(selection: Range): void;
+        /**
+         * Set the primary selection of the editor. This will remove any secondary cursors.
+         * @param selection The new selection
+         */
+        setSelection(selection: ISelection): void;
+        /**
+         * Set the primary selection of the editor. This will remove any secondary cursors.
+         * @param selection The new selection
+         */
+        setSelection(selection: Selection): void;
+        /**
+         * Set the selections for all the cursors of the editor.
+         * Cursors will be removed or added, as necessary.
+         */
+        setSelections(selections: readonly ISelection[]): void;
+        /**
+         * Scroll vertically as necessary and reveal lines.
+         */
+        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically as necessary and reveal lines centered vertically.
+         */
+        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
+         */
+        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
+         * optimized for viewing a code definition.
+         */
+        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a range.
+         */
+        revealRange(range: IRange, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
+         */
+        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
+         */
+        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
+         */
+        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
+         * optimized for viewing a code definition.
+         */
+        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
+        /**
+         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
+         * optimized for viewing a code definition. Only if it lies outside the viewport.
+         */
+        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
+        /**
+         * Directly trigger a handler or an editor action.
+         * @param source The source of the call.
+         * @param handlerId The id of the handler or the id of a contribution.
+         * @param payload Extra data to be sent to the handler.
+         */
+        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
+        /**
+         * Gets the current model attached to this editor.
+         */
+        getModel(): IEditorModel | null;
+        /**
+         * Sets the current model attached to this editor.
+         * If the previous model was created by the editor via the value key in the options
+         * literal object, it will be destroyed. Otherwise, if the previous model was set
+         * via setModel, or the model key in the options literal object, the previous model
+         * will not be destroyed.
+         * It is safe to call setModel(null) to simply detach the current model from the editor.
+         */
+        setModel(model: IEditorModel | null): void;
+    }
+
+    /**
+     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
+     */
+    export interface IEditorContribution {
+        /**
+         * Dispose this contribution.
+         */
+        dispose(): void;
+        /**
+         * Store view state.
+         */
+        saveViewState?(): any;
+        /**
+         * Restore view state.
+         */
+        restoreViewState?(state: any): void;
+    }
+
+    /**
+     * The type of the `IEditor`.
+     */
+    export const EditorType: {
+        ICodeEditor: string;
+        IDiffEditor: string;
+    };
+
+    /**
+     * An event describing that the current language associated with a model has changed.
+     */
+    export interface IModelLanguageChangedEvent {
+        /**
+         * Previous language
+         */
+        readonly oldLanguage: string;
+        /**
+         * New language
+         */
+        readonly newLanguage: string;
+    }
+
+    /**
+     * An event describing that the language configuration associated with a model has changed.
+     */
+    export interface IModelLanguageConfigurationChangedEvent {
+    }
+
+    export interface IModelContentChange {
+        /**
+         * The range that got replaced.
+         */
+        readonly range: IRange;
+        /**
+         * The offset of the range that got replaced.
+         */
+        readonly rangeOffset: number;
+        /**
+         * The length of the range that got replaced.
+         */
+        readonly rangeLength: number;
+        /**
+         * The new text for the range.
+         */
+        readonly text: string;
+    }
+
+    /**
+     * An event describing a change in the text of a model.
+     */
+    export interface IModelContentChangedEvent {
+        readonly changes: IModelContentChange[];
+        /**
+         * The (new) end-of-line character.
+         */
+        readonly eol: string;
+        /**
+         * The new version id the model has transitioned to.
+         */
+        readonly versionId: number;
+        /**
+         * Flag that indicates that this event was generated while undoing.
+         */
+        readonly isUndoing: boolean;
+        /**
+         * Flag that indicates that this event was generated while redoing.
+         */
+        readonly isRedoing: boolean;
+        /**
+         * Flag that indicates that all decorations were lost with this edit.
+         * The model has been reset to a new value.
+         */
+        readonly isFlush: boolean;
+    }
+
+    /**
+     * An event describing that model decorations have changed.
+     */
+    export interface IModelDecorationsChangedEvent {
+        readonly affectsMinimap: boolean;
+        readonly affectsOverviewRuler: boolean;
+    }
+
+    export interface IModelOptionsChangedEvent {
+        readonly tabSize: boolean;
+        readonly indentSize: boolean;
+        readonly insertSpaces: boolean;
+        readonly trimAutoWhitespace: boolean;
+    }
+
+    /**
+     * Describes the reason the cursor has changed its position.
+     */
+    export enum CursorChangeReason {
+        /**
+         * Unknown or not set.
+         */
+        NotSet = 0,
+        /**
+         * A `model.setValue()` was called.
+         */
+        ContentFlush = 1,
+        /**
+         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
+         */
+        RecoverFromMarkers = 2,
+        /**
+         * There was an explicit user gesture.
+         */
+        Explicit = 3,
+        /**
+         * There was a Paste.
+         */
+        Paste = 4,
+        /**
+         * There was an Undo.
+         */
+        Undo = 5,
+        /**
+         * There was a Redo.
+         */
+        Redo = 6
+    }
+
+    /**
+     * An event describing that the cursor position has changed.
+     */
+    export interface ICursorPositionChangedEvent {
+        /**
+         * Primary cursor's position.
+         */
+        readonly position: Position;
+        /**
+         * Secondary cursors' position.
+         */
+        readonly secondaryPositions: Position[];
+        /**
+         * Reason.
+         */
+        readonly reason: CursorChangeReason;
+        /**
+         * Source of the call that caused the event.
+         */
+        readonly source: string;
+    }
+
+    /**
+     * An event describing that the cursor selection has changed.
+     */
+    export interface ICursorSelectionChangedEvent {
+        /**
+         * The primary selection.
+         */
+        readonly selection: Selection;
+        /**
+         * The secondary selections.
+         */
+        readonly secondarySelections: Selection[];
+        /**
+         * The model version id.
+         */
+        readonly modelVersionId: number;
+        /**
+         * The old selections.
+         */
+        readonly oldSelections: Selection[] | null;
+        /**
+         * The model version id the that `oldSelections` refer to.
+         */
+        readonly oldModelVersionId: number;
+        /**
+         * Source of the call that caused the event.
+         */
+        readonly source: string;
+        /**
+         * Reason.
+         */
+        readonly reason: CursorChangeReason;
+    }
+
+    export enum AccessibilitySupport {
+        /**
+         * This should be the browser case where it is not known if a screen reader is attached or no.
+         */
+        Unknown = 0,
+        Disabled = 1,
+        Enabled = 2
+    }
+
+    /**
+     * Configuration options for auto closing quotes and brackets
+     */
+    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
+
+    /**
+     * Configuration options for auto wrapping quotes and brackets
+     */
+    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
+
+    /**
+     * Configuration options for typing over closing quotes or brackets
+     */
+    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
+
+    /**
+     * Configuration options for auto indentation in the editor
+     */
+    export enum EditorAutoIndentStrategy {
+        None = 0,
+        Keep = 1,
+        Brackets = 2,
+        Advanced = 3,
+        Full = 4
+    }
+
+    /**
+     * Configuration options for the editor.
+     */
+    export interface IEditorOptions {
+        /**
+         * This editor is used inside a diff editor.
+         */
+        inDiffEditor?: boolean;
+        /**
+         * The aria label for the editor's textarea (when it is focused).
+         */
+        ariaLabel?: string;
+        /**
+         * The `tabindex` property of the editor's textarea
+         */
+        tabIndex?: number;
+        /**
+         * Render vertical lines at the specified columns.
+         * Defaults to empty array.
+         */
+        rulers?: (number | IRulerOption)[];
+        /**
+         * A string containing the word separators used when doing word navigation.
+         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
+         */
+        wordSeparators?: string;
+        /**
+         * Enable Linux primary clipboard.
+         * Defaults to true.
+         */
+        selectionClipboard?: boolean;
+        /**
+         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
+         * Otherwise, line numbers will not be rendered.
+         * Defaults to `on`.
+         */
+        lineNumbers?: LineNumbersType;
+        /**
+         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
+         * Defaults to 0.
+        */
+        cursorSurroundingLines?: number;
+        /**
+         * Controls when `cursorSurroundingLines` should be enforced
+         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
+         * by mouse.
+        */
+        cursorSurroundingLinesStyle?: 'default' | 'all';
+        /**
+         * Render last line number when the file ends with a newline.
+         * Defaults to true.
+        */
+        renderFinalNewline?: boolean;
+        /**
+         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
+         * Defaults to 'prompt'.
+         */
+        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
+        /**
+         * Should the corresponding line be selected when clicking on the line number?
+         * Defaults to true.
+         */
+        selectOnLineNumbers?: boolean;
+        /**
+         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
+         * Defaults to 5.
+         */
+        lineNumbersMinChars?: number;
+        /**
+         * Enable the rendering of the glyph margin.
+         * Defaults to true in vscode and to false in monaco-editor.
+         */
+        glyphMargin?: boolean;
+        /**
+         * The width reserved for line decorations (in px).
+         * Line decorations are placed between line numbers and the editor content.
+         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
+         * Defaults to 10.
+         */
+        lineDecorationsWidth?: number | string;
+        /**
+         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
+         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
+         * Defaults to 30 (px).
+         */
+        revealHorizontalRightPadding?: number;
+        /**
+         * Render the editor selection with rounded borders.
+         * Defaults to true.
+         */
+        roundedSelection?: boolean;
+        /**
+         * Class name to be added to the editor.
+         */
+        extraEditorClassName?: string;
+        /**
+         * Should the editor be read only. See also `domReadOnly`.
+         * Defaults to false.
+         */
+        readOnly?: boolean;
+        /**
+         * Should the textarea used for input use the DOM `readonly` attribute.
+         * Defaults to false.
+         */
+        domReadOnly?: boolean;
+        /**
+         * Enable linked editing.
+         * Defaults to false.
+         */
+        linkedEditing?: boolean;
+        /**
+         * deprecated, use linkedEditing instead
+         */
+        renameOnType?: boolean;
+        /**
+         * Should the editor render validation decorations.
+         * Defaults to editable.
+         */
+        renderValidationDecorations?: 'editable' | 'on' | 'off';
+        /**
+         * Control the behavior and rendering of the scrollbars.
+         */
+        scrollbar?: IEditorScrollbarOptions;
+        /**
+         * Control the behavior and rendering of the minimap.
+         */
+        minimap?: IEditorMinimapOptions;
+        /**
+         * Control the behavior of the find widget.
+         */
+        find?: IEditorFindOptions;
+        /**
+         * Display overflow widgets as `fixed`.
+         * Defaults to `false`.
+         */
+        fixedOverflowWidgets?: boolean;
+        /**
+         * The number of vertical lanes the overview ruler should render.
+         * Defaults to 3.
+         */
+        overviewRulerLanes?: number;
+        /**
+         * Controls if a border should be drawn around the overview ruler.
+         * Defaults to `true`.
+         */
+        overviewRulerBorder?: boolean;
+        /**
+         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
+         * Defaults to 'blink'.
+         */
+        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
+        /**
+         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
+         * Defaults to false.
+         */
+        mouseWheelZoom?: boolean;
+        /**
+         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
+         * Defaults to 'text'
+         */
+        mouseStyle?: 'text' | 'default' | 'copy';
+        /**
+         * Enable smooth caret animation.
+         * Defaults to false.
+         */
+        cursorSmoothCaretAnimation?: boolean;
+        /**
+         * Control the cursor style, either 'block' or 'line'.
+         * Defaults to 'line'.
+         */
+        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
+        /**
+         * Control the width of the cursor when cursorStyle is set to 'line'
+         */
+        cursorWidth?: number;
+        /**
+         * Enable font ligatures.
+         * Defaults to false.
+         */
+        fontLigatures?: boolean | string;
+        /**
+         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
+         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
+         * Defaults to false.
+         */
+        disableLayerHinting?: boolean;
+        /**
+         * Disable the optimizations for monospace fonts.
+         * Defaults to false.
+         */
+        disableMonospaceOptimizations?: boolean;
+        /**
+         * Should the cursor be hidden in the overview ruler.
+         * Defaults to false.
+         */
+        hideCursorInOverviewRuler?: boolean;
+        /**
+         * Enable that scrolling can go one screen size after the last line.
+         * Defaults to true.
+         */
+        scrollBeyondLastLine?: boolean;
+        /**
+         * Enable that scrolling can go beyond the last column by a number of columns.
+         * Defaults to 5.
+         */
+        scrollBeyondLastColumn?: number;
+        /**
+         * Enable that the editor animates scrolling to a position.
+         * Defaults to false.
+         */
+        smoothScrolling?: boolean;
+        /**
+         * Enable that the editor will install an interval to check if its container dom node size has changed.
+         * Enabling this might have a severe performance impact.
+         * Defaults to false.
+         */
+        automaticLayout?: boolean;
+        /**
+         * Control the wrapping of the editor.
+         * When `wordWrap` = "off", the lines will never wrap.
+         * When `wordWrap` = "on", the lines will wrap at the viewport width.
+         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
+         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
+         * Defaults to "off".
+         */
+        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
+        /**
+         * Override the `wordWrap` setting.
+         */
+        wordWrapOverride1?: 'off' | 'on' | 'inherit';
+        /**
+         * Override the `wordWrapOverride1` setting.
+         */
+        wordWrapOverride2?: 'off' | 'on' | 'inherit';
+        /**
+         * Control the wrapping of the editor.
+         * When `wordWrap` = "off", the lines will never wrap.
+         * When `wordWrap` = "on", the lines will wrap at the viewport width.
+         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
+         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
+         * Defaults to 80.
+         */
+        wordWrapColumn?: number;
+        /**
+         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
+         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
+         */
+        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
+        /**
+         * Controls the wrapping strategy to use.
+         * Defaults to 'simple'.
+         */
+        wrappingStrategy?: 'simple' | 'advanced';
+        /**
+         * Configure word wrapping characters. A break will be introduced before these characters.
+         */
+        wordWrapBreakBeforeCharacters?: string;
+        /**
+         * Configure word wrapping characters. A break will be introduced after these characters.
+         */
+        wordWrapBreakAfterCharacters?: string;
+        /**
+         * Performance guard: Stop rendering a line after x characters.
+         * Defaults to 10000.
+         * Use -1 to never stop rendering
+         */
+        stopRenderingLineAfter?: number;
+        /**
+         * Configure the editor's hover.
+         */
+        hover?: IEditorHoverOptions;
+        /**
+         * Enable detecting links and making them clickable.
+         * Defaults to true.
+         */
+        links?: boolean;
+        /**
+         * Enable inline color decorators and color picker rendering.
+         */
+        colorDecorators?: boolean;
+        /**
+         * Control the behaviour of comments in the editor.
+         */
+        comments?: IEditorCommentsOptions;
+        /**
+         * Enable custom contextmenu.
+         * Defaults to true.
+         */
+        contextmenu?: boolean;
+        /**
+         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
+         * Defaults to 1.
+         */
+        mouseWheelScrollSensitivity?: number;
+        /**
+         * FastScrolling mulitplier speed when pressing `Alt`
+         * Defaults to 5.
+         */
+        fastScrollSensitivity?: number;
+        /**
+         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
+         * Defaults to true.
+         */
+        scrollPredominantAxis?: boolean;
+        /**
+         * Enable that the selection with the mouse and keys is doing column selection.
+         * Defaults to false.
+         */
+        columnSelection?: boolean;
+        /**
+         * The modifier to be used to add multiple cursors with the mouse.
+         * Defaults to 'alt'
+         */
+        multiCursorModifier?: 'ctrlCmd' | 'alt';
+        /**
+         * Merge overlapping selections.
+         * Defaults to true
+         */
+        multiCursorMergeOverlapping?: boolean;
+        /**
+         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
+         * Defaults to 'spread'.
+         */
+        multiCursorPaste?: 'spread' | 'full';
+        /**
+         * Configure the editor's accessibility support.
+         * Defaults to 'auto'. It is best to leave this to 'auto'.
+         */
+        accessibilitySupport?: 'auto' | 'off' | 'on';
+        /**
+         * Controls the number of lines in the editor that can be read out by a screen reader
+         */
+        accessibilityPageSize?: number;
+        /**
+         * Suggest options.
+         */
+        suggest?: ISuggestOptions;
+        inlineSuggest?: IInlineSuggestOptions;
+        /**
+         * Smart select options.
+         */
+        smartSelect?: ISmartSelectOptions;
+        /**
+         *
+         */
+        gotoLocation?: IGotoLocationOptions;
+        /**
+         * Enable quick suggestions (shadow suggestions)
+         * Defaults to true.
+         */
+        quickSuggestions?: boolean | IQuickSuggestionsOptions;
+        /**
+         * Quick suggestions show delay (in ms)
+         * Defaults to 10 (ms)
+         */
+        quickSuggestionsDelay?: number;
+        /**
+         * Controls the spacing around the editor.
+         */
+        padding?: IEditorPaddingOptions;
+        /**
+         * Parameter hint options.
+         */
+        parameterHints?: IEditorParameterHintOptions;
+        /**
+         * Options for auto closing brackets.
+         * Defaults to language defined behavior.
+         */
+        autoClosingBrackets?: EditorAutoClosingStrategy;
+        /**
+         * Options for auto closing quotes.
+         * Defaults to language defined behavior.
+         */
+        autoClosingQuotes?: EditorAutoClosingStrategy;
+        /**
+         * Options for pressing backspace near quotes or bracket pairs.
+         */
+        autoClosingDelete?: EditorAutoClosingEditStrategy;
+        /**
+         * Options for typing over closing quotes or brackets.
+         */
+        autoClosingOvertype?: EditorAutoClosingEditStrategy;
+        /**
+         * Options for auto surrounding.
+         * Defaults to always allowing auto surrounding.
+         */
+        autoSurround?: EditorAutoSurroundStrategy;
+        /**
+         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
+         * Defaults to advanced.
+         */
+        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
+        /**
+         * Emulate selection behaviour of tab characters when using spaces for indentation.
+         * This means selection will stick to tab stops.
+         */
+        stickyTabStops?: boolean;
+        /**
+         * Enable format on type.
+         * Defaults to false.
+         */
+        formatOnType?: boolean;
+        /**
+         * Enable format on paste.
+         * Defaults to false.
+         */
+        formatOnPaste?: boolean;
+        /**
+         * Controls if the editor should allow to move selections via drag and drop.
+         * Defaults to false.
+         */
+        dragAndDrop?: boolean;
+        /**
+         * Enable the suggestion box to pop-up on trigger characters.
+         * Defaults to true.
+         */
+        suggestOnTriggerCharacters?: boolean;
+        /**
+         * Accept suggestions on ENTER.
+         * Defaults to 'on'.
+         */
+        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
+        /**
+         * Accept suggestions on provider defined characters.
+         * Defaults to true.
+         */
+        acceptSuggestionOnCommitCharacter?: boolean;
+        /**
+         * Enable snippet suggestions. Default to 'true'.
+         */
+        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
+        /**
+         * Copying without a selection copies the current line.
+         */
+        emptySelectionClipboard?: boolean;
+        /**
+         * Syntax highlighting is copied.
+         */
+        copyWithSyntaxHighlighting?: boolean;
+        /**
+         * The history mode for suggestions.
+         */
+        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
+        /**
+         * The font size for the suggest widget.
+         * Defaults to the editor font size.
+         */
+        suggestFontSize?: number;
+        /**
+         * The line height for the suggest widget.
+         * Defaults to the editor line height.
+         */
+        suggestLineHeight?: number;
+        /**
+         * Enable tab completion.
+         */
+        tabCompletion?: 'on' | 'off' | 'onlySnippets';
+        /**
+         * Enable selection highlight.
+         * Defaults to true.
+         */
+        selectionHighlight?: boolean;
+        /**
+         * Enable semantic occurrences highlight.
+         * Defaults to true.
+         */
+        occurrencesHighlight?: boolean;
+        /**
+         * Show code lens
+         * Defaults to true.
+         */
+        codeLens?: boolean;
+        /**
+         * Code lens font family. Defaults to editor font family.
+         */
+        codeLensFontFamily?: string;
+        /**
+         * Code lens font size. Default to 90% of the editor font size
+         */
+        codeLensFontSize?: number;
+        /**
+         * Control the behavior and rendering of the code action lightbulb.
+         */
+        lightbulb?: IEditorLightbulbOptions;
+        /**
+         * Timeout for running code actions on save.
+         */
+        codeActionsOnSaveTimeout?: number;
+        /**
+         * Enable code folding.
+         * Defaults to true.
+         */
+        folding?: boolean;
+        /**
+         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
+         * Defaults to 'auto'.
+         */
+        foldingStrategy?: 'auto' | 'indentation';
+        /**
+         * Enable highlight for folded regions.
+         * 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'.
+         */
+        showFoldingControls?: 'always' | 'mouseover';
+        /**
+         * Controls whether clicking on the empty content after a folded line will unfold the line.
+         * Defaults to false.
+         */
+        unfoldOnClickAfterEndOfLine?: boolean;
+        /**
+         * Enable highlighting of matching brackets.
+         * Defaults to 'always'.
+         */
+        matchBrackets?: 'never' | 'near' | 'always';
+        /**
+         * Enable rendering of whitespace.
+         * Defaults to 'selection'.
+         */
+        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
+        /**
+         * Enable rendering of control characters.
+         * Defaults to true.
+         */
+        renderControlCharacters?: boolean;
+        /**
+         * Enable rendering of current line highlight.
+         * Defaults to all.
+         */
+        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
+        /**
+         * Control if the current line highlight should be rendered only the editor is focused.
+         * Defaults to false.
+         */
+        renderLineHighlightOnlyWhenFocus?: boolean;
+        /**
+         * Inserting and deleting whitespace follows tab stops.
+         */
+        useTabStops?: boolean;
+        /**
+         * The font family
+         */
+        fontFamily?: string;
+        /**
+         * The font weight
+         */
+        fontWeight?: string;
+        /**
+         * The font size
+         */
+        fontSize?: number;
+        /**
+         * The line height
+         */
+        lineHeight?: number;
+        /**
+         * The letter spacing
+         */
+        letterSpacing?: number;
+        /**
+         * Controls fading out of unused variables.
+         */
+        showUnused?: boolean;
+        /**
+         * Controls whether to focus the inline editor in the peek widget by default.
+         * Defaults to false.
+         */
+        peekWidgetDefaultFocus?: 'tree' | 'editor';
+        /**
+         * Controls whether the definition link opens element in the peek widget.
+         * Defaults to false.
+         */
+        definitionLinkOpensInPeek?: boolean;
+        /**
+         * Controls strikethrough deprecated variables.
+         */
+        showDeprecated?: boolean;
+        /**
+         * Control the behavior and rendering of the inline hints.
+         */
+        inlayHints?: IEditorInlayHintsOptions;
+        /**
+         * Control if the editor should use shadow DOM.
+         */
+        useShadowDOM?: boolean;
+        /**
+         * Controls the behavior of editor guides.
+        */
+        guides?: IGuidesOptions;
+        unicodeHighlight?: IUnicodeHighlightOptions;
+    }
+
+    export interface IDiffEditorBaseOptions {
+        /**
+         * Allow the user to resize the diff editor split view.
+         * Defaults to true.
+         */
+        enableSplitViewResizing?: boolean;
+        /**
+         * Render the differences in two side-by-side editors.
+         * Defaults to true.
+         */
+        renderSideBySide?: boolean;
+        /**
+         * Timeout in milliseconds after which diff computation is cancelled.
+         * Defaults to 5000.
+         */
+        maxComputationTime?: number;
+        /**
+         * Maximum supported file size in MB.
+         * Defaults to 50.
+         */
+        maxFileSize?: number;
+        /**
+         * Compute the diff by ignoring leading/trailing whitespace
+         * Defaults to true.
+         */
+        ignoreTrimWhitespace?: boolean;
+        /**
+         * Render +/- indicators for added/deleted changes.
+         * Defaults to true.
+         */
+        renderIndicators?: boolean;
+        /**
+         * Original model should be editable?
+         * Defaults to false.
+         */
+        originalEditable?: boolean;
+        /**
+         * Should the diff editor enable code lens?
+         * Defaults to false.
+         */
+        diffCodeLens?: boolean;
+        /**
+         * Is the diff editor should render overview ruler
+         * Defaults to true
+         */
+        renderOverviewRuler?: boolean;
+        /**
+         * Control the wrapping of the diff editor.
+         */
+        diffWordWrap?: 'off' | 'on' | 'inherit';
+    }
+
+    /**
+     * Configuration options for the diff editor.
+     */
+    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
+    }
+
+    /**
+     * An event describing that the configuration of the editor has changed.
+     */
+    export class ConfigurationChangedEvent {
+        hasChanged(id: EditorOption): boolean;
+    }
+
+    /**
+     * All computed editor options.
+     */
+    export interface IComputedEditorOptions {
+        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
+    }
+
+    export interface IEditorOption<K1 extends EditorOption, V> {
+        readonly id: K1;
+        readonly name: string;
+        defaultValue: V;
+        /**
+         * Might modify `value`.
+        */
+        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
+    }
+
+    export class ApplyUpdateResult<T> {
+        readonly newValue: T;
+        readonly didChange: boolean;
+        constructor(newValue: T, didChange: boolean);
+    }
+
+    /**
+     * Configuration options for editor comments
+     */
+    export interface IEditorCommentsOptions {
+        /**
+         * Insert a space after the line comment token and inside the block comments tokens.
+         * Defaults to true.
+         */
+        insertSpace?: boolean;
+        /**
+         * Ignore empty lines when inserting line comments.
+         * Defaults to true.
+         */
+        ignoreEmptyLines?: boolean;
+    }
+
+    /**
+     * The kind of animation in which the editor's cursor should be rendered.
+     */
+    export enum TextEditorCursorBlinkingStyle {
+        /**
+         * Hidden
+         */
+        Hidden = 0,
+        /**
+         * Blinking
+         */
+        Blink = 1,
+        /**
+         * Blinking with smooth fading
+         */
+        Smooth = 2,
+        /**
+         * Blinking with prolonged filled state and smooth fading
+         */
+        Phase = 3,
+        /**
+         * Expand collapse animation on the y axis
+         */
+        Expand = 4,
+        /**
+         * No-Blinking
+         */
+        Solid = 5
+    }
+
+    /**
+     * The style in which the editor's cursor should be rendered.
+     */
+    export enum TextEditorCursorStyle {
+        /**
+         * As a vertical line (sitting between two characters).
+         */
+        Line = 1,
+        /**
+         * As a block (sitting on top of a character).
+         */
+        Block = 2,
+        /**
+         * As a horizontal line (sitting under a character).
+         */
+        Underline = 3,
+        /**
+         * As a thin vertical line (sitting between two characters).
+         */
+        LineThin = 4,
+        /**
+         * As an outlined block (sitting on top of a character).
+         */
+        BlockOutline = 5,
+        /**
+         * As a thin horizontal line (sitting under a character).
+         */
+        UnderlineThin = 6
+    }
+
+    /**
+     * Configuration options for editor find widget
+     */
+    export interface IEditorFindOptions {
+        /**
+        * Controls whether the cursor should move to find matches while typing.
+        */
+        cursorMoveOnType?: boolean;
+        /**
+         * Controls if we seed search string in the Find Widget with editor selection.
+         */
+        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
+        /**
+         * Controls if Find in Selection flag is turned on in the editor.
+         */
+        autoFindInSelection?: 'never' | 'always' | 'multiline';
+        addExtraSpaceOnTop?: boolean;
+        /**
+         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
+         */
+        loop?: boolean;
+    }
+
+    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
+
+    /**
+     * Configuration options for go to location
+     */
+    export interface IGotoLocationOptions {
+        multiple?: GoToLocationValues;
+        multipleDefinitions?: GoToLocationValues;
+        multipleTypeDefinitions?: GoToLocationValues;
+        multipleDeclarations?: GoToLocationValues;
+        multipleImplementations?: GoToLocationValues;
+        multipleReferences?: GoToLocationValues;
+        alternativeDefinitionCommand?: string;
+        alternativeTypeDefinitionCommand?: string;
+        alternativeDeclarationCommand?: string;
+        alternativeImplementationCommand?: string;
+        alternativeReferenceCommand?: string;
+    }
+
+    /**
+     * Configuration options for editor hover
+     */
+    export interface IEditorHoverOptions {
+        /**
+         * Enable the hover.
+         * Defaults to true.
+         */
+        enabled?: boolean;
+        /**
+         * Delay for showing the hover.
+         * Defaults to 300.
+         */
+        delay?: number;
+        /**
+         * Is the hover sticky such that it can be clicked and its contents selected?
+         * Defaults to true.
+         */
+        sticky?: boolean;
+        /**
+         * Should the hover be shown above the line if possible?
+         * Defaults to false.
+         */
+        above?: boolean;
+    }
+
+    /**
+     * A description for the overview ruler position.
+     */
+    export interface OverviewRulerPosition {
+        /**
+         * Width of the overview ruler
+         */
+        readonly width: number;
+        /**
+         * Height of the overview ruler
+         */
+        readonly height: number;
+        /**
+         * Top position for the overview ruler
+         */
+        readonly top: number;
+        /**
+         * Right position for the overview ruler
+         */
+        readonly right: number;
+    }
+
+    export enum RenderMinimap {
+        None = 0,
+        Text = 1,
+        Blocks = 2
+    }
+
+    /**
+     * The internal layout details of the editor.
+     */
+    export interface EditorLayoutInfo {
+        /**
+         * Full editor width.
+         */
+        readonly width: number;
+        /**
+         * Full editor height.
+         */
+        readonly height: number;
+        /**
+         * Left position for the glyph margin.
+         */
+        readonly glyphMarginLeft: number;
+        /**
+         * The width of the glyph margin.
+         */
+        readonly glyphMarginWidth: number;
+        /**
+         * Left position for the line numbers.
+         */
+        readonly lineNumbersLeft: number;
+        /**
+         * The width of the line numbers.
+         */
+        readonly lineNumbersWidth: number;
+        /**
+         * Left position for the line decorations.
+         */
+        readonly decorationsLeft: number;
+        /**
+         * The width of the line decorations.
+         */
+        readonly decorationsWidth: number;
+        /**
+         * Left position for the content (actual text)
+         */
+        readonly contentLeft: number;
+        /**
+         * The width of the content (actual text)
+         */
+        readonly contentWidth: number;
+        /**
+         * Layout information for the minimap
+         */
+        readonly minimap: EditorMinimapLayoutInfo;
+        /**
+         * The number of columns (of typical characters) fitting on a viewport line.
+         */
+        readonly viewportColumn: number;
+        readonly isWordWrapMinified: boolean;
+        readonly isViewportWrapping: boolean;
+        readonly wrappingColumn: number;
+        /**
+         * The width of the vertical scrollbar.
+         */
+        readonly verticalScrollbarWidth: number;
+        /**
+         * The height of the horizontal scrollbar.
+         */
+        readonly horizontalScrollbarHeight: number;
+        /**
+         * The position of the overview ruler.
+         */
+        readonly overviewRuler: OverviewRulerPosition;
+    }
+
+    /**
+     * The internal layout details of the editor.
+     */
+    export interface EditorMinimapLayoutInfo {
+        readonly renderMinimap: RenderMinimap;
+        readonly minimapLeft: number;
+        readonly minimapWidth: number;
+        readonly minimapHeightIsEditorHeight: boolean;
+        readonly minimapIsSampling: boolean;
+        readonly minimapScale: number;
+        readonly minimapLineHeight: number;
+        readonly minimapCanvasInnerWidth: number;
+        readonly minimapCanvasInnerHeight: number;
+        readonly minimapCanvasOuterWidth: number;
+        readonly minimapCanvasOuterHeight: number;
+    }
+
+    /**
+     * Configuration options for editor lightbulb
+     */
+    export interface IEditorLightbulbOptions {
+        /**
+         * Enable the lightbulb code action.
+         * Defaults to true.
+         */
+        enabled?: boolean;
+    }
+
+    /**
+     * Configuration options for editor inlayHints
+     */
+    export interface IEditorInlayHintsOptions {
+        /**
+         * Enable the inline hints.
+         * Defaults to true.
+         */
+        enabled?: boolean;
+        /**
+         * Font size of inline hints.
+         * Default to 90% of the editor font size.
+         */
+        fontSize?: number;
+        /**
+         * Font family of inline hints.
+         * Defaults to editor font family.
+         */
+        fontFamily?: string;
+    }
+
+    /**
+     * Configuration options for editor minimap
+     */
+    export interface IEditorMinimapOptions {
+        /**
+         * Enable the rendering of the minimap.
+         * Defaults to true.
+         */
+        enabled?: boolean;
+        /**
+         * Control the side of the minimap in editor.
+         * Defaults to 'right'.
+         */
+        side?: 'right' | 'left';
+        /**
+         * Control the minimap rendering mode.
+         * Defaults to 'actual'.
+         */
+        size?: 'proportional' | 'fill' | 'fit';
+        /**
+         * Control the rendering of the minimap slider.
+         * Defaults to 'mouseover'.
+         */
+        showSlider?: 'always' | 'mouseover';
+        /**
+         * Render the actual text on a line (as opposed to color blocks).
+         * Defaults to true.
+         */
+        renderCharacters?: boolean;
+        /**
+         * Limit the width of the minimap to render at most a certain number of columns.
+         * Defaults to 120.
+         */
+        maxColumn?: number;
+        /**
+         * Relative size of the font in the minimap. Defaults to 1.
+         */
+        scale?: number;
+    }
+
+    /**
+     * Configuration options for editor padding
+     */
+    export interface IEditorPaddingOptions {
+        /**
+         * Spacing between top edge of editor and first line.
+         */
+        top?: number;
+        /**
+         * Spacing between bottom edge of editor and last line.
+         */
+        bottom?: number;
+    }
+
+    /**
+     * Configuration options for parameter hints
+     */
+    export interface IEditorParameterHintOptions {
+        /**
+         * Enable parameter hints.
+         * Defaults to true.
+         */
+        enabled?: boolean;
+        /**
+         * Enable cycling of parameter hints.
+         * Defaults to false.
+         */
+        cycle?: boolean;
+    }
+
+    /**
+     * Configuration options for quick suggestions
+     */
+    export interface IQuickSuggestionsOptions {
+        other?: boolean;
+        comments?: boolean;
+        strings?: boolean;
+    }
+
+    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
+
+    export enum RenderLineNumbersType {
+        Off = 0,
+        On = 1,
+        Relative = 2,
+        Interval = 3,
+        Custom = 4
+    }
+
+    export interface InternalEditorRenderLineNumbersOptions {
+        readonly renderType: RenderLineNumbersType;
+        readonly renderFn: ((lineNumber: number) => string) | null;
+    }
+
+    export interface IRulerOption {
+        readonly column: number;
+        readonly color: string | null;
+    }
+
+    /**
+     * Configuration options for editor scrollbars
+     */
+    export interface IEditorScrollbarOptions {
+        /**
+         * The size of arrows (if displayed).
+         * Defaults to 11.
+         * **NOTE**: This option cannot be updated using `updateOptions()`
+         */
+        arrowSize?: number;
+        /**
+         * Render vertical scrollbar.
+         * Defaults to 'auto'.
+         */
+        vertical?: 'auto' | 'visible' | 'hidden';
+        /**
+         * Render horizontal scrollbar.
+         * Defaults to 'auto'.
+         */
+        horizontal?: 'auto' | 'visible' | 'hidden';
+        /**
+         * 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;
+        /**
+         * Listen to mouse wheel events and react to them by scrolling.
+         * Defaults to true.
+         */
+        handleMouseWheel?: boolean;
+        /**
+         * 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;
+        /**
+         * Height in pixels for the horizontal scrollbar.
+         * Defaults to 10 (px).
+         */
+        horizontalScrollbarSize?: number;
+        /**
+         * Width in pixels for the vertical scrollbar.
+         * Defaults to 10 (px).
+         */
+        verticalScrollbarSize?: number;
+        /**
+         * 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;
+        /**
+         * Scroll gutter clicks move by page vs jump to position.
+         * Defaults to false.
+         */
+        scrollByPage?: boolean;
+    }
+
+    export interface InternalEditorScrollbarOptions {
+        readonly arrowSize: number;
+        readonly vertical: ScrollbarVisibility;
+        readonly horizontal: ScrollbarVisibility;
+        readonly useShadows: boolean;
+        readonly verticalHasArrows: boolean;
+        readonly horizontalHasArrows: boolean;
+        readonly handleMouseWheel: boolean;
+        readonly alwaysConsumeMouseWheel: boolean;
+        readonly horizontalScrollbarSize: number;
+        readonly horizontalSliderSize: number;
+        readonly verticalScrollbarSize: number;
+        readonly verticalSliderSize: number;
+        readonly scrollByPage: boolean;
+    }
+
+    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
+
+    /**
+     * Configuration options for unicode highlighting.
+     */
+    export interface IUnicodeHighlightOptions {
+        nonBasicASCII?: boolean | InUntrustedWorkspace;
+        invisibleCharacters?: boolean;
+        ambiguousCharacters?: boolean;
+        includeComments?: boolean | InUntrustedWorkspace;
+        /**
+         * A map of allowed characters (true: allowed).
+        */
+        allowedCharacters?: Record<string, true>;
+    }
+
+    export interface IInlineSuggestOptions {
+        /**
+         * Enable or disable the rendering of automatic inline completions.
+        */
+        enabled?: boolean;
+        /**
+         * Configures the mode.
+         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
+         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
+         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
+         * Defaults to `prefix`.
+        */
+        mode?: 'prefix' | 'subword' | 'subwordSmart';
+    }
+
+    export interface IBracketPairColorizationOptions {
+        /**
+         * Enable or disable bracket pair colorization.
+        */
+        enabled?: boolean;
+    }
+
+    export interface IGuidesOptions {
+        /**
+         * Enable rendering of bracket pair guides.
+         * Defaults to false.
+        */
+        bracketPairs?: boolean | 'active';
+        /**
+         * Enable rendering of vertical bracket pair guides.
+         * Defaults to 'active'.
+         */
+        bracketPairsHorizontal?: boolean | 'active';
+        /**
+         * Enable highlighting of the active bracket pair.
+         * Defaults to true.
+        */
+        highlightActiveBracketPair?: boolean;
+        /**
+         * Enable rendering of indent guides.
+         * Defaults to true.
+         */
+        indentation?: boolean;
+        /**
+         * Enable highlighting of the active indent guide.
+         * Defaults to true.
+         */
+        highlightActiveIndentation?: boolean;
+    }
+
+    /**
+     * Configuration options for editor suggest widget
+     */
+    export interface ISuggestOptions {
+        /**
+         * Overwrite word ends on accept. Default to false.
+         */
+        insertMode?: 'insert' | 'replace';
+        /**
+         * Enable graceful matching. Defaults to true.
+         */
+        filterGraceful?: boolean;
+        /**
+         * Prevent quick suggestions when a snippet is active. Defaults to true.
+         */
+        snippetsPreventQuickSuggestions?: boolean;
+        /**
+         * Favors words that appear close to the cursor.
+         */
+        localityBonus?: boolean;
+        /**
+         * Enable using global storage for remembering suggestions.
+         */
+        shareSuggestSelections?: boolean;
+        /**
+         * Enable or disable icons in suggestions. Defaults to true.
+         */
+        showIcons?: boolean;
+        /**
+         * 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.
+         */
+        showInlineDetails?: boolean;
+        /**
+         * Show method-suggestions.
+         */
+        showMethods?: boolean;
+        /**
+         * Show function-suggestions.
+         */
+        showFunctions?: boolean;
+        /**
+         * Show constructor-suggestions.
+         */
+        showConstructors?: boolean;
+        /**
+         * Show deprecated-suggestions.
+         */
+        showDeprecated?: boolean;
+        /**
+         * Show field-suggestions.
+         */
+        showFields?: boolean;
+        /**
+         * Show variable-suggestions.
+         */
+        showVariables?: boolean;
+        /**
+         * Show class-suggestions.
+         */
+        showClasses?: boolean;
+        /**
+         * Show struct-suggestions.
+         */
+        showStructs?: boolean;
+        /**
+         * Show interface-suggestions.
+         */
+        showInterfaces?: boolean;
+        /**
+         * Show module-suggestions.
+         */
+        showModules?: boolean;
+        /**
+         * Show property-suggestions.
+         */
+        showProperties?: boolean;
+        /**
+         * Show event-suggestions.
+         */
+        showEvents?: boolean;
+        /**
+         * Show operator-suggestions.
+         */
+        showOperators?: boolean;
+        /**
+         * Show unit-suggestions.
+         */
+        showUnits?: boolean;
+        /**
+         * Show value-suggestions.
+         */
+        showValues?: boolean;
+        /**
+         * Show constant-suggestions.
+         */
+        showConstants?: boolean;
+        /**
+         * Show enum-suggestions.
+         */
+        showEnums?: boolean;
+        /**
+         * Show enumMember-suggestions.
+         */
+        showEnumMembers?: boolean;
+        /**
+         * Show keyword-suggestions.
+         */
+        showKeywords?: boolean;
+        /**
+         * Show text-suggestions.
+         */
+        showWords?: boolean;
+        /**
+         * Show color-suggestions.
+         */
+        showColors?: boolean;
+        /**
+         * Show file-suggestions.
+         */
+        showFiles?: boolean;
+        /**
+         * Show reference-suggestions.
+         */
+        showReferences?: boolean;
+        /**
+         * Show folder-suggestions.
+         */
+        showFolders?: boolean;
+        /**
+         * Show typeParameter-suggestions.
+         */
+        showTypeParameters?: boolean;
+        /**
+         * Show issue-suggestions.
+         */
+        showIssues?: boolean;
+        /**
+         * Show user-suggestions.
+         */
+        showUsers?: boolean;
+        /**
+         * Show snippet-suggestions.
+         */
+        showSnippets?: boolean;
+    }
+
+    export interface ISmartSelectOptions {
+        selectLeadingAndTrailingWhitespace?: boolean;
+    }
+
+    /**
+     * Describes how to indent wrapped lines.
+     */
+    export enum WrappingIndent {
+        /**
+         * No indentation => wrapped lines begin at column 1.
+         */
+        None = 0,
+        /**
+         * Same => wrapped lines get the same indentation as the parent.
+         */
+        Same = 1,
+        /**
+         * Indent => wrapped lines get +1 indentation toward the parent.
+         */
+        Indent = 2,
+        /**
+         * DeepIndent => wrapped lines get +2 indentation toward the parent.
+         */
+        DeepIndent = 3
+    }
+
+    export interface EditorWrappingInfo {
+        readonly isDominatedByLongLines: boolean;
+        readonly isWordWrapMinified: boolean;
+        readonly isViewportWrapping: boolean;
+        readonly wrappingColumn: number;
+    }
+
+    export enum EditorOption {
+        acceptSuggestionOnCommitCharacter = 0,
+        acceptSuggestionOnEnter = 1,
+        accessibilitySupport = 2,
+        accessibilityPageSize = 3,
+        ariaLabel = 4,
+        autoClosingBrackets = 5,
+        autoClosingDelete = 6,
+        autoClosingOvertype = 7,
+        autoClosingQuotes = 8,
+        autoIndent = 9,
+        automaticLayout = 10,
+        autoSurround = 11,
+        bracketPairColorization = 12,
+        guides = 13,
+        codeLens = 14,
+        codeLensFontFamily = 15,
+        codeLensFontSize = 16,
+        colorDecorators = 17,
+        columnSelection = 18,
+        comments = 19,
+        contextmenu = 20,
+        copyWithSyntaxHighlighting = 21,
+        cursorBlinking = 22,
+        cursorSmoothCaretAnimation = 23,
+        cursorStyle = 24,
+        cursorSurroundingLines = 25,
+        cursorSurroundingLinesStyle = 26,
+        cursorWidth = 27,
+        disableLayerHinting = 28,
+        disableMonospaceOptimizations = 29,
+        domReadOnly = 30,
+        dragAndDrop = 31,
+        emptySelectionClipboard = 32,
+        extraEditorClassName = 33,
+        fastScrollSensitivity = 34,
+        find = 35,
+        fixedOverflowWidgets = 36,
+        folding = 37,
+        foldingStrategy = 38,
+        foldingHighlight = 39,
+        foldingImportsByDefault = 40,
+        unfoldOnClickAfterEndOfLine = 41,
+        fontFamily = 42,
+        fontInfo = 43,
+        fontLigatures = 44,
+        fontSize = 45,
+        fontWeight = 46,
+        formatOnPaste = 47,
+        formatOnType = 48,
+        glyphMargin = 49,
+        gotoLocation = 50,
+        hideCursorInOverviewRuler = 51,
+        hover = 52,
+        inDiffEditor = 53,
+        inlineSuggest = 54,
+        letterSpacing = 55,
+        lightbulb = 56,
+        lineDecorationsWidth = 57,
+        lineHeight = 58,
+        lineNumbers = 59,
+        lineNumbersMinChars = 60,
+        linkedEditing = 61,
+        links = 62,
+        matchBrackets = 63,
+        minimap = 64,
+        mouseStyle = 65,
+        mouseWheelScrollSensitivity = 66,
+        mouseWheelZoom = 67,
+        multiCursorMergeOverlapping = 68,
+        multiCursorModifier = 69,
+        multiCursorPaste = 70,
+        occurrencesHighlight = 71,
+        overviewRulerBorder = 72,
+        overviewRulerLanes = 73,
+        padding = 74,
+        parameterHints = 75,
+        peekWidgetDefaultFocus = 76,
+        definitionLinkOpensInPeek = 77,
+        quickSuggestions = 78,
+        quickSuggestionsDelay = 79,
+        readOnly = 80,
+        renameOnType = 81,
+        renderControlCharacters = 82,
+        renderFinalNewline = 83,
+        renderLineHighlight = 84,
+        renderLineHighlightOnlyWhenFocus = 85,
+        renderValidationDecorations = 86,
+        renderWhitespace = 87,
+        revealHorizontalRightPadding = 88,
+        roundedSelection = 89,
+        rulers = 90,
+        scrollbar = 91,
+        scrollBeyondLastColumn = 92,
+        scrollBeyondLastLine = 93,
+        scrollPredominantAxis = 94,
+        selectionClipboard = 95,
+        selectionHighlight = 96,
+        selectOnLineNumbers = 97,
+        showFoldingControls = 98,
+        showUnused = 99,
+        snippetSuggestions = 100,
+        smartSelect = 101,
+        smoothScrolling = 102,
+        stickyTabStops = 103,
+        stopRenderingLineAfter = 104,
+        suggest = 105,
+        suggestFontSize = 106,
+        suggestLineHeight = 107,
+        suggestOnTriggerCharacters = 108,
+        suggestSelection = 109,
+        tabCompletion = 110,
+        tabIndex = 111,
+        unicodeHighlighting = 112,
+        unusualLineTerminators = 113,
+        useShadowDOM = 114,
+        useTabStops = 115,
+        wordSeparators = 116,
+        wordWrap = 117,
+        wordWrapBreakAfterCharacters = 118,
+        wordWrapBreakBeforeCharacters = 119,
+        wordWrapColumn = 120,
+        wordWrapOverride1 = 121,
+        wordWrapOverride2 = 122,
+        wrappingIndent = 123,
+        wrappingStrategy = 124,
+        showDeprecated = 125,
+        inlayHints = 126,
+        editorClassName = 127,
+        pixelRatio = 128,
+        tabFocusMode = 129,
+        layoutInfo = 130,
+        wrappingInfo = 131
+    }
+
+    export const EditorOptions: {
+        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
+        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
+        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
+        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
+        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
+        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
+        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
+        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
+        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
+        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
+        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
+        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
+        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
+        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
+        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
+        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
+        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
+        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
+        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
+        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
+        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
+        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
+        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
+        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
+        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
+        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
+        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
+        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
+        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
+        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
+        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
+        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
+        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
+        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
+        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
+        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
+        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
+        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
+        folding: IEditorOption<EditorOption.folding, boolean>;
+        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
+        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
+        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
+        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
+        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
+        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
+        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
+        fontSize: IEditorOption<EditorOption.fontSize, number>;
+        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
+        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
+        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
+        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
+        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
+        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
+        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
+        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
+        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
+        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
+        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
+        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
+        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
+        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
+        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
+        links: IEditorOption<EditorOption.links, boolean>;
+        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
+        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
+        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
+        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
+        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
+        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
+        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
+        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
+        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
+        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
+        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
+        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
+        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
+        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
+        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
+        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
+        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
+        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
+        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
+        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
+        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
+        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
+        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
+        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
+        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
+        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
+        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
+        rulers: IEditorOption<EditorOption.rulers, {}>;
+        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
+        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
+        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
+        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
+        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
+        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
+        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
+        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
+        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
+        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
+        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
+        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
+        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
+        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
+        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
+        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
+        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
+        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
+        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
+        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
+        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
+        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
+        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
+        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
+        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
+        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
+        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
+        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
+        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
+        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
+        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
+        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
+        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
+        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
+        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
+        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
+        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
+        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
+        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
+        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
+        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
+    };
+
+    type EditorOptionsType = typeof EditorOptions;
+
+    type FindEditorOptionsKeyById<T extends EditorOption> = {
+        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
+    }[keyof EditorOptionsType];
+
+    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
+
+    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
+
+    /**
+     * A view zone is a full horizontal rectangle that 'pushes' text down.
+     * The editor reserves space for view zones when rendering.
+     */
+    export interface IViewZone {
+        /**
+         * The line number after which this zone should appear.
+         * Use 0 to place a view zone before the first line number.
+         */
+        afterLineNumber: number;
+        /**
+         * The column after which this zone should appear.
+         * If not set, the maxLineColumn of `afterLineNumber` will be used.
+         */
+        afterColumn?: number;
+        /**
+         * Suppress mouse down events.
+         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
+         * Defaults to false
+         */
+        suppressMouseDown?: boolean;
+        /**
+         * The height in lines of the view zone.
+         * If specified, `heightInPx` will be used instead of this.
+         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
+         */
+        heightInLines?: number;
+        /**
+         * The height in px of the view zone.
+         * If this is set, the editor will give preference to it rather than `heightInLines` above.
+         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
+         */
+        heightInPx?: number;
+        /**
+         * The minimum width in px of the view zone.
+         * If this is set, the editor will ensure that the scroll width is >= than this value.
+         */
+        minWidthInPx?: number;
+        /**
+         * The dom node of the view zone
+         */
+        domNode: HTMLElement;
+        /**
+         * An optional dom node for the view zone that will be placed in the margin area.
+         */
+        marginDomNode?: HTMLElement | null;
+        /**
+         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
+         */
+        onDomNodeTop?: (top: number) => void;
+        /**
+         * Callback which gives the height in pixels of the view zone.
+         */
+        onComputedHeight?: (height: number) => void;
+    }
+
+    /**
+     * An accessor that allows for zones to be added or removed.
+     */
+    export interface IViewZoneChangeAccessor {
+        /**
+         * Create a new view zone.
+         * @param zone Zone to create
+         * @return A unique identifier to the view zone.
+         */
+        addZone(zone: IViewZone): string;
+        /**
+         * Remove a zone
+         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
+         */
+        removeZone(id: string): void;
+        /**
+         * Change a zone's position.
+         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
+         */
+        layoutZone(id: string): void;
+    }
+
+    /**
+     * A positioning preference for rendering content widgets.
+     */
+    export enum ContentWidgetPositionPreference {
+        /**
+         * Place the content widget exactly at a position
+         */
+        EXACT = 0,
+        /**
+         * Place the content widget above a position
+         */
+        ABOVE = 1,
+        /**
+         * Place the content widget below a position
+         */
+        BELOW = 2
+    }
+
+    /**
+     * A position for rendering content widgets.
+     */
+    export interface IContentWidgetPosition {
+        /**
+         * Desired position for the content widget.
+         * `preference` will also affect the placement.
+         */
+        position: IPosition | null;
+        /**
+         * Optionally, a range can be provided to further
+         * define the position of the content widget.
+         */
+        range?: IRange | null;
+        /**
+         * Placement preference for position, in order of preference.
+         */
+        preference: ContentWidgetPositionPreference[];
+    }
+
+    /**
+     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
+     */
+    export interface IContentWidget {
+        /**
+         * Render this content widget in a location where it could overflow the editor's view dom node.
+         */
+        allowEditorOverflow?: boolean;
+        suppressMouseDown?: boolean;
+        /**
+         * Get a unique identifier of the content widget.
+         */
+        getId(): string;
+        /**
+         * Get the dom node of the content widget.
+         */
+        getDomNode(): HTMLElement;
+        /**
+         * Get the placement of the content widget.
+         * If null is returned, the content widget will be placed off screen.
+         */
+        getPosition(): IContentWidgetPosition | null;
+        /**
+         * Optional function that is invoked before rendering
+         * the content widget. If a dimension is returned the editor will
+         * attempt to use it.
+         */
+        beforeRender?(): IDimension | null;
+        /**
+         * Optional function that is invoked after rendering the content
+         * widget. Is being invoked with the selected position preference
+         * or `null` if not rendered.
+         */
+        afterRender?(position: ContentWidgetPositionPreference | null): void;
+    }
+
+    /**
+     * A positioning preference for rendering overlay widgets.
+     */
+    export enum OverlayWidgetPositionPreference {
+        /**
+         * Position the overlay widget in the top right corner
+         */
+        TOP_RIGHT_CORNER = 0,
+        /**
+         * Position the overlay widget in the bottom right corner
+         */
+        BOTTOM_RIGHT_CORNER = 1,
+        /**
+         * Position the overlay widget in the top center
+         */
+        TOP_CENTER = 2
+    }
+
+    /**
+     * A position for rendering overlay widgets.
+     */
+    export interface IOverlayWidgetPosition {
+        /**
+         * The position preference for the overlay widget.
+         */
+        preference: OverlayWidgetPositionPreference | null;
+    }
+
+    /**
+     * An overlay widgets renders on top of the text.
+     */
+    export interface IOverlayWidget {
+        /**
+         * Get a unique identifier of the overlay widget.
+         */
+        getId(): string;
+        /**
+         * Get the dom node of the overlay widget.
+         */
+        getDomNode(): HTMLElement;
+        /**
+         * Get the placement of the overlay widget.
+         * If null is returned, the overlay widget is responsible to place itself.
+         */
+        getPosition(): IOverlayWidgetPosition | null;
+    }
+
+    /**
+     * Type of hit element with the mouse in the editor.
+     */
+    export enum MouseTargetType {
+        /**
+         * Mouse is on top of an unknown element.
+         */
+        UNKNOWN = 0,
+        /**
+         * Mouse is on top of the textarea used for input.
+         */
+        TEXTAREA = 1,
+        /**
+         * Mouse is on top of the glyph margin
+         */
+        GUTTER_GLYPH_MARGIN = 2,
+        /**
+         * Mouse is on top of the line numbers
+         */
+        GUTTER_LINE_NUMBERS = 3,
+        /**
+         * Mouse is on top of the line decorations
+         */
+        GUTTER_LINE_DECORATIONS = 4,
+        /**
+         * Mouse is on top of the whitespace left in the gutter by a view zone.
+         */
+        GUTTER_VIEW_ZONE = 5,
+        /**
+         * Mouse is on top of text in the content.
+         */
+        CONTENT_TEXT = 6,
+        /**
+         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
+         */
+        CONTENT_EMPTY = 7,
+        /**
+         * Mouse is on top of a view zone in the content.
+         */
+        CONTENT_VIEW_ZONE = 8,
+        /**
+         * Mouse is on top of a content widget.
+         */
+        CONTENT_WIDGET = 9,
+        /**
+         * Mouse is on top of the decorations overview ruler.
+         */
+        OVERVIEW_RULER = 10,
+        /**
+         * Mouse is on top of a scrollbar.
+         */
+        SCROLLBAR = 11,
+        /**
+         * Mouse is on top of an overlay widget.
+         */
+        OVERLAY_WIDGET = 12,
+        /**
+         * Mouse is outside of the editor.
+         */
+        OUTSIDE_EDITOR = 13
+    }
+
+    /**
+     * Target hit with the mouse in the editor.
+     */
+    export interface IMouseTarget {
+        /**
+         * The target element
+         */
+        readonly element: Element | null;
+        /**
+         * The target type
+         */
+        readonly type: MouseTargetType;
+        /**
+         * The 'approximate' editor position
+         */
+        readonly position: Position | null;
+        /**
+         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
+         */
+        readonly mouseColumn: number;
+        /**
+         * The 'approximate' editor range
+         */
+        readonly range: Range | null;
+        /**
+         * Some extra detail.
+         */
+        readonly detail: any;
+    }
+
+    /**
+     * A mouse event originating from the editor.
+     */
+    export interface IEditorMouseEvent {
+        readonly event: IMouseEvent;
+        readonly target: IMouseTarget;
+    }
+
+    export interface IPartialEditorMouseEvent {
+        readonly event: IMouseEvent;
+        readonly target: IMouseTarget | null;
+    }
+
+    /**
+     * A paste event originating from the editor.
+     */
+    export interface IPasteEvent {
+        readonly range: Range;
+        readonly languageId: string | null;
+    }
+
+    export interface IEditorConstructionOptions extends IEditorOptions {
+        /**
+         * The initial editor dimension (to avoid measuring the container).
+         */
+        dimension?: IDimension;
+        /**
+         * Place overflow widgets inside an external DOM node.
+         * Defaults to an internal DOM node.
+         */
+        overflowWidgetsDomNode?: HTMLElement;
+    }
+
+    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
+        /**
+         * The initial editor dimension (to avoid measuring the container).
+         */
+        dimension?: IDimension;
+        /**
+         * Place overflow widgets inside an external DOM node.
+         * Defaults to an internal DOM node.
+         */
+        overflowWidgetsDomNode?: HTMLElement;
+        /**
+         * Aria label for original editor.
+         */
+        originalAriaLabel?: string;
+        /**
+         * Aria label for modified editor.
+         */
+        modifiedAriaLabel?: string;
+        /**
+         * Is the diff editor inside another editor
+         * Defaults to false
+         */
+        isInEmbeddedEditor?: boolean;
+    }
+
+    /**
+     * A rich code editor.
+     */
+    export interface ICodeEditor extends IEditor {
+        /**
+         * An event emitted when the content of the current model has changed.
+         * @event
+         */
+        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
+        /**
+         * An event emitted when the language of the current model has changed.
+         * @event
+         */
+        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
+        /**
+         * An event emitted when the language configuration of the current model has changed.
+         * @event
+         */
+        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
+        /**
+         * An event emitted when the options of the current model has changed.
+         * @event
+         */
+        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
+        /**
+         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
+         * @event
+         */
+        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
+        /**
+         * An event emitted when the cursor position has changed.
+         * @event
+         */
+        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
+        /**
+         * An event emitted when the cursor selection has changed.
+         * @event
+         */
+        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
+        /**
+         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
+         * @event
+         */
+        onDidChangeModel: IEvent<IModelChangedEvent>;
+        /**
+         * An event emitted when the decorations of the current model have changed.
+         * @event
+         */
+        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
+        /**
+         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
+         * @event
+         */
+        onDidFocusEditorText(listener: () => void): IDisposable;
+        /**
+         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
+         * @event
+         */
+        onDidBlurEditorText(listener: () => void): IDisposable;
+        /**
+         * An event emitted when the text inside this editor or an editor widget gained focus.
+         * @event
+         */
+        onDidFocusEditorWidget(listener: () => void): IDisposable;
+        /**
+         * An event emitted when the text inside this editor or an editor widget lost focus.
+         * @event
+         */
+        onDidBlurEditorWidget(listener: () => void): IDisposable;
+        /**
+         * An event emitted after composition has started.
+         */
+        onDidCompositionStart(listener: () => void): IDisposable;
+        /**
+         * An event emitted after composition has ended.
+         */
+        onDidCompositionEnd(listener: () => void): IDisposable;
+        /**
+         * An event emitted when editing failed because the editor is read-only.
+         * @event
+         */
+        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
+        /**
+         * An event emitted when users paste text in the editor.
+         * @event
+         */
+        onDidPaste: IEvent<IPasteEvent>;
+        /**
+         * An event emitted on a "mouseup".
+         * @event
+         */
+        onMouseUp: IEvent<IEditorMouseEvent>;
+        /**
+         * An event emitted on a "mousedown".
+         * @event
+         */
+        onMouseDown: IEvent<IEditorMouseEvent>;
+        /**
+         * An event emitted on a "contextmenu".
+         * @event
+         */
+        onContextMenu: IEvent<IEditorMouseEvent>;
+        /**
+         * An event emitted on a "mousemove".
+         * @event
+         */
+        onMouseMove: IEvent<IEditorMouseEvent>;
+        /**
+         * An event emitted on a "mouseleave".
+         * @event
+         */
+        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
+        /**
+         * An event emitted on a "keyup".
+         * @event
+         */
+        onKeyUp: IEvent<IKeyboardEvent>;
+        /**
+         * An event emitted on a "keydown".
+         * @event
+         */
+        onKeyDown: IEvent<IKeyboardEvent>;
+        /**
+         * An event emitted when the layout of the editor has changed.
+         * @event
+         */
+        onDidLayoutChange: IEvent<EditorLayoutInfo>;
+        /**
+         * An event emitted when the content width or content height in the editor has changed.
+         * @event
+         */
+        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
+        /**
+         * An event emitted when the scroll in the editor has changed.
+         * @event
+         */
+        onDidScrollChange: IEvent<IScrollEvent>;
+        /**
+         * An event emitted when hidden areas change in the editor (e.g. due to folding).
+         * @event
+         */
+        onDidChangeHiddenAreas: IEvent<void>;
+        /**
+         * Saves current view state of the editor in a serializable object.
+         */
+        saveViewState(): ICodeEditorViewState | null;
+        /**
+         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
+         */
+        restoreViewState(state: ICodeEditorViewState): void;
+        /**
+         * Returns true if the text inside this editor or an editor widget has focus.
+         */
+        hasWidgetFocus(): boolean;
+        /**
+         * Get a contribution of this editor.
+         * @id Unique identifier of the contribution.
+         * @return The contribution or null if contribution not found.
+         */
+        getContribution<T extends IEditorContribution>(id: string): T;
+        /**
+         * Type the getModel() of IEditor.
+         */
+        getModel(): ITextModel | null;
+        /**
+         * Sets the current model attached to this editor.
+         * If the previous model was created by the editor via the value key in the options
+         * literal object, it will be destroyed. Otherwise, if the previous model was set
+         * via setModel, or the model key in the options literal object, the previous model
+         * will not be destroyed.
+         * It is safe to call setModel(null) to simply detach the current model from the editor.
+         */
+        setModel(model: ITextModel | null): void;
+        /**
+         * Gets all the editor computed options.
+         */
+        getOptions(): IComputedEditorOptions;
+        /**
+         * Gets a specific editor option.
+         */
+        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
+        /**
+         * Returns the editor's configuration (without any validation or defaults).
+         */
+        getRawOptions(): IEditorOptions;
+        /**
+         * Get value of the current model attached to this editor.
+         * @see {@link ITextModel.getValue}
+         */
+        getValue(options?: {
+            preserveBOM: boolean;
+            lineEnding: string;
+        }): string;
+        /**
+         * Set the value of the current model attached to this editor.
+         * @see {@link ITextModel.setValue}
+         */
+        setValue(newValue: string): void;
+        /**
+         * Get the width of the editor's content.
+         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
+         */
+        getContentWidth(): number;
+        /**
+         * Get the scrollWidth of the editor's viewport.
+         */
+        getScrollWidth(): number;
+        /**
+         * Get the scrollLeft of the editor's viewport.
+         */
+        getScrollLeft(): number;
+        /**
+         * Get the height of the editor's content.
+         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
+         */
+        getContentHeight(): number;
+        /**
+         * Get the scrollHeight of the editor's viewport.
+         */
+        getScrollHeight(): number;
+        /**
+         * Get the scrollTop of the editor's viewport.
+         */
+        getScrollTop(): number;
+        /**
+         * Change the scrollLeft of the editor's viewport.
+         */
+        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
+        /**
+         * Change the scrollTop of the editor's viewport.
+         */
+        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
+        /**
+         * Change the scroll position of the editor's viewport.
+         */
+        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
+        /**
+         * Get an action that is a contribution to this editor.
+         * @id Unique identifier of the contribution.
+         * @return The action or null if action not found.
+         */
+        getAction(id: string): IEditorAction;
+        /**
+         * Execute a command on the editor.
+         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
+         * @param source The source of the call.
+         * @param command The command to execute
+         */
+        executeCommand(source: string | null | undefined, command: ICommand): void;
+        /**
+         * Create an "undo stop" in the undo-redo stack.
+         */
+        pushUndoStop(): boolean;
+        /**
+         * Remove the "undo stop" in the undo-redo stack.
+         */
+        popUndoStop(): boolean;
+        /**
+         * Execute edits on the editor.
+         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
+         * @param source The source of the call.
+         * @param edits The edits to execute.
+         * @param endCursorState Cursor state after the edits were applied.
+         */
+        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
+        /**
+         * Execute multiple (concomitant) commands on the editor.
+         * @param source The source of the call.
+         * @param command The commands to execute
+         */
+        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
+        /**
+         * Get all the decorations on a line (filtering out decorations from other editors).
+         */
+        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
+        /**
+         * All decorations added through this call will get the ownerId of this editor.
+         * @see {@link ITextModel.deltaDecorations}
+         */
+        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
+        /**
+         * Get the layout info for the editor.
+         */
+        getLayoutInfo(): EditorLayoutInfo;
+        /**
+         * Returns the ranges that are currently visible.
+         * Does not account for horizontal scrolling.
+         */
+        getVisibleRanges(): Range[];
+        /**
+         * Get the vertical position (top offset) for the line w.r.t. to the first line.
+         */
+        getTopForLineNumber(lineNumber: number): number;
+        /**
+         * Get the vertical position (top offset) for the position w.r.t. to the first line.
+         */
+        getTopForPosition(lineNumber: number, column: number): number;
+        /**
+         * Returns the editor's container dom node
+         */
+        getContainerDomNode(): HTMLElement;
+        /**
+         * Returns the editor's dom node
+         */
+        getDomNode(): HTMLElement | null;
+        /**
+         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
+         */
+        addContentWidget(widget: IContentWidget): void;
+        /**
+         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
+         * and update appropriately.
+         */
+        layoutContentWidget(widget: IContentWidget): void;
+        /**
+         * Remove a content widget.
+         */
+        removeContentWidget(widget: IContentWidget): void;
+        /**
+         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
+         */
+        addOverlayWidget(widget: IOverlayWidget): void;
+        /**
+         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
+         * and update appropriately.
+         */
+        layoutOverlayWidget(widget: IOverlayWidget): void;
+        /**
+         * Remove an overlay widget.
+         */
+        removeOverlayWidget(widget: IOverlayWidget): void;
+        /**
+         * Change the view zones. View zones are lost when a new model is attached to the editor.
+         */
+        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
+        /**
+         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
+         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
+         * Use this method with caution.
+         */
+        getOffsetForColumn(lineNumber: number, column: number): number;
+        /**
+         * Force an editor render now.
+         */
+        render(forceRedraw?: boolean): void;
+        /**
+         * Get the hit test target at coordinates `clientX` and `clientY`.
+         * The coordinates are relative to the top-left of the viewport.
+         *
+         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
+         */
+        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
+        /**
+         * Get the visible position for `position`.
+         * The result position takes scrolling into account and is relative to the top left corner of the editor.
+         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
+         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
+         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
+         */
+        getScrolledVisiblePosition(position: IPosition): {
+            top: number;
+            left: number;
+            height: number;
+        } | null;
+        /**
+         * Apply the same font settings as the editor to `target`.
+         */
+        applyFontInfo(target: HTMLElement): void;
+        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
+    }
+
+    /**
+     * Information about a line in the diff editor
+     */
+    export interface IDiffLineInformation {
+        readonly equivalentLineNumber: number;
+    }
+
+    /**
+     * A rich diff editor.
+     */
+    export interface IDiffEditor extends IEditor {
+        /**
+         * @see {@link ICodeEditor.getDomNode}
+         */
+        getDomNode(): HTMLElement;
+        /**
+         * An event emitted when the diff information computed by this diff editor has been updated.
+         * @event
+         */
+        onDidUpdateDiff(listener: () => void): IDisposable;
+        /**
+         * Saves current view state of the editor in a serializable object.
+         */
+        saveViewState(): IDiffEditorViewState | null;
+        /**
+         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
+         */
+        restoreViewState(state: IDiffEditorViewState): void;
+        /**
+         * Type the getModel() of IEditor.
+         */
+        getModel(): IDiffEditorModel | null;
+        /**
+         * Sets the current model attached to this editor.
+         * If the previous model was created by the editor via the value key in the options
+         * literal object, it will be destroyed. Otherwise, if the previous model was set
+         * via setModel, or the model key in the options literal object, the previous model
+         * will not be destroyed.
+         * It is safe to call setModel(null) to simply detach the current model from the editor.
+         */
+        setModel(model: IDiffEditorModel | null): void;
+        /**
+         * Get the `original` editor.
+         */
+        getOriginalEditor(): ICodeEditor;
+        /**
+         * Get the `modified` editor.
+         */
+        getModifiedEditor(): ICodeEditor;
+        /**
+         * Get the computed diff information.
+         */
+        getLineChanges(): ILineChange[] | null;
+        /**
+         * Get information based on computed diff about a line number from the original model.
+         * If the diff computation is not finished or the model is missing, will return null.
+         */
+        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
+        /**
+         * Get information based on computed diff about a line number from the modified model.
+         * If the diff computation is not finished or the model is missing, will return null.
+         */
+        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
+        /**
+         * Update the editor's options after the editor has been created.
+         */
+        updateOptions(newOptions: IDiffEditorOptions): void;
+    }
+
+    export class FontInfo extends BareFontInfo {
+        readonly _editorStylingBrand: void;
+        readonly version: number;
+        readonly isTrusted: boolean;
+        readonly isMonospace: boolean;
+        readonly typicalHalfwidthCharacterWidth: number;
+        readonly typicalFullwidthCharacterWidth: number;
+        readonly canUseHalfwidthRightwardsArrow: boolean;
+        readonly spaceWidth: number;
+        readonly middotWidth: number;
+        readonly wsmiddotWidth: number;
+        readonly maxDigitWidth: number;
+    }
+
+    export class BareFontInfo {
+        readonly _bareFontInfoBrand: void;
+        readonly zoomLevel: number;
+        readonly pixelRatio: number;
+        readonly fontFamily: string;
+        readonly fontWeight: string;
+        readonly fontSize: number;
+        readonly fontFeatureSettings: string;
+        readonly lineHeight: number;
+        readonly letterSpacing: number;
+    }
+
+    //compatibility:
+    export type IReadOnlyModel = ITextModel;
+    export type IModel = ITextModel;
+}
+
+declare namespace monaco.languages {
+
+
+    /**
+     * Register information about a new language.
+     */
+    export function register(language: ILanguageExtensionPoint): void;
+
+    /**
+     * Get the information of all the registered languages.
+     */
+    export function getLanguages(): ILanguageExtensionPoint[];
+
+    export function getEncodedLanguageId(languageId: string): number;
+
+    /**
+     * An event emitted when a language is first time needed (e.g. a model has it set).
+     * @event
+     */
+    export function onLanguage(languageId: string, callback: () => void): IDisposable;
+
+    /**
+     * Set the editing configuration for a language.
+     */
+    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
+
+    /**
+     * A token.
+     */
+    export interface IToken {
+        startIndex: number;
+        scopes: string;
+    }
+
+    /**
+     * The result of a line tokenization.
+     */
+    export interface ILineTokens {
+        /**
+         * The list of tokens on the line.
+         */
+        tokens: IToken[];
+        /**
+         * The tokenization end state.
+         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
+         */
+        endState: IState;
+    }
+
+    /**
+     * The result of a line tokenization.
+     */
+    export interface IEncodedLineTokens {
+        /**
+         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
+         *  - at offset 2*i => startIndex
+         *  - at offset 2*i + 1 => metadata
+         * Meta data is in binary format:
+         * - -------------------------------------------
+         *     3322 2222 2222 1111 1111 1100 0000 0000
+         *     1098 7654 3210 9876 5432 1098 7654 3210
+         * - -------------------------------------------
+         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
+         * - -------------------------------------------
+         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
+         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
+         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
+         *  - f = foreground ColorId (9 bits)
+         *  - b = background ColorId (9 bits)
+         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
+         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
+         * id = 1 is for the default foreground color, id = 2 for the default background.
+         */
+        tokens: Uint32Array;
+        /**
+         * The tokenization end state.
+         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
+         */
+        endState: IState;
+    }
+
+    /**
+     * A "manual" provider of tokens.
+     */
+    export interface TokensProvider {
+        /**
+         * The initial state of a language. Will be the state passed in to tokenize the first line.
+         */
+        getInitialState(): IState;
+        /**
+         * Tokenize a line given the state at the beginning of the line.
+         */
+        tokenize(line: string, state: IState): ILineTokens;
+    }
+
+    /**
+     * A "manual" provider of tokens, returning tokens in a binary form.
+     */
+    export interface EncodedTokensProvider {
+        /**
+         * The initial state of a language. Will be the state passed in to tokenize the first line.
+         */
+        getInitialState(): IState;
+        /**
+         * Tokenize a line given the state at the beginning of the line.
+         */
+        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
+        /**
+         * Tokenize a line given the state at the beginning of the line.
+         */
+        tokenize?(line: string, state: IState): ILineTokens;
+    }
+
+    /**
+     * Change the color map that is used for token colors.
+     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
+     */
+    export function setColorMap(colorMap: string[] | null): void;
+
+    /**
+     * Set the tokens provider for a language (manual implementation).
+     */
+    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
+
+    /**
+     * Set the tokens provider for a language (monarch implementation).
+     */
+    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
+
+    /**
+     * Register a reference provider (used by e.g. reference search).
+     */
+    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
+
+    /**
+     * Register a rename provider (used by e.g. rename symbol).
+     */
+    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
+
+    /**
+     * Register a signature help provider (used by e.g. parameter hints).
+     */
+    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
+
+    /**
+     * Register a hover provider (used by e.g. editor hover).
+     */
+    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
+
+    /**
+     * Register a document symbol provider (used by e.g. outline).
+     */
+    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
+
+    /**
+     * Register a document highlight provider (used by e.g. highlight occurrences).
+     */
+    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
+
+    /**
+     * Register an linked editing range provider.
+     */
+    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
+
+    /**
+     * Register a definition provider (used by e.g. go to definition).
+     */
+    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
+
+    /**
+     * Register a implementation provider (used by e.g. go to implementation).
+     */
+    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
+
+    /**
+     * Register a type definition provider (used by e.g. go to type definition).
+     */
+    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
+
+    /**
+     * Register a code lens provider (used by e.g. inline code lenses).
+     */
+    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
+
+    /**
+     * Register a code action provider (used by e.g. quick fix).
+     */
+    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
+
+    /**
+     * Register a formatter that can handle only entire models.
+     */
+    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
+
+    /**
+     * Register a formatter that can handle a range inside a model.
+     */
+    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
+
+    /**
+     * Register a formatter than can do formatting as the user types.
+     */
+    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
+
+    /**
+     * Register a link provider that can find links in text.
+     */
+    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
+
+    /**
+     * Register a completion item provider (use by e.g. suggestions).
+     */
+    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
+
+    /**
+     * Register a document color provider (used by Color Picker, Color Decorator).
+     */
+    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
+
+    /**
+     * Register a folding range provider
+     */
+    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
+
+    /**
+     * Register a declaration provider
+     */
+    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
+
+    /**
+     * Register a selection range provider
+     */
+    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
+
+    /**
+     * Register a document semantic tokens provider
+     */
+    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
+
+    /**
+     * Register a document range semantic tokens provider
+     */
+    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
+
+    /**
+     * Register an inline completions provider.
+     */
+    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
+
+    /**
+     * Register an inlay hints provider.
+     */
+    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
+
+    /**
+     * Contains additional diagnostic information about the context in which
+     * a [code action](#CodeActionProvider.provideCodeActions) is run.
+     */
+    export interface CodeActionContext {
+        /**
+         * An array of diagnostics.
+         */
+        readonly markers: editor.IMarkerData[];
+        /**
+         * Requested kind of actions to return.
+         */
+        readonly only?: string;
+    }
+
+    /**
+     * The code action interface defines the contract between extensions and
+     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
+     */
+    export interface CodeActionProvider {
+        /**
+         * Provide commands for the given document and range.
+         */
+        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
+        /**
+         * Given a code action fill in the edit. Will only invoked when missing.
+         */
+        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
+    }
+
+    /**
+     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
+     */
+    export interface CodeActionProviderMetadata {
+        /**
+         * List of code action kinds that a {@link CodeActionProvider} may return.
+         *
+         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
+         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
+         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
+         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
+         */
+        readonly providedCodeActionKinds?: readonly string[];
+    }
+
+    /**
+     * Describes how comments for a language work.
+     */
+    export interface CommentRule {
+        /**
+         * The line comment token, like `// this is a comment`
+         */
+        lineComment?: string | null;
+        /**
+         * The block comment character pair, like `/* block comment *&#47;`
+         */
+        blockComment?: CharacterPair | null;
+    }
+
+    /**
+     * The language configuration interface defines the contract between extensions and
+     * various editor features, like automatic bracket insertion, automatic indentation etc.
+     */
+    export interface LanguageConfiguration {
+        /**
+         * The language's comment settings.
+         */
+        comments?: CommentRule;
+        /**
+         * The language's brackets.
+         * This configuration implicitly affects pressing Enter around these brackets.
+         */
+        brackets?: CharacterPair[];
+        /**
+         * The language's word definition.
+         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
+         * to provide a word definition that uses exclusion of known separators.
+         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
+         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
+         */
+        wordPattern?: RegExp;
+        /**
+         * The language's indentation settings.
+         */
+        indentationRules?: IndentationRule;
+        /**
+         * The language's rules to be evaluated when pressing Enter.
+         */
+        onEnterRules?: OnEnterRule[];
+        /**
+         * The language's auto closing pairs. The 'close' character is automatically inserted with the
+         * 'open' character is typed. If not set, the configured brackets will be used.
+         */
+        autoClosingPairs?: IAutoClosingPairConditional[];
+        /**
+         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
+         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
+         * settings will be used.
+         */
+        surroundingPairs?: IAutoClosingPair[];
+        /**
+         * Defines a list of bracket pairs that are colorized depending on their nesting level.
+         * If not set, the configured brackets will be used.
+        */
+        colorizedBracketPairs?: CharacterPair[];
+        /**
+         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
+         *
+         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
+         */
+        autoCloseBefore?: string;
+        /**
+         * The language's folding rules.
+         */
+        folding?: FoldingRules;
+        /**
+         * **Deprecated** Do not use.
+         *
+         * @deprecated Will be replaced by a better API soon.
+         */
+        __electricCharacterSupport?: {
+            docComment?: IDocComment;
+        };
+    }
+
+    /**
+     * Describes indentation rules for a language.
+     */
+    export interface IndentationRule {
+        /**
+         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
+         */
+        decreaseIndentPattern: RegExp;
+        /**
+         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
+         */
+        increaseIndentPattern: RegExp;
+        /**
+         * If a line matches this pattern, then **only the next line** after it should be indented once.
+         */
+        indentNextLinePattern?: RegExp | null;
+        /**
+         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
+         */
+        unIndentedLinePattern?: RegExp | null;
+    }
+
+    /**
+     * Describes language specific folding markers such as '#region' and '#endregion'.
+     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
+     * - the regex should start with '^'
+     * - regexp flags (i, g) are ignored
+     */
+    export interface FoldingMarkers {
+        start: RegExp;
+        end: RegExp;
+    }
+
+    /**
+     * Describes folding rules for a language.
+     */
+    export interface FoldingRules {
+        /**
+         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
+         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
+         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
+         * If not set, `false` is used and empty lines belong to the previous block.
+         */
+        offSide?: boolean;
+        /**
+         * Region markers used by the language.
+         */
+        markers?: FoldingMarkers;
+    }
+
+    /**
+     * Describes a rule to be evaluated when pressing Enter.
+     */
+    export interface OnEnterRule {
+        /**
+         * This rule will only execute if the text before the cursor matches this regular expression.
+         */
+        beforeText: RegExp;
+        /**
+         * This rule will only execute if the text after the cursor matches this regular expression.
+         */
+        afterText?: RegExp;
+        /**
+         * This rule will only execute if the text above the this line matches this regular expression.
+         */
+        previousLineText?: RegExp;
+        /**
+         * The action to execute.
+         */
+        action: EnterAction;
+    }
+
+    /**
+     * Definition of documentation comments (e.g. Javadoc/JSdoc)
+     */
+    export interface IDocComment {
+        /**
+         * The string that starts a doc comment (e.g. '/**')
+         */
+        open: string;
+        /**
+         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
+         */
+        close?: string;
+    }
+
+    /**
+     * A tuple of two characters, like a pair of
+     * opening and closing brackets.
+     */
+    export type CharacterPair = [string, string];
+
+    export interface IAutoClosingPair {
+        open: string;
+        close: string;
+    }
+
+    export interface IAutoClosingPairConditional extends IAutoClosingPair {
+        notIn?: string[];
+    }
+
+    /**
+     * Describes what to do with the indentation when pressing Enter.
+     */
+    export enum IndentAction {
+        /**
+         * Insert new line and copy the previous line's indentation.
+         */
+        None = 0,
+        /**
+         * Insert new line and indent once (relative to the previous line's indentation).
+         */
+        Indent = 1,
+        /**
+         * Insert two new lines:
+         *  - the first one indented which will hold the cursor
+         *  - the second one at the same indentation level
+         */
+        IndentOutdent = 2,
+        /**
+         * Insert new line and outdent once (relative to the previous line's indentation).
+         */
+        Outdent = 3
+    }
+
+    /**
+     * Describes what to do when pressing Enter.
+     */
+    export interface EnterAction {
+        /**
+         * Describe what to do with the indentation.
+         */
+        indentAction: IndentAction;
+        /**
+         * Describes text to be appended after the new line and after the indentation.
+         */
+        appendText?: string;
+        /**
+         * Describes the number of characters to remove from the new line's indentation.
+         */
+        removeText?: number;
+    }
+
+    /**
+     * The state of the tokenizer between two lines.
+     * It is useful to store flags such as in multiline comment, etc.
+     * The model will clone the previous line's state and pass it in to tokenize the next line.
+     */
+    export interface IState {
+        clone(): IState;
+        equals(other: IState): boolean;
+    }
+
+    /**
+     * A provider result represents the values a provider, like the {@link HoverProvider},
+     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
+     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
+     * thenable.
+     */
+    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
+
+    /**
+     * A hover represents additional information for a symbol or word. Hovers are
+     * rendered in a tooltip-like widget.
+     */
+    export interface Hover {
+        /**
+         * The contents of this hover.
+         */
+        contents: IMarkdownString[];
+        /**
+         * The range to which this hover applies. When missing, the
+         * editor will use the range at the current position or the
+         * current position itself.
+         */
+        range?: IRange;
+    }
+
+    /**
+     * The hover provider interface defines the contract between extensions and
+     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
+     */
+    export interface HoverProvider {
+        /**
+         * Provide a hover for the given position and document. Multiple hovers at the same
+         * position will be merged by the editor. A hover can have a range which defaults
+         * to the word range at the position when omitted.
+         */
+        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
+    }
+
+    export enum CompletionItemKind {
+        Method = 0,
+        Function = 1,
+        Constructor = 2,
+        Field = 3,
+        Variable = 4,
+        Class = 5,
+        Struct = 6,
+        Interface = 7,
+        Module = 8,
+        Property = 9,
+        Event = 10,
+        Operator = 11,
+        Unit = 12,
+        Value = 13,
+        Constant = 14,
+        Enum = 15,
+        EnumMember = 16,
+        Keyword = 17,
+        Text = 18,
+        Color = 19,
+        File = 20,
+        Reference = 21,
+        Customcolor = 22,
+        Folder = 23,
+        TypeParameter = 24,
+        User = 25,
+        Issue = 26,
+        Snippet = 27
+    }
+
+    export interface CompletionItemLabel {
+        label: string;
+        detail?: string;
+        description?: string;
+    }
+
+    export enum CompletionItemTag {
+        Deprecated = 1
+    }
+
+    export enum CompletionItemInsertTextRule {
+        /**
+         * Adjust whitespace/indentation of multiline insert texts to
+         * match the current line indentation.
+         */
+        KeepWhitespace = 1,
+        /**
+         * `insertText` is a snippet.
+         */
+        InsertAsSnippet = 4
+    }
+
+    export interface CompletionItemRanges {
+        insert: IRange;
+        replace: IRange;
+    }
+
+    /**
+     * A completion item represents a text snippet that is
+     * proposed to complete text that is being typed.
+     */
+    export interface CompletionItem {
+        /**
+         * The label of this completion item. By default
+         * this is also the text that is inserted when selecting
+         * this completion.
+         */
+        label: string | CompletionItemLabel;
+        /**
+         * The kind of this completion item. Based on the kind
+         * an icon is chosen by the editor.
+         */
+        kind: CompletionItemKind;
+        /**
+         * A modifier to the `kind` which affect how the item
+         * is rendered, e.g. Deprecated is rendered with a strikeout
+         */
+        tags?: ReadonlyArray<CompletionItemTag>;
+        /**
+         * A human-readable string with additional information
+         * about this item, like type or symbol information.
+         */
+        detail?: string;
+        /**
+         * A human-readable string that represents a doc-comment.
+         */
+        documentation?: string | IMarkdownString;
+        /**
+         * A string that should be used when comparing this item
+         * with other items. When `falsy` the {@link CompletionItem.label label}
+         * is used.
+         */
+        sortText?: string;
+        /**
+         * A string that should be used when filtering a set of
+         * completion items. When `falsy` the {@link CompletionItem.label label}
+         * is used.
+         */
+        filterText?: string;
+        /**
+         * Select this item when showing. *Note* that only one completion item can be selected and
+         * that the editor decides which item that is. The rule is that the *first* item of those
+         * that match best is selected.
+         */
+        preselect?: boolean;
+        /**
+         * A string or snippet that should be inserted in a document when selecting
+         * this completion.
+         */
+        insertText: string;
+        /**
+         * Additional rules (as bitmask) that should be applied when inserting
+         * this completion.
+         */
+        insertTextRules?: CompletionItemInsertTextRule;
+        /**
+         * A range of text that should be replaced by this completion item.
+         *
+         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
+         * current position.
+         *
+         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
+         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
+         */
+        range: IRange | CompletionItemRanges;
+        /**
+         * An optional set of characters that when pressed while this completion is active will accept it first and
+         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
+         * characters will be ignored.
+         */
+        commitCharacters?: string[];
+        /**
+         * An optional array of additional text edits that are applied when
+         * selecting this completion. Edits must not overlap with the main edit
+         * nor with themselves.
+         */
+        additionalTextEdits?: editor.ISingleEditOperation[];
+        /**
+         * A command that should be run upon acceptance of this item.
+         */
+        command?: Command;
+    }
+
+    export interface CompletionList {
+        suggestions: CompletionItem[];
+        incomplete?: boolean;
+        dispose?(): void;
+    }
+
+    /**
+     * How a suggest provider was triggered.
+     */
+    export enum CompletionTriggerKind {
+        Invoke = 0,
+        TriggerCharacter = 1,
+        TriggerForIncompleteCompletions = 2
+    }
+
+    /**
+     * Contains additional information about the context in which
+     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
+     */
+    export interface CompletionContext {
+        /**
+         * How the completion was triggered.
+         */
+        triggerKind: CompletionTriggerKind;
+        /**
+         * Character that triggered the completion item provider.
+         *
+         * `undefined` if provider was not triggered by a character.
+         */
+        triggerCharacter?: string;
+    }
+
+    /**
+     * The completion item provider interface defines the contract between extensions and
+     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
+     *
+     * When computing *complete* completion items is expensive, providers can optionally implement
+     * the `resolveCompletionItem`-function. In that case it is enough to return completion
+     * items with a {@link CompletionItem.label label} from the
+     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
+     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
+     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
+     */
+    export interface CompletionItemProvider {
+        triggerCharacters?: string[];
+        /**
+         * Provide completion items for the given position and document.
+         */
+        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
+        /**
+         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
+         * or {@link CompletionItem.detail details}.
+         *
+         * The editor will only resolve a completion item once.
+         */
+        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
+    }
+
+    /**
+     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
+     */
+    export enum InlineCompletionTriggerKind {
+        /**
+         * Completion was triggered automatically while editing.
+         * It is sufficient to return a single completion item in this case.
+         */
+        Automatic = 0,
+        /**
+         * Completion was triggered explicitly by a user gesture.
+         * Return multiple completion items to enable cycling through them.
+         */
+        Explicit = 1
+    }
+
+    export interface InlineCompletionContext {
+        /**
+         * How the completion was triggered.
+         */
+        readonly triggerKind: InlineCompletionTriggerKind;
+        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
+    }
+
+    export interface SelectedSuggestionInfo {
+        range: IRange;
+        text: string;
+        isSnippetText: boolean;
+        completionKind: CompletionItemKind;
+    }
+
+    export interface InlineCompletion {
+        /**
+         * The text to insert.
+         * If the text contains a line break, the range must end at the end of a line.
+         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
+        */
+        readonly text: string;
+        /**
+         * The range to replace.
+         * Must begin and end on the same line.
+        */
+        readonly range?: IRange;
+        readonly command?: Command;
+    }
+
+    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
+        readonly items: readonly TItem[];
+    }
+
+    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
+        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
+        /**
+         * Will be called when an item is shown.
+        */
+        handleItemDidShow?(completions: T, item: T['items'][number]): void;
+        /**
+         * Will be called when a completions list is no longer in use and can be garbage-collected.
+        */
+        freeInlineCompletions(completions: T): void;
+    }
+
+    export interface CodeAction {
+        title: string;
+        command?: Command;
+        edit?: WorkspaceEdit;
+        diagnostics?: editor.IMarkerData[];
+        kind?: string;
+        isPreferred?: boolean;
+        disabled?: string;
+    }
+
+    export interface CodeActionList extends IDisposable {
+        readonly actions: ReadonlyArray<CodeAction>;
+    }
+
+    /**
+     * Represents a parameter of a callable-signature. A parameter can
+     * have a label and a doc-comment.
+     */
+    export interface ParameterInformation {
+        /**
+         * The label of this signature. Will be shown in
+         * the UI.
+         */
+        label: string | [number, number];
+        /**
+         * The human-readable doc-comment of this signature. Will be shown
+         * in the UI but can be omitted.
+         */
+        documentation?: string | IMarkdownString;
+    }
+
+    /**
+     * Represents the signature of something callable. A signature
+     * can have a label, like a function-name, a doc-comment, and
+     * a set of parameters.
+     */
+    export interface SignatureInformation {
+        /**
+         * The label of this signature. Will be shown in
+         * the UI.
+         */
+        label: string;
+        /**
+         * The human-readable doc-comment of this signature. Will be shown
+         * in the UI but can be omitted.
+         */
+        documentation?: string | IMarkdownString;
+        /**
+         * The parameters of this signature.
+         */
+        parameters: ParameterInformation[];
+        /**
+         * Index of the active parameter.
+         *
+         * If provided, this is used in place of `SignatureHelp.activeSignature`.
+         */
+        activeParameter?: number;
+    }
+
+    /**
+     * Signature help represents the signature of something
+     * callable. There can be multiple signatures but only one
+     * active and only one active parameter.
+     */
+    export interface SignatureHelp {
+        /**
+         * One or more signatures.
+         */
+        signatures: SignatureInformation[];
+        /**
+         * The active signature.
+         */
+        activeSignature: number;
+        /**
+         * The active parameter of the active signature.
+         */
+        activeParameter: number;
+    }
+
+    export interface SignatureHelpResult extends IDisposable {
+        value: SignatureHelp;
+    }
+
+    export enum SignatureHelpTriggerKind {
+        Invoke = 1,
+        TriggerCharacter = 2,
+        ContentChange = 3
+    }
+
+    export interface SignatureHelpContext {
+        readonly triggerKind: SignatureHelpTriggerKind;
+        readonly triggerCharacter?: string;
+        readonly isRetrigger: boolean;
+        readonly activeSignatureHelp?: SignatureHelp;
+    }
+
+    /**
+     * The signature help provider interface defines the contract between extensions and
+     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
+     */
+    export interface SignatureHelpProvider {
+        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
+        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
+        /**
+         * Provide help for the signature at the given position and document.
+         */
+        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
+    }
+
+    /**
+     * A document highlight kind.
+     */
+    export enum DocumentHighlightKind {
+        /**
+         * A textual occurrence.
+         */
+        Text = 0,
+        /**
+         * Read-access of a symbol, like reading a variable.
+         */
+        Read = 1,
+        /**
+         * Write-access of a symbol, like writing to a variable.
+         */
+        Write = 2
+    }
+
+    /**
+     * A document highlight is a range inside a text document which deserves
+     * special attention. Usually a document highlight is visualized by changing
+     * the background color of its range.
+     */
+    export interface DocumentHighlight {
+        /**
+         * The range this highlight applies to.
+         */
+        range: IRange;
+        /**
+         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
+         */
+        kind?: DocumentHighlightKind;
+    }
+
+    /**
+     * The document highlight provider interface defines the contract between extensions and
+     * the word-highlight-feature.
+     */
+    export interface DocumentHighlightProvider {
+        /**
+         * Provide a set of document highlights, like all occurrences of a variable or
+         * all exit-points of a function.
+         */
+        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
+    }
+
+    /**
+     * The linked editing range provider interface defines the contract between extensions and
+     * the linked editing feature.
+     */
+    export interface LinkedEditingRangeProvider {
+        /**
+         * Provide a list of ranges that can be edited together.
+         */
+        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
+    }
+
+    /**
+     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
+     */
+    export interface LinkedEditingRanges {
+        /**
+         * A list of ranges that can be edited together. The ranges must have
+         * identical length and text content. The ranges cannot overlap
+         */
+        ranges: IRange[];
+        /**
+         * An optional word pattern that describes valid contents for the given ranges.
+         * If no pattern is provided, the language configuration's word pattern will be used.
+         */
+        wordPattern?: RegExp;
+    }
+
+    /**
+     * Value-object that contains additional information when
+     * requesting references.
+     */
+    export interface ReferenceContext {
+        /**
+         * Include the declaration of the current symbol.
+         */
+        includeDeclaration: boolean;
+    }
+
+    /**
+     * The reference provider interface defines the contract between extensions and
+     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
+     */
+    export interface ReferenceProvider {
+        /**
+         * Provide a set of project-wide references for the given position and document.
+         */
+        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
+    }
+
+    /**
+     * Represents a location inside a resource, such as a line
+     * inside a text file.
+     */
+    export interface Location {
+        /**
+         * The resource identifier of this location.
+         */
+        uri: Uri;
+        /**
+         * The document range of this locations.
+         */
+        range: IRange;
+    }
+
+    export interface LocationLink {
+        /**
+         * A range to select where this link originates from.
+         */
+        originSelectionRange?: IRange;
+        /**
+         * The target uri this link points to.
+         */
+        uri: Uri;
+        /**
+         * The full range this link points to.
+         */
+        range: IRange;
+        /**
+         * A range to select this link points to. Must be contained
+         * in `LocationLink.range`.
+         */
+        targetSelectionRange?: IRange;
+    }
+
+    export type Definition = Location | Location[] | LocationLink[];
+
+    /**
+     * The definition provider interface defines the contract between extensions and
+     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
+     * and peek definition features.
+     */
+    export interface DefinitionProvider {
+        /**
+         * Provide the definition of the symbol at the given position and document.
+         */
+        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
+    }
+
+    /**
+     * The definition provider interface defines the contract between extensions and
+     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
+     * and peek definition features.
+     */
+    export interface DeclarationProvider {
+        /**
+         * Provide the declaration of the symbol at the given position and document.
+         */
+        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
+    }
+
+    /**
+     * The implementation provider interface defines the contract between extensions and
+     * the go to implementation feature.
+     */
+    export interface ImplementationProvider {
+        /**
+         * Provide the implementation of the symbol at the given position and document.
+         */
+        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
+    }
+
+    /**
+     * The type definition provider interface defines the contract between extensions and
+     * the go to type definition feature.
+     */
+    export interface TypeDefinitionProvider {
+        /**
+         * Provide the type definition of the symbol at the given position and document.
+         */
+        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
+    }
+
+    /**
+     * A symbol kind.
+     */
+    export enum SymbolKind {
+        File = 0,
+        Module = 1,
+        Namespace = 2,
+        Package = 3,
+        Class = 4,
+        Method = 5,
+        Property = 6,
+        Field = 7,
+        Constructor = 8,
+        Enum = 9,
+        Interface = 10,
+        Function = 11,
+        Variable = 12,
+        Constant = 13,
+        String = 14,
+        Number = 15,
+        Boolean = 16,
+        Array = 17,
+        Object = 18,
+        Key = 19,
+        Null = 20,
+        EnumMember = 21,
+        Struct = 22,
+        Event = 23,
+        Operator = 24,
+        TypeParameter = 25
+    }
+
+    export enum SymbolTag {
+        Deprecated = 1
+    }
+
+    export interface DocumentSymbol {
+        name: string;
+        detail: string;
+        kind: SymbolKind;
+        tags: ReadonlyArray<SymbolTag>;
+        containerName?: string;
+        range: IRange;
+        selectionRange: IRange;
+        children?: DocumentSymbol[];
+    }
+
+    /**
+     * The document symbol provider interface defines the contract between extensions and
+     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
+     */
+    export interface DocumentSymbolProvider {
+        displayName?: string;
+        /**
+         * Provide symbol information for the given document.
+         */
+        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
+    }
+
+    export type TextEdit = {
+        range: IRange;
+        text: string;
+        eol?: editor.EndOfLineSequence;
+    };
+
+    /**
+     * Interface used to format a model
+     */
+    export interface FormattingOptions {
+        /**
+         * Size of a tab in spaces.
+         */
+        tabSize: number;
+        /**
+         * Prefer spaces over tabs.
+         */
+        insertSpaces: boolean;
+    }
+
+    /**
+     * The document formatting provider interface defines the contract between extensions and
+     * the formatting-feature.
+     */
+    export interface DocumentFormattingEditProvider {
+        readonly displayName?: string;
+        /**
+         * Provide formatting edits for a whole document.
+         */
+        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
+    }
+
+    /**
+     * The document formatting provider interface defines the contract between extensions and
+     * the formatting-feature.
+     */
+    export interface DocumentRangeFormattingEditProvider {
+        readonly displayName?: string;
+        /**
+         * Provide formatting edits for a range in a document.
+         *
+         * The given range is a hint and providers can decide to format a smaller
+         * or larger range. Often this is done by adjusting the start and end
+         * of the range to full syntax nodes.
+         */
+        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
+    }
+
+    /**
+     * The document formatting provider interface defines the contract between extensions and
+     * the formatting-feature.
+     */
+    export interface OnTypeFormattingEditProvider {
+        autoFormatTriggerCharacters: string[];
+        /**
+         * Provide formatting edits after a character has been typed.
+         *
+         * The given position and character should hint to the provider
+         * what range the position to expand to, like find the matching `{`
+         * when `}` has been entered.
+         */
+        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
+    }
+
+    /**
+     * A link inside the editor.
+     */
+    export interface ILink {
+        range: IRange;
+        url?: Uri | string;
+        tooltip?: string;
+    }
+
+    export interface ILinksList {
+        links: ILink[];
+        dispose?(): void;
+    }
+
+    /**
+     * A provider of links.
+     */
+    export interface LinkProvider {
+        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
+        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
+    }
+
+    /**
+     * A color in RGBA format.
+     */
+    export interface IColor {
+        /**
+         * The red component in the range [0-1].
+         */
+        readonly red: number;
+        /**
+         * The green component in the range [0-1].
+         */
+        readonly green: number;
+        /**
+         * The blue component in the range [0-1].
+         */
+        readonly blue: number;
+        /**
+         * The alpha component in the range [0-1].
+         */
+        readonly alpha: number;
+    }
+
+    /**
+     * String representations for a color
+     */
+    export interface IColorPresentation {
+        /**
+         * The label of this color presentation. It will be shown on the color
+         * picker header. By default this is also the text that is inserted when selecting
+         * this color presentation.
+         */
+        label: string;
+        /**
+         * An {@link TextEdit edit} which is applied to a document when selecting
+         * this presentation for the color.
+         */
+        textEdit?: TextEdit;
+        /**
+         * An optional array of additional {@link TextEdit text edits} that are applied when
+         * selecting this color presentation.
+         */
+        additionalTextEdits?: TextEdit[];
+    }
+
+    /**
+     * A color range is a range in a text model which represents a color.
+     */
+    export interface IColorInformation {
+        /**
+         * The range within the model.
+         */
+        range: IRange;
+        /**
+         * The color represented in this range.
+         */
+        color: IColor;
+    }
+
+    /**
+     * A provider of colors for editor models.
+     */
+    export interface DocumentColorProvider {
+        /**
+         * Provides the color ranges for a specific model.
+         */
+        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
+        /**
+         * Provide the string representations for a color.
+         */
+        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
+    }
+
+    export interface SelectionRange {
+        range: IRange;
+    }
+
+    export interface SelectionRangeProvider {
+        /**
+         * Provide ranges that should be selected from the given position.
+         */
+        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
+    }
+
+    export interface FoldingContext {
+    }
+
+    /**
+     * A provider of folding ranges for editor models.
+     */
+    export interface FoldingRangeProvider {
+        /**
+         * An optional event to signal that the folding ranges from this provider have changed.
+         */
+        onDidChange?: IEvent<this>;
+        /**
+         * Provides the folding ranges for a specific model.
+         */
+        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
+    }
+
+    export interface FoldingRange {
+        /**
+         * The one-based start line of the range to fold. The folded area starts after the line's last character.
+         */
+        start: number;
+        /**
+         * The one-based end line of the range to fold. The folded area ends with the line's last character.
+         */
+        end: number;
+        /**
+         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
+         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
+         * like 'Fold all comments'. See
+         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
+         */
+        kind?: FoldingRangeKind;
+    }
+
+    export class FoldingRangeKind {
+        value: string;
+        /**
+         * Kind for folding range representing a comment. The value of the kind is 'comment'.
+         */
+        static readonly Comment: FoldingRangeKind;
+        /**
+         * Kind for folding range representing a import. The value of the kind is 'imports'.
+         */
+        static readonly Imports: FoldingRangeKind;
+        /**
+         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
+         * The value of the kind is 'region'.
+         */
+        static readonly Region: FoldingRangeKind;
+        /**
+         * Creates a new {@link FoldingRangeKind}.
+         *
+         * @param value of the kind.
+         */
+        constructor(value: string);
+    }
+
+    export interface WorkspaceEditMetadata {
+        needsConfirmation: boolean;
+        label: string;
+        description?: string;
+    }
+
+    export interface WorkspaceFileEditOptions {
+        overwrite?: boolean;
+        ignoreIfNotExists?: boolean;
+        ignoreIfExists?: boolean;
+        recursive?: boolean;
+        copy?: boolean;
+        folder?: boolean;
+        skipTrashBin?: boolean;
+        maxSize?: number;
+    }
+
+    export interface WorkspaceFileEdit {
+        oldUri?: Uri;
+        newUri?: Uri;
+        options?: WorkspaceFileEditOptions;
+        metadata?: WorkspaceEditMetadata;
+    }
+
+    export interface WorkspaceTextEdit {
+        resource: Uri;
+        edit: TextEdit;
+        modelVersionId?: number;
+        metadata?: WorkspaceEditMetadata;
+    }
+
+    export interface WorkspaceEdit {
+        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
+    }
+
+    export interface Rejection {
+        rejectReason?: string;
+    }
+
+    export interface RenameLocation {
+        range: IRange;
+        text: string;
+    }
+
+    export interface RenameProvider {
+        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
+        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
+    }
+
+    export interface Command {
+        id: string;
+        title: string;
+        tooltip?: string;
+        arguments?: any[];
+    }
+
+    export interface CodeLens {
+        range: IRange;
+        id?: string;
+        command?: Command;
+    }
+
+    export interface CodeLensList {
+        lenses: CodeLens[];
+        dispose(): void;
+    }
+
+    export interface CodeLensProvider {
+        onDidChange?: IEvent<this>;
+        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
+        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
+    }
+
+    export enum InlayHintKind {
+        Other = 0,
+        Type = 1,
+        Parameter = 2
+    }
+
+    export interface InlayHint {
+        text: string;
+        position: IPosition;
+        kind: InlayHintKind;
+        whitespaceBefore?: boolean;
+        whitespaceAfter?: boolean;
+    }
+
+    export interface InlayHintsProvider {
+        onDidChangeInlayHints?: IEvent<void>;
+        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
+    }
+
+    export interface SemanticTokensLegend {
+        readonly tokenTypes: string[];
+        readonly tokenModifiers: string[];
+    }
+
+    export interface SemanticTokens {
+        readonly resultId?: string;
+        readonly data: Uint32Array;
+    }
+
+    export interface SemanticTokensEdit {
+        readonly start: number;
+        readonly deleteCount: number;
+        readonly data?: Uint32Array;
+    }
+
+    export interface SemanticTokensEdits {
+        readonly resultId?: string;
+        readonly edits: SemanticTokensEdit[];
+    }
+
+    export interface DocumentSemanticTokensProvider {
+        onDidChange?: IEvent<void>;
+        getLegend(): SemanticTokensLegend;
+        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
+        releaseDocumentSemanticTokens(resultId: string | undefined): void;
+    }
+
+    export interface DocumentRangeSemanticTokensProvider {
+        getLegend(): SemanticTokensLegend;
+        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
+    }
+
+    export interface ILanguageExtensionPoint {
+        id: string;
+        extensions?: string[];
+        filenames?: string[];
+        filenamePatterns?: string[];
+        firstLine?: string;
+        aliases?: string[];
+        mimetypes?: string[];
+        configuration?: Uri;
+    }
+    /**
+     * A Monarch language definition
+     */
+    export interface IMonarchLanguage {
+        /**
+         * map from string to ILanguageRule[]
+         */
+        tokenizer: {
+            [name: string]: IMonarchLanguageRule[];
+        };
+        /**
+         * is the language case insensitive?
+         */
+        ignoreCase?: boolean;
+        /**
+         * is the language unicode-aware? (i.e., /\u{1D306}/)
+         */
+        unicode?: boolean;
+        /**
+         * if no match in the tokenizer assign this token class (default 'source')
+         */
+        defaultToken?: string;
+        /**
+         * for example [['{','}','delimiter.curly']]
+         */
+        brackets?: IMonarchLanguageBracket[];
+        /**
+         * start symbol in the tokenizer (by default the first entry is used)
+         */
+        start?: string;
+        /**
+         * attach this to every token class (by default '.' + name)
+         */
+        tokenPostfix?: string;
+        /**
+         * include line feeds (in the form of a \n character) at the end of lines
+         * Defaults to false
+         */
+        includeLF?: boolean;
+        /**
+         * Other keys that can be referred to by the tokenizer.
+         */
+        [key: string]: any;
+    }
+
+    /**
+     * A rule is either a regular expression and an action
+     * 		shorthands: [reg,act] == { regex: reg, action: act}
+     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
+     */
+    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
+
+    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
+
+    export interface IExpandedMonarchLanguageRule {
+        /**
+         * match tokens
+         */
+        regex?: string | RegExp;
+        /**
+         * action to take on match
+         */
+        action?: IMonarchLanguageAction;
+        /**
+         * or an include rule. include all rules from the included state
+         */
+        include?: string;
+    }
+
+    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
+
+    /**
+     * An action is either an array of actions...
+     * ... or a case statement with guards...
+     * ... or a basic action with a token value.
+     */
+    export type IShortMonarchLanguageAction = string;
+
+    export interface IExpandedMonarchLanguageAction {
+        /**
+         * array of actions for each parenthesized match group
+         */
+        group?: IMonarchLanguageAction[];
+        /**
+         * map from string to ILanguageAction
+         */
+        cases?: Object;
+        /**
+         * token class (ie. css class) (or "@brackets" or "@rematch")
+         */
+        token?: string;
+        /**
+         * the next state to push, or "@push", "@pop", "@popall"
+         */
+        next?: string;
+        /**
+         * switch to this state
+         */
+        switchTo?: string;
+        /**
+         * go back n characters in the stream
+         */
+        goBack?: number;
+        /**
+         * @open or @close
+         */
+        bracket?: string;
+        /**
+         * switch to embedded language (using the mimetype) or get out using "@pop"
+         */
+        nextEmbedded?: string;
+        /**
+         * log a message to the browser console window
+         */
+        log?: string;
+    }
+
+    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
+
+    /**
+     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
+     */
+    export interface IMonarchLanguageBracket {
+        /**
+         * open bracket
+         */
+        open: string;
+        /**
+         * closing bracket
+         */
+        close: string;
+        /**
+         * token class
+         */
+        token: string;
+    }
+
+}
+
+declare namespace monaco.worker {
+
+
+    export interface IMirrorTextModel {
+        readonly version: number;
+    }
+
+    export interface IMirrorModel extends IMirrorTextModel {
+        readonly uri: Uri;
+        readonly version: number;
+        getValue(): string;
+    }
+
+    export interface IWorkerContext<H = undefined> {
+        /**
+         * A proxy to the main thread host object.
+         */
+        host: H;
+        /**
+         * Get all available mirror models in this worker.
+         */
+        getMirrorModels(): IMirrorModel[];
+    }
+
+}
+
+//dtsv=3
+
+/*---------------------------------------------------------------------------------------------
+ *  Copyright (c) Microsoft Corporation. All rights reserved.
+ *  Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+declare namespace monaco.languages.typescript {
+    export enum ModuleKind {
+        None = 0,
+        CommonJS = 1,
+        AMD = 2,
+        UMD = 3,
+        System = 4,
+        ES2015 = 5,
+        ESNext = 99
+    }
+    export enum JsxEmit {
+        None = 0,
+        Preserve = 1,
+        React = 2,
+        ReactNative = 3,
+        ReactJSX = 4,
+        ReactJSXDev = 5
+    }
+    export enum NewLineKind {
+        CarriageReturnLineFeed = 0,
+        LineFeed = 1
+    }
+    export enum ScriptTarget {
+        ES3 = 0,
+        ES5 = 1,
+        ES2015 = 2,
+        ES2016 = 3,
+        ES2017 = 4,
+        ES2018 = 5,
+        ES2019 = 6,
+        ES2020 = 7,
+        ESNext = 99,
+        JSON = 100,
+        Latest = 99
+    }
+    export enum ModuleResolutionKind {
+        Classic = 1,
+        NodeJs = 2
+    }
+    interface MapLike<T> {
+        [index: string]: T;
+    }
+    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
+    interface CompilerOptions {
+        allowJs?: boolean;
+        allowSyntheticDefaultImports?: boolean;
+        allowUmdGlobalAccess?: boolean;
+        allowUnreachableCode?: boolean;
+        allowUnusedLabels?: boolean;
+        alwaysStrict?: boolean;
+        baseUrl?: string;
+        charset?: string;
+        checkJs?: boolean;
+        declaration?: boolean;
+        declarationMap?: boolean;
+        emitDeclarationOnly?: boolean;
+        declarationDir?: string;
+        disableSizeLimit?: boolean;
+        disableSourceOfProjectReferenceRedirect?: boolean;
+        downlevelIteration?: boolean;
+        emitBOM?: boolean;
+        emitDecoratorMetadata?: boolean;
+        experimentalDecorators?: boolean;
+        forceConsistentCasingInFileNames?: boolean;
+        importHelpers?: boolean;
+        inlineSourceMap?: boolean;
+        inlineSources?: boolean;
+        isolatedModules?: boolean;
+        jsx?: JsxEmit;
+        keyofStringsOnly?: boolean;
+        lib?: string[];
+        locale?: string;
+        mapRoot?: string;
+        maxNodeModuleJsDepth?: number;
+        module?: ModuleKind;
+        moduleResolution?: ModuleResolutionKind;
+        newLine?: NewLineKind;
+        noEmit?: boolean;
+        noEmitHelpers?: boolean;
+        noEmitOnError?: boolean;
+        noErrorTruncation?: boolean;
+        noFallthroughCasesInSwitch?: boolean;
+        noImplicitAny?: boolean;
+        noImplicitReturns?: boolean;
+        noImplicitThis?: boolean;
+        noStrictGenericChecks?: boolean;
+        noUnusedLocals?: boolean;
+        noUnusedParameters?: boolean;
+        noImplicitUseStrict?: boolean;
+        noLib?: boolean;
+        noResolve?: boolean;
+        out?: string;
+        outDir?: string;
+        outFile?: string;
+        paths?: MapLike<string[]>;
+        preserveConstEnums?: boolean;
+        preserveSymlinks?: boolean;
+        project?: string;
+        reactNamespace?: string;
+        jsxFactory?: string;
+        composite?: boolean;
+        removeComments?: boolean;
+        rootDir?: string;
+        rootDirs?: string[];
+        skipLibCheck?: boolean;
+        skipDefaultLibCheck?: boolean;
+        sourceMap?: boolean;
+        sourceRoot?: string;
+        strict?: boolean;
+        strictFunctionTypes?: boolean;
+        strictBindCallApply?: boolean;
+        strictNullChecks?: boolean;
+        strictPropertyInitialization?: boolean;
+        stripInternal?: boolean;
+        suppressExcessPropertyErrors?: boolean;
+        suppressImplicitAnyIndexErrors?: boolean;
+        target?: ScriptTarget;
+        traceResolution?: boolean;
+        resolveJsonModule?: boolean;
+        types?: string[];
+        /** Paths used to compute primary types search locations */
+        typeRoots?: string[];
+        esModuleInterop?: boolean;
+        useDefineForClassFields?: boolean;
+        [option: string]: CompilerOptionsValue | undefined;
+    }
+    export interface DiagnosticsOptions {
+        noSemanticValidation?: boolean;
+        noSyntaxValidation?: boolean;
+        noSuggestionDiagnostics?: boolean;
+        /**
+         * Limit diagnostic computation to only visible files.
+         * Defaults to false.
+         */
+        onlyVisible?: boolean;
+        diagnosticCodesToIgnore?: number[];
+    }
+    export interface WorkerOptions {
+        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
+        customWorkerPath?: string;
+    }
+    interface InlayHintsOptions {
+        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
+        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
+        readonly includeInlayFunctionParameterTypeHints?: boolean;
+        readonly includeInlayVariableTypeHints?: boolean;
+        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
+        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
+        readonly includeInlayEnumMemberValueHints?: boolean;
+    }
+    interface IExtraLib {
+        content: string;
+        version: number;
+    }
+    export interface IExtraLibs {
+        [path: string]: IExtraLib;
+    }
+    /**
+     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
+     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
+     */
+    interface DiagnosticMessageChain {
+        messageText: string;
+        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
+        category: 0 | 1 | 2 | 3;
+        code: number;
+        next?: DiagnosticMessageChain[];
+    }
+    export interface Diagnostic extends DiagnosticRelatedInformation {
+        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
+        reportsUnnecessary?: {};
+        reportsDeprecated?: {};
+        source?: string;
+        relatedInformation?: DiagnosticRelatedInformation[];
+    }
+    export interface DiagnosticRelatedInformation {
+        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
+        category: 0 | 1 | 2 | 3;
+        code: number;
+        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
+        file: {
+            fileName: string;
+        } | undefined;
+        start: number | undefined;
+        length: number | undefined;
+        messageText: string | DiagnosticMessageChain;
+    }
+    interface EmitOutput {
+        outputFiles: OutputFile[];
+        emitSkipped: boolean;
+    }
+    interface OutputFile {
+        name: string;
+        writeByteOrderMark: boolean;
+        text: string;
+    }
+    export interface LanguageServiceDefaults {
+        /**
+         * Event fired when compiler options or diagnostics options are changed.
+         */
+        readonly onDidChange: IEvent<void>;
+        /**
+         * Event fired when extra libraries registered with the language service change.
+         */
+        readonly onDidExtraLibsChange: IEvent<void>;
+        readonly workerOptions: WorkerOptions;
+        readonly inlayHintsOptions: InlayHintsOptions;
+        /**
+         * Get the current extra libs registered with the language service.
+         */
+        getExtraLibs(): IExtraLibs;
+        /**
+         * Add an additional source file to the language service. Use this
+         * for typescript (definition) files that won't be loaded as editor
+         * documents, like `jquery.d.ts`.
+         *
+         * @param content The file content
+         * @param filePath An optional file path
+         * @returns A disposable which will remove the file from the
+         * language service upon disposal.
+         */
+        addExtraLib(content: string, filePath?: string): IDisposable;
+        /**
+         * Remove all existing extra libs and set the additional source
+         * files to the language service. Use this for typescript definition
+         * files that won't be loaded as editor documents, like `jquery.d.ts`.
+         * @param libs An array of entries to register.
+         */
+        setExtraLibs(libs: {
+            content: string;
+            filePath?: string;
+        }[]): void;
+        /**
+         * Get current TypeScript compiler options for the language service.
+         */
+        getCompilerOptions(): CompilerOptions;
+        /**
+         * Set TypeScript compiler options.
+         */
+        setCompilerOptions(options: CompilerOptions): void;
+        /**
+         * Get the current diagnostics options for the language service.
+         */
+        getDiagnosticsOptions(): DiagnosticsOptions;
+        /**
+         * Configure whether syntactic and/or semantic validation should
+         * be performed
+         */
+        setDiagnosticsOptions(options: DiagnosticsOptions): void;
+        /**
+         * Configure webworker options
+         */
+        setWorkerOptions(options: WorkerOptions): void;
+        /**
+         * No-op.
+         */
+        setMaximumWorkerIdleTime(value: number): void;
+        /**
+         * Configure if all existing models should be eagerly sync'd
+         * to the worker on start or restart.
+         */
+        setEagerModelSync(value: boolean): void;
+        /**
+         * Get the current setting for whether all existing models should be eagerly sync'd
+         * to the worker on start or restart.
+         */
+        getEagerModelSync(): boolean;
+        /**
+         * Configure inlay hints options.
+         */
+        setInlayHintsOptions(options: InlayHintsOptions): void;
+    }
+    export interface TypeScriptWorker {
+        /**
+         * Get diagnostic messages for any syntax issues in the given file.
+         */
+        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
+        /**
+         * Get diagnostic messages for any semantic issues in the given file.
+         */
+        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
+        /**
+         * Get diagnostic messages for any suggestions related to the given file.
+         */
+        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
+        /**
+         * Get the content of a given file.
+         */
+        getScriptText(fileName: string): Promise<string | undefined>;
+        /**
+         * Get diagnostic messages related to the current compiler options.
+         * @param fileName Not used
+         */
+        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
+        /**
+         * Get code completions for the given file and position.
+         * @returns `Promise<typescript.CompletionInfo | undefined>`
+         */
+        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
+        /**
+         * Get code completion details for the given file, position, and entry.
+         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
+         */
+        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
+        /**
+         * Get signature help items for the item at the given file and position.
+         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
+         */
+        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
+        /**
+         * Get quick info for the item at the given position in the file.
+         * @returns `Promise<typescript.QuickInfo | undefined>`
+         */
+        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
+        /**
+         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
+         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
+         */
+        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
+        /**
+         * Get the definition of the item at the given position in the file.
+         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
+         */
+        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
+        /**
+         * Get references to the item at the given position in the file.
+         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
+         */
+        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
+        /**
+         * Get outline entries for the item at the given position in the file.
+         * @returns `Promise<typescript.NavigationBarItem[]>`
+         */
+        getNavigationBarItems(fileName: string): Promise<any[]>;
+        /**
+         * Get changes which should be applied to format the given file.
+         * @param options `typescript.FormatCodeOptions`
+         * @returns `Promise<typescript.TextChange[]>`
+         */
+        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
+        /**
+         * Get changes which should be applied to format the given range in the file.
+         * @param options `typescript.FormatCodeOptions`
+         * @returns `Promise<typescript.TextChange[]>`
+         */
+        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
+        /**
+         * Get formatting changes which should be applied after the given keystroke.
+         * @param options `typescript.FormatCodeOptions`
+         * @returns `Promise<typescript.TextChange[]>`
+         */
+        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
+        /**
+         * Get other occurrences which should be updated when renaming the item at the given file and position.
+         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
+         */
+        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
+        /**
+         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
+         * @param options `typescript.RenameInfoOptions`
+         * @returns `Promise<typescript.RenameInfo>`
+         */
+        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
+        /**
+         * Get transpiled output for the given file.
+         * @returns `typescript.EmitOutput`
+         */
+        getEmitOutput(fileName: string): Promise<EmitOutput>;
+        /**
+         * Get possible code fixes at the given position in the file.
+         * @param formatOptions `typescript.FormatCodeOptions`
+         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
+         */
+        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
+        /**
+         * Get inlay hints in the range of the file.
+         * @param fileName
+         * @returns `Promise<typescript.InlayHint[]>`
+         */
+        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
+    }
+    export const typescriptVersion: string;
+    export const typescriptDefaults: LanguageServiceDefaults;
+    export const javascriptDefaults: LanguageServiceDefaults;
+    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
+    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
+}
+
+/*---------------------------------------------------------------------------------------------
+ *  Copyright (c) Microsoft Corporation. All rights reserved.
+ *  Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+declare namespace monaco.languages.css {
+    export interface Options {
+        readonly validate?: boolean;
+        readonly lint?: {
+            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
+            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
+            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
+            readonly emptyRules?: 'ignore' | 'warning' | 'error';
+            readonly importStatement?: 'ignore' | 'warning' | 'error';
+            readonly boxModel?: 'ignore' | 'warning' | 'error';
+            readonly universalSelector?: 'ignore' | 'warning' | 'error';
+            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
+            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
+            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
+            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
+            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
+            readonly ieHack?: 'ignore' | 'warning' | 'error';
+            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
+            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
+            readonly important?: 'ignore' | 'warning' | 'error';
+            readonly float?: 'ignore' | 'warning' | 'error';
+            readonly idSelector?: 'ignore' | 'warning' | 'error';
+        };
+        /**
+         * Configures the CSS data types known by the langauge service.
+         */
+        readonly data?: CSSDataConfiguration;
+    }
+    export interface ModeConfiguration {
+        /**
+         * Defines whether the built-in completionItemProvider is enabled.
+         */
+        readonly completionItems?: boolean;
+        /**
+         * Defines whether the built-in hoverProvider is enabled.
+         */
+        readonly hovers?: boolean;
+        /**
+         * Defines whether the built-in documentSymbolProvider is enabled.
+         */
+        readonly documentSymbols?: boolean;
+        /**
+         * Defines whether the built-in definitions provider is enabled.
+         */
+        readonly definitions?: boolean;
+        /**
+         * Defines whether the built-in references provider is enabled.
+         */
+        readonly references?: boolean;
+        /**
+         * Defines whether the built-in references provider is enabled.
+         */
+        readonly documentHighlights?: boolean;
+        /**
+         * Defines whether the built-in rename provider is enabled.
+         */
+        readonly rename?: boolean;
+        /**
+         * Defines whether the built-in color provider is enabled.
+         */
+        readonly colors?: boolean;
+        /**
+         * Defines whether the built-in foldingRange provider is enabled.
+         */
+        readonly foldingRanges?: boolean;
+        /**
+         * Defines whether the built-in diagnostic provider is enabled.
+         */
+        readonly diagnostics?: boolean;
+        /**
+         * Defines whether the built-in selection range provider is enabled.
+         */
+        readonly selectionRanges?: boolean;
+    }
+    export interface LanguageServiceDefaults {
+        readonly languageId: string;
+        readonly onDidChange: IEvent<LanguageServiceDefaults>;
+        readonly modeConfiguration: ModeConfiguration;
+        readonly options: Options;
+        setOptions(options: Options): void;
+        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
+        /** @deprecated Use options instead */
+        readonly diagnosticsOptions: DiagnosticsOptions;
+        /** @deprecated Use setOptions instead */
+        setDiagnosticsOptions(options: DiagnosticsOptions): void;
+    }
+    /** @deprecated Use Options instead */
+    export type DiagnosticsOptions = Options;
+    export const cssDefaults: LanguageServiceDefaults;
+    export const scssDefaults: LanguageServiceDefaults;
+    export const lessDefaults: LanguageServiceDefaults;
+    export interface CSSDataConfiguration {
+        /**
+         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
+         */
+        useDefaultDataProvider?: boolean;
+        /**
+         * Provides a set of custom data providers.
+         */
+        dataProviders?: {
+            [providerId: string]: CSSDataV1;
+        };
+    }
+    /**
+     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
+     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
+     */
+    export interface CSSDataV1 {
+        version: 1 | 1.1;
+        properties?: IPropertyData[];
+        atDirectives?: IAtDirectiveData[];
+        pseudoClasses?: IPseudoClassData[];
+        pseudoElements?: IPseudoElementData[];
+    }
+    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
+    export interface IReference {
+        name: string;
+        url: string;
+    }
+    export interface IPropertyData {
+        name: string;
+        description?: string | MarkupContent;
+        browsers?: string[];
+        restrictions?: string[];
+        status?: EntryStatus;
+        syntax?: string;
+        values?: IValueData[];
+        references?: IReference[];
+        relevance?: number;
+    }
+    export interface IAtDirectiveData {
+        name: string;
+        description?: string | MarkupContent;
+        browsers?: string[];
+        status?: EntryStatus;
+        references?: IReference[];
+    }
+    export interface IPseudoClassData {
+        name: string;
+        description?: string | MarkupContent;
+        browsers?: string[];
+        status?: EntryStatus;
+        references?: IReference[];
+    }
+    export interface IPseudoElementData {
+        name: string;
+        description?: string | MarkupContent;
+        browsers?: string[];
+        status?: EntryStatus;
+        references?: IReference[];
+    }
+    export interface IValueData {
+        name: string;
+        description?: string | MarkupContent;
+        browsers?: string[];
+        status?: EntryStatus;
+        references?: IReference[];
+    }
+    export interface MarkupContent {
+        kind: MarkupKind;
+        value: string;
+    }
+    export type MarkupKind = 'plaintext' | 'markdown';
+}
+
+/*---------------------------------------------------------------------------------------------
+ *  Copyright (c) Microsoft Corporation. All rights reserved.
+ *  Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+declare namespace monaco.languages.json {
+    export interface DiagnosticsOptions {
+        /**
+         * If set, the validator will be enabled and perform syntax and schema based validation,
+         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
+         */
+        readonly validate?: boolean;
+        /**
+         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
+         * `DiagnosticsOptions.allowComments` will override this setting.
+         */
+        readonly allowComments?: boolean;
+        /**
+         * A list of known schemas and/or associations of schemas to file names.
+         */
+        readonly schemas?: {
+            /**
+             * The URI of the schema, which is also the identifier of the schema.
+             */
+            readonly uri: string;
+            /**
+             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
+             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
+             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
+             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
+             */
+            readonly fileMatch?: string[];
+            /**
+             * The schema for the given URI.
+             */
+            readonly schema?: any;
+        }[];
+        /**
+         *  If set, the schema service would load schema content on-demand with 'fetch' if available
+         */
+        readonly enableSchemaRequest?: boolean;
+        /**
+         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
+         */
+        readonly schemaValidation?: SeverityLevel;
+        /**
+         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
+         */
+        readonly schemaRequest?: SeverityLevel;
+        /**
+         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
+         */
+        readonly trailingCommas?: SeverityLevel;
+        /**
+         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
+         */
+        readonly comments?: SeverityLevel;
+    }
+    export type SeverityLevel = 'error' | 'warning' | 'ignore';
+    export interface ModeConfiguration {
+        /**
+         * Defines whether the built-in documentFormattingEdit provider is enabled.
+         */
+        readonly documentFormattingEdits?: boolean;
+        /**
+         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
+         */
+        readonly documentRangeFormattingEdits?: boolean;
+        /**
+         * Defines whether the built-in completionItemProvider is enabled.
+         */
+        readonly completionItems?: boolean;
+        /**
+         * Defines whether the built-in hoverProvider is enabled.
+         */
+        readonly hovers?: boolean;
+        /**
+         * Defines whether the built-in documentSymbolProvider is enabled.
+         */
+        readonly documentSymbols?: boolean;
+        /**
+         * Defines whether the built-in tokens provider is enabled.
+         */
+        readonly tokens?: boolean;
+        /**
+         * Defines whether the built-in color provider is enabled.
+         */
+        readonly colors?: boolean;
+        /**
+         * Defines whether the built-in foldingRange provider is enabled.
+         */
+        readonly foldingRanges?: boolean;
+        /**
+         * Defines whether the built-in diagnostic provider is enabled.
+         */
+        readonly diagnostics?: boolean;
+        /**
+         * Defines whether the built-in selection range provider is enabled.
+         */
+        readonly selectionRanges?: boolean;
+    }
+    export interface LanguageServiceDefaults {
+        readonly languageId: string;
+        readonly onDidChange: IEvent<LanguageServiceDefaults>;
+        readonly diagnosticsOptions: DiagnosticsOptions;
+        readonly modeConfiguration: ModeConfiguration;
+        setDiagnosticsOptions(options: DiagnosticsOptions): void;
+        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
+    }
+    export const jsonDefaults: LanguageServiceDefaults;
+}
+
+/*---------------------------------------------------------------------------------------------
+ *  Copyright (c) Microsoft Corporation. All rights reserved.
+ *  Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+declare namespace monaco.languages.html {
+    export interface HTMLFormatConfiguration {
+        readonly tabSize: number;
+        readonly insertSpaces: boolean;
+        readonly wrapLineLength: number;
+        readonly unformatted: string;
+        readonly contentUnformatted: string;
+        readonly indentInnerHtml: boolean;
+        readonly preserveNewLines: boolean;
+        readonly maxPreserveNewLines: number | undefined;
+        readonly indentHandlebars: boolean;
+        readonly endWithNewline: boolean;
+        readonly extraLiners: string;
+        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
+    }
+    export interface CompletionConfiguration {
+        readonly [providerId: string]: boolean;
+    }
+    export interface Options {
+        /**
+         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
+         */
+        readonly format?: HTMLFormatConfiguration;
+        /**
+         * A list of known schemas and/or associations of schemas to file names.
+         */
+        readonly suggest?: CompletionConfiguration;
+        /**
+         * Configures the HTML data types known by the HTML langauge service.
+         */
+        readonly data?: HTMLDataConfiguration;
+    }
+    export interface ModeConfiguration {
+        /**
+         * Defines whether the built-in completionItemProvider is enabled.
+         */
+        readonly completionItems?: boolean;
+        /**
+         * Defines whether the built-in hoverProvider is enabled.
+         */
+        readonly hovers?: boolean;
+        /**
+         * Defines whether the built-in documentSymbolProvider is enabled.
+         */
+        readonly documentSymbols?: boolean;
+        /**
+         * Defines whether the built-in definitions provider is enabled.
+         */
+        readonly links?: boolean;
+        /**
+         * Defines whether the built-in references provider is enabled.
+         */
+        readonly documentHighlights?: boolean;
+        /**
+         * Defines whether the built-in rename provider is enabled.
+         */
+        readonly rename?: boolean;
+        /**
+         * Defines whether the built-in color provider is enabled.
+         */
+        readonly colors?: boolean;
+        /**
+         * Defines whether the built-in foldingRange provider is enabled.
+         */
+        readonly foldingRanges?: boolean;
+        /**
+         * Defines whether the built-in diagnostic provider is enabled.
+         */
+        readonly diagnostics?: boolean;
+        /**
+         * Defines whether the built-in selection range provider is enabled.
+         */
+        readonly selectionRanges?: boolean;
+        /**
+         * Defines whether the built-in documentFormattingEdit provider is enabled.
+         */
+        readonly documentFormattingEdits?: boolean;
+        /**
+         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
+         */
+        readonly documentRangeFormattingEdits?: boolean;
+    }
+    export interface LanguageServiceDefaults {
+        readonly languageId: string;
+        readonly modeConfiguration: ModeConfiguration;
+        readonly onDidChange: IEvent<LanguageServiceDefaults>;
+        readonly options: Options;
+        setOptions(options: Options): void;
+        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
+    }
+    export const htmlLanguageService: LanguageServiceRegistration;
+    export const htmlDefaults: LanguageServiceDefaults;
+    export const handlebarLanguageService: LanguageServiceRegistration;
+    export const handlebarDefaults: LanguageServiceDefaults;
+    export const razorLanguageService: LanguageServiceRegistration;
+    export const razorDefaults: LanguageServiceDefaults;
+    export interface LanguageServiceRegistration extends IDisposable {
+        readonly defaults: LanguageServiceDefaults;
+    }
+    /**
+     * Registers a new HTML language service for the languageId.
+     * Note: 'html', 'handlebar' and 'razor' are registered by default.
+     *
+     * Use this method to register additional language ids with a HTML service.
+     * The language server has to be registered before an editor model is opened.
+     */
+    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
+    export interface HTMLDataConfiguration {
+        /**
+         * Defines whether the standard HTML tags and attributes are shown
+         */
+        readonly useDefaultDataProvider?: boolean;
+        /**
+         * Provides a set of custom data providers.
+         */
+        readonly dataProviders?: {
+            [providerId: string]: HTMLDataV1;
+        };
+    }
+    /**
+     * Custom HTML tags attributes and attribute values
+     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
+     */
+    export interface HTMLDataV1 {
+        readonly version: 1 | 1.1;
+        readonly tags?: ITagData[];
+        readonly globalAttributes?: IAttributeData[];
+        readonly valueSets?: IValueSet[];
+    }
+    export interface IReference {
+        readonly name: string;
+        readonly url: string;
+    }
+    export interface ITagData {
+        readonly name: string;
+        readonly description?: string | MarkupContent;
+        readonly attributes: IAttributeData[];
+        readonly references?: IReference[];
+    }
+    export interface IAttributeData {
+        readonly name: string;
+        readonly description?: string | MarkupContent;
+        readonly valueSet?: string;
+        readonly values?: IValueData[];
+        readonly references?: IReference[];
+    }
+    export interface IValueData {
+        readonly name: string;
+        readonly description?: string | MarkupContent;
+        readonly references?: IReference[];
+    }
+    export interface IValueSet {
+        readonly name: string;
+        readonly values: IValueData[];
+    }
+    export interface MarkupContent {
+        readonly kind: MarkupKind;
+        readonly value: string;
+    }
+    export type MarkupKind = 'plaintext' | 'markdown';
+}
+
+
+
+ + + + + + + + +
+
+

results matching ""

+
    +
    +
    +

    No results matching ""

    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/Emitter.html b/docs/api-reference/classes/Emitter.html new file mode 100644 index 00000000..98db4a1b --- /dev/null +++ b/docs/api-reference/classes/Emitter.html @@ -0,0 +1,8146 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
    +
    + + +
    +
    + + + + + + + + + + + + + + + +
    +
    +

    +

    File

    +

    +

    + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

    + + +

    +

    Description

    +

    +

    +

    A helper that allows to emit and listen to typed events

    + +

    + + + + +
    +

    Index

    + + + + + + + + + + + + + + + + + + + + + +
    +
    Properties
    +
    +
      +
    • + Readonly + event +
    • +
    +
    +
    Methods
    +
    + +
    +
    + +
    +

    Constructor

    + + + + + + + + + + +
    +constructor() +
    + +
    +
    + +
    + +

    + Properties +

    + + + + + + + + + + + + + + +
    + + + Readonly + event + + +
    + Type : IEvent<T> + +
    + +
    +
    + +
    + +

    + Methods +

    + + + + + + + + + + + + + + + + + + + +
    + + + dispose + + +
    +dispose() +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + + +
    + + + fire + + +
    +fire(event: T) +
    + +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + +
    NameTypeOptional
    event + T + + No +
    +
    +
    +
    +
    + Returns : void + +
    +
    + +
    +
    +
    + + + + + +
    + + +
    +
    declare let MonacoEnvironment: monaco.Environment | undefined;
    +
    +interface Window {
    +    MonacoEnvironment?: monaco.Environment | undefined;
    +}
    +
    +declare namespace monaco {
    +
    +    export type Thenable<T> = PromiseLike<T>;
    +
    +    export interface Environment {
    +        globalAPI?: boolean;
    +        baseUrl?: string;
    +        getWorker?(workerId: string, label: string): Worker;
    +        getWorkerUrl?(workerId: string, label: string): string;
    +    }
    +
    +    export interface IDisposable {
    +        dispose(): void;
    +    }
    +
    +    export interface IEvent<T> {
    +        (listener: (e: T) => any, thisArg?: any): IDisposable;
    +    }
    +
    +    /**
    +     * A helper that allows to emit and listen to typed events
    +     */
    +    export class Emitter<T> {
    +        constructor();
    +        readonly event: IEvent<T>;
    +        fire(event: T): void;
    +        dispose(): void;
    +    }
    +
    +
    +    export enum MarkerTag {
    +        Unnecessary = 1,
    +        Deprecated = 2
    +    }
    +
    +    export enum MarkerSeverity {
    +        Hint = 1,
    +        Info = 2,
    +        Warning = 4,
    +        Error = 8
    +    }
    +
    +    export class CancellationTokenSource {
    +        constructor(parent?: CancellationToken);
    +        get token(): CancellationToken;
    +        cancel(): void;
    +        dispose(cancel?: boolean): void;
    +    }
    +
    +    export interface CancellationToken {
    +        /**
    +         * A flag signalling is cancellation has been requested.
    +         */
    +        readonly isCancellationRequested: boolean;
    +        /**
    +         * An event which fires when cancellation is requested. This event
    +         * only ever fires `once` as cancellation can only happen once. Listeners
    +         * that are registered after cancellation will be called (next event loop run),
    +         * but also only once.
    +         *
    +         * @event
    +         */
    +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
    +    }
    +    /**
    +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
    +     * This class is a simple parser which creates the basic component parts
    +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
    +     * and encoding.
    +     *
    +     * ```txt
    +     *       foo://example.com:8042/over/there?name=ferret#nose
    +     *       \_/   \______________/\_________/ \_________/ \__/
    +     *        |           |            |            |        |
    +     *     scheme     authority       path        query   fragment
    +     *        |   _____________________|__
    +     *       / \ /                        \
    +     *       urn:example:animal:ferret:nose
    +     * ```
    +     */
    +    export class Uri implements UriComponents {
    +        static isUri(thing: any): thing is Uri;
    +        /**
    +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
    +         * The part before the first colon.
    +         */
    +        readonly scheme: string;
    +        /**
    +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
    +         * The part between the first double slashes and the next slash.
    +         */
    +        readonly authority: string;
    +        /**
    +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
    +         */
    +        readonly path: string;
    +        /**
    +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
    +         */
    +        readonly query: string;
    +        /**
    +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
    +         */
    +        readonly fragment: string;
    +        /**
    +         * Returns a string representing the corresponding file system path of this Uri.
    +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
    +         * platform specific path separator.
    +         *
    +         * * Will *not* validate the path for invalid characters and semantics.
    +         * * Will *not* look at the scheme of this Uri.
    +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
    +         *
    +         *
    +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
    +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
    +         *
    +         * ```ts
    +            const u = Uri.parse('file://server/c$/folder/file.txt')
    +            u.authority === 'server'
    +            u.path === '/shares/c$/file.txt'
    +            u.fsPath === '\\server\c$\folder\file.txt'
    +        ```
    +         *
    +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
    +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
    +         * with URIs that represent files on disk (`file` scheme).
    +         */
    +        get fsPath(): string;
    +        with(change: {
    +            scheme?: string;
    +            authority?: string | null;
    +            path?: string | null;
    +            query?: string | null;
    +            fragment?: string | null;
    +        }): Uri;
    +        /**
    +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
    +         * `file:///usr/home`, or `scheme:with/path`.
    +         *
    +         * @param value A string which represents an Uri (see `Uri#toString`).
    +         */
    +        static parse(value: string, _strict?: boolean): Uri;
    +        /**
    +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
    +         * `/usr/home`, or `\\server\share\some\path`.
    +         *
    +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
    +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
    +         * `Uri.parse('file://' + path)` because the path might contain characters that are
    +         * interpreted (# and ?). See the following sample:
    +         * ```ts
    +        const good = Uri.file('/coding/c#/project1');
    +        good.scheme === 'file';
    +        good.path === '/coding/c#/project1';
    +        good.fragment === '';
    +        const bad = Uri.parse('file://' + '/coding/c#/project1');
    +        bad.scheme === 'file';
    +        bad.path === '/coding/c'; // path is now broken
    +        bad.fragment === '/project1';
    +        ```
    +         *
    +         * @param path A file system path (see `Uri#fsPath`)
    +         */
    +        static file(path: string): Uri;
    +        static from(components: {
    +            scheme: string;
    +            authority?: string;
    +            path?: string;
    +            query?: string;
    +            fragment?: string;
    +        }): Uri;
    +        /**
    +         * Join a Uri path with path fragments and normalizes the resulting path.
    +         *
    +         * @param uri The input Uri.
    +         * @param pathFragment The path fragment to add to the Uri path.
    +         * @returns The resulting Uri.
    +         */
    +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
    +        /**
    +         * Creates a string representation for this Uri. It's guaranteed that calling
    +         * `Uri.parse` with the result of this function creates an Uri which is equal
    +         * to this Uri.
    +         *
    +         * * The result shall *not* be used for display purposes but for externalization or transport.
    +         * * The result will be encoded using the percentage encoding and encoding happens mostly
    +         * ignore the scheme-specific encoding rules.
    +         *
    +         * @param skipEncoding Do not encode the result, default is `false`
    +         */
    +        toString(skipEncoding?: boolean): string;
    +        toJSON(): UriComponents;
    +        static revive(data: UriComponents | Uri): Uri;
    +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
    +        static revive(data: UriComponents | Uri | null): Uri | null;
    +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
    +    }
    +
    +    export interface UriComponents {
    +        scheme: string;
    +        authority: string;
    +        path: string;
    +        query: string;
    +        fragment: string;
    +    }
    +    /**
    +     * Virtual Key Codes, the value does not hold any inherent meaning.
    +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
    +     * But these are "more general", as they should work across browsers & OS`s.
    +     */
    +    export enum KeyCode {
    +        DependsOnKbLayout = -1,
    +        /**
    +         * Placed first to cover the 0 value of the enum.
    +         */
    +        Unknown = 0,
    +        Backspace = 1,
    +        Tab = 2,
    +        Enter = 3,
    +        Shift = 4,
    +        Ctrl = 5,
    +        Alt = 6,
    +        PauseBreak = 7,
    +        CapsLock = 8,
    +        Escape = 9,
    +        Space = 10,
    +        PageUp = 11,
    +        PageDown = 12,
    +        End = 13,
    +        Home = 14,
    +        LeftArrow = 15,
    +        UpArrow = 16,
    +        RightArrow = 17,
    +        DownArrow = 18,
    +        Insert = 19,
    +        Delete = 20,
    +        Digit0 = 21,
    +        Digit1 = 22,
    +        Digit2 = 23,
    +        Digit3 = 24,
    +        Digit4 = 25,
    +        Digit5 = 26,
    +        Digit6 = 27,
    +        Digit7 = 28,
    +        Digit8 = 29,
    +        Digit9 = 30,
    +        KeyA = 31,
    +        KeyB = 32,
    +        KeyC = 33,
    +        KeyD = 34,
    +        KeyE = 35,
    +        KeyF = 36,
    +        KeyG = 37,
    +        KeyH = 38,
    +        KeyI = 39,
    +        KeyJ = 40,
    +        KeyK = 41,
    +        KeyL = 42,
    +        KeyM = 43,
    +        KeyN = 44,
    +        KeyO = 45,
    +        KeyP = 46,
    +        KeyQ = 47,
    +        KeyR = 48,
    +        KeyS = 49,
    +        KeyT = 50,
    +        KeyU = 51,
    +        KeyV = 52,
    +        KeyW = 53,
    +        KeyX = 54,
    +        KeyY = 55,
    +        KeyZ = 56,
    +        Meta = 57,
    +        ContextMenu = 58,
    +        F1 = 59,
    +        F2 = 60,
    +        F3 = 61,
    +        F4 = 62,
    +        F5 = 63,
    +        F6 = 64,
    +        F7 = 65,
    +        F8 = 66,
    +        F9 = 67,
    +        F10 = 68,
    +        F11 = 69,
    +        F12 = 70,
    +        F13 = 71,
    +        F14 = 72,
    +        F15 = 73,
    +        F16 = 74,
    +        F17 = 75,
    +        F18 = 76,
    +        F19 = 77,
    +        NumLock = 78,
    +        ScrollLock = 79,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the ';:' key
    +         */
    +        Semicolon = 80,
    +        /**
    +         * For any country/region, the '+' key
    +         * For the US standard keyboard, the '=+' key
    +         */
    +        Equal = 81,
    +        /**
    +         * For any country/region, the ',' key
    +         * For the US standard keyboard, the ',<' key
    +         */
    +        Comma = 82,
    +        /**
    +         * For any country/region, the '-' key
    +         * For the US standard keyboard, the '-_' key
    +         */
    +        Minus = 83,
    +        /**
    +         * For any country/region, the '.' key
    +         * For the US standard keyboard, the '.>' key
    +         */
    +        Period = 84,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the '/?' key
    +         */
    +        Slash = 85,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the '`~' key
    +         */
    +        Backquote = 86,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the '[{' key
    +         */
    +        BracketLeft = 87,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the '\|' key
    +         */
    +        Backslash = 88,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the ']}' key
    +         */
    +        BracketRight = 89,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         * For the US standard keyboard, the ''"' key
    +         */
    +        Quote = 90,
    +        /**
    +         * Used for miscellaneous characters; it can vary by keyboard.
    +         */
    +        OEM_8 = 91,
    +        /**
    +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
    +         */
    +        IntlBackslash = 92,
    +        Numpad0 = 93,
    +        Numpad1 = 94,
    +        Numpad2 = 95,
    +        Numpad3 = 96,
    +        Numpad4 = 97,
    +        Numpad5 = 98,
    +        Numpad6 = 99,
    +        Numpad7 = 100,
    +        Numpad8 = 101,
    +        Numpad9 = 102,
    +        NumpadMultiply = 103,
    +        NumpadAdd = 104,
    +        NUMPAD_SEPARATOR = 105,
    +        NumpadSubtract = 106,
    +        NumpadDecimal = 107,
    +        NumpadDivide = 108,
    +        /**
    +         * Cover all key codes when IME is processing input.
    +         */
    +        KEY_IN_COMPOSITION = 109,
    +        ABNT_C1 = 110,
    +        ABNT_C2 = 111,
    +        AudioVolumeMute = 112,
    +        AudioVolumeUp = 113,
    +        AudioVolumeDown = 114,
    +        BrowserSearch = 115,
    +        BrowserHome = 116,
    +        BrowserBack = 117,
    +        BrowserForward = 118,
    +        MediaTrackNext = 119,
    +        MediaTrackPrevious = 120,
    +        MediaStop = 121,
    +        MediaPlayPause = 122,
    +        LaunchMediaPlayer = 123,
    +        LaunchMail = 124,
    +        LaunchApp2 = 125,
    +        /**
    +         * Placed last to cover the length of the enum.
    +         * Please do not depend on this value!
    +         */
    +        MAX_VALUE = 126
    +    }
    +    export class KeyMod {
    +        static readonly CtrlCmd: number;
    +        static readonly Shift: number;
    +        static readonly Alt: number;
    +        static readonly WinCtrl: number;
    +        static chord(firstPart: number, secondPart: number): number;
    +    }
    +
    +    export interface IMarkdownString {
    +        readonly value: string;
    +        readonly isTrusted?: boolean;
    +        readonly supportThemeIcons?: boolean;
    +        readonly supportHtml?: boolean;
    +        uris?: {
    +            [href: string]: UriComponents;
    +        };
    +    }
    +
    +    export interface IKeyboardEvent {
    +        readonly _standardKeyboardEventBrand: true;
    +        readonly browserEvent: KeyboardEvent;
    +        readonly target: HTMLElement;
    +        readonly ctrlKey: boolean;
    +        readonly shiftKey: boolean;
    +        readonly altKey: boolean;
    +        readonly metaKey: boolean;
    +        readonly keyCode: KeyCode;
    +        readonly code: string;
    +        equals(keybinding: number): boolean;
    +        preventDefault(): void;
    +        stopPropagation(): void;
    +    }
    +    export interface IMouseEvent {
    +        readonly browserEvent: MouseEvent;
    +        readonly leftButton: boolean;
    +        readonly middleButton: boolean;
    +        readonly rightButton: boolean;
    +        readonly buttons: number;
    +        readonly target: HTMLElement;
    +        readonly detail: number;
    +        readonly posx: number;
    +        readonly posy: number;
    +        readonly ctrlKey: boolean;
    +        readonly shiftKey: boolean;
    +        readonly altKey: boolean;
    +        readonly metaKey: boolean;
    +        readonly timestamp: number;
    +        preventDefault(): void;
    +        stopPropagation(): void;
    +    }
    +
    +    export interface IScrollEvent {
    +        readonly scrollTop: number;
    +        readonly scrollLeft: number;
    +        readonly scrollWidth: number;
    +        readonly scrollHeight: number;
    +        readonly scrollTopChanged: boolean;
    +        readonly scrollLeftChanged: boolean;
    +        readonly scrollWidthChanged: boolean;
    +        readonly scrollHeightChanged: boolean;
    +    }
    +    /**
    +     * A position in the editor. This interface is suitable for serialization.
    +     */
    +    export interface IPosition {
    +        /**
    +         * line number (starts at 1)
    +         */
    +        readonly lineNumber: number;
    +        /**
    +         * column (the first character in a line is between column 1 and column 2)
    +         */
    +        readonly column: number;
    +    }
    +
    +    /**
    +     * A position in the editor.
    +     */
    +    export class Position {
    +        /**
    +         * line number (starts at 1)
    +         */
    +        readonly lineNumber: number;
    +        /**
    +         * column (the first character in a line is between column 1 and column 2)
    +         */
    +        readonly column: number;
    +        constructor(lineNumber: number, column: number);
    +        /**
    +         * Create a new position from this position.
    +         *
    +         * @param newLineNumber new line number
    +         * @param newColumn new column
    +         */
    +        with(newLineNumber?: number, newColumn?: number): Position;
    +        /**
    +         * Derive a new position from this position.
    +         *
    +         * @param deltaLineNumber line number delta
    +         * @param deltaColumn column delta
    +         */
    +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
    +        /**
    +         * Test if this position equals other position
    +         */
    +        equals(other: IPosition): boolean;
    +        /**
    +         * Test if position `a` equals position `b`
    +         */
    +        static equals(a: IPosition | null, b: IPosition | null): boolean;
    +        /**
    +         * Test if this position is before other position.
    +         * If the two positions are equal, the result will be false.
    +         */
    +        isBefore(other: IPosition): boolean;
    +        /**
    +         * Test if position `a` is before position `b`.
    +         * If the two positions are equal, the result will be false.
    +         */
    +        static isBefore(a: IPosition, b: IPosition): boolean;
    +        /**
    +         * Test if this position is before other position.
    +         * If the two positions are equal, the result will be true.
    +         */
    +        isBeforeOrEqual(other: IPosition): boolean;
    +        /**
    +         * Test if position `a` is before position `b`.
    +         * If the two positions are equal, the result will be true.
    +         */
    +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
    +        /**
    +         * A function that compares positions, useful for sorting
    +         */
    +        static compare(a: IPosition, b: IPosition): number;
    +        /**
    +         * Clone this position.
    +         */
    +        clone(): Position;
    +        /**
    +         * Convert to a human-readable representation.
    +         */
    +        toString(): string;
    +        /**
    +         * Create a `Position` from an `IPosition`.
    +         */
    +        static lift(pos: IPosition): Position;
    +        /**
    +         * Test if `obj` is an `IPosition`.
    +         */
    +        static isIPosition(obj: any): obj is IPosition;
    +    }
    +
    +    /**
    +     * A range in the editor. This interface is suitable for serialization.
    +     */
    +    export interface IRange {
    +        /**
    +         * Line number on which the range starts (starts at 1).
    +         */
    +        readonly startLineNumber: number;
    +        /**
    +         * Column on which the range starts in line `startLineNumber` (starts at 1).
    +         */
    +        readonly startColumn: number;
    +        /**
    +         * Line number on which the range ends.
    +         */
    +        readonly endLineNumber: number;
    +        /**
    +         * Column on which the range ends in line `endLineNumber`.
    +         */
    +        readonly endColumn: number;
    +    }
    +
    +    /**
    +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
    +     */
    +    export class Range {
    +        /**
    +         * Line number on which the range starts (starts at 1).
    +         */
    +        readonly startLineNumber: number;
    +        /**
    +         * Column on which the range starts in line `startLineNumber` (starts at 1).
    +         */
    +        readonly startColumn: number;
    +        /**
    +         * Line number on which the range ends.
    +         */
    +        readonly endLineNumber: number;
    +        /**
    +         * Column on which the range ends in line `endLineNumber`.
    +         */
    +        readonly endColumn: number;
    +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
    +        /**
    +         * Test if this range is empty.
    +         */
    +        isEmpty(): boolean;
    +        /**
    +         * Test if `range` is empty.
    +         */
    +        static isEmpty(range: IRange): boolean;
    +        /**
    +         * Test if position is in this range. If the position is at the edges, will return true.
    +         */
    +        containsPosition(position: IPosition): boolean;
    +        /**
    +         * Test if `position` is in `range`. If the position is at the edges, will return true.
    +         */
    +        static containsPosition(range: IRange, position: IPosition): boolean;
    +        /**
    +         * Test if range is in this range. If the range is equal to this range, will return true.
    +         */
    +        containsRange(range: IRange): boolean;
    +        /**
    +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
    +         */
    +        static containsRange(range: IRange, otherRange: IRange): boolean;
    +        /**
    +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
    +         */
    +        strictContainsRange(range: IRange): boolean;
    +        /**
    +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
    +         */
    +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
    +        /**
    +         * A reunion of the two ranges.
    +         * The smallest position will be used as the start point, and the largest one as the end point.
    +         */
    +        plusRange(range: IRange): Range;
    +        /**
    +         * A reunion of the two ranges.
    +         * The smallest position will be used as the start point, and the largest one as the end point.
    +         */
    +        static plusRange(a: IRange, b: IRange): Range;
    +        /**
    +         * A intersection of the two ranges.
    +         */
    +        intersectRanges(range: IRange): Range | null;
    +        /**
    +         * A intersection of the two ranges.
    +         */
    +        static intersectRanges(a: IRange, b: IRange): Range | null;
    +        /**
    +         * Test if this range equals other.
    +         */
    +        equalsRange(other: IRange | null): boolean;
    +        /**
    +         * Test if range `a` equals `b`.
    +         */
    +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
    +        /**
    +         * Return the end position (which will be after or equal to the start position)
    +         */
    +        getEndPosition(): Position;
    +        /**
    +         * Return the end position (which will be after or equal to the start position)
    +         */
    +        static getEndPosition(range: IRange): Position;
    +        /**
    +         * Return the start position (which will be before or equal to the end position)
    +         */
    +        getStartPosition(): Position;
    +        /**
    +         * Return the start position (which will be before or equal to the end position)
    +         */
    +        static getStartPosition(range: IRange): Position;
    +        /**
    +         * Transform to a user presentable string representation.
    +         */
    +        toString(): string;
    +        /**
    +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
    +         */
    +        setEndPosition(endLineNumber: number, endColumn: number): Range;
    +        /**
    +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
    +         */
    +        setStartPosition(startLineNumber: number, startColumn: number): Range;
    +        /**
    +         * Create a new empty range using this range's start position.
    +         */
    +        collapseToStart(): Range;
    +        /**
    +         * Create a new empty range using this range's start position.
    +         */
    +        static collapseToStart(range: IRange): Range;
    +        static fromPositions(start: IPosition, end?: IPosition): Range;
    +        /**
    +         * Create a `Range` from an `IRange`.
    +         */
    +        static lift(range: undefined | null): null;
    +        static lift(range: IRange): Range;
    +        /**
    +         * Test if `obj` is an `IRange`.
    +         */
    +        static isIRange(obj: any): obj is IRange;
    +        /**
    +         * Test if the two ranges are touching in any way.
    +         */
    +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
    +        /**
    +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
    +         */
    +        static areIntersecting(a: IRange, b: IRange): boolean;
    +        /**
    +         * A function that compares ranges, useful for sorting ranges
    +         * It will first compare ranges on the startPosition and then on the endPosition
    +         */
    +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
    +        /**
    +         * A function that compares ranges, useful for sorting ranges
    +         * It will first compare ranges on the endPosition and then on the startPosition
    +         */
    +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
    +        /**
    +         * Test if the range spans multiple lines.
    +         */
    +        static spansMultipleLines(range: IRange): boolean;
    +    }
    +
    +    /**
    +     * A selection in the editor.
    +     * The selection is a range that has an orientation.
    +     */
    +    export interface ISelection {
    +        /**
    +         * The line number on which the selection has started.
    +         */
    +        readonly selectionStartLineNumber: number;
    +        /**
    +         * The column on `selectionStartLineNumber` where the selection has started.
    +         */
    +        readonly selectionStartColumn: number;
    +        /**
    +         * The line number on which the selection has ended.
    +         */
    +        readonly positionLineNumber: number;
    +        /**
    +         * The column on `positionLineNumber` where the selection has ended.
    +         */
    +        readonly positionColumn: number;
    +    }
    +
    +    /**
    +     * A selection in the editor.
    +     * The selection is a range that has an orientation.
    +     */
    +    export class Selection extends Range {
    +        /**
    +         * The line number on which the selection has started.
    +         */
    +        readonly selectionStartLineNumber: number;
    +        /**
    +         * The column on `selectionStartLineNumber` where the selection has started.
    +         */
    +        readonly selectionStartColumn: number;
    +        /**
    +         * The line number on which the selection has ended.
    +         */
    +        readonly positionLineNumber: number;
    +        /**
    +         * The column on `positionLineNumber` where the selection has ended.
    +         */
    +        readonly positionColumn: number;
    +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
    +        /**
    +         * Transform to a human-readable representation.
    +         */
    +        toString(): string;
    +        /**
    +         * Test if equals other selection.
    +         */
    +        equalsSelection(other: ISelection): boolean;
    +        /**
    +         * Test if the two selections are equal.
    +         */
    +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
    +        /**
    +         * Get directions (LTR or RTL).
    +         */
    +        getDirection(): SelectionDirection;
    +        /**
    +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
    +         */
    +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
    +        /**
    +         * Get the position at `positionLineNumber` and `positionColumn`.
    +         */
    +        getPosition(): Position;
    +        /**
    +         * Get the position at the start of the selection.
    +        */
    +        getSelectionStart(): Position;
    +        /**
    +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
    +         */
    +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
    +        /**
    +         * Create a `Selection` from one or two positions
    +         */
    +        static fromPositions(start: IPosition, end?: IPosition): Selection;
    +        /**
    +         * Creates a `Selection` from a range, given a direction.
    +         */
    +        static fromRange(range: Range, direction: SelectionDirection): Selection;
    +        /**
    +         * Create a `Selection` from an `ISelection`.
    +         */
    +        static liftSelection(sel: ISelection): Selection;
    +        /**
    +         * `a` equals `b`.
    +         */
    +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
    +        /**
    +         * Test if `obj` is an `ISelection`.
    +         */
    +        static isISelection(obj: any): obj is ISelection;
    +        /**
    +         * Create with a direction.
    +         */
    +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
    +    }
    +
    +    /**
    +     * The direction of a selection.
    +     */
    +    export enum SelectionDirection {
    +        /**
    +         * The selection starts above where it ends.
    +         */
    +        LTR = 0,
    +        /**
    +         * The selection starts below where it ends.
    +         */
    +        RTL = 1
    +    }
    +
    +    export class Token {
    +        _tokenBrand: void;
    +        readonly offset: number;
    +        readonly type: string;
    +        readonly language: string;
    +        constructor(offset: number, type: string, language: string);
    +        toString(): string;
    +    }
    +}
    +
    +declare namespace monaco.editor {
    +
    +    export interface IDiffNavigator {
    +        canNavigate(): boolean;
    +        next(): void;
    +        previous(): void;
    +        dispose(): void;
    +    }
    +
    +    /**
    +     * Create a new editor under `domElement`.
    +     * `domElement` should be empty (not contain other dom nodes).
    +     * The editor will read the size of `domElement`.
    +     */
    +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
    +
    +    /**
    +     * Emitted when an editor is created.
    +     * Creating a diff editor might cause this listener to be invoked with the two editors.
    +     * @event
    +     */
    +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
    +
    +    /**
    +     * Create a new diff editor under `domElement`.
    +     * `domElement` should be empty (not contain other dom nodes).
    +     * The editor will read the size of `domElement`.
    +     */
    +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
    +
    +    export interface IDiffNavigatorOptions {
    +        readonly followsCaret?: boolean;
    +        readonly ignoreCharChanges?: boolean;
    +        readonly alwaysRevealFirst?: boolean;
    +    }
    +
    +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
    +
    +    /**
    +     * Create a new editor model.
    +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
    +     */
    +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
    +
    +    /**
    +     * Change the language for a model.
    +     */
    +    export function setModelLanguage(model: ITextModel, languageId: string): void;
    +
    +    /**
    +     * Set the markers for a model.
    +     */
    +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
    +
    +    /**
    +     * Get markers for owner and/or resource
    +     *
    +     * @returns list of markers
    +     */
    +    export function getModelMarkers(filter: {
    +        owner?: string;
    +        resource?: Uri;
    +        take?: number;
    +    }): IMarker[];
    +
    +    /**
    +     * Emitted when markers change for a model.
    +     * @event
    +     */
    +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
    +
    +    /**
    +     * Get the model that has `uri` if it exists.
    +     */
    +    export function getModel(uri: Uri): ITextModel | null;
    +
    +    /**
    +     * Get all the created models.
    +     */
    +    export function getModels(): ITextModel[];
    +
    +    /**
    +     * Emitted when a model is created.
    +     * @event
    +     */
    +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
    +
    +    /**
    +     * Emitted right before a model is disposed.
    +     * @event
    +     */
    +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
    +
    +    /**
    +     * Emitted when a different language is set to a model.
    +     * @event
    +     */
    +    export function onDidChangeModelLanguage(listener: (e: {
    +        readonly model: ITextModel;
    +        readonly oldLanguage: string;
    +    }) => void): IDisposable;
    +
    +    /**
    +     * Create a new web worker that has model syncing capabilities built in.
    +     * Specify an AMD module to load that will `create` an object that will be proxied.
    +     */
    +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
    +
    +    /**
    +     * Colorize the contents of `domNode` using attribute `data-lang`.
    +     */
    +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
    +
    +    /**
    +     * Colorize `text` using language `languageId`.
    +     */
    +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
    +
    +    /**
    +     * Colorize a line in a model.
    +     */
    +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
    +
    +    /**
    +     * Tokenize `text` using language `languageId`
    +     */
    +    export function tokenize(text: string, languageId: string): Token[][];
    +
    +    /**
    +     * Define a new theme or update an existing theme.
    +     */
    +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
    +
    +    /**
    +     * Switches to a theme.
    +     */
    +    export function setTheme(themeName: string): void;
    +
    +    /**
    +     * Clears all cached font measurements and triggers re-measurement.
    +     */
    +    export function remeasureFonts(): void;
    +
    +    /**
    +     * Register a command.
    +     */
    +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
    +
    +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
    +
    +    export interface IStandaloneThemeData {
    +        base: BuiltinTheme;
    +        inherit: boolean;
    +        rules: ITokenThemeRule[];
    +        encodedTokensColors?: string[];
    +        colors: IColors;
    +    }
    +
    +    export type IColors = {
    +        [colorId: string]: string;
    +    };
    +
    +    export interface ITokenThemeRule {
    +        token: string;
    +        foreground?: string;
    +        background?: string;
    +        fontStyle?: string;
    +    }
    +
    +    /**
    +     * A web worker that can provide a proxy to an arbitrary file.
    +     */
    +    export interface MonacoWebWorker<T> {
    +        /**
    +         * Terminate the web worker, thus invalidating the returned proxy.
    +         */
    +        dispose(): void;
    +        /**
    +         * Get a proxy to the arbitrary loaded code.
    +         */
    +        getProxy(): Promise<T>;
    +        /**
    +         * Synchronize (send) the models at `resources` to the web worker,
    +         * making them available in the monaco.worker.getMirrorModels().
    +         */
    +        withSyncedResources(resources: Uri[]): Promise<T>;
    +    }
    +
    +    export interface IWebWorkerOptions {
    +        /**
    +         * The AMD moduleId to load.
    +         * It should export a function `create` that should return the exported proxy.
    +         */
    +        moduleId: string;
    +        /**
    +         * The data to send over when calling create on the module.
    +         */
    +        createData?: any;
    +        /**
    +         * A label to be used to identify the web worker for debugging purposes.
    +         */
    +        label?: string;
    +        /**
    +         * An object that can be used by the web worker to make calls back to the main thread.
    +         */
    +        host?: any;
    +        /**
    +         * Keep idle models.
    +         * Defaults to false, which means that idle models will stop syncing after a while.
    +         */
    +        keepIdleModels?: boolean;
    +    }
    +
    +    /**
    +     * Description of an action contribution
    +     */
    +    export interface IActionDescriptor {
    +        /**
    +         * An unique identifier of the contributed action.
    +         */
    +        id: string;
    +        /**
    +         * A label of the action that will be presented to the user.
    +         */
    +        label: string;
    +        /**
    +         * Precondition rule.
    +         */
    +        precondition?: string;
    +        /**
    +         * An array of keybindings for the action.
    +         */
    +        keybindings?: number[];
    +        /**
    +         * The keybinding rule (condition on top of precondition).
    +         */
    +        keybindingContext?: string;
    +        /**
    +         * Control if the action should show up in the context menu and where.
    +         * The context menu of the editor has these default:
    +         *   navigation - The navigation group comes first in all cases.
    +         *   1_modification - This group comes next and contains commands that modify your code.
    +         *   9_cutcopypaste - The last default group with the basic editing commands.
    +         * You can also create your own group.
    +         * Defaults to null (don't show in context menu).
    +         */
    +        contextMenuGroupId?: string;
    +        /**
    +         * Control the order in the context menu group.
    +         */
    +        contextMenuOrder?: number;
    +        /**
    +         * Method that will be executed when the action is triggered.
    +         * @param editor The editor instance is passed in as a convenience
    +         */
    +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
    +    }
    +
    +    /**
    +     * Options which apply for all editors.
    +     */
    +    export interface IGlobalEditorOptions {
    +        /**
    +         * The number of spaces a tab is equal to.
    +         * This setting is overridden based on the file contents when `detectIndentation` is on.
    +         * Defaults to 4.
    +         */
    +        tabSize?: number;
    +        /**
    +         * Insert spaces when pressing `Tab`.
    +         * This setting is overridden based on the file contents when `detectIndentation` is on.
    +         * Defaults to true.
    +         */
    +        insertSpaces?: boolean;
    +        /**
    +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
    +         * Defaults to true.
    +         */
    +        detectIndentation?: boolean;
    +        /**
    +         * Remove trailing auto inserted whitespace.
    +         * Defaults to true.
    +         */
    +        trimAutoWhitespace?: boolean;
    +        /**
    +         * Special handling for large files to disable certain memory intensive features.
    +         * Defaults to true.
    +         */
    +        largeFileOptimizations?: boolean;
    +        /**
    +         * Controls whether completions should be computed based on words in the document.
    +         * Defaults to true.
    +         */
    +        wordBasedSuggestions?: boolean;
    +        /**
    +         * Controls whether word based completions should be included from opened documents of the same language or any language.
    +         */
    +        wordBasedSuggestionsOnlySameLanguage?: boolean;
    +        /**
    +         * Controls whether the semanticHighlighting is shown for the languages that support it.
    +         * true: semanticHighlighting is enabled for all themes
    +         * false: semanticHighlighting is disabled for all themes
    +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
    +         * Defaults to 'byTheme'.
    +         */
    +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
    +        /**
    +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
    +         * Defaults to false.
    +         */
    +        stablePeek?: boolean;
    +        /**
    +         * Lines above this length will not be tokenized for performance reasons.
    +         * Defaults to 20000.
    +         */
    +        maxTokenizationLineLength?: number;
    +        /**
    +         * Theme to be used for rendering.
    +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
    +         * You can create custom themes via `monaco.editor.defineTheme`.
    +         * To switch a theme, use `monaco.editor.setTheme`.
    +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
    +         */
    +        theme?: string;
    +        /**
    +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
    +         * Defaults to true.
    +         */
    +        autoDetectHighContrast?: boolean;
    +    }
    +
    +    /**
    +     * The options to create an editor.
    +     */
    +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
    +        /**
    +         * The initial model associated with this code editor.
    +         */
    +        model?: ITextModel | null;
    +        /**
    +         * The initial value of the auto created model in the editor.
    +         * To not automatically create a model, use `model: null`.
    +         */
    +        value?: string;
    +        /**
    +         * The initial language of the auto created model in the editor.
    +         * To not automatically create a model, use `model: null`.
    +         */
    +        language?: string;
    +        /**
    +         * Initial theme to be used for rendering.
    +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
    +         * You can create custom themes via `monaco.editor.defineTheme`.
    +         * To switch a theme, use `monaco.editor.setTheme`.
    +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
    +         */
    +        theme?: string;
    +        /**
    +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
    +         * Defaults to true.
    +         */
    +        autoDetectHighContrast?: boolean;
    +        /**
    +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
    +         * the accessibility help dialog in the editor.
    +         *
    +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
    +         */
    +        accessibilityHelpUrl?: string;
    +        /**
    +         * Container element to use for ARIA messages.
    +         * Defaults to document.body.
    +         */
    +        ariaContainerElement?: HTMLElement;
    +    }
    +
    +    /**
    +     * The options to create a diff editor.
    +     */
    +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
    +        /**
    +         * Initial theme to be used for rendering.
    +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
    +         * You can create custom themes via `monaco.editor.defineTheme`.
    +         * To switch a theme, use `monaco.editor.setTheme`.
    +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
    +         */
    +        theme?: string;
    +        /**
    +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
    +         * Defaults to true.
    +         */
    +        autoDetectHighContrast?: boolean;
    +    }
    +
    +    export interface IStandaloneCodeEditor extends ICodeEditor {
    +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
    +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
    +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
    +        addAction(descriptor: IActionDescriptor): IDisposable;
    +    }
    +
    +    export interface IStandaloneDiffEditor extends IDiffEditor {
    +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
    +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
    +        addAction(descriptor: IActionDescriptor): IDisposable;
    +        getOriginalEditor(): IStandaloneCodeEditor;
    +        getModifiedEditor(): IStandaloneCodeEditor;
    +    }
    +    export interface ICommandHandler {
    +        (...args: any[]): void;
    +    }
    +
    +    export interface IContextKey<T> {
    +        set(value: T): void;
    +        reset(): void;
    +        get(): T | undefined;
    +    }
    +
    +    export interface IEditorOverrideServices {
    +        [index: string]: any;
    +    }
    +
    +    export interface IMarker {
    +        owner: string;
    +        resource: Uri;
    +        severity: MarkerSeverity;
    +        code?: string | {
    +            value: string;
    +            target: Uri;
    +        };
    +        message: string;
    +        source?: string;
    +        startLineNumber: number;
    +        startColumn: number;
    +        endLineNumber: number;
    +        endColumn: number;
    +        relatedInformation?: IRelatedInformation[];
    +        tags?: MarkerTag[];
    +    }
    +
    +    /**
    +     * A structure defining a problem/warning/etc.
    +     */
    +    export interface IMarkerData {
    +        code?: string | {
    +            value: string;
    +            target: Uri;
    +        };
    +        severity: MarkerSeverity;
    +        message: string;
    +        source?: string;
    +        startLineNumber: number;
    +        startColumn: number;
    +        endLineNumber: number;
    +        endColumn: number;
    +        relatedInformation?: IRelatedInformation[];
    +        tags?: MarkerTag[];
    +    }
    +
    +    /**
    +     *
    +     */
    +    export interface IRelatedInformation {
    +        resource: Uri;
    +        message: string;
    +        startLineNumber: number;
    +        startColumn: number;
    +        endLineNumber: number;
    +        endColumn: number;
    +    }
    +
    +    export interface IColorizerOptions {
    +        tabSize?: number;
    +    }
    +
    +    export interface IColorizerElementOptions extends IColorizerOptions {
    +        theme?: string;
    +        mimeType?: string;
    +    }
    +
    +    export enum ScrollbarVisibility {
    +        Auto = 1,
    +        Hidden = 2,
    +        Visible = 3
    +    }
    +
    +    export interface ThemeColor {
    +        id: string;
    +    }
    +
    +    /**
    +     * Vertical Lane in the overview ruler of the editor.
    +     */
    +    export enum OverviewRulerLane {
    +        Left = 1,
    +        Center = 2,
    +        Right = 4,
    +        Full = 7
    +    }
    +
    +    /**
    +     * Position in the minimap to render the decoration.
    +     */
    +    export enum MinimapPosition {
    +        Inline = 1,
    +        Gutter = 2
    +    }
    +
    +    export interface IDecorationOptions {
    +        /**
    +         * CSS color to render.
    +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
    +         */
    +        color: string | ThemeColor | undefined;
    +        /**
    +         * CSS color to render.
    +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
    +         */
    +        darkColor?: string | ThemeColor;
    +    }
    +
    +    /**
    +     * Options for rendering a model decoration in the overview ruler.
    +     */
    +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
    +        /**
    +         * The position in the overview ruler.
    +         */
    +        position: OverviewRulerLane;
    +    }
    +
    +    /**
    +     * Options for rendering a model decoration in the overview ruler.
    +     */
    +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
    +        /**
    +         * The position in the overview ruler.
    +         */
    +        position: MinimapPosition;
    +    }
    +
    +    /**
    +     * Options for a model decoration.
    +     */
    +    export interface IModelDecorationOptions {
    +        /**
    +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
    +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
    +         */
    +        stickiness?: TrackedRangeStickiness;
    +        /**
    +         * CSS class name describing the decoration.
    +         */
    +        className?: string | null;
    +        /**
    +         * Message to be rendered when hovering over the glyph margin decoration.
    +         */
    +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
    +        /**
    +         * Array of MarkdownString to render as the decoration message.
    +         */
    +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
    +        /**
    +         * Should the decoration expand to encompass a whole line.
    +         */
    +        isWholeLine?: boolean;
    +        /**
    +         * Specifies the stack order of a decoration.
    +         * A decoration with greater stack order is always in front of a decoration with
    +         * a lower stack order when the decorations are on the same line.
    +         */
    +        zIndex?: number;
    +        /**
    +         * If set, render this decoration in the overview ruler.
    +         */
    +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
    +        /**
    +         * If set, render this decoration in the minimap.
    +         */
    +        minimap?: IModelDecorationMinimapOptions | null;
    +        /**
    +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
    +         */
    +        glyphMarginClassName?: string | null;
    +        /**
    +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
    +         */
    +        linesDecorationsClassName?: string | null;
    +        /**
    +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
    +         */
    +        firstLineDecorationClassName?: string | null;
    +        /**
    +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
    +         */
    +        marginClassName?: string | null;
    +        /**
    +         * If set, the decoration will be rendered inline with the text with this CSS class name.
    +         * Please use this only for CSS rules that must impact the text. For example, use `className`
    +         * to have a background color decoration.
    +         */
    +        inlineClassName?: string | null;
    +        /**
    +         * If there is an `inlineClassName` which affects letter spacing.
    +         */
    +        inlineClassNameAffectsLetterSpacing?: boolean;
    +        /**
    +         * If set, the decoration will be rendered before the text with this CSS class name.
    +         */
    +        beforeContentClassName?: string | null;
    +        /**
    +         * If set, the decoration will be rendered after the text with this CSS class name.
    +         */
    +        afterContentClassName?: string | null;
    +        /**
    +         * If set, text will be injected in the view after the range.
    +         */
    +        after?: InjectedTextOptions | null;
    +        /**
    +         * If set, text will be injected in the view before the range.
    +         */
    +        before?: InjectedTextOptions | null;
    +    }
    +
    +    /**
    +     * Configures text that is injected into the view without changing the underlying document.
    +    */
    +    export interface InjectedTextOptions {
    +        /**
    +         * Sets the text to inject. Must be a single line.
    +         */
    +        readonly content: string;
    +        /**
    +         * If set, the decoration will be rendered inline with the text with this CSS class name.
    +         */
    +        readonly inlineClassName?: string | null;
    +        /**
    +         * If there is an `inlineClassName` which affects letter spacing.
    +         */
    +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
    +    }
    +
    +    /**
    +     * New model decorations.
    +     */
    +    export interface IModelDeltaDecoration {
    +        /**
    +         * Range that this decoration covers.
    +         */
    +        range: IRange;
    +        /**
    +         * Options associated with this decoration.
    +         */
    +        options: IModelDecorationOptions;
    +    }
    +
    +    /**
    +     * A decoration in the model.
    +     */
    +    export interface IModelDecoration {
    +        /**
    +         * Identifier for a decoration.
    +         */
    +        readonly id: string;
    +        /**
    +         * Identifier for a decoration's owner.
    +         */
    +        readonly ownerId: number;
    +        /**
    +         * Range that this decoration covers.
    +         */
    +        readonly range: Range;
    +        /**
    +         * Options associated with this decoration.
    +         */
    +        readonly options: IModelDecorationOptions;
    +    }
    +
    +    /**
    +     * Word inside a model.
    +     */
    +    export interface IWordAtPosition {
    +        /**
    +         * The word.
    +         */
    +        readonly word: string;
    +        /**
    +         * The column where the word starts.
    +         */
    +        readonly startColumn: number;
    +        /**
    +         * The column where the word ends.
    +         */
    +        readonly endColumn: number;
    +    }
    +
    +    /**
    +     * End of line character preference.
    +     */
    +    export enum EndOfLinePreference {
    +        /**
    +         * Use the end of line character identified in the text buffer.
    +         */
    +        TextDefined = 0,
    +        /**
    +         * Use line feed (\n) as the end of line character.
    +         */
    +        LF = 1,
    +        /**
    +         * Use carriage return and line feed (\r\n) as the end of line character.
    +         */
    +        CRLF = 2
    +    }
    +
    +    /**
    +     * The default end of line to use when instantiating models.
    +     */
    +    export enum DefaultEndOfLine {
    +        /**
    +         * Use line feed (\n) as the end of line character.
    +         */
    +        LF = 1,
    +        /**
    +         * Use carriage return and line feed (\r\n) as the end of line character.
    +         */
    +        CRLF = 2
    +    }
    +
    +    /**
    +     * End of line character preference.
    +     */
    +    export enum EndOfLineSequence {
    +        /**
    +         * Use line feed (\n) as the end of line character.
    +         */
    +        LF = 0,
    +        /**
    +         * Use carriage return and line feed (\r\n) as the end of line character.
    +         */
    +        CRLF = 1
    +    }
    +
    +    /**
    +     * A single edit operation, that acts as a simple replace.
    +     * i.e. Replace text at `range` with `text` in model.
    +     */
    +    export interface ISingleEditOperation {
    +        /**
    +         * The range to replace. This can be empty to emulate a simple insert.
    +         */
    +        range: IRange;
    +        /**
    +         * The text to replace with. This can be null to emulate a simple delete.
    +         */
    +        text: string | null;
    +        /**
    +         * This indicates that this operation has "insert" semantics.
    +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
    +         */
    +        forceMoveMarkers?: boolean;
    +    }
    +
    +    /**
    +     * A single edit operation, that has an identifier.
    +     */
    +    export interface IIdentifiedSingleEditOperation {
    +        /**
    +         * The range to replace. This can be empty to emulate a simple insert.
    +         */
    +        range: IRange;
    +        /**
    +         * The text to replace with. This can be null to emulate a simple delete.
    +         */
    +        text: string | null;
    +        /**
    +         * This indicates that this operation has "insert" semantics.
    +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
    +         */
    +        forceMoveMarkers?: boolean;
    +    }
    +
    +    export interface IValidEditOperation {
    +        /**
    +         * The range to replace. This can be empty to emulate a simple insert.
    +         */
    +        range: Range;
    +        /**
    +         * The text to replace with. This can be empty to emulate a simple delete.
    +         */
    +        text: string;
    +    }
    +
    +    /**
    +     * A callback that can compute the cursor state after applying a series of edit operations.
    +     */
    +    export interface ICursorStateComputer {
    +        /**
    +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
    +         */
    +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
    +    }
    +
    +    export class TextModelResolvedOptions {
    +        _textModelResolvedOptionsBrand: void;
    +        readonly tabSize: number;
    +        readonly indentSize: number;
    +        readonly insertSpaces: boolean;
    +        readonly defaultEOL: DefaultEndOfLine;
    +        readonly trimAutoWhitespace: boolean;
    +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
    +    }
    +
    +    export interface BracketPairColorizationOptions {
    +        enabled: boolean;
    +    }
    +
    +    export interface ITextModelUpdateOptions {
    +        tabSize?: number;
    +        indentSize?: number;
    +        insertSpaces?: boolean;
    +        trimAutoWhitespace?: boolean;
    +        bracketColorizationOptions?: BracketPairColorizationOptions;
    +    }
    +
    +    export class FindMatch {
    +        _findMatchBrand: void;
    +        readonly range: Range;
    +        readonly matches: string[] | null;
    +    }
    +
    +    /**
    +     * Describes the behavior of decorations when typing/editing near their edges.
    +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
    +     */
    +    export enum TrackedRangeStickiness {
    +        AlwaysGrowsWhenTypingAtEdges = 0,
    +        NeverGrowsWhenTypingAtEdges = 1,
    +        GrowsOnlyWhenTypingBefore = 2,
    +        GrowsOnlyWhenTypingAfter = 3
    +    }
    +
    +    /**
    +     * A model.
    +     */
    +    export interface ITextModel {
    +        /**
    +         * Gets the resource associated with this editor model.
    +         */
    +        readonly uri: Uri;
    +        /**
    +         * A unique identifier associated with this model.
    +         */
    +        readonly id: string;
    +        /**
    +         * Get the resolved options for this model.
    +         */
    +        getOptions(): TextModelResolvedOptions;
    +        /**
    +         * Get the current version id of the model.
    +         * Anytime a change happens to the model (even undo/redo),
    +         * the version id is incremented.
    +         */
    +        getVersionId(): number;
    +        /**
    +         * Get the alternative version id of the model.
    +         * This alternative version id is not always incremented,
    +         * it will return the same values in the case of undo-redo.
    +         */
    +        getAlternativeVersionId(): number;
    +        /**
    +         * Replace the entire text buffer value contained in this model.
    +         */
    +        setValue(newValue: string): void;
    +        /**
    +         * Get the text stored in this model.
    +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
    +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
    +         * @return The text.
    +         */
    +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
    +        /**
    +         * Get the length of the text stored in this model.
    +         */
    +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
    +        /**
    +         * Get the text in a certain range.
    +         * @param range The range describing what text to get.
    +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
    +         * @return The text.
    +         */
    +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
    +        /**
    +         * Get the length of text in a certain range.
    +         * @param range The range describing what text length to get.
    +         * @return The text length.
    +         */
    +        getValueLengthInRange(range: IRange): number;
    +        /**
    +         * Get the character count of text in a certain range.
    +         * @param range The range describing what text length to get.
    +         */
    +        getCharacterCountInRange(range: IRange): number;
    +        /**
    +         * Get the number of lines in the model.
    +         */
    +        getLineCount(): number;
    +        /**
    +         * Get the text for a certain line.
    +         */
    +        getLineContent(lineNumber: number): string;
    +        /**
    +         * Get the text length for a certain line.
    +         */
    +        getLineLength(lineNumber: number): number;
    +        /**
    +         * Get the text for all lines.
    +         */
    +        getLinesContent(): string[];
    +        /**
    +         * Get the end of line sequence predominantly used in the text buffer.
    +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
    +         */
    +        getEOL(): string;
    +        /**
    +         * Get the end of line sequence predominantly used in the text buffer.
    +         */
    +        getEndOfLineSequence(): EndOfLineSequence;
    +        /**
    +         * Get the minimum legal column for line at `lineNumber`
    +         */
    +        getLineMinColumn(lineNumber: number): number;
    +        /**
    +         * Get the maximum legal column for line at `lineNumber`
    +         */
    +        getLineMaxColumn(lineNumber: number): number;
    +        /**
    +         * Returns the column before the first non whitespace character for line at `lineNumber`.
    +         * Returns 0 if line is empty or contains only whitespace.
    +         */
    +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
    +        /**
    +         * Returns the column after the last non whitespace character for line at `lineNumber`.
    +         * Returns 0 if line is empty or contains only whitespace.
    +         */
    +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
    +        /**
    +         * Create a valid position.
    +         */
    +        validatePosition(position: IPosition): Position;
    +        /**
    +         * Advances the given position by the given offset (negative offsets are also accepted)
    +         * and returns it as a new valid position.
    +         *
    +         * If the offset and position are such that their combination goes beyond the beginning or
    +         * end of the model, throws an exception.
    +         *
    +         * If the offset is such that the new position would be in the middle of a multi-byte
    +         * line terminator, throws an exception.
    +         */
    +        modifyPosition(position: IPosition, offset: number): Position;
    +        /**
    +         * Create a valid range.
    +         */
    +        validateRange(range: IRange): Range;
    +        /**
    +         * Converts the position to a zero-based offset.
    +         *
    +         * The position will be [adjusted](#TextDocument.validatePosition).
    +         *
    +         * @param position A position.
    +         * @return A valid zero-based offset.
    +         */
    +        getOffsetAt(position: IPosition): number;
    +        /**
    +         * Converts a zero-based offset to a position.
    +         *
    +         * @param offset A zero-based offset.
    +         * @return A valid [position](#Position).
    +         */
    +        getPositionAt(offset: number): Position;
    +        /**
    +         * Get a range covering the entire model.
    +         */
    +        getFullModelRange(): Range;
    +        /**
    +         * Returns if the model was disposed or not.
    +         */
    +        isDisposed(): boolean;
    +        /**
    +         * Search the model.
    +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
    +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
    +         * @param isRegex Used to indicate that `searchString` is a regular expression.
    +         * @param matchCase Force the matching to match lower/upper case exactly.
    +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
    +         * @param captureMatches The result will contain the captured groups.
    +         * @param limitResultCount Limit the number of results
    +         * @return The ranges where the matches are. It is empty if not matches have been found.
    +         */
    +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
    +        /**
    +         * Search the model.
    +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
    +         * @param searchScope Limit the searching to only search inside these ranges.
    +         * @param isRegex Used to indicate that `searchString` is a regular expression.
    +         * @param matchCase Force the matching to match lower/upper case exactly.
    +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
    +         * @param captureMatches The result will contain the captured groups.
    +         * @param limitResultCount Limit the number of results
    +         * @return The ranges where the matches are. It is empty if no matches have been found.
    +         */
    +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
    +        /**
    +         * Search the model for the next match. Loops to the beginning of the model if needed.
    +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
    +         * @param searchStart Start the searching at the specified position.
    +         * @param isRegex Used to indicate that `searchString` is a regular expression.
    +         * @param matchCase Force the matching to match lower/upper case exactly.
    +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
    +         * @param captureMatches The result will contain the captured groups.
    +         * @return The range where the next match is. It is null if no next match has been found.
    +         */
    +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
    +        /**
    +         * Search the model for the previous match. Loops to the end of the model if needed.
    +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
    +         * @param searchStart Start the searching at the specified position.
    +         * @param isRegex Used to indicate that `searchString` is a regular expression.
    +         * @param matchCase Force the matching to match lower/upper case exactly.
    +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
    +         * @param captureMatches The result will contain the captured groups.
    +         * @return The range where the previous match is. It is null if no previous match has been found.
    +         */
    +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
    +        /**
    +         * Get the language associated with this model.
    +         */
    +        getLanguageId(): string;
    +        /**
    +         * Get the word under or besides `position`.
    +         * @param position The position to look for a word.
    +         * @return The word under or besides `position`. Might be null.
    +         */
    +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
    +        /**
    +         * Get the word under or besides `position` trimmed to `position`.column
    +         * @param position The position to look for a word.
    +         * @return The word under or besides `position`. Will never be null.
    +         */
    +        getWordUntilPosition(position: IPosition): IWordAtPosition;
    +        /**
    +         * Perform a minimum amount of operations, in order to transform the decorations
    +         * identified by `oldDecorations` to the decorations described by `newDecorations`
    +         * and returns the new identifiers associated with the resulting decorations.
    +         *
    +         * @param oldDecorations Array containing previous decorations identifiers.
    +         * @param newDecorations Array describing what decorations should result after the call.
    +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
    +         * @return An array containing the new decorations identifiers.
    +         */
    +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
    +        /**
    +         * Get the options associated with a decoration.
    +         * @param id The decoration id.
    +         * @return The decoration options or null if the decoration was not found.
    +         */
    +        getDecorationOptions(id: string): IModelDecorationOptions | null;
    +        /**
    +         * Get the range associated with a decoration.
    +         * @param id The decoration id.
    +         * @return The decoration range or null if the decoration was not found.
    +         */
    +        getDecorationRange(id: string): Range | null;
    +        /**
    +         * Gets all the decorations for the line `lineNumber` as an array.
    +         * @param lineNumber The line number
    +         * @param ownerId If set, it will ignore decorations belonging to other owners.
    +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
    +         * @return An array with the decorations
    +         */
    +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
    +        /**
    +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
    +         * @param startLineNumber The start line number
    +         * @param endLineNumber The end line number
    +         * @param ownerId If set, it will ignore decorations belonging to other owners.
    +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
    +         * @return An array with the decorations
    +         */
    +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
    +        /**
    +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
    +         * So for now it returns all the decorations on the same line as `range`.
    +         * @param range The range to search in
    +         * @param ownerId If set, it will ignore decorations belonging to other owners.
    +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
    +         * @return An array with the decorations
    +         */
    +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
    +        /**
    +         * Gets all the decorations as an array.
    +         * @param ownerId If set, it will ignore decorations belonging to other owners.
    +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
    +         */
    +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
    +        /**
    +         * Gets all the decorations that should be rendered in the overview ruler as an array.
    +         * @param ownerId If set, it will ignore decorations belonging to other owners.
    +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
    +         */
    +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
    +        /**
    +         * Gets all the decorations that contain injected text.
    +         * @param ownerId If set, it will ignore decorations belonging to other owners.
    +         */
    +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
    +        /**
    +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
    +         */
    +        normalizeIndentation(str: string): string;
    +        /**
    +         * Change the options of this model.
    +         */
    +        updateOptions(newOpts: ITextModelUpdateOptions): void;
    +        /**
    +         * Detect the indentation options for this model from its content.
    +         */
    +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
    +        /**
    +         * Close the current undo-redo element.
    +         * This offers a way to create an undo/redo stop point.
    +         */
    +        pushStackElement(): void;
    +        /**
    +         * Open the current undo-redo element.
    +         * This offers a way to remove the current undo/redo stop point.
    +         */
    +        popStackElement(): void;
    +        /**
    +         * Push edit operations, basically editing the model. This is the preferred way
    +         * of editing the model. The edit operations will land on the undo stack.
    +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
    +         * @param editOperations The edit operations.
    +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
    +         * @return The cursor state returned by the `cursorStateComputer`.
    +         */
    +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
    +        /**
    +         * Change the end of line sequence. This is the preferred way of
    +         * changing the eol sequence. This will land on the undo stack.
    +         */
    +        pushEOL(eol: EndOfLineSequence): void;
    +        /**
    +         * Edit the model without adding the edits to the undo stack.
    +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
    +         * @param operations The edit operations.
    +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
    +         */
    +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
    +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
    +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
    +        /**
    +         * Change the end of line sequence without recording in the undo stack.
    +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
    +         */
    +        setEOL(eol: EndOfLineSequence): void;
    +        /**
    +         * An event emitted when the contents of the model have changed.
    +         * @event
    +         */
    +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
    +        /**
    +         * An event emitted when decorations of the model have changed.
    +         * @event
    +         */
    +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
    +        /**
    +         * An event emitted when the model options have changed.
    +         * @event
    +         */
    +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
    +        /**
    +         * An event emitted when the language associated with the model has changed.
    +         * @event
    +         */
    +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
    +        /**
    +         * An event emitted when the language configuration associated with the model has changed.
    +         * @event
    +         */
    +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
    +        /**
    +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
    +         * @event
    +         */
    +        onDidChangeAttached(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted right before disposing the model.
    +         * @event
    +         */
    +        onWillDispose(listener: () => void): IDisposable;
    +        /**
    +         * Destroy this model.
    +         */
    +        dispose(): void;
    +        /**
    +         * Returns if this model is attached to an editor or not.
    +         */
    +        isAttachedToEditor(): boolean;
    +    }
    +
    +    /**
    +     * A builder and helper for edit operations for a command.
    +     */
    +    export interface IEditOperationBuilder {
    +        /**
    +         * Add a new edit operation (a replace operation).
    +         * @param range The range to replace (delete). May be empty to represent a simple insert.
    +         * @param text The text to replace with. May be null to represent a simple delete.
    +         */
    +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
    +        /**
    +         * Add a new edit operation (a replace operation).
    +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
    +         * @param range The range to replace (delete). May be empty to represent a simple insert.
    +         * @param text The text to replace with. May be null to represent a simple delete.
    +         */
    +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
    +        /**
    +         * Track `selection` when applying edit operations.
    +         * A best effort will be made to not grow/expand the selection.
    +         * An empty selection will clamp to a nearby character.
    +         * @param selection The selection to track.
    +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
    +         *           should clamp to the previous or the next character.
    +         * @return A unique identifier.
    +         */
    +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
    +    }
    +
    +    /**
    +     * A helper for computing cursor state after a command.
    +     */
    +    export interface ICursorStateComputerData {
    +        /**
    +         * Get the inverse edit operations of the added edit operations.
    +         */
    +        getInverseEditOperations(): IValidEditOperation[];
    +        /**
    +         * Get a previously tracked selection.
    +         * @param id The unique identifier returned by `trackSelection`.
    +         * @return The selection.
    +         */
    +        getTrackedSelection(id: string): Selection;
    +    }
    +
    +    /**
    +     * A command that modifies text / cursor state on a model.
    +     */
    +    export interface ICommand {
    +        /**
    +         * Get the edit operations needed to execute this command.
    +         * @param model The model the command will execute on.
    +         * @param builder A helper to collect the needed edit operations and to track selections.
    +         */
    +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
    +        /**
    +         * Compute the cursor state after the edit operations were applied.
    +         * @param model The model the command has executed on.
    +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
    +         * @return The cursor state after the command executed.
    +         */
    +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
    +    }
    +
    +    /**
    +     * A model for the diff editor.
    +     */
    +    export interface IDiffEditorModel {
    +        /**
    +         * Original model.
    +         */
    +        original: ITextModel;
    +        /**
    +         * Modified model.
    +         */
    +        modified: ITextModel;
    +    }
    +
    +    /**
    +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
    +     */
    +    export interface IModelChangedEvent {
    +        /**
    +         * The `uri` of the previous model or null.
    +         */
    +        readonly oldModelUrl: Uri | null;
    +        /**
    +         * The `uri` of the new model or null.
    +         */
    +        readonly newModelUrl: Uri | null;
    +    }
    +
    +    export interface IDimension {
    +        width: number;
    +        height: number;
    +    }
    +
    +    /**
    +     * A change
    +     */
    +    export interface IChange {
    +        readonly originalStartLineNumber: number;
    +        readonly originalEndLineNumber: number;
    +        readonly modifiedStartLineNumber: number;
    +        readonly modifiedEndLineNumber: number;
    +    }
    +
    +    /**
    +     * A character level change.
    +     */
    +    export interface ICharChange extends IChange {
    +        readonly originalStartColumn: number;
    +        readonly originalEndColumn: number;
    +        readonly modifiedStartColumn: number;
    +        readonly modifiedEndColumn: number;
    +    }
    +
    +    /**
    +     * A line change
    +     */
    +    export interface ILineChange extends IChange {
    +        readonly charChanges: ICharChange[] | undefined;
    +    }
    +
    +    export interface IContentSizeChangedEvent {
    +        readonly contentWidth: number;
    +        readonly contentHeight: number;
    +        readonly contentWidthChanged: boolean;
    +        readonly contentHeightChanged: boolean;
    +    }
    +
    +    export interface INewScrollPosition {
    +        scrollLeft?: number;
    +        scrollTop?: number;
    +    }
    +
    +    export interface IEditorAction {
    +        readonly id: string;
    +        readonly label: string;
    +        readonly alias: string;
    +        isSupported(): boolean;
    +        run(): Promise<void>;
    +    }
    +
    +    export type IEditorModel = ITextModel | IDiffEditorModel;
    +
    +    /**
    +     * A (serializable) state of the cursors.
    +     */
    +    export interface ICursorState {
    +        inSelectionMode: boolean;
    +        selectionStart: IPosition;
    +        position: IPosition;
    +    }
    +
    +    /**
    +     * A (serializable) state of the view.
    +     */
    +    export interface IViewState {
    +        /** written by previous versions */
    +        scrollTop?: number;
    +        /** written by previous versions */
    +        scrollTopWithoutViewZones?: number;
    +        scrollLeft: number;
    +        firstPosition: IPosition;
    +        firstPositionDeltaTop: number;
    +    }
    +
    +    /**
    +     * A (serializable) state of the code editor.
    +     */
    +    export interface ICodeEditorViewState {
    +        cursorState: ICursorState[];
    +        viewState: IViewState;
    +        contributionsState: {
    +            [id: string]: any;
    +        };
    +    }
    +
    +    /**
    +     * (Serializable) View state for the diff editor.
    +     */
    +    export interface IDiffEditorViewState {
    +        original: ICodeEditorViewState | null;
    +        modified: ICodeEditorViewState | null;
    +    }
    +
    +    /**
    +     * An editor view state.
    +     */
    +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
    +
    +    export enum ScrollType {
    +        Smooth = 0,
    +        Immediate = 1
    +    }
    +
    +    /**
    +     * An editor.
    +     */
    +    export interface IEditor {
    +        /**
    +         * An event emitted when the editor has been disposed.
    +         * @event
    +         */
    +        onDidDispose(listener: () => void): IDisposable;
    +        /**
    +         * Dispose the editor.
    +         */
    +        dispose(): void;
    +        /**
    +         * Get a unique id for this editor instance.
    +         */
    +        getId(): string;
    +        /**
    +         * Get the editor type. Please see `EditorType`.
    +         * This is to avoid an instanceof check
    +         */
    +        getEditorType(): string;
    +        /**
    +         * Update the editor's options after the editor has been created.
    +         */
    +        updateOptions(newOptions: IEditorOptions): void;
    +        /**
    +         * Instructs the editor to remeasure its container. This method should
    +         * be called when the container of the editor gets resized.
    +         *
    +         * If a dimension is passed in, the passed in value will be used.
    +         */
    +        layout(dimension?: IDimension): void;
    +        /**
    +         * Brings browser focus to the editor text
    +         */
    +        focus(): void;
    +        /**
    +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
    +         */
    +        hasTextFocus(): boolean;
    +        /**
    +         * Returns all actions associated with this editor.
    +         */
    +        getSupportedActions(): IEditorAction[];
    +        /**
    +         * Saves current view state of the editor in a serializable object.
    +         */
    +        saveViewState(): IEditorViewState | null;
    +        /**
    +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
    +         */
    +        restoreViewState(state: IEditorViewState): void;
    +        /**
    +         * Given a position, returns a column number that takes tab-widths into account.
    +         */
    +        getVisibleColumnFromPosition(position: IPosition): number;
    +        /**
    +         * Returns the primary position of the cursor.
    +         */
    +        getPosition(): Position | null;
    +        /**
    +         * Set the primary position of the cursor. This will remove any secondary cursors.
    +         * @param position New primary cursor's position
    +         */
    +        setPosition(position: IPosition): void;
    +        /**
    +         * Scroll vertically as necessary and reveal a line.
    +         */
    +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically as necessary and reveal a line centered vertically.
    +         */
    +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
    +         */
    +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
    +         * optimized for viewing a code definition.
    +         */
    +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a position.
    +         */
    +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
    +         */
    +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
    +         */
    +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
    +         * optimized for viewing a code definition.
    +         */
    +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
    +        /**
    +         * Returns the primary selection of the editor.
    +         */
    +        getSelection(): Selection | null;
    +        /**
    +         * Returns all the selections of the editor.
    +         */
    +        getSelections(): Selection[] | null;
    +        /**
    +         * Set the primary selection of the editor. This will remove any secondary cursors.
    +         * @param selection The new selection
    +         */
    +        setSelection(selection: IRange): void;
    +        /**
    +         * Set the primary selection of the editor. This will remove any secondary cursors.
    +         * @param selection The new selection
    +         */
    +        setSelection(selection: Range): void;
    +        /**
    +         * Set the primary selection of the editor. This will remove any secondary cursors.
    +         * @param selection The new selection
    +         */
    +        setSelection(selection: ISelection): void;
    +        /**
    +         * Set the primary selection of the editor. This will remove any secondary cursors.
    +         * @param selection The new selection
    +         */
    +        setSelection(selection: Selection): void;
    +        /**
    +         * Set the selections for all the cursors of the editor.
    +         * Cursors will be removed or added, as necessary.
    +         */
    +        setSelections(selections: readonly ISelection[]): void;
    +        /**
    +         * Scroll vertically as necessary and reveal lines.
    +         */
    +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically as necessary and reveal lines centered vertically.
    +         */
    +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
    +         */
    +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
    +         * optimized for viewing a code definition.
    +         */
    +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a range.
    +         */
    +        revealRange(range: IRange, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
    +         */
    +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
    +         */
    +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
    +         */
    +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
    +         * optimized for viewing a code definition.
    +         */
    +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
    +        /**
    +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
    +         * optimized for viewing a code definition. Only if it lies outside the viewport.
    +         */
    +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
    +        /**
    +         * Directly trigger a handler or an editor action.
    +         * @param source The source of the call.
    +         * @param handlerId The id of the handler or the id of a contribution.
    +         * @param payload Extra data to be sent to the handler.
    +         */
    +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
    +        /**
    +         * Gets the current model attached to this editor.
    +         */
    +        getModel(): IEditorModel | null;
    +        /**
    +         * Sets the current model attached to this editor.
    +         * If the previous model was created by the editor via the value key in the options
    +         * literal object, it will be destroyed. Otherwise, if the previous model was set
    +         * via setModel, or the model key in the options literal object, the previous model
    +         * will not be destroyed.
    +         * It is safe to call setModel(null) to simply detach the current model from the editor.
    +         */
    +        setModel(model: IEditorModel | null): void;
    +    }
    +
    +    /**
    +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
    +     */
    +    export interface IEditorContribution {
    +        /**
    +         * Dispose this contribution.
    +         */
    +        dispose(): void;
    +        /**
    +         * Store view state.
    +         */
    +        saveViewState?(): any;
    +        /**
    +         * Restore view state.
    +         */
    +        restoreViewState?(state: any): void;
    +    }
    +
    +    /**
    +     * The type of the `IEditor`.
    +     */
    +    export const EditorType: {
    +        ICodeEditor: string;
    +        IDiffEditor: string;
    +    };
    +
    +    /**
    +     * An event describing that the current language associated with a model has changed.
    +     */
    +    export interface IModelLanguageChangedEvent {
    +        /**
    +         * Previous language
    +         */
    +        readonly oldLanguage: string;
    +        /**
    +         * New language
    +         */
    +        readonly newLanguage: string;
    +    }
    +
    +    /**
    +     * An event describing that the language configuration associated with a model has changed.
    +     */
    +    export interface IModelLanguageConfigurationChangedEvent {
    +    }
    +
    +    export interface IModelContentChange {
    +        /**
    +         * The range that got replaced.
    +         */
    +        readonly range: IRange;
    +        /**
    +         * The offset of the range that got replaced.
    +         */
    +        readonly rangeOffset: number;
    +        /**
    +         * The length of the range that got replaced.
    +         */
    +        readonly rangeLength: number;
    +        /**
    +         * The new text for the range.
    +         */
    +        readonly text: string;
    +    }
    +
    +    /**
    +     * An event describing a change in the text of a model.
    +     */
    +    export interface IModelContentChangedEvent {
    +        readonly changes: IModelContentChange[];
    +        /**
    +         * The (new) end-of-line character.
    +         */
    +        readonly eol: string;
    +        /**
    +         * The new version id the model has transitioned to.
    +         */
    +        readonly versionId: number;
    +        /**
    +         * Flag that indicates that this event was generated while undoing.
    +         */
    +        readonly isUndoing: boolean;
    +        /**
    +         * Flag that indicates that this event was generated while redoing.
    +         */
    +        readonly isRedoing: boolean;
    +        /**
    +         * Flag that indicates that all decorations were lost with this edit.
    +         * The model has been reset to a new value.
    +         */
    +        readonly isFlush: boolean;
    +    }
    +
    +    /**
    +     * An event describing that model decorations have changed.
    +     */
    +    export interface IModelDecorationsChangedEvent {
    +        readonly affectsMinimap: boolean;
    +        readonly affectsOverviewRuler: boolean;
    +    }
    +
    +    export interface IModelOptionsChangedEvent {
    +        readonly tabSize: boolean;
    +        readonly indentSize: boolean;
    +        readonly insertSpaces: boolean;
    +        readonly trimAutoWhitespace: boolean;
    +    }
    +
    +    /**
    +     * Describes the reason the cursor has changed its position.
    +     */
    +    export enum CursorChangeReason {
    +        /**
    +         * Unknown or not set.
    +         */
    +        NotSet = 0,
    +        /**
    +         * A `model.setValue()` was called.
    +         */
    +        ContentFlush = 1,
    +        /**
    +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
    +         */
    +        RecoverFromMarkers = 2,
    +        /**
    +         * There was an explicit user gesture.
    +         */
    +        Explicit = 3,
    +        /**
    +         * There was a Paste.
    +         */
    +        Paste = 4,
    +        /**
    +         * There was an Undo.
    +         */
    +        Undo = 5,
    +        /**
    +         * There was a Redo.
    +         */
    +        Redo = 6
    +    }
    +
    +    /**
    +     * An event describing that the cursor position has changed.
    +     */
    +    export interface ICursorPositionChangedEvent {
    +        /**
    +         * Primary cursor's position.
    +         */
    +        readonly position: Position;
    +        /**
    +         * Secondary cursors' position.
    +         */
    +        readonly secondaryPositions: Position[];
    +        /**
    +         * Reason.
    +         */
    +        readonly reason: CursorChangeReason;
    +        /**
    +         * Source of the call that caused the event.
    +         */
    +        readonly source: string;
    +    }
    +
    +    /**
    +     * An event describing that the cursor selection has changed.
    +     */
    +    export interface ICursorSelectionChangedEvent {
    +        /**
    +         * The primary selection.
    +         */
    +        readonly selection: Selection;
    +        /**
    +         * The secondary selections.
    +         */
    +        readonly secondarySelections: Selection[];
    +        /**
    +         * The model version id.
    +         */
    +        readonly modelVersionId: number;
    +        /**
    +         * The old selections.
    +         */
    +        readonly oldSelections: Selection[] | null;
    +        /**
    +         * The model version id the that `oldSelections` refer to.
    +         */
    +        readonly oldModelVersionId: number;
    +        /**
    +         * Source of the call that caused the event.
    +         */
    +        readonly source: string;
    +        /**
    +         * Reason.
    +         */
    +        readonly reason: CursorChangeReason;
    +    }
    +
    +    export enum AccessibilitySupport {
    +        /**
    +         * This should be the browser case where it is not known if a screen reader is attached or no.
    +         */
    +        Unknown = 0,
    +        Disabled = 1,
    +        Enabled = 2
    +    }
    +
    +    /**
    +     * Configuration options for auto closing quotes and brackets
    +     */
    +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
    +
    +    /**
    +     * Configuration options for auto wrapping quotes and brackets
    +     */
    +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
    +
    +    /**
    +     * Configuration options for typing over closing quotes or brackets
    +     */
    +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
    +
    +    /**
    +     * Configuration options for auto indentation in the editor
    +     */
    +    export enum EditorAutoIndentStrategy {
    +        None = 0,
    +        Keep = 1,
    +        Brackets = 2,
    +        Advanced = 3,
    +        Full = 4
    +    }
    +
    +    /**
    +     * Configuration options for the editor.
    +     */
    +    export interface IEditorOptions {
    +        /**
    +         * This editor is used inside a diff editor.
    +         */
    +        inDiffEditor?: boolean;
    +        /**
    +         * The aria label for the editor's textarea (when it is focused).
    +         */
    +        ariaLabel?: string;
    +        /**
    +         * The `tabindex` property of the editor's textarea
    +         */
    +        tabIndex?: number;
    +        /**
    +         * Render vertical lines at the specified columns.
    +         * Defaults to empty array.
    +         */
    +        rulers?: (number | IRulerOption)[];
    +        /**
    +         * A string containing the word separators used when doing word navigation.
    +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
    +         */
    +        wordSeparators?: string;
    +        /**
    +         * Enable Linux primary clipboard.
    +         * Defaults to true.
    +         */
    +        selectionClipboard?: boolean;
    +        /**
    +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
    +         * Otherwise, line numbers will not be rendered.
    +         * Defaults to `on`.
    +         */
    +        lineNumbers?: LineNumbersType;
    +        /**
    +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
    +         * Defaults to 0.
    +        */
    +        cursorSurroundingLines?: number;
    +        /**
    +         * Controls when `cursorSurroundingLines` should be enforced
    +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
    +         * by mouse.
    +        */
    +        cursorSurroundingLinesStyle?: 'default' | 'all';
    +        /**
    +         * Render last line number when the file ends with a newline.
    +         * Defaults to true.
    +        */
    +        renderFinalNewline?: boolean;
    +        /**
    +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
    +         * Defaults to 'prompt'.
    +         */
    +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
    +        /**
    +         * Should the corresponding line be selected when clicking on the line number?
    +         * Defaults to true.
    +         */
    +        selectOnLineNumbers?: boolean;
    +        /**
    +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
    +         * Defaults to 5.
    +         */
    +        lineNumbersMinChars?: number;
    +        /**
    +         * Enable the rendering of the glyph margin.
    +         * Defaults to true in vscode and to false in monaco-editor.
    +         */
    +        glyphMargin?: boolean;
    +        /**
    +         * The width reserved for line decorations (in px).
    +         * Line decorations are placed between line numbers and the editor content.
    +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
    +         * Defaults to 10.
    +         */
    +        lineDecorationsWidth?: number | string;
    +        /**
    +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
    +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
    +         * Defaults to 30 (px).
    +         */
    +        revealHorizontalRightPadding?: number;
    +        /**
    +         * Render the editor selection with rounded borders.
    +         * Defaults to true.
    +         */
    +        roundedSelection?: boolean;
    +        /**
    +         * Class name to be added to the editor.
    +         */
    +        extraEditorClassName?: string;
    +        /**
    +         * Should the editor be read only. See also `domReadOnly`.
    +         * Defaults to false.
    +         */
    +        readOnly?: boolean;
    +        /**
    +         * Should the textarea used for input use the DOM `readonly` attribute.
    +         * Defaults to false.
    +         */
    +        domReadOnly?: boolean;
    +        /**
    +         * Enable linked editing.
    +         * Defaults to false.
    +         */
    +        linkedEditing?: boolean;
    +        /**
    +         * deprecated, use linkedEditing instead
    +         */
    +        renameOnType?: boolean;
    +        /**
    +         * Should the editor render validation decorations.
    +         * Defaults to editable.
    +         */
    +        renderValidationDecorations?: 'editable' | 'on' | 'off';
    +        /**
    +         * Control the behavior and rendering of the scrollbars.
    +         */
    +        scrollbar?: IEditorScrollbarOptions;
    +        /**
    +         * Control the behavior and rendering of the minimap.
    +         */
    +        minimap?: IEditorMinimapOptions;
    +        /**
    +         * Control the behavior of the find widget.
    +         */
    +        find?: IEditorFindOptions;
    +        /**
    +         * Display overflow widgets as `fixed`.
    +         * Defaults to `false`.
    +         */
    +        fixedOverflowWidgets?: boolean;
    +        /**
    +         * The number of vertical lanes the overview ruler should render.
    +         * Defaults to 3.
    +         */
    +        overviewRulerLanes?: number;
    +        /**
    +         * Controls if a border should be drawn around the overview ruler.
    +         * Defaults to `true`.
    +         */
    +        overviewRulerBorder?: boolean;
    +        /**
    +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
    +         * Defaults to 'blink'.
    +         */
    +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
    +        /**
    +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
    +         * Defaults to false.
    +         */
    +        mouseWheelZoom?: boolean;
    +        /**
    +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
    +         * Defaults to 'text'
    +         */
    +        mouseStyle?: 'text' | 'default' | 'copy';
    +        /**
    +         * Enable smooth caret animation.
    +         * Defaults to false.
    +         */
    +        cursorSmoothCaretAnimation?: boolean;
    +        /**
    +         * Control the cursor style, either 'block' or 'line'.
    +         * Defaults to 'line'.
    +         */
    +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
    +        /**
    +         * Control the width of the cursor when cursorStyle is set to 'line'
    +         */
    +        cursorWidth?: number;
    +        /**
    +         * Enable font ligatures.
    +         * Defaults to false.
    +         */
    +        fontLigatures?: boolean | string;
    +        /**
    +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
    +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
    +         * Defaults to false.
    +         */
    +        disableLayerHinting?: boolean;
    +        /**
    +         * Disable the optimizations for monospace fonts.
    +         * Defaults to false.
    +         */
    +        disableMonospaceOptimizations?: boolean;
    +        /**
    +         * Should the cursor be hidden in the overview ruler.
    +         * Defaults to false.
    +         */
    +        hideCursorInOverviewRuler?: boolean;
    +        /**
    +         * Enable that scrolling can go one screen size after the last line.
    +         * Defaults to true.
    +         */
    +        scrollBeyondLastLine?: boolean;
    +        /**
    +         * Enable that scrolling can go beyond the last column by a number of columns.
    +         * Defaults to 5.
    +         */
    +        scrollBeyondLastColumn?: number;
    +        /**
    +         * Enable that the editor animates scrolling to a position.
    +         * Defaults to false.
    +         */
    +        smoothScrolling?: boolean;
    +        /**
    +         * Enable that the editor will install an interval to check if its container dom node size has changed.
    +         * Enabling this might have a severe performance impact.
    +         * Defaults to false.
    +         */
    +        automaticLayout?: boolean;
    +        /**
    +         * Control the wrapping of the editor.
    +         * When `wordWrap` = "off", the lines will never wrap.
    +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
    +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
    +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
    +         * Defaults to "off".
    +         */
    +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
    +        /**
    +         * Override the `wordWrap` setting.
    +         */
    +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
    +        /**
    +         * Override the `wordWrapOverride1` setting.
    +         */
    +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
    +        /**
    +         * Control the wrapping of the editor.
    +         * When `wordWrap` = "off", the lines will never wrap.
    +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
    +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
    +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
    +         * Defaults to 80.
    +         */
    +        wordWrapColumn?: number;
    +        /**
    +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
    +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
    +         */
    +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
    +        /**
    +         * Controls the wrapping strategy to use.
    +         * Defaults to 'simple'.
    +         */
    +        wrappingStrategy?: 'simple' | 'advanced';
    +        /**
    +         * Configure word wrapping characters. A break will be introduced before these characters.
    +         */
    +        wordWrapBreakBeforeCharacters?: string;
    +        /**
    +         * Configure word wrapping characters. A break will be introduced after these characters.
    +         */
    +        wordWrapBreakAfterCharacters?: string;
    +        /**
    +         * Performance guard: Stop rendering a line after x characters.
    +         * Defaults to 10000.
    +         * Use -1 to never stop rendering
    +         */
    +        stopRenderingLineAfter?: number;
    +        /**
    +         * Configure the editor's hover.
    +         */
    +        hover?: IEditorHoverOptions;
    +        /**
    +         * Enable detecting links and making them clickable.
    +         * Defaults to true.
    +         */
    +        links?: boolean;
    +        /**
    +         * Enable inline color decorators and color picker rendering.
    +         */
    +        colorDecorators?: boolean;
    +        /**
    +         * Control the behaviour of comments in the editor.
    +         */
    +        comments?: IEditorCommentsOptions;
    +        /**
    +         * Enable custom contextmenu.
    +         * Defaults to true.
    +         */
    +        contextmenu?: boolean;
    +        /**
    +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
    +         * Defaults to 1.
    +         */
    +        mouseWheelScrollSensitivity?: number;
    +        /**
    +         * FastScrolling mulitplier speed when pressing `Alt`
    +         * Defaults to 5.
    +         */
    +        fastScrollSensitivity?: number;
    +        /**
    +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
    +         * Defaults to true.
    +         */
    +        scrollPredominantAxis?: boolean;
    +        /**
    +         * Enable that the selection with the mouse and keys is doing column selection.
    +         * Defaults to false.
    +         */
    +        columnSelection?: boolean;
    +        /**
    +         * The modifier to be used to add multiple cursors with the mouse.
    +         * Defaults to 'alt'
    +         */
    +        multiCursorModifier?: 'ctrlCmd' | 'alt';
    +        /**
    +         * Merge overlapping selections.
    +         * Defaults to true
    +         */
    +        multiCursorMergeOverlapping?: boolean;
    +        /**
    +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
    +         * Defaults to 'spread'.
    +         */
    +        multiCursorPaste?: 'spread' | 'full';
    +        /**
    +         * Configure the editor's accessibility support.
    +         * Defaults to 'auto'. It is best to leave this to 'auto'.
    +         */
    +        accessibilitySupport?: 'auto' | 'off' | 'on';
    +        /**
    +         * Controls the number of lines in the editor that can be read out by a screen reader
    +         */
    +        accessibilityPageSize?: number;
    +        /**
    +         * Suggest options.
    +         */
    +        suggest?: ISuggestOptions;
    +        inlineSuggest?: IInlineSuggestOptions;
    +        /**
    +         * Smart select options.
    +         */
    +        smartSelect?: ISmartSelectOptions;
    +        /**
    +         *
    +         */
    +        gotoLocation?: IGotoLocationOptions;
    +        /**
    +         * Enable quick suggestions (shadow suggestions)
    +         * Defaults to true.
    +         */
    +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
    +        /**
    +         * Quick suggestions show delay (in ms)
    +         * Defaults to 10 (ms)
    +         */
    +        quickSuggestionsDelay?: number;
    +        /**
    +         * Controls the spacing around the editor.
    +         */
    +        padding?: IEditorPaddingOptions;
    +        /**
    +         * Parameter hint options.
    +         */
    +        parameterHints?: IEditorParameterHintOptions;
    +        /**
    +         * Options for auto closing brackets.
    +         * Defaults to language defined behavior.
    +         */
    +        autoClosingBrackets?: EditorAutoClosingStrategy;
    +        /**
    +         * Options for auto closing quotes.
    +         * Defaults to language defined behavior.
    +         */
    +        autoClosingQuotes?: EditorAutoClosingStrategy;
    +        /**
    +         * Options for pressing backspace near quotes or bracket pairs.
    +         */
    +        autoClosingDelete?: EditorAutoClosingEditStrategy;
    +        /**
    +         * Options for typing over closing quotes or brackets.
    +         */
    +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
    +        /**
    +         * Options for auto surrounding.
    +         * Defaults to always allowing auto surrounding.
    +         */
    +        autoSurround?: EditorAutoSurroundStrategy;
    +        /**
    +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
    +         * Defaults to advanced.
    +         */
    +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
    +        /**
    +         * Emulate selection behaviour of tab characters when using spaces for indentation.
    +         * This means selection will stick to tab stops.
    +         */
    +        stickyTabStops?: boolean;
    +        /**
    +         * Enable format on type.
    +         * Defaults to false.
    +         */
    +        formatOnType?: boolean;
    +        /**
    +         * Enable format on paste.
    +         * Defaults to false.
    +         */
    +        formatOnPaste?: boolean;
    +        /**
    +         * Controls if the editor should allow to move selections via drag and drop.
    +         * Defaults to false.
    +         */
    +        dragAndDrop?: boolean;
    +        /**
    +         * Enable the suggestion box to pop-up on trigger characters.
    +         * Defaults to true.
    +         */
    +        suggestOnTriggerCharacters?: boolean;
    +        /**
    +         * Accept suggestions on ENTER.
    +         * Defaults to 'on'.
    +         */
    +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
    +        /**
    +         * Accept suggestions on provider defined characters.
    +         * Defaults to true.
    +         */
    +        acceptSuggestionOnCommitCharacter?: boolean;
    +        /**
    +         * Enable snippet suggestions. Default to 'true'.
    +         */
    +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
    +        /**
    +         * Copying without a selection copies the current line.
    +         */
    +        emptySelectionClipboard?: boolean;
    +        /**
    +         * Syntax highlighting is copied.
    +         */
    +        copyWithSyntaxHighlighting?: boolean;
    +        /**
    +         * The history mode for suggestions.
    +         */
    +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
    +        /**
    +         * The font size for the suggest widget.
    +         * Defaults to the editor font size.
    +         */
    +        suggestFontSize?: number;
    +        /**
    +         * The line height for the suggest widget.
    +         * Defaults to the editor line height.
    +         */
    +        suggestLineHeight?: number;
    +        /**
    +         * Enable tab completion.
    +         */
    +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
    +        /**
    +         * Enable selection highlight.
    +         * Defaults to true.
    +         */
    +        selectionHighlight?: boolean;
    +        /**
    +         * Enable semantic occurrences highlight.
    +         * Defaults to true.
    +         */
    +        occurrencesHighlight?: boolean;
    +        /**
    +         * Show code lens
    +         * Defaults to true.
    +         */
    +        codeLens?: boolean;
    +        /**
    +         * Code lens font family. Defaults to editor font family.
    +         */
    +        codeLensFontFamily?: string;
    +        /**
    +         * Code lens font size. Default to 90% of the editor font size
    +         */
    +        codeLensFontSize?: number;
    +        /**
    +         * Control the behavior and rendering of the code action lightbulb.
    +         */
    +        lightbulb?: IEditorLightbulbOptions;
    +        /**
    +         * Timeout for running code actions on save.
    +         */
    +        codeActionsOnSaveTimeout?: number;
    +        /**
    +         * Enable code folding.
    +         * Defaults to true.
    +         */
    +        folding?: boolean;
    +        /**
    +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
    +         * Defaults to 'auto'.
    +         */
    +        foldingStrategy?: 'auto' | 'indentation';
    +        /**
    +         * Enable highlight for folded regions.
    +         * 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'.
    +         */
    +        showFoldingControls?: 'always' | 'mouseover';
    +        /**
    +         * Controls whether clicking on the empty content after a folded line will unfold the line.
    +         * Defaults to false.
    +         */
    +        unfoldOnClickAfterEndOfLine?: boolean;
    +        /**
    +         * Enable highlighting of matching brackets.
    +         * Defaults to 'always'.
    +         */
    +        matchBrackets?: 'never' | 'near' | 'always';
    +        /**
    +         * Enable rendering of whitespace.
    +         * Defaults to 'selection'.
    +         */
    +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
    +        /**
    +         * Enable rendering of control characters.
    +         * Defaults to true.
    +         */
    +        renderControlCharacters?: boolean;
    +        /**
    +         * Enable rendering of current line highlight.
    +         * Defaults to all.
    +         */
    +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
    +        /**
    +         * Control if the current line highlight should be rendered only the editor is focused.
    +         * Defaults to false.
    +         */
    +        renderLineHighlightOnlyWhenFocus?: boolean;
    +        /**
    +         * Inserting and deleting whitespace follows tab stops.
    +         */
    +        useTabStops?: boolean;
    +        /**
    +         * The font family
    +         */
    +        fontFamily?: string;
    +        /**
    +         * The font weight
    +         */
    +        fontWeight?: string;
    +        /**
    +         * The font size
    +         */
    +        fontSize?: number;
    +        /**
    +         * The line height
    +         */
    +        lineHeight?: number;
    +        /**
    +         * The letter spacing
    +         */
    +        letterSpacing?: number;
    +        /**
    +         * Controls fading out of unused variables.
    +         */
    +        showUnused?: boolean;
    +        /**
    +         * Controls whether to focus the inline editor in the peek widget by default.
    +         * Defaults to false.
    +         */
    +        peekWidgetDefaultFocus?: 'tree' | 'editor';
    +        /**
    +         * Controls whether the definition link opens element in the peek widget.
    +         * Defaults to false.
    +         */
    +        definitionLinkOpensInPeek?: boolean;
    +        /**
    +         * Controls strikethrough deprecated variables.
    +         */
    +        showDeprecated?: boolean;
    +        /**
    +         * Control the behavior and rendering of the inline hints.
    +         */
    +        inlayHints?: IEditorInlayHintsOptions;
    +        /**
    +         * Control if the editor should use shadow DOM.
    +         */
    +        useShadowDOM?: boolean;
    +        /**
    +         * Controls the behavior of editor guides.
    +        */
    +        guides?: IGuidesOptions;
    +        unicodeHighlight?: IUnicodeHighlightOptions;
    +    }
    +
    +    export interface IDiffEditorBaseOptions {
    +        /**
    +         * Allow the user to resize the diff editor split view.
    +         * Defaults to true.
    +         */
    +        enableSplitViewResizing?: boolean;
    +        /**
    +         * Render the differences in two side-by-side editors.
    +         * Defaults to true.
    +         */
    +        renderSideBySide?: boolean;
    +        /**
    +         * Timeout in milliseconds after which diff computation is cancelled.
    +         * Defaults to 5000.
    +         */
    +        maxComputationTime?: number;
    +        /**
    +         * Maximum supported file size in MB.
    +         * Defaults to 50.
    +         */
    +        maxFileSize?: number;
    +        /**
    +         * Compute the diff by ignoring leading/trailing whitespace
    +         * Defaults to true.
    +         */
    +        ignoreTrimWhitespace?: boolean;
    +        /**
    +         * Render +/- indicators for added/deleted changes.
    +         * Defaults to true.
    +         */
    +        renderIndicators?: boolean;
    +        /**
    +         * Original model should be editable?
    +         * Defaults to false.
    +         */
    +        originalEditable?: boolean;
    +        /**
    +         * Should the diff editor enable code lens?
    +         * Defaults to false.
    +         */
    +        diffCodeLens?: boolean;
    +        /**
    +         * Is the diff editor should render overview ruler
    +         * Defaults to true
    +         */
    +        renderOverviewRuler?: boolean;
    +        /**
    +         * Control the wrapping of the diff editor.
    +         */
    +        diffWordWrap?: 'off' | 'on' | 'inherit';
    +    }
    +
    +    /**
    +     * Configuration options for the diff editor.
    +     */
    +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
    +    }
    +
    +    /**
    +     * An event describing that the configuration of the editor has changed.
    +     */
    +    export class ConfigurationChangedEvent {
    +        hasChanged(id: EditorOption): boolean;
    +    }
    +
    +    /**
    +     * All computed editor options.
    +     */
    +    export interface IComputedEditorOptions {
    +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
    +    }
    +
    +    export interface IEditorOption<K1 extends EditorOption, V> {
    +        readonly id: K1;
    +        readonly name: string;
    +        defaultValue: V;
    +        /**
    +         * Might modify `value`.
    +        */
    +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
    +    }
    +
    +    export class ApplyUpdateResult<T> {
    +        readonly newValue: T;
    +        readonly didChange: boolean;
    +        constructor(newValue: T, didChange: boolean);
    +    }
    +
    +    /**
    +     * Configuration options for editor comments
    +     */
    +    export interface IEditorCommentsOptions {
    +        /**
    +         * Insert a space after the line comment token and inside the block comments tokens.
    +         * Defaults to true.
    +         */
    +        insertSpace?: boolean;
    +        /**
    +         * Ignore empty lines when inserting line comments.
    +         * Defaults to true.
    +         */
    +        ignoreEmptyLines?: boolean;
    +    }
    +
    +    /**
    +     * The kind of animation in which the editor's cursor should be rendered.
    +     */
    +    export enum TextEditorCursorBlinkingStyle {
    +        /**
    +         * Hidden
    +         */
    +        Hidden = 0,
    +        /**
    +         * Blinking
    +         */
    +        Blink = 1,
    +        /**
    +         * Blinking with smooth fading
    +         */
    +        Smooth = 2,
    +        /**
    +         * Blinking with prolonged filled state and smooth fading
    +         */
    +        Phase = 3,
    +        /**
    +         * Expand collapse animation on the y axis
    +         */
    +        Expand = 4,
    +        /**
    +         * No-Blinking
    +         */
    +        Solid = 5
    +    }
    +
    +    /**
    +     * The style in which the editor's cursor should be rendered.
    +     */
    +    export enum TextEditorCursorStyle {
    +        /**
    +         * As a vertical line (sitting between two characters).
    +         */
    +        Line = 1,
    +        /**
    +         * As a block (sitting on top of a character).
    +         */
    +        Block = 2,
    +        /**
    +         * As a horizontal line (sitting under a character).
    +         */
    +        Underline = 3,
    +        /**
    +         * As a thin vertical line (sitting between two characters).
    +         */
    +        LineThin = 4,
    +        /**
    +         * As an outlined block (sitting on top of a character).
    +         */
    +        BlockOutline = 5,
    +        /**
    +         * As a thin horizontal line (sitting under a character).
    +         */
    +        UnderlineThin = 6
    +    }
    +
    +    /**
    +     * Configuration options for editor find widget
    +     */
    +    export interface IEditorFindOptions {
    +        /**
    +        * Controls whether the cursor should move to find matches while typing.
    +        */
    +        cursorMoveOnType?: boolean;
    +        /**
    +         * Controls if we seed search string in the Find Widget with editor selection.
    +         */
    +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
    +        /**
    +         * Controls if Find in Selection flag is turned on in the editor.
    +         */
    +        autoFindInSelection?: 'never' | 'always' | 'multiline';
    +        addExtraSpaceOnTop?: boolean;
    +        /**
    +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
    +         */
    +        loop?: boolean;
    +    }
    +
    +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
    +
    +    /**
    +     * Configuration options for go to location
    +     */
    +    export interface IGotoLocationOptions {
    +        multiple?: GoToLocationValues;
    +        multipleDefinitions?: GoToLocationValues;
    +        multipleTypeDefinitions?: GoToLocationValues;
    +        multipleDeclarations?: GoToLocationValues;
    +        multipleImplementations?: GoToLocationValues;
    +        multipleReferences?: GoToLocationValues;
    +        alternativeDefinitionCommand?: string;
    +        alternativeTypeDefinitionCommand?: string;
    +        alternativeDeclarationCommand?: string;
    +        alternativeImplementationCommand?: string;
    +        alternativeReferenceCommand?: string;
    +    }
    +
    +    /**
    +     * Configuration options for editor hover
    +     */
    +    export interface IEditorHoverOptions {
    +        /**
    +         * Enable the hover.
    +         * Defaults to true.
    +         */
    +        enabled?: boolean;
    +        /**
    +         * Delay for showing the hover.
    +         * Defaults to 300.
    +         */
    +        delay?: number;
    +        /**
    +         * Is the hover sticky such that it can be clicked and its contents selected?
    +         * Defaults to true.
    +         */
    +        sticky?: boolean;
    +        /**
    +         * Should the hover be shown above the line if possible?
    +         * Defaults to false.
    +         */
    +        above?: boolean;
    +    }
    +
    +    /**
    +     * A description for the overview ruler position.
    +     */
    +    export interface OverviewRulerPosition {
    +        /**
    +         * Width of the overview ruler
    +         */
    +        readonly width: number;
    +        /**
    +         * Height of the overview ruler
    +         */
    +        readonly height: number;
    +        /**
    +         * Top position for the overview ruler
    +         */
    +        readonly top: number;
    +        /**
    +         * Right position for the overview ruler
    +         */
    +        readonly right: number;
    +    }
    +
    +    export enum RenderMinimap {
    +        None = 0,
    +        Text = 1,
    +        Blocks = 2
    +    }
    +
    +    /**
    +     * The internal layout details of the editor.
    +     */
    +    export interface EditorLayoutInfo {
    +        /**
    +         * Full editor width.
    +         */
    +        readonly width: number;
    +        /**
    +         * Full editor height.
    +         */
    +        readonly height: number;
    +        /**
    +         * Left position for the glyph margin.
    +         */
    +        readonly glyphMarginLeft: number;
    +        /**
    +         * The width of the glyph margin.
    +         */
    +        readonly glyphMarginWidth: number;
    +        /**
    +         * Left position for the line numbers.
    +         */
    +        readonly lineNumbersLeft: number;
    +        /**
    +         * The width of the line numbers.
    +         */
    +        readonly lineNumbersWidth: number;
    +        /**
    +         * Left position for the line decorations.
    +         */
    +        readonly decorationsLeft: number;
    +        /**
    +         * The width of the line decorations.
    +         */
    +        readonly decorationsWidth: number;
    +        /**
    +         * Left position for the content (actual text)
    +         */
    +        readonly contentLeft: number;
    +        /**
    +         * The width of the content (actual text)
    +         */
    +        readonly contentWidth: number;
    +        /**
    +         * Layout information for the minimap
    +         */
    +        readonly minimap: EditorMinimapLayoutInfo;
    +        /**
    +         * The number of columns (of typical characters) fitting on a viewport line.
    +         */
    +        readonly viewportColumn: number;
    +        readonly isWordWrapMinified: boolean;
    +        readonly isViewportWrapping: boolean;
    +        readonly wrappingColumn: number;
    +        /**
    +         * The width of the vertical scrollbar.
    +         */
    +        readonly verticalScrollbarWidth: number;
    +        /**
    +         * The height of the horizontal scrollbar.
    +         */
    +        readonly horizontalScrollbarHeight: number;
    +        /**
    +         * The position of the overview ruler.
    +         */
    +        readonly overviewRuler: OverviewRulerPosition;
    +    }
    +
    +    /**
    +     * The internal layout details of the editor.
    +     */
    +    export interface EditorMinimapLayoutInfo {
    +        readonly renderMinimap: RenderMinimap;
    +        readonly minimapLeft: number;
    +        readonly minimapWidth: number;
    +        readonly minimapHeightIsEditorHeight: boolean;
    +        readonly minimapIsSampling: boolean;
    +        readonly minimapScale: number;
    +        readonly minimapLineHeight: number;
    +        readonly minimapCanvasInnerWidth: number;
    +        readonly minimapCanvasInnerHeight: number;
    +        readonly minimapCanvasOuterWidth: number;
    +        readonly minimapCanvasOuterHeight: number;
    +    }
    +
    +    /**
    +     * Configuration options for editor lightbulb
    +     */
    +    export interface IEditorLightbulbOptions {
    +        /**
    +         * Enable the lightbulb code action.
    +         * Defaults to true.
    +         */
    +        enabled?: boolean;
    +    }
    +
    +    /**
    +     * Configuration options for editor inlayHints
    +     */
    +    export interface IEditorInlayHintsOptions {
    +        /**
    +         * Enable the inline hints.
    +         * Defaults to true.
    +         */
    +        enabled?: boolean;
    +        /**
    +         * Font size of inline hints.
    +         * Default to 90% of the editor font size.
    +         */
    +        fontSize?: number;
    +        /**
    +         * Font family of inline hints.
    +         * Defaults to editor font family.
    +         */
    +        fontFamily?: string;
    +    }
    +
    +    /**
    +     * Configuration options for editor minimap
    +     */
    +    export interface IEditorMinimapOptions {
    +        /**
    +         * Enable the rendering of the minimap.
    +         * Defaults to true.
    +         */
    +        enabled?: boolean;
    +        /**
    +         * Control the side of the minimap in editor.
    +         * Defaults to 'right'.
    +         */
    +        side?: 'right' | 'left';
    +        /**
    +         * Control the minimap rendering mode.
    +         * Defaults to 'actual'.
    +         */
    +        size?: 'proportional' | 'fill' | 'fit';
    +        /**
    +         * Control the rendering of the minimap slider.
    +         * Defaults to 'mouseover'.
    +         */
    +        showSlider?: 'always' | 'mouseover';
    +        /**
    +         * Render the actual text on a line (as opposed to color blocks).
    +         * Defaults to true.
    +         */
    +        renderCharacters?: boolean;
    +        /**
    +         * Limit the width of the minimap to render at most a certain number of columns.
    +         * Defaults to 120.
    +         */
    +        maxColumn?: number;
    +        /**
    +         * Relative size of the font in the minimap. Defaults to 1.
    +         */
    +        scale?: number;
    +    }
    +
    +    /**
    +     * Configuration options for editor padding
    +     */
    +    export interface IEditorPaddingOptions {
    +        /**
    +         * Spacing between top edge of editor and first line.
    +         */
    +        top?: number;
    +        /**
    +         * Spacing between bottom edge of editor and last line.
    +         */
    +        bottom?: number;
    +    }
    +
    +    /**
    +     * Configuration options for parameter hints
    +     */
    +    export interface IEditorParameterHintOptions {
    +        /**
    +         * Enable parameter hints.
    +         * Defaults to true.
    +         */
    +        enabled?: boolean;
    +        /**
    +         * Enable cycling of parameter hints.
    +         * Defaults to false.
    +         */
    +        cycle?: boolean;
    +    }
    +
    +    /**
    +     * Configuration options for quick suggestions
    +     */
    +    export interface IQuickSuggestionsOptions {
    +        other?: boolean;
    +        comments?: boolean;
    +        strings?: boolean;
    +    }
    +
    +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
    +
    +    export enum RenderLineNumbersType {
    +        Off = 0,
    +        On = 1,
    +        Relative = 2,
    +        Interval = 3,
    +        Custom = 4
    +    }
    +
    +    export interface InternalEditorRenderLineNumbersOptions {
    +        readonly renderType: RenderLineNumbersType;
    +        readonly renderFn: ((lineNumber: number) => string) | null;
    +    }
    +
    +    export interface IRulerOption {
    +        readonly column: number;
    +        readonly color: string | null;
    +    }
    +
    +    /**
    +     * Configuration options for editor scrollbars
    +     */
    +    export interface IEditorScrollbarOptions {
    +        /**
    +         * The size of arrows (if displayed).
    +         * Defaults to 11.
    +         * **NOTE**: This option cannot be updated using `updateOptions()`
    +         */
    +        arrowSize?: number;
    +        /**
    +         * Render vertical scrollbar.
    +         * Defaults to 'auto'.
    +         */
    +        vertical?: 'auto' | 'visible' | 'hidden';
    +        /**
    +         * Render horizontal scrollbar.
    +         * Defaults to 'auto'.
    +         */
    +        horizontal?: 'auto' | 'visible' | 'hidden';
    +        /**
    +         * 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;
    +        /**
    +         * Listen to mouse wheel events and react to them by scrolling.
    +         * Defaults to true.
    +         */
    +        handleMouseWheel?: boolean;
    +        /**
    +         * 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;
    +        /**
    +         * Height in pixels for the horizontal scrollbar.
    +         * Defaults to 10 (px).
    +         */
    +        horizontalScrollbarSize?: number;
    +        /**
    +         * Width in pixels for the vertical scrollbar.
    +         * Defaults to 10 (px).
    +         */
    +        verticalScrollbarSize?: number;
    +        /**
    +         * 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;
    +        /**
    +         * Scroll gutter clicks move by page vs jump to position.
    +         * Defaults to false.
    +         */
    +        scrollByPage?: boolean;
    +    }
    +
    +    export interface InternalEditorScrollbarOptions {
    +        readonly arrowSize: number;
    +        readonly vertical: ScrollbarVisibility;
    +        readonly horizontal: ScrollbarVisibility;
    +        readonly useShadows: boolean;
    +        readonly verticalHasArrows: boolean;
    +        readonly horizontalHasArrows: boolean;
    +        readonly handleMouseWheel: boolean;
    +        readonly alwaysConsumeMouseWheel: boolean;
    +        readonly horizontalScrollbarSize: number;
    +        readonly horizontalSliderSize: number;
    +        readonly verticalScrollbarSize: number;
    +        readonly verticalSliderSize: number;
    +        readonly scrollByPage: boolean;
    +    }
    +
    +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
    +
    +    /**
    +     * Configuration options for unicode highlighting.
    +     */
    +    export interface IUnicodeHighlightOptions {
    +        nonBasicASCII?: boolean | InUntrustedWorkspace;
    +        invisibleCharacters?: boolean;
    +        ambiguousCharacters?: boolean;
    +        includeComments?: boolean | InUntrustedWorkspace;
    +        /**
    +         * A map of allowed characters (true: allowed).
    +        */
    +        allowedCharacters?: Record<string, true>;
    +    }
    +
    +    export interface IInlineSuggestOptions {
    +        /**
    +         * Enable or disable the rendering of automatic inline completions.
    +        */
    +        enabled?: boolean;
    +        /**
    +         * Configures the mode.
    +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
    +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
    +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
    +         * Defaults to `prefix`.
    +        */
    +        mode?: 'prefix' | 'subword' | 'subwordSmart';
    +    }
    +
    +    export interface IBracketPairColorizationOptions {
    +        /**
    +         * Enable or disable bracket pair colorization.
    +        */
    +        enabled?: boolean;
    +    }
    +
    +    export interface IGuidesOptions {
    +        /**
    +         * Enable rendering of bracket pair guides.
    +         * Defaults to false.
    +        */
    +        bracketPairs?: boolean | 'active';
    +        /**
    +         * Enable rendering of vertical bracket pair guides.
    +         * Defaults to 'active'.
    +         */
    +        bracketPairsHorizontal?: boolean | 'active';
    +        /**
    +         * Enable highlighting of the active bracket pair.
    +         * Defaults to true.
    +        */
    +        highlightActiveBracketPair?: boolean;
    +        /**
    +         * Enable rendering of indent guides.
    +         * Defaults to true.
    +         */
    +        indentation?: boolean;
    +        /**
    +         * Enable highlighting of the active indent guide.
    +         * Defaults to true.
    +         */
    +        highlightActiveIndentation?: boolean;
    +    }
    +
    +    /**
    +     * Configuration options for editor suggest widget
    +     */
    +    export interface ISuggestOptions {
    +        /**
    +         * Overwrite word ends on accept. Default to false.
    +         */
    +        insertMode?: 'insert' | 'replace';
    +        /**
    +         * Enable graceful matching. Defaults to true.
    +         */
    +        filterGraceful?: boolean;
    +        /**
    +         * Prevent quick suggestions when a snippet is active. Defaults to true.
    +         */
    +        snippetsPreventQuickSuggestions?: boolean;
    +        /**
    +         * Favors words that appear close to the cursor.
    +         */
    +        localityBonus?: boolean;
    +        /**
    +         * Enable using global storage for remembering suggestions.
    +         */
    +        shareSuggestSelections?: boolean;
    +        /**
    +         * Enable or disable icons in suggestions. Defaults to true.
    +         */
    +        showIcons?: boolean;
    +        /**
    +         * 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.
    +         */
    +        showInlineDetails?: boolean;
    +        /**
    +         * Show method-suggestions.
    +         */
    +        showMethods?: boolean;
    +        /**
    +         * Show function-suggestions.
    +         */
    +        showFunctions?: boolean;
    +        /**
    +         * Show constructor-suggestions.
    +         */
    +        showConstructors?: boolean;
    +        /**
    +         * Show deprecated-suggestions.
    +         */
    +        showDeprecated?: boolean;
    +        /**
    +         * Show field-suggestions.
    +         */
    +        showFields?: boolean;
    +        /**
    +         * Show variable-suggestions.
    +         */
    +        showVariables?: boolean;
    +        /**
    +         * Show class-suggestions.
    +         */
    +        showClasses?: boolean;
    +        /**
    +         * Show struct-suggestions.
    +         */
    +        showStructs?: boolean;
    +        /**
    +         * Show interface-suggestions.
    +         */
    +        showInterfaces?: boolean;
    +        /**
    +         * Show module-suggestions.
    +         */
    +        showModules?: boolean;
    +        /**
    +         * Show property-suggestions.
    +         */
    +        showProperties?: boolean;
    +        /**
    +         * Show event-suggestions.
    +         */
    +        showEvents?: boolean;
    +        /**
    +         * Show operator-suggestions.
    +         */
    +        showOperators?: boolean;
    +        /**
    +         * Show unit-suggestions.
    +         */
    +        showUnits?: boolean;
    +        /**
    +         * Show value-suggestions.
    +         */
    +        showValues?: boolean;
    +        /**
    +         * Show constant-suggestions.
    +         */
    +        showConstants?: boolean;
    +        /**
    +         * Show enum-suggestions.
    +         */
    +        showEnums?: boolean;
    +        /**
    +         * Show enumMember-suggestions.
    +         */
    +        showEnumMembers?: boolean;
    +        /**
    +         * Show keyword-suggestions.
    +         */
    +        showKeywords?: boolean;
    +        /**
    +         * Show text-suggestions.
    +         */
    +        showWords?: boolean;
    +        /**
    +         * Show color-suggestions.
    +         */
    +        showColors?: boolean;
    +        /**
    +         * Show file-suggestions.
    +         */
    +        showFiles?: boolean;
    +        /**
    +         * Show reference-suggestions.
    +         */
    +        showReferences?: boolean;
    +        /**
    +         * Show folder-suggestions.
    +         */
    +        showFolders?: boolean;
    +        /**
    +         * Show typeParameter-suggestions.
    +         */
    +        showTypeParameters?: boolean;
    +        /**
    +         * Show issue-suggestions.
    +         */
    +        showIssues?: boolean;
    +        /**
    +         * Show user-suggestions.
    +         */
    +        showUsers?: boolean;
    +        /**
    +         * Show snippet-suggestions.
    +         */
    +        showSnippets?: boolean;
    +    }
    +
    +    export interface ISmartSelectOptions {
    +        selectLeadingAndTrailingWhitespace?: boolean;
    +    }
    +
    +    /**
    +     * Describes how to indent wrapped lines.
    +     */
    +    export enum WrappingIndent {
    +        /**
    +         * No indentation => wrapped lines begin at column 1.
    +         */
    +        None = 0,
    +        /**
    +         * Same => wrapped lines get the same indentation as the parent.
    +         */
    +        Same = 1,
    +        /**
    +         * Indent => wrapped lines get +1 indentation toward the parent.
    +         */
    +        Indent = 2,
    +        /**
    +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
    +         */
    +        DeepIndent = 3
    +    }
    +
    +    export interface EditorWrappingInfo {
    +        readonly isDominatedByLongLines: boolean;
    +        readonly isWordWrapMinified: boolean;
    +        readonly isViewportWrapping: boolean;
    +        readonly wrappingColumn: number;
    +    }
    +
    +    export enum EditorOption {
    +        acceptSuggestionOnCommitCharacter = 0,
    +        acceptSuggestionOnEnter = 1,
    +        accessibilitySupport = 2,
    +        accessibilityPageSize = 3,
    +        ariaLabel = 4,
    +        autoClosingBrackets = 5,
    +        autoClosingDelete = 6,
    +        autoClosingOvertype = 7,
    +        autoClosingQuotes = 8,
    +        autoIndent = 9,
    +        automaticLayout = 10,
    +        autoSurround = 11,
    +        bracketPairColorization = 12,
    +        guides = 13,
    +        codeLens = 14,
    +        codeLensFontFamily = 15,
    +        codeLensFontSize = 16,
    +        colorDecorators = 17,
    +        columnSelection = 18,
    +        comments = 19,
    +        contextmenu = 20,
    +        copyWithSyntaxHighlighting = 21,
    +        cursorBlinking = 22,
    +        cursorSmoothCaretAnimation = 23,
    +        cursorStyle = 24,
    +        cursorSurroundingLines = 25,
    +        cursorSurroundingLinesStyle = 26,
    +        cursorWidth = 27,
    +        disableLayerHinting = 28,
    +        disableMonospaceOptimizations = 29,
    +        domReadOnly = 30,
    +        dragAndDrop = 31,
    +        emptySelectionClipboard = 32,
    +        extraEditorClassName = 33,
    +        fastScrollSensitivity = 34,
    +        find = 35,
    +        fixedOverflowWidgets = 36,
    +        folding = 37,
    +        foldingStrategy = 38,
    +        foldingHighlight = 39,
    +        foldingImportsByDefault = 40,
    +        unfoldOnClickAfterEndOfLine = 41,
    +        fontFamily = 42,
    +        fontInfo = 43,
    +        fontLigatures = 44,
    +        fontSize = 45,
    +        fontWeight = 46,
    +        formatOnPaste = 47,
    +        formatOnType = 48,
    +        glyphMargin = 49,
    +        gotoLocation = 50,
    +        hideCursorInOverviewRuler = 51,
    +        hover = 52,
    +        inDiffEditor = 53,
    +        inlineSuggest = 54,
    +        letterSpacing = 55,
    +        lightbulb = 56,
    +        lineDecorationsWidth = 57,
    +        lineHeight = 58,
    +        lineNumbers = 59,
    +        lineNumbersMinChars = 60,
    +        linkedEditing = 61,
    +        links = 62,
    +        matchBrackets = 63,
    +        minimap = 64,
    +        mouseStyle = 65,
    +        mouseWheelScrollSensitivity = 66,
    +        mouseWheelZoom = 67,
    +        multiCursorMergeOverlapping = 68,
    +        multiCursorModifier = 69,
    +        multiCursorPaste = 70,
    +        occurrencesHighlight = 71,
    +        overviewRulerBorder = 72,
    +        overviewRulerLanes = 73,
    +        padding = 74,
    +        parameterHints = 75,
    +        peekWidgetDefaultFocus = 76,
    +        definitionLinkOpensInPeek = 77,
    +        quickSuggestions = 78,
    +        quickSuggestionsDelay = 79,
    +        readOnly = 80,
    +        renameOnType = 81,
    +        renderControlCharacters = 82,
    +        renderFinalNewline = 83,
    +        renderLineHighlight = 84,
    +        renderLineHighlightOnlyWhenFocus = 85,
    +        renderValidationDecorations = 86,
    +        renderWhitespace = 87,
    +        revealHorizontalRightPadding = 88,
    +        roundedSelection = 89,
    +        rulers = 90,
    +        scrollbar = 91,
    +        scrollBeyondLastColumn = 92,
    +        scrollBeyondLastLine = 93,
    +        scrollPredominantAxis = 94,
    +        selectionClipboard = 95,
    +        selectionHighlight = 96,
    +        selectOnLineNumbers = 97,
    +        showFoldingControls = 98,
    +        showUnused = 99,
    +        snippetSuggestions = 100,
    +        smartSelect = 101,
    +        smoothScrolling = 102,
    +        stickyTabStops = 103,
    +        stopRenderingLineAfter = 104,
    +        suggest = 105,
    +        suggestFontSize = 106,
    +        suggestLineHeight = 107,
    +        suggestOnTriggerCharacters = 108,
    +        suggestSelection = 109,
    +        tabCompletion = 110,
    +        tabIndex = 111,
    +        unicodeHighlighting = 112,
    +        unusualLineTerminators = 113,
    +        useShadowDOM = 114,
    +        useTabStops = 115,
    +        wordSeparators = 116,
    +        wordWrap = 117,
    +        wordWrapBreakAfterCharacters = 118,
    +        wordWrapBreakBeforeCharacters = 119,
    +        wordWrapColumn = 120,
    +        wordWrapOverride1 = 121,
    +        wordWrapOverride2 = 122,
    +        wrappingIndent = 123,
    +        wrappingStrategy = 124,
    +        showDeprecated = 125,
    +        inlayHints = 126,
    +        editorClassName = 127,
    +        pixelRatio = 128,
    +        tabFocusMode = 129,
    +        layoutInfo = 130,
    +        wrappingInfo = 131
    +    }
    +
    +    export const EditorOptions: {
    +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
    +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
    +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
    +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
    +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
    +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
    +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
    +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
    +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
    +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
    +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
    +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
    +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
    +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
    +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
    +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
    +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
    +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
    +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
    +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
    +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
    +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
    +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
    +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
    +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
    +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
    +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
    +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
    +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
    +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
    +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
    +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
    +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
    +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
    +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
    +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
    +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
    +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
    +        folding: IEditorOption<EditorOption.folding, boolean>;
    +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
    +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
    +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
    +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
    +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
    +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
    +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
    +        fontSize: IEditorOption<EditorOption.fontSize, number>;
    +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
    +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
    +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
    +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
    +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
    +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
    +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
    +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
    +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
    +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
    +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
    +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
    +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
    +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
    +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
    +        links: IEditorOption<EditorOption.links, boolean>;
    +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
    +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
    +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
    +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
    +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
    +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
    +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
    +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
    +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
    +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
    +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
    +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
    +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
    +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
    +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
    +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
    +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
    +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
    +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
    +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
    +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
    +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
    +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
    +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
    +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
    +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
    +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
    +        rulers: IEditorOption<EditorOption.rulers, {}>;
    +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
    +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
    +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
    +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
    +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
    +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
    +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
    +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
    +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
    +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
    +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
    +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
    +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
    +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
    +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
    +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
    +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
    +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
    +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
    +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
    +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
    +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
    +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
    +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
    +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
    +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
    +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
    +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
    +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
    +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
    +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
    +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
    +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
    +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
    +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
    +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
    +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
    +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
    +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
    +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
    +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
    +    };
    +
    +    type EditorOptionsType = typeof EditorOptions;
    +
    +    type FindEditorOptionsKeyById<T extends EditorOption> = {
    +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
    +    }[keyof EditorOptionsType];
    +
    +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
    +
    +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
    +
    +    /**
    +     * A view zone is a full horizontal rectangle that 'pushes' text down.
    +     * The editor reserves space for view zones when rendering.
    +     */
    +    export interface IViewZone {
    +        /**
    +         * The line number after which this zone should appear.
    +         * Use 0 to place a view zone before the first line number.
    +         */
    +        afterLineNumber: number;
    +        /**
    +         * The column after which this zone should appear.
    +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
    +         */
    +        afterColumn?: number;
    +        /**
    +         * Suppress mouse down events.
    +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
    +         * Defaults to false
    +         */
    +        suppressMouseDown?: boolean;
    +        /**
    +         * The height in lines of the view zone.
    +         * If specified, `heightInPx` will be used instead of this.
    +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
    +         */
    +        heightInLines?: number;
    +        /**
    +         * The height in px of the view zone.
    +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
    +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
    +         */
    +        heightInPx?: number;
    +        /**
    +         * The minimum width in px of the view zone.
    +         * If this is set, the editor will ensure that the scroll width is >= than this value.
    +         */
    +        minWidthInPx?: number;
    +        /**
    +         * The dom node of the view zone
    +         */
    +        domNode: HTMLElement;
    +        /**
    +         * An optional dom node for the view zone that will be placed in the margin area.
    +         */
    +        marginDomNode?: HTMLElement | null;
    +        /**
    +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
    +         */
    +        onDomNodeTop?: (top: number) => void;
    +        /**
    +         * Callback which gives the height in pixels of the view zone.
    +         */
    +        onComputedHeight?: (height: number) => void;
    +    }
    +
    +    /**
    +     * An accessor that allows for zones to be added or removed.
    +     */
    +    export interface IViewZoneChangeAccessor {
    +        /**
    +         * Create a new view zone.
    +         * @param zone Zone to create
    +         * @return A unique identifier to the view zone.
    +         */
    +        addZone(zone: IViewZone): string;
    +        /**
    +         * Remove a zone
    +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
    +         */
    +        removeZone(id: string): void;
    +        /**
    +         * Change a zone's position.
    +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
    +         */
    +        layoutZone(id: string): void;
    +    }
    +
    +    /**
    +     * A positioning preference for rendering content widgets.
    +     */
    +    export enum ContentWidgetPositionPreference {
    +        /**
    +         * Place the content widget exactly at a position
    +         */
    +        EXACT = 0,
    +        /**
    +         * Place the content widget above a position
    +         */
    +        ABOVE = 1,
    +        /**
    +         * Place the content widget below a position
    +         */
    +        BELOW = 2
    +    }
    +
    +    /**
    +     * A position for rendering content widgets.
    +     */
    +    export interface IContentWidgetPosition {
    +        /**
    +         * Desired position for the content widget.
    +         * `preference` will also affect the placement.
    +         */
    +        position: IPosition | null;
    +        /**
    +         * Optionally, a range can be provided to further
    +         * define the position of the content widget.
    +         */
    +        range?: IRange | null;
    +        /**
    +         * Placement preference for position, in order of preference.
    +         */
    +        preference: ContentWidgetPositionPreference[];
    +    }
    +
    +    /**
    +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
    +     */
    +    export interface IContentWidget {
    +        /**
    +         * Render this content widget in a location where it could overflow the editor's view dom node.
    +         */
    +        allowEditorOverflow?: boolean;
    +        suppressMouseDown?: boolean;
    +        /**
    +         * Get a unique identifier of the content widget.
    +         */
    +        getId(): string;
    +        /**
    +         * Get the dom node of the content widget.
    +         */
    +        getDomNode(): HTMLElement;
    +        /**
    +         * Get the placement of the content widget.
    +         * If null is returned, the content widget will be placed off screen.
    +         */
    +        getPosition(): IContentWidgetPosition | null;
    +        /**
    +         * Optional function that is invoked before rendering
    +         * the content widget. If a dimension is returned the editor will
    +         * attempt to use it.
    +         */
    +        beforeRender?(): IDimension | null;
    +        /**
    +         * Optional function that is invoked after rendering the content
    +         * widget. Is being invoked with the selected position preference
    +         * or `null` if not rendered.
    +         */
    +        afterRender?(position: ContentWidgetPositionPreference | null): void;
    +    }
    +
    +    /**
    +     * A positioning preference for rendering overlay widgets.
    +     */
    +    export enum OverlayWidgetPositionPreference {
    +        /**
    +         * Position the overlay widget in the top right corner
    +         */
    +        TOP_RIGHT_CORNER = 0,
    +        /**
    +         * Position the overlay widget in the bottom right corner
    +         */
    +        BOTTOM_RIGHT_CORNER = 1,
    +        /**
    +         * Position the overlay widget in the top center
    +         */
    +        TOP_CENTER = 2
    +    }
    +
    +    /**
    +     * A position for rendering overlay widgets.
    +     */
    +    export interface IOverlayWidgetPosition {
    +        /**
    +         * The position preference for the overlay widget.
    +         */
    +        preference: OverlayWidgetPositionPreference | null;
    +    }
    +
    +    /**
    +     * An overlay widgets renders on top of the text.
    +     */
    +    export interface IOverlayWidget {
    +        /**
    +         * Get a unique identifier of the overlay widget.
    +         */
    +        getId(): string;
    +        /**
    +         * Get the dom node of the overlay widget.
    +         */
    +        getDomNode(): HTMLElement;
    +        /**
    +         * Get the placement of the overlay widget.
    +         * If null is returned, the overlay widget is responsible to place itself.
    +         */
    +        getPosition(): IOverlayWidgetPosition | null;
    +    }
    +
    +    /**
    +     * Type of hit element with the mouse in the editor.
    +     */
    +    export enum MouseTargetType {
    +        /**
    +         * Mouse is on top of an unknown element.
    +         */
    +        UNKNOWN = 0,
    +        /**
    +         * Mouse is on top of the textarea used for input.
    +         */
    +        TEXTAREA = 1,
    +        /**
    +         * Mouse is on top of the glyph margin
    +         */
    +        GUTTER_GLYPH_MARGIN = 2,
    +        /**
    +         * Mouse is on top of the line numbers
    +         */
    +        GUTTER_LINE_NUMBERS = 3,
    +        /**
    +         * Mouse is on top of the line decorations
    +         */
    +        GUTTER_LINE_DECORATIONS = 4,
    +        /**
    +         * Mouse is on top of the whitespace left in the gutter by a view zone.
    +         */
    +        GUTTER_VIEW_ZONE = 5,
    +        /**
    +         * Mouse is on top of text in the content.
    +         */
    +        CONTENT_TEXT = 6,
    +        /**
    +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
    +         */
    +        CONTENT_EMPTY = 7,
    +        /**
    +         * Mouse is on top of a view zone in the content.
    +         */
    +        CONTENT_VIEW_ZONE = 8,
    +        /**
    +         * Mouse is on top of a content widget.
    +         */
    +        CONTENT_WIDGET = 9,
    +        /**
    +         * Mouse is on top of the decorations overview ruler.
    +         */
    +        OVERVIEW_RULER = 10,
    +        /**
    +         * Mouse is on top of a scrollbar.
    +         */
    +        SCROLLBAR = 11,
    +        /**
    +         * Mouse is on top of an overlay widget.
    +         */
    +        OVERLAY_WIDGET = 12,
    +        /**
    +         * Mouse is outside of the editor.
    +         */
    +        OUTSIDE_EDITOR = 13
    +    }
    +
    +    /**
    +     * Target hit with the mouse in the editor.
    +     */
    +    export interface IMouseTarget {
    +        /**
    +         * The target element
    +         */
    +        readonly element: Element | null;
    +        /**
    +         * The target type
    +         */
    +        readonly type: MouseTargetType;
    +        /**
    +         * The 'approximate' editor position
    +         */
    +        readonly position: Position | null;
    +        /**
    +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
    +         */
    +        readonly mouseColumn: number;
    +        /**
    +         * The 'approximate' editor range
    +         */
    +        readonly range: Range | null;
    +        /**
    +         * Some extra detail.
    +         */
    +        readonly detail: any;
    +    }
    +
    +    /**
    +     * A mouse event originating from the editor.
    +     */
    +    export interface IEditorMouseEvent {
    +        readonly event: IMouseEvent;
    +        readonly target: IMouseTarget;
    +    }
    +
    +    export interface IPartialEditorMouseEvent {
    +        readonly event: IMouseEvent;
    +        readonly target: IMouseTarget | null;
    +    }
    +
    +    /**
    +     * A paste event originating from the editor.
    +     */
    +    export interface IPasteEvent {
    +        readonly range: Range;
    +        readonly languageId: string | null;
    +    }
    +
    +    export interface IEditorConstructionOptions extends IEditorOptions {
    +        /**
    +         * The initial editor dimension (to avoid measuring the container).
    +         */
    +        dimension?: IDimension;
    +        /**
    +         * Place overflow widgets inside an external DOM node.
    +         * Defaults to an internal DOM node.
    +         */
    +        overflowWidgetsDomNode?: HTMLElement;
    +    }
    +
    +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
    +        /**
    +         * The initial editor dimension (to avoid measuring the container).
    +         */
    +        dimension?: IDimension;
    +        /**
    +         * Place overflow widgets inside an external DOM node.
    +         * Defaults to an internal DOM node.
    +         */
    +        overflowWidgetsDomNode?: HTMLElement;
    +        /**
    +         * Aria label for original editor.
    +         */
    +        originalAriaLabel?: string;
    +        /**
    +         * Aria label for modified editor.
    +         */
    +        modifiedAriaLabel?: string;
    +        /**
    +         * Is the diff editor inside another editor
    +         * Defaults to false
    +         */
    +        isInEmbeddedEditor?: boolean;
    +    }
    +
    +    /**
    +     * A rich code editor.
    +     */
    +    export interface ICodeEditor extends IEditor {
    +        /**
    +         * An event emitted when the content of the current model has changed.
    +         * @event
    +         */
    +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
    +        /**
    +         * An event emitted when the language of the current model has changed.
    +         * @event
    +         */
    +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
    +        /**
    +         * An event emitted when the language configuration of the current model has changed.
    +         * @event
    +         */
    +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
    +        /**
    +         * An event emitted when the options of the current model has changed.
    +         * @event
    +         */
    +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
    +        /**
    +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
    +         * @event
    +         */
    +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
    +        /**
    +         * An event emitted when the cursor position has changed.
    +         * @event
    +         */
    +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
    +        /**
    +         * An event emitted when the cursor selection has changed.
    +         * @event
    +         */
    +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
    +        /**
    +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
    +         * @event
    +         */
    +        onDidChangeModel: IEvent<IModelChangedEvent>;
    +        /**
    +         * An event emitted when the decorations of the current model have changed.
    +         * @event
    +         */
    +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
    +        /**
    +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
    +         * @event
    +         */
    +        onDidFocusEditorText(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
    +         * @event
    +         */
    +        onDidBlurEditorText(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted when the text inside this editor or an editor widget gained focus.
    +         * @event
    +         */
    +        onDidFocusEditorWidget(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted when the text inside this editor or an editor widget lost focus.
    +         * @event
    +         */
    +        onDidBlurEditorWidget(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted after composition has started.
    +         */
    +        onDidCompositionStart(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted after composition has ended.
    +         */
    +        onDidCompositionEnd(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted when editing failed because the editor is read-only.
    +         * @event
    +         */
    +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
    +        /**
    +         * An event emitted when users paste text in the editor.
    +         * @event
    +         */
    +        onDidPaste: IEvent<IPasteEvent>;
    +        /**
    +         * An event emitted on a "mouseup".
    +         * @event
    +         */
    +        onMouseUp: IEvent<IEditorMouseEvent>;
    +        /**
    +         * An event emitted on a "mousedown".
    +         * @event
    +         */
    +        onMouseDown: IEvent<IEditorMouseEvent>;
    +        /**
    +         * An event emitted on a "contextmenu".
    +         * @event
    +         */
    +        onContextMenu: IEvent<IEditorMouseEvent>;
    +        /**
    +         * An event emitted on a "mousemove".
    +         * @event
    +         */
    +        onMouseMove: IEvent<IEditorMouseEvent>;
    +        /**
    +         * An event emitted on a "mouseleave".
    +         * @event
    +         */
    +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
    +        /**
    +         * An event emitted on a "keyup".
    +         * @event
    +         */
    +        onKeyUp: IEvent<IKeyboardEvent>;
    +        /**
    +         * An event emitted on a "keydown".
    +         * @event
    +         */
    +        onKeyDown: IEvent<IKeyboardEvent>;
    +        /**
    +         * An event emitted when the layout of the editor has changed.
    +         * @event
    +         */
    +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
    +        /**
    +         * An event emitted when the content width or content height in the editor has changed.
    +         * @event
    +         */
    +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
    +        /**
    +         * An event emitted when the scroll in the editor has changed.
    +         * @event
    +         */
    +        onDidScrollChange: IEvent<IScrollEvent>;
    +        /**
    +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
    +         * @event
    +         */
    +        onDidChangeHiddenAreas: IEvent<void>;
    +        /**
    +         * Saves current view state of the editor in a serializable object.
    +         */
    +        saveViewState(): ICodeEditorViewState | null;
    +        /**
    +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
    +         */
    +        restoreViewState(state: ICodeEditorViewState): void;
    +        /**
    +         * Returns true if the text inside this editor or an editor widget has focus.
    +         */
    +        hasWidgetFocus(): boolean;
    +        /**
    +         * Get a contribution of this editor.
    +         * @id Unique identifier of the contribution.
    +         * @return The contribution or null if contribution not found.
    +         */
    +        getContribution<T extends IEditorContribution>(id: string): T;
    +        /**
    +         * Type the getModel() of IEditor.
    +         */
    +        getModel(): ITextModel | null;
    +        /**
    +         * Sets the current model attached to this editor.
    +         * If the previous model was created by the editor via the value key in the options
    +         * literal object, it will be destroyed. Otherwise, if the previous model was set
    +         * via setModel, or the model key in the options literal object, the previous model
    +         * will not be destroyed.
    +         * It is safe to call setModel(null) to simply detach the current model from the editor.
    +         */
    +        setModel(model: ITextModel | null): void;
    +        /**
    +         * Gets all the editor computed options.
    +         */
    +        getOptions(): IComputedEditorOptions;
    +        /**
    +         * Gets a specific editor option.
    +         */
    +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
    +        /**
    +         * Returns the editor's configuration (without any validation or defaults).
    +         */
    +        getRawOptions(): IEditorOptions;
    +        /**
    +         * Get value of the current model attached to this editor.
    +         * @see {@link ITextModel.getValue}
    +         */
    +        getValue(options?: {
    +            preserveBOM: boolean;
    +            lineEnding: string;
    +        }): string;
    +        /**
    +         * Set the value of the current model attached to this editor.
    +         * @see {@link ITextModel.setValue}
    +         */
    +        setValue(newValue: string): void;
    +        /**
    +         * Get the width of the editor's content.
    +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
    +         */
    +        getContentWidth(): number;
    +        /**
    +         * Get the scrollWidth of the editor's viewport.
    +         */
    +        getScrollWidth(): number;
    +        /**
    +         * Get the scrollLeft of the editor's viewport.
    +         */
    +        getScrollLeft(): number;
    +        /**
    +         * Get the height of the editor's content.
    +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
    +         */
    +        getContentHeight(): number;
    +        /**
    +         * Get the scrollHeight of the editor's viewport.
    +         */
    +        getScrollHeight(): number;
    +        /**
    +         * Get the scrollTop of the editor's viewport.
    +         */
    +        getScrollTop(): number;
    +        /**
    +         * Change the scrollLeft of the editor's viewport.
    +         */
    +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
    +        /**
    +         * Change the scrollTop of the editor's viewport.
    +         */
    +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
    +        /**
    +         * Change the scroll position of the editor's viewport.
    +         */
    +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
    +        /**
    +         * Get an action that is a contribution to this editor.
    +         * @id Unique identifier of the contribution.
    +         * @return The action or null if action not found.
    +         */
    +        getAction(id: string): IEditorAction;
    +        /**
    +         * Execute a command on the editor.
    +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
    +         * @param source The source of the call.
    +         * @param command The command to execute
    +         */
    +        executeCommand(source: string | null | undefined, command: ICommand): void;
    +        /**
    +         * Create an "undo stop" in the undo-redo stack.
    +         */
    +        pushUndoStop(): boolean;
    +        /**
    +         * Remove the "undo stop" in the undo-redo stack.
    +         */
    +        popUndoStop(): boolean;
    +        /**
    +         * Execute edits on the editor.
    +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
    +         * @param source The source of the call.
    +         * @param edits The edits to execute.
    +         * @param endCursorState Cursor state after the edits were applied.
    +         */
    +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
    +        /**
    +         * Execute multiple (concomitant) commands on the editor.
    +         * @param source The source of the call.
    +         * @param command The commands to execute
    +         */
    +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
    +        /**
    +         * Get all the decorations on a line (filtering out decorations from other editors).
    +         */
    +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
    +        /**
    +         * All decorations added through this call will get the ownerId of this editor.
    +         * @see {@link ITextModel.deltaDecorations}
    +         */
    +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
    +        /**
    +         * Get the layout info for the editor.
    +         */
    +        getLayoutInfo(): EditorLayoutInfo;
    +        /**
    +         * Returns the ranges that are currently visible.
    +         * Does not account for horizontal scrolling.
    +         */
    +        getVisibleRanges(): Range[];
    +        /**
    +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
    +         */
    +        getTopForLineNumber(lineNumber: number): number;
    +        /**
    +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
    +         */
    +        getTopForPosition(lineNumber: number, column: number): number;
    +        /**
    +         * Returns the editor's container dom node
    +         */
    +        getContainerDomNode(): HTMLElement;
    +        /**
    +         * Returns the editor's dom node
    +         */
    +        getDomNode(): HTMLElement | null;
    +        /**
    +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
    +         */
    +        addContentWidget(widget: IContentWidget): void;
    +        /**
    +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
    +         * and update appropriately.
    +         */
    +        layoutContentWidget(widget: IContentWidget): void;
    +        /**
    +         * Remove a content widget.
    +         */
    +        removeContentWidget(widget: IContentWidget): void;
    +        /**
    +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
    +         */
    +        addOverlayWidget(widget: IOverlayWidget): void;
    +        /**
    +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
    +         * and update appropriately.
    +         */
    +        layoutOverlayWidget(widget: IOverlayWidget): void;
    +        /**
    +         * Remove an overlay widget.
    +         */
    +        removeOverlayWidget(widget: IOverlayWidget): void;
    +        /**
    +         * Change the view zones. View zones are lost when a new model is attached to the editor.
    +         */
    +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
    +        /**
    +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
    +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
    +         * Use this method with caution.
    +         */
    +        getOffsetForColumn(lineNumber: number, column: number): number;
    +        /**
    +         * Force an editor render now.
    +         */
    +        render(forceRedraw?: boolean): void;
    +        /**
    +         * Get the hit test target at coordinates `clientX` and `clientY`.
    +         * The coordinates are relative to the top-left of the viewport.
    +         *
    +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
    +         */
    +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
    +        /**
    +         * Get the visible position for `position`.
    +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
    +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
    +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
    +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
    +         */
    +        getScrolledVisiblePosition(position: IPosition): {
    +            top: number;
    +            left: number;
    +            height: number;
    +        } | null;
    +        /**
    +         * Apply the same font settings as the editor to `target`.
    +         */
    +        applyFontInfo(target: HTMLElement): void;
    +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
    +    }
    +
    +    /**
    +     * Information about a line in the diff editor
    +     */
    +    export interface IDiffLineInformation {
    +        readonly equivalentLineNumber: number;
    +    }
    +
    +    /**
    +     * A rich diff editor.
    +     */
    +    export interface IDiffEditor extends IEditor {
    +        /**
    +         * @see {@link ICodeEditor.getDomNode}
    +         */
    +        getDomNode(): HTMLElement;
    +        /**
    +         * An event emitted when the diff information computed by this diff editor has been updated.
    +         * @event
    +         */
    +        onDidUpdateDiff(listener: () => void): IDisposable;
    +        /**
    +         * Saves current view state of the editor in a serializable object.
    +         */
    +        saveViewState(): IDiffEditorViewState | null;
    +        /**
    +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
    +         */
    +        restoreViewState(state: IDiffEditorViewState): void;
    +        /**
    +         * Type the getModel() of IEditor.
    +         */
    +        getModel(): IDiffEditorModel | null;
    +        /**
    +         * Sets the current model attached to this editor.
    +         * If the previous model was created by the editor via the value key in the options
    +         * literal object, it will be destroyed. Otherwise, if the previous model was set
    +         * via setModel, or the model key in the options literal object, the previous model
    +         * will not be destroyed.
    +         * It is safe to call setModel(null) to simply detach the current model from the editor.
    +         */
    +        setModel(model: IDiffEditorModel | null): void;
    +        /**
    +         * Get the `original` editor.
    +         */
    +        getOriginalEditor(): ICodeEditor;
    +        /**
    +         * Get the `modified` editor.
    +         */
    +        getModifiedEditor(): ICodeEditor;
    +        /**
    +         * Get the computed diff information.
    +         */
    +        getLineChanges(): ILineChange[] | null;
    +        /**
    +         * Get information based on computed diff about a line number from the original model.
    +         * If the diff computation is not finished or the model is missing, will return null.
    +         */
    +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
    +        /**
    +         * Get information based on computed diff about a line number from the modified model.
    +         * If the diff computation is not finished or the model is missing, will return null.
    +         */
    +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
    +        /**
    +         * Update the editor's options after the editor has been created.
    +         */
    +        updateOptions(newOptions: IDiffEditorOptions): void;
    +    }
    +
    +    export class FontInfo extends BareFontInfo {
    +        readonly _editorStylingBrand: void;
    +        readonly version: number;
    +        readonly isTrusted: boolean;
    +        readonly isMonospace: boolean;
    +        readonly typicalHalfwidthCharacterWidth: number;
    +        readonly typicalFullwidthCharacterWidth: number;
    +        readonly canUseHalfwidthRightwardsArrow: boolean;
    +        readonly spaceWidth: number;
    +        readonly middotWidth: number;
    +        readonly wsmiddotWidth: number;
    +        readonly maxDigitWidth: number;
    +    }
    +
    +    export class BareFontInfo {
    +        readonly _bareFontInfoBrand: void;
    +        readonly zoomLevel: number;
    +        readonly pixelRatio: number;
    +        readonly fontFamily: string;
    +        readonly fontWeight: string;
    +        readonly fontSize: number;
    +        readonly fontFeatureSettings: string;
    +        readonly lineHeight: number;
    +        readonly letterSpacing: number;
    +    }
    +
    +    //compatibility:
    +    export type IReadOnlyModel = ITextModel;
    +    export type IModel = ITextModel;
    +}
    +
    +declare namespace monaco.languages {
    +
    +
    +    /**
    +     * Register information about a new language.
    +     */
    +    export function register(language: ILanguageExtensionPoint): void;
    +
    +    /**
    +     * Get the information of all the registered languages.
    +     */
    +    export function getLanguages(): ILanguageExtensionPoint[];
    +
    +    export function getEncodedLanguageId(languageId: string): number;
    +
    +    /**
    +     * An event emitted when a language is first time needed (e.g. a model has it set).
    +     * @event
    +     */
    +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
    +
    +    /**
    +     * Set the editing configuration for a language.
    +     */
    +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
    +
    +    /**
    +     * A token.
    +     */
    +    export interface IToken {
    +        startIndex: number;
    +        scopes: string;
    +    }
    +
    +    /**
    +     * The result of a line tokenization.
    +     */
    +    export interface ILineTokens {
    +        /**
    +         * The list of tokens on the line.
    +         */
    +        tokens: IToken[];
    +        /**
    +         * The tokenization end state.
    +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
    +         */
    +        endState: IState;
    +    }
    +
    +    /**
    +     * The result of a line tokenization.
    +     */
    +    export interface IEncodedLineTokens {
    +        /**
    +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
    +         *  - at offset 2*i => startIndex
    +         *  - at offset 2*i + 1 => metadata
    +         * Meta data is in binary format:
    +         * - -------------------------------------------
    +         *     3322 2222 2222 1111 1111 1100 0000 0000
    +         *     1098 7654 3210 9876 5432 1098 7654 3210
    +         * - -------------------------------------------
    +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
    +         * - -------------------------------------------
    +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
    +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
    +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
    +         *  - f = foreground ColorId (9 bits)
    +         *  - b = background ColorId (9 bits)
    +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
    +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
    +         * id = 1 is for the default foreground color, id = 2 for the default background.
    +         */
    +        tokens: Uint32Array;
    +        /**
    +         * The tokenization end state.
    +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
    +         */
    +        endState: IState;
    +    }
    +
    +    /**
    +     * A "manual" provider of tokens.
    +     */
    +    export interface TokensProvider {
    +        /**
    +         * The initial state of a language. Will be the state passed in to tokenize the first line.
    +         */
    +        getInitialState(): IState;
    +        /**
    +         * Tokenize a line given the state at the beginning of the line.
    +         */
    +        tokenize(line: string, state: IState): ILineTokens;
    +    }
    +
    +    /**
    +     * A "manual" provider of tokens, returning tokens in a binary form.
    +     */
    +    export interface EncodedTokensProvider {
    +        /**
    +         * The initial state of a language. Will be the state passed in to tokenize the first line.
    +         */
    +        getInitialState(): IState;
    +        /**
    +         * Tokenize a line given the state at the beginning of the line.
    +         */
    +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
    +        /**
    +         * Tokenize a line given the state at the beginning of the line.
    +         */
    +        tokenize?(line: string, state: IState): ILineTokens;
    +    }
    +
    +    /**
    +     * Change the color map that is used for token colors.
    +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
    +     */
    +    export function setColorMap(colorMap: string[] | null): void;
    +
    +    /**
    +     * Set the tokens provider for a language (manual implementation).
    +     */
    +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
    +
    +    /**
    +     * Set the tokens provider for a language (monarch implementation).
    +     */
    +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
    +
    +    /**
    +     * Register a reference provider (used by e.g. reference search).
    +     */
    +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
    +
    +    /**
    +     * Register a rename provider (used by e.g. rename symbol).
    +     */
    +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
    +
    +    /**
    +     * Register a signature help provider (used by e.g. parameter hints).
    +     */
    +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
    +
    +    /**
    +     * Register a hover provider (used by e.g. editor hover).
    +     */
    +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
    +
    +    /**
    +     * Register a document symbol provider (used by e.g. outline).
    +     */
    +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
    +
    +    /**
    +     * Register a document highlight provider (used by e.g. highlight occurrences).
    +     */
    +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
    +
    +    /**
    +     * Register an linked editing range provider.
    +     */
    +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
    +
    +    /**
    +     * Register a definition provider (used by e.g. go to definition).
    +     */
    +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
    +
    +    /**
    +     * Register a implementation provider (used by e.g. go to implementation).
    +     */
    +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
    +
    +    /**
    +     * Register a type definition provider (used by e.g. go to type definition).
    +     */
    +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
    +
    +    /**
    +     * Register a code lens provider (used by e.g. inline code lenses).
    +     */
    +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
    +
    +    /**
    +     * Register a code action provider (used by e.g. quick fix).
    +     */
    +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
    +
    +    /**
    +     * Register a formatter that can handle only entire models.
    +     */
    +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
    +
    +    /**
    +     * Register a formatter that can handle a range inside a model.
    +     */
    +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
    +
    +    /**
    +     * Register a formatter than can do formatting as the user types.
    +     */
    +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
    +
    +    /**
    +     * Register a link provider that can find links in text.
    +     */
    +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
    +
    +    /**
    +     * Register a completion item provider (use by e.g. suggestions).
    +     */
    +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
    +
    +    /**
    +     * Register a document color provider (used by Color Picker, Color Decorator).
    +     */
    +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
    +
    +    /**
    +     * Register a folding range provider
    +     */
    +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
    +
    +    /**
    +     * Register a declaration provider
    +     */
    +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
    +
    +    /**
    +     * Register a selection range provider
    +     */
    +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
    +
    +    /**
    +     * Register a document semantic tokens provider
    +     */
    +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
    +
    +    /**
    +     * Register a document range semantic tokens provider
    +     */
    +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
    +
    +    /**
    +     * Register an inline completions provider.
    +     */
    +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
    +
    +    /**
    +     * Register an inlay hints provider.
    +     */
    +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
    +
    +    /**
    +     * Contains additional diagnostic information about the context in which
    +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
    +     */
    +    export interface CodeActionContext {
    +        /**
    +         * An array of diagnostics.
    +         */
    +        readonly markers: editor.IMarkerData[];
    +        /**
    +         * Requested kind of actions to return.
    +         */
    +        readonly only?: string;
    +    }
    +
    +    /**
    +     * The code action interface defines the contract between extensions and
    +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
    +     */
    +    export interface CodeActionProvider {
    +        /**
    +         * Provide commands for the given document and range.
    +         */
    +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
    +        /**
    +         * Given a code action fill in the edit. Will only invoked when missing.
    +         */
    +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
    +    }
    +
    +    /**
    +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
    +     */
    +    export interface CodeActionProviderMetadata {
    +        /**
    +         * List of code action kinds that a {@link CodeActionProvider} may return.
    +         *
    +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
    +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
    +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
    +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
    +         */
    +        readonly providedCodeActionKinds?: readonly string[];
    +    }
    +
    +    /**
    +     * Describes how comments for a language work.
    +     */
    +    export interface CommentRule {
    +        /**
    +         * The line comment token, like `// this is a comment`
    +         */
    +        lineComment?: string | null;
    +        /**
    +         * The block comment character pair, like `/* block comment *&#47;`
    +         */
    +        blockComment?: CharacterPair | null;
    +    }
    +
    +    /**
    +     * The language configuration interface defines the contract between extensions and
    +     * various editor features, like automatic bracket insertion, automatic indentation etc.
    +     */
    +    export interface LanguageConfiguration {
    +        /**
    +         * The language's comment settings.
    +         */
    +        comments?: CommentRule;
    +        /**
    +         * The language's brackets.
    +         * This configuration implicitly affects pressing Enter around these brackets.
    +         */
    +        brackets?: CharacterPair[];
    +        /**
    +         * The language's word definition.
    +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
    +         * to provide a word definition that uses exclusion of known separators.
    +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
    +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
    +         */
    +        wordPattern?: RegExp;
    +        /**
    +         * The language's indentation settings.
    +         */
    +        indentationRules?: IndentationRule;
    +        /**
    +         * The language's rules to be evaluated when pressing Enter.
    +         */
    +        onEnterRules?: OnEnterRule[];
    +        /**
    +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
    +         * 'open' character is typed. If not set, the configured brackets will be used.
    +         */
    +        autoClosingPairs?: IAutoClosingPairConditional[];
    +        /**
    +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
    +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
    +         * settings will be used.
    +         */
    +        surroundingPairs?: IAutoClosingPair[];
    +        /**
    +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
    +         * If not set, the configured brackets will be used.
    +        */
    +        colorizedBracketPairs?: CharacterPair[];
    +        /**
    +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
    +         *
    +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
    +         */
    +        autoCloseBefore?: string;
    +        /**
    +         * The language's folding rules.
    +         */
    +        folding?: FoldingRules;
    +        /**
    +         * **Deprecated** Do not use.
    +         *
    +         * @deprecated Will be replaced by a better API soon.
    +         */
    +        __electricCharacterSupport?: {
    +            docComment?: IDocComment;
    +        };
    +    }
    +
    +    /**
    +     * Describes indentation rules for a language.
    +     */
    +    export interface IndentationRule {
    +        /**
    +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
    +         */
    +        decreaseIndentPattern: RegExp;
    +        /**
    +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
    +         */
    +        increaseIndentPattern: RegExp;
    +        /**
    +         * If a line matches this pattern, then **only the next line** after it should be indented once.
    +         */
    +        indentNextLinePattern?: RegExp | null;
    +        /**
    +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
    +         */
    +        unIndentedLinePattern?: RegExp | null;
    +    }
    +
    +    /**
    +     * Describes language specific folding markers such as '#region' and '#endregion'.
    +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
    +     * - the regex should start with '^'
    +     * - regexp flags (i, g) are ignored
    +     */
    +    export interface FoldingMarkers {
    +        start: RegExp;
    +        end: RegExp;
    +    }
    +
    +    /**
    +     * Describes folding rules for a language.
    +     */
    +    export interface FoldingRules {
    +        /**
    +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
    +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
    +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
    +         * If not set, `false` is used and empty lines belong to the previous block.
    +         */
    +        offSide?: boolean;
    +        /**
    +         * Region markers used by the language.
    +         */
    +        markers?: FoldingMarkers;
    +    }
    +
    +    /**
    +     * Describes a rule to be evaluated when pressing Enter.
    +     */
    +    export interface OnEnterRule {
    +        /**
    +         * This rule will only execute if the text before the cursor matches this regular expression.
    +         */
    +        beforeText: RegExp;
    +        /**
    +         * This rule will only execute if the text after the cursor matches this regular expression.
    +         */
    +        afterText?: RegExp;
    +        /**
    +         * This rule will only execute if the text above the this line matches this regular expression.
    +         */
    +        previousLineText?: RegExp;
    +        /**
    +         * The action to execute.
    +         */
    +        action: EnterAction;
    +    }
    +
    +    /**
    +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
    +     */
    +    export interface IDocComment {
    +        /**
    +         * The string that starts a doc comment (e.g. '/**')
    +         */
    +        open: string;
    +        /**
    +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
    +         */
    +        close?: string;
    +    }
    +
    +    /**
    +     * A tuple of two characters, like a pair of
    +     * opening and closing brackets.
    +     */
    +    export type CharacterPair = [string, string];
    +
    +    export interface IAutoClosingPair {
    +        open: string;
    +        close: string;
    +    }
    +
    +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
    +        notIn?: string[];
    +    }
    +
    +    /**
    +     * Describes what to do with the indentation when pressing Enter.
    +     */
    +    export enum IndentAction {
    +        /**
    +         * Insert new line and copy the previous line's indentation.
    +         */
    +        None = 0,
    +        /**
    +         * Insert new line and indent once (relative to the previous line's indentation).
    +         */
    +        Indent = 1,
    +        /**
    +         * Insert two new lines:
    +         *  - the first one indented which will hold the cursor
    +         *  - the second one at the same indentation level
    +         */
    +        IndentOutdent = 2,
    +        /**
    +         * Insert new line and outdent once (relative to the previous line's indentation).
    +         */
    +        Outdent = 3
    +    }
    +
    +    /**
    +     * Describes what to do when pressing Enter.
    +     */
    +    export interface EnterAction {
    +        /**
    +         * Describe what to do with the indentation.
    +         */
    +        indentAction: IndentAction;
    +        /**
    +         * Describes text to be appended after the new line and after the indentation.
    +         */
    +        appendText?: string;
    +        /**
    +         * Describes the number of characters to remove from the new line's indentation.
    +         */
    +        removeText?: number;
    +    }
    +
    +    /**
    +     * The state of the tokenizer between two lines.
    +     * It is useful to store flags such as in multiline comment, etc.
    +     * The model will clone the previous line's state and pass it in to tokenize the next line.
    +     */
    +    export interface IState {
    +        clone(): IState;
    +        equals(other: IState): boolean;
    +    }
    +
    +    /**
    +     * A provider result represents the values a provider, like the {@link HoverProvider},
    +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
    +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
    +     * thenable.
    +     */
    +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
    +
    +    /**
    +     * A hover represents additional information for a symbol or word. Hovers are
    +     * rendered in a tooltip-like widget.
    +     */
    +    export interface Hover {
    +        /**
    +         * The contents of this hover.
    +         */
    +        contents: IMarkdownString[];
    +        /**
    +         * The range to which this hover applies. When missing, the
    +         * editor will use the range at the current position or the
    +         * current position itself.
    +         */
    +        range?: IRange;
    +    }
    +
    +    /**
    +     * The hover provider interface defines the contract between extensions and
    +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
    +     */
    +    export interface HoverProvider {
    +        /**
    +         * Provide a hover for the given position and document. Multiple hovers at the same
    +         * position will be merged by the editor. A hover can have a range which defaults
    +         * to the word range at the position when omitted.
    +         */
    +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
    +    }
    +
    +    export enum CompletionItemKind {
    +        Method = 0,
    +        Function = 1,
    +        Constructor = 2,
    +        Field = 3,
    +        Variable = 4,
    +        Class = 5,
    +        Struct = 6,
    +        Interface = 7,
    +        Module = 8,
    +        Property = 9,
    +        Event = 10,
    +        Operator = 11,
    +        Unit = 12,
    +        Value = 13,
    +        Constant = 14,
    +        Enum = 15,
    +        EnumMember = 16,
    +        Keyword = 17,
    +        Text = 18,
    +        Color = 19,
    +        File = 20,
    +        Reference = 21,
    +        Customcolor = 22,
    +        Folder = 23,
    +        TypeParameter = 24,
    +        User = 25,
    +        Issue = 26,
    +        Snippet = 27
    +    }
    +
    +    export interface CompletionItemLabel {
    +        label: string;
    +        detail?: string;
    +        description?: string;
    +    }
    +
    +    export enum CompletionItemTag {
    +        Deprecated = 1
    +    }
    +
    +    export enum CompletionItemInsertTextRule {
    +        /**
    +         * Adjust whitespace/indentation of multiline insert texts to
    +         * match the current line indentation.
    +         */
    +        KeepWhitespace = 1,
    +        /**
    +         * `insertText` is a snippet.
    +         */
    +        InsertAsSnippet = 4
    +    }
    +
    +    export interface CompletionItemRanges {
    +        insert: IRange;
    +        replace: IRange;
    +    }
    +
    +    /**
    +     * A completion item represents a text snippet that is
    +     * proposed to complete text that is being typed.
    +     */
    +    export interface CompletionItem {
    +        /**
    +         * The label of this completion item. By default
    +         * this is also the text that is inserted when selecting
    +         * this completion.
    +         */
    +        label: string | CompletionItemLabel;
    +        /**
    +         * The kind of this completion item. Based on the kind
    +         * an icon is chosen by the editor.
    +         */
    +        kind: CompletionItemKind;
    +        /**
    +         * A modifier to the `kind` which affect how the item
    +         * is rendered, e.g. Deprecated is rendered with a strikeout
    +         */
    +        tags?: ReadonlyArray<CompletionItemTag>;
    +        /**
    +         * A human-readable string with additional information
    +         * about this item, like type or symbol information.
    +         */
    +        detail?: string;
    +        /**
    +         * A human-readable string that represents a doc-comment.
    +         */
    +        documentation?: string | IMarkdownString;
    +        /**
    +         * A string that should be used when comparing this item
    +         * with other items. When `falsy` the {@link CompletionItem.label label}
    +         * is used.
    +         */
    +        sortText?: string;
    +        /**
    +         * A string that should be used when filtering a set of
    +         * completion items. When `falsy` the {@link CompletionItem.label label}
    +         * is used.
    +         */
    +        filterText?: string;
    +        /**
    +         * Select this item when showing. *Note* that only one completion item can be selected and
    +         * that the editor decides which item that is. The rule is that the *first* item of those
    +         * that match best is selected.
    +         */
    +        preselect?: boolean;
    +        /**
    +         * A string or snippet that should be inserted in a document when selecting
    +         * this completion.
    +         */
    +        insertText: string;
    +        /**
    +         * Additional rules (as bitmask) that should be applied when inserting
    +         * this completion.
    +         */
    +        insertTextRules?: CompletionItemInsertTextRule;
    +        /**
    +         * A range of text that should be replaced by this completion item.
    +         *
    +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
    +         * current position.
    +         *
    +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
    +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
    +         */
    +        range: IRange | CompletionItemRanges;
    +        /**
    +         * An optional set of characters that when pressed while this completion is active will accept it first and
    +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
    +         * characters will be ignored.
    +         */
    +        commitCharacters?: string[];
    +        /**
    +         * An optional array of additional text edits that are applied when
    +         * selecting this completion. Edits must not overlap with the main edit
    +         * nor with themselves.
    +         */
    +        additionalTextEdits?: editor.ISingleEditOperation[];
    +        /**
    +         * A command that should be run upon acceptance of this item.
    +         */
    +        command?: Command;
    +    }
    +
    +    export interface CompletionList {
    +        suggestions: CompletionItem[];
    +        incomplete?: boolean;
    +        dispose?(): void;
    +    }
    +
    +    /**
    +     * How a suggest provider was triggered.
    +     */
    +    export enum CompletionTriggerKind {
    +        Invoke = 0,
    +        TriggerCharacter = 1,
    +        TriggerForIncompleteCompletions = 2
    +    }
    +
    +    /**
    +     * Contains additional information about the context in which
    +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
    +     */
    +    export interface CompletionContext {
    +        /**
    +         * How the completion was triggered.
    +         */
    +        triggerKind: CompletionTriggerKind;
    +        /**
    +         * Character that triggered the completion item provider.
    +         *
    +         * `undefined` if provider was not triggered by a character.
    +         */
    +        triggerCharacter?: string;
    +    }
    +
    +    /**
    +     * The completion item provider interface defines the contract between extensions and
    +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
    +     *
    +     * When computing *complete* completion items is expensive, providers can optionally implement
    +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
    +     * items with a {@link CompletionItem.label label} from the
    +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
    +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
    +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
    +     */
    +    export interface CompletionItemProvider {
    +        triggerCharacters?: string[];
    +        /**
    +         * Provide completion items for the given position and document.
    +         */
    +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
    +        /**
    +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
    +         * or {@link CompletionItem.detail details}.
    +         *
    +         * The editor will only resolve a completion item once.
    +         */
    +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
    +    }
    +
    +    /**
    +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
    +     */
    +    export enum InlineCompletionTriggerKind {
    +        /**
    +         * Completion was triggered automatically while editing.
    +         * It is sufficient to return a single completion item in this case.
    +         */
    +        Automatic = 0,
    +        /**
    +         * Completion was triggered explicitly by a user gesture.
    +         * Return multiple completion items to enable cycling through them.
    +         */
    +        Explicit = 1
    +    }
    +
    +    export interface InlineCompletionContext {
    +        /**
    +         * How the completion was triggered.
    +         */
    +        readonly triggerKind: InlineCompletionTriggerKind;
    +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
    +    }
    +
    +    export interface SelectedSuggestionInfo {
    +        range: IRange;
    +        text: string;
    +        isSnippetText: boolean;
    +        completionKind: CompletionItemKind;
    +    }
    +
    +    export interface InlineCompletion {
    +        /**
    +         * The text to insert.
    +         * If the text contains a line break, the range must end at the end of a line.
    +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
    +        */
    +        readonly text: string;
    +        /**
    +         * The range to replace.
    +         * Must begin and end on the same line.
    +        */
    +        readonly range?: IRange;
    +        readonly command?: Command;
    +    }
    +
    +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
    +        readonly items: readonly TItem[];
    +    }
    +
    +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
    +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
    +        /**
    +         * Will be called when an item is shown.
    +        */
    +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
    +        /**
    +         * Will be called when a completions list is no longer in use and can be garbage-collected.
    +        */
    +        freeInlineCompletions(completions: T): void;
    +    }
    +
    +    export interface CodeAction {
    +        title: string;
    +        command?: Command;
    +        edit?: WorkspaceEdit;
    +        diagnostics?: editor.IMarkerData[];
    +        kind?: string;
    +        isPreferred?: boolean;
    +        disabled?: string;
    +    }
    +
    +    export interface CodeActionList extends IDisposable {
    +        readonly actions: ReadonlyArray<CodeAction>;
    +    }
    +
    +    /**
    +     * Represents a parameter of a callable-signature. A parameter can
    +     * have a label and a doc-comment.
    +     */
    +    export interface ParameterInformation {
    +        /**
    +         * The label of this signature. Will be shown in
    +         * the UI.
    +         */
    +        label: string | [number, number];
    +        /**
    +         * The human-readable doc-comment of this signature. Will be shown
    +         * in the UI but can be omitted.
    +         */
    +        documentation?: string | IMarkdownString;
    +    }
    +
    +    /**
    +     * Represents the signature of something callable. A signature
    +     * can have a label, like a function-name, a doc-comment, and
    +     * a set of parameters.
    +     */
    +    export interface SignatureInformation {
    +        /**
    +         * The label of this signature. Will be shown in
    +         * the UI.
    +         */
    +        label: string;
    +        /**
    +         * The human-readable doc-comment of this signature. Will be shown
    +         * in the UI but can be omitted.
    +         */
    +        documentation?: string | IMarkdownString;
    +        /**
    +         * The parameters of this signature.
    +         */
    +        parameters: ParameterInformation[];
    +        /**
    +         * Index of the active parameter.
    +         *
    +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
    +         */
    +        activeParameter?: number;
    +    }
    +
    +    /**
    +     * Signature help represents the signature of something
    +     * callable. There can be multiple signatures but only one
    +     * active and only one active parameter.
    +     */
    +    export interface SignatureHelp {
    +        /**
    +         * One or more signatures.
    +         */
    +        signatures: SignatureInformation[];
    +        /**
    +         * The active signature.
    +         */
    +        activeSignature: number;
    +        /**
    +         * The active parameter of the active signature.
    +         */
    +        activeParameter: number;
    +    }
    +
    +    export interface SignatureHelpResult extends IDisposable {
    +        value: SignatureHelp;
    +    }
    +
    +    export enum SignatureHelpTriggerKind {
    +        Invoke = 1,
    +        TriggerCharacter = 2,
    +        ContentChange = 3
    +    }
    +
    +    export interface SignatureHelpContext {
    +        readonly triggerKind: SignatureHelpTriggerKind;
    +        readonly triggerCharacter?: string;
    +        readonly isRetrigger: boolean;
    +        readonly activeSignatureHelp?: SignatureHelp;
    +    }
    +
    +    /**
    +     * The signature help provider interface defines the contract between extensions and
    +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
    +     */
    +    export interface SignatureHelpProvider {
    +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
    +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
    +        /**
    +         * Provide help for the signature at the given position and document.
    +         */
    +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
    +    }
    +
    +    /**
    +     * A document highlight kind.
    +     */
    +    export enum DocumentHighlightKind {
    +        /**
    +         * A textual occurrence.
    +         */
    +        Text = 0,
    +        /**
    +         * Read-access of a symbol, like reading a variable.
    +         */
    +        Read = 1,
    +        /**
    +         * Write-access of a symbol, like writing to a variable.
    +         */
    +        Write = 2
    +    }
    +
    +    /**
    +     * A document highlight is a range inside a text document which deserves
    +     * special attention. Usually a document highlight is visualized by changing
    +     * the background color of its range.
    +     */
    +    export interface DocumentHighlight {
    +        /**
    +         * The range this highlight applies to.
    +         */
    +        range: IRange;
    +        /**
    +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
    +         */
    +        kind?: DocumentHighlightKind;
    +    }
    +
    +    /**
    +     * The document highlight provider interface defines the contract between extensions and
    +     * the word-highlight-feature.
    +     */
    +    export interface DocumentHighlightProvider {
    +        /**
    +         * Provide a set of document highlights, like all occurrences of a variable or
    +         * all exit-points of a function.
    +         */
    +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
    +    }
    +
    +    /**
    +     * The linked editing range provider interface defines the contract between extensions and
    +     * the linked editing feature.
    +     */
    +    export interface LinkedEditingRangeProvider {
    +        /**
    +         * Provide a list of ranges that can be edited together.
    +         */
    +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
    +    }
    +
    +    /**
    +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
    +     */
    +    export interface LinkedEditingRanges {
    +        /**
    +         * A list of ranges that can be edited together. The ranges must have
    +         * identical length and text content. The ranges cannot overlap
    +         */
    +        ranges: IRange[];
    +        /**
    +         * An optional word pattern that describes valid contents for the given ranges.
    +         * If no pattern is provided, the language configuration's word pattern will be used.
    +         */
    +        wordPattern?: RegExp;
    +    }
    +
    +    /**
    +     * Value-object that contains additional information when
    +     * requesting references.
    +     */
    +    export interface ReferenceContext {
    +        /**
    +         * Include the declaration of the current symbol.
    +         */
    +        includeDeclaration: boolean;
    +    }
    +
    +    /**
    +     * The reference provider interface defines the contract between extensions and
    +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
    +     */
    +    export interface ReferenceProvider {
    +        /**
    +         * Provide a set of project-wide references for the given position and document.
    +         */
    +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
    +    }
    +
    +    /**
    +     * Represents a location inside a resource, such as a line
    +     * inside a text file.
    +     */
    +    export interface Location {
    +        /**
    +         * The resource identifier of this location.
    +         */
    +        uri: Uri;
    +        /**
    +         * The document range of this locations.
    +         */
    +        range: IRange;
    +    }
    +
    +    export interface LocationLink {
    +        /**
    +         * A range to select where this link originates from.
    +         */
    +        originSelectionRange?: IRange;
    +        /**
    +         * The target uri this link points to.
    +         */
    +        uri: Uri;
    +        /**
    +         * The full range this link points to.
    +         */
    +        range: IRange;
    +        /**
    +         * A range to select this link points to. Must be contained
    +         * in `LocationLink.range`.
    +         */
    +        targetSelectionRange?: IRange;
    +    }
    +
    +    export type Definition = Location | Location[] | LocationLink[];
    +
    +    /**
    +     * The definition provider interface defines the contract between extensions and
    +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
    +     * and peek definition features.
    +     */
    +    export interface DefinitionProvider {
    +        /**
    +         * Provide the definition of the symbol at the given position and document.
    +         */
    +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
    +    }
    +
    +    /**
    +     * The definition provider interface defines the contract between extensions and
    +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
    +     * and peek definition features.
    +     */
    +    export interface DeclarationProvider {
    +        /**
    +         * Provide the declaration of the symbol at the given position and document.
    +         */
    +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
    +    }
    +
    +    /**
    +     * The implementation provider interface defines the contract between extensions and
    +     * the go to implementation feature.
    +     */
    +    export interface ImplementationProvider {
    +        /**
    +         * Provide the implementation of the symbol at the given position and document.
    +         */
    +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
    +    }
    +
    +    /**
    +     * The type definition provider interface defines the contract between extensions and
    +     * the go to type definition feature.
    +     */
    +    export interface TypeDefinitionProvider {
    +        /**
    +         * Provide the type definition of the symbol at the given position and document.
    +         */
    +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
    +    }
    +
    +    /**
    +     * A symbol kind.
    +     */
    +    export enum SymbolKind {
    +        File = 0,
    +        Module = 1,
    +        Namespace = 2,
    +        Package = 3,
    +        Class = 4,
    +        Method = 5,
    +        Property = 6,
    +        Field = 7,
    +        Constructor = 8,
    +        Enum = 9,
    +        Interface = 10,
    +        Function = 11,
    +        Variable = 12,
    +        Constant = 13,
    +        String = 14,
    +        Number = 15,
    +        Boolean = 16,
    +        Array = 17,
    +        Object = 18,
    +        Key = 19,
    +        Null = 20,
    +        EnumMember = 21,
    +        Struct = 22,
    +        Event = 23,
    +        Operator = 24,
    +        TypeParameter = 25
    +    }
    +
    +    export enum SymbolTag {
    +        Deprecated = 1
    +    }
    +
    +    export interface DocumentSymbol {
    +        name: string;
    +        detail: string;
    +        kind: SymbolKind;
    +        tags: ReadonlyArray<SymbolTag>;
    +        containerName?: string;
    +        range: IRange;
    +        selectionRange: IRange;
    +        children?: DocumentSymbol[];
    +    }
    +
    +    /**
    +     * The document symbol provider interface defines the contract between extensions and
    +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
    +     */
    +    export interface DocumentSymbolProvider {
    +        displayName?: string;
    +        /**
    +         * Provide symbol information for the given document.
    +         */
    +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
    +    }
    +
    +    export type TextEdit = {
    +        range: IRange;
    +        text: string;
    +        eol?: editor.EndOfLineSequence;
    +    };
    +
    +    /**
    +     * Interface used to format a model
    +     */
    +    export interface FormattingOptions {
    +        /**
    +         * Size of a tab in spaces.
    +         */
    +        tabSize: number;
    +        /**
    +         * Prefer spaces over tabs.
    +         */
    +        insertSpaces: boolean;
    +    }
    +
    +    /**
    +     * The document formatting provider interface defines the contract between extensions and
    +     * the formatting-feature.
    +     */
    +    export interface DocumentFormattingEditProvider {
    +        readonly displayName?: string;
    +        /**
    +         * Provide formatting edits for a whole document.
    +         */
    +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
    +    }
    +
    +    /**
    +     * The document formatting provider interface defines the contract between extensions and
    +     * the formatting-feature.
    +     */
    +    export interface DocumentRangeFormattingEditProvider {
    +        readonly displayName?: string;
    +        /**
    +         * Provide formatting edits for a range in a document.
    +         *
    +         * The given range is a hint and providers can decide to format a smaller
    +         * or larger range. Often this is done by adjusting the start and end
    +         * of the range to full syntax nodes.
    +         */
    +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
    +    }
    +
    +    /**
    +     * The document formatting provider interface defines the contract between extensions and
    +     * the formatting-feature.
    +     */
    +    export interface OnTypeFormattingEditProvider {
    +        autoFormatTriggerCharacters: string[];
    +        /**
    +         * Provide formatting edits after a character has been typed.
    +         *
    +         * The given position and character should hint to the provider
    +         * what range the position to expand to, like find the matching `{`
    +         * when `}` has been entered.
    +         */
    +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
    +    }
    +
    +    /**
    +     * A link inside the editor.
    +     */
    +    export interface ILink {
    +        range: IRange;
    +        url?: Uri | string;
    +        tooltip?: string;
    +    }
    +
    +    export interface ILinksList {
    +        links: ILink[];
    +        dispose?(): void;
    +    }
    +
    +    /**
    +     * A provider of links.
    +     */
    +    export interface LinkProvider {
    +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
    +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
    +    }
    +
    +    /**
    +     * A color in RGBA format.
    +     */
    +    export interface IColor {
    +        /**
    +         * The red component in the range [0-1].
    +         */
    +        readonly red: number;
    +        /**
    +         * The green component in the range [0-1].
    +         */
    +        readonly green: number;
    +        /**
    +         * The blue component in the range [0-1].
    +         */
    +        readonly blue: number;
    +        /**
    +         * The alpha component in the range [0-1].
    +         */
    +        readonly alpha: number;
    +    }
    +
    +    /**
    +     * String representations for a color
    +     */
    +    export interface IColorPresentation {
    +        /**
    +         * The label of this color presentation. It will be shown on the color
    +         * picker header. By default this is also the text that is inserted when selecting
    +         * this color presentation.
    +         */
    +        label: string;
    +        /**
    +         * An {@link TextEdit edit} which is applied to a document when selecting
    +         * this presentation for the color.
    +         */
    +        textEdit?: TextEdit;
    +        /**
    +         * An optional array of additional {@link TextEdit text edits} that are applied when
    +         * selecting this color presentation.
    +         */
    +        additionalTextEdits?: TextEdit[];
    +    }
    +
    +    /**
    +     * A color range is a range in a text model which represents a color.
    +     */
    +    export interface IColorInformation {
    +        /**
    +         * The range within the model.
    +         */
    +        range: IRange;
    +        /**
    +         * The color represented in this range.
    +         */
    +        color: IColor;
    +    }
    +
    +    /**
    +     * A provider of colors for editor models.
    +     */
    +    export interface DocumentColorProvider {
    +        /**
    +         * Provides the color ranges for a specific model.
    +         */
    +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
    +        /**
    +         * Provide the string representations for a color.
    +         */
    +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
    +    }
    +
    +    export interface SelectionRange {
    +        range: IRange;
    +    }
    +
    +    export interface SelectionRangeProvider {
    +        /**
    +         * Provide ranges that should be selected from the given position.
    +         */
    +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
    +    }
    +
    +    export interface FoldingContext {
    +    }
    +
    +    /**
    +     * A provider of folding ranges for editor models.
    +     */
    +    export interface FoldingRangeProvider {
    +        /**
    +         * An optional event to signal that the folding ranges from this provider have changed.
    +         */
    +        onDidChange?: IEvent<this>;
    +        /**
    +         * Provides the folding ranges for a specific model.
    +         */
    +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
    +    }
    +
    +    export interface FoldingRange {
    +        /**
    +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
    +         */
    +        start: number;
    +        /**
    +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
    +         */
    +        end: number;
    +        /**
    +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
    +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
    +         * like 'Fold all comments'. See
    +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
    +         */
    +        kind?: FoldingRangeKind;
    +    }
    +
    +    export class FoldingRangeKind {
    +        value: string;
    +        /**
    +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
    +         */
    +        static readonly Comment: FoldingRangeKind;
    +        /**
    +         * Kind for folding range representing a import. The value of the kind is 'imports'.
    +         */
    +        static readonly Imports: FoldingRangeKind;
    +        /**
    +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
    +         * The value of the kind is 'region'.
    +         */
    +        static readonly Region: FoldingRangeKind;
    +        /**
    +         * Creates a new {@link FoldingRangeKind}.
    +         *
    +         * @param value of the kind.
    +         */
    +        constructor(value: string);
    +    }
    +
    +    export interface WorkspaceEditMetadata {
    +        needsConfirmation: boolean;
    +        label: string;
    +        description?: string;
    +    }
    +
    +    export interface WorkspaceFileEditOptions {
    +        overwrite?: boolean;
    +        ignoreIfNotExists?: boolean;
    +        ignoreIfExists?: boolean;
    +        recursive?: boolean;
    +        copy?: boolean;
    +        folder?: boolean;
    +        skipTrashBin?: boolean;
    +        maxSize?: number;
    +    }
    +
    +    export interface WorkspaceFileEdit {
    +        oldUri?: Uri;
    +        newUri?: Uri;
    +        options?: WorkspaceFileEditOptions;
    +        metadata?: WorkspaceEditMetadata;
    +    }
    +
    +    export interface WorkspaceTextEdit {
    +        resource: Uri;
    +        edit: TextEdit;
    +        modelVersionId?: number;
    +        metadata?: WorkspaceEditMetadata;
    +    }
    +
    +    export interface WorkspaceEdit {
    +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
    +    }
    +
    +    export interface Rejection {
    +        rejectReason?: string;
    +    }
    +
    +    export interface RenameLocation {
    +        range: IRange;
    +        text: string;
    +    }
    +
    +    export interface RenameProvider {
    +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
    +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
    +    }
    +
    +    export interface Command {
    +        id: string;
    +        title: string;
    +        tooltip?: string;
    +        arguments?: any[];
    +    }
    +
    +    export interface CodeLens {
    +        range: IRange;
    +        id?: string;
    +        command?: Command;
    +    }
    +
    +    export interface CodeLensList {
    +        lenses: CodeLens[];
    +        dispose(): void;
    +    }
    +
    +    export interface CodeLensProvider {
    +        onDidChange?: IEvent<this>;
    +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
    +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
    +    }
    +
    +    export enum InlayHintKind {
    +        Other = 0,
    +        Type = 1,
    +        Parameter = 2
    +    }
    +
    +    export interface InlayHint {
    +        text: string;
    +        position: IPosition;
    +        kind: InlayHintKind;
    +        whitespaceBefore?: boolean;
    +        whitespaceAfter?: boolean;
    +    }
    +
    +    export interface InlayHintsProvider {
    +        onDidChangeInlayHints?: IEvent<void>;
    +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
    +    }
    +
    +    export interface SemanticTokensLegend {
    +        readonly tokenTypes: string[];
    +        readonly tokenModifiers: string[];
    +    }
    +
    +    export interface SemanticTokens {
    +        readonly resultId?: string;
    +        readonly data: Uint32Array;
    +    }
    +
    +    export interface SemanticTokensEdit {
    +        readonly start: number;
    +        readonly deleteCount: number;
    +        readonly data?: Uint32Array;
    +    }
    +
    +    export interface SemanticTokensEdits {
    +        readonly resultId?: string;
    +        readonly edits: SemanticTokensEdit[];
    +    }
    +
    +    export interface DocumentSemanticTokensProvider {
    +        onDidChange?: IEvent<void>;
    +        getLegend(): SemanticTokensLegend;
    +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
    +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
    +    }
    +
    +    export interface DocumentRangeSemanticTokensProvider {
    +        getLegend(): SemanticTokensLegend;
    +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
    +    }
    +
    +    export interface ILanguageExtensionPoint {
    +        id: string;
    +        extensions?: string[];
    +        filenames?: string[];
    +        filenamePatterns?: string[];
    +        firstLine?: string;
    +        aliases?: string[];
    +        mimetypes?: string[];
    +        configuration?: Uri;
    +    }
    +    /**
    +     * A Monarch language definition
    +     */
    +    export interface IMonarchLanguage {
    +        /**
    +         * map from string to ILanguageRule[]
    +         */
    +        tokenizer: {
    +            [name: string]: IMonarchLanguageRule[];
    +        };
    +        /**
    +         * is the language case insensitive?
    +         */
    +        ignoreCase?: boolean;
    +        /**
    +         * is the language unicode-aware? (i.e., /\u{1D306}/)
    +         */
    +        unicode?: boolean;
    +        /**
    +         * if no match in the tokenizer assign this token class (default 'source')
    +         */
    +        defaultToken?: string;
    +        /**
    +         * for example [['{','}','delimiter.curly']]
    +         */
    +        brackets?: IMonarchLanguageBracket[];
    +        /**
    +         * start symbol in the tokenizer (by default the first entry is used)
    +         */
    +        start?: string;
    +        /**
    +         * attach this to every token class (by default '.' + name)
    +         */
    +        tokenPostfix?: string;
    +        /**
    +         * include line feeds (in the form of a \n character) at the end of lines
    +         * Defaults to false
    +         */
    +        includeLF?: boolean;
    +        /**
    +         * Other keys that can be referred to by the tokenizer.
    +         */
    +        [key: string]: any;
    +    }
    +
    +    /**
    +     * A rule is either a regular expression and an action
    +     * 		shorthands: [reg,act] == { regex: reg, action: act}
    +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
    +     */
    +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
    +
    +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
    +
    +    export interface IExpandedMonarchLanguageRule {
    +        /**
    +         * match tokens
    +         */
    +        regex?: string | RegExp;
    +        /**
    +         * action to take on match
    +         */
    +        action?: IMonarchLanguageAction;
    +        /**
    +         * or an include rule. include all rules from the included state
    +         */
    +        include?: string;
    +    }
    +
    +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
    +
    +    /**
    +     * An action is either an array of actions...
    +     * ... or a case statement with guards...
    +     * ... or a basic action with a token value.
    +     */
    +    export type IShortMonarchLanguageAction = string;
    +
    +    export interface IExpandedMonarchLanguageAction {
    +        /**
    +         * array of actions for each parenthesized match group
    +         */
    +        group?: IMonarchLanguageAction[];
    +        /**
    +         * map from string to ILanguageAction
    +         */
    +        cases?: Object;
    +        /**
    +         * token class (ie. css class) (or "@brackets" or "@rematch")
    +         */
    +        token?: string;
    +        /**
    +         * the next state to push, or "@push", "@pop", "@popall"
    +         */
    +        next?: string;
    +        /**
    +         * switch to this state
    +         */
    +        switchTo?: string;
    +        /**
    +         * go back n characters in the stream
    +         */
    +        goBack?: number;
    +        /**
    +         * @open or @close
    +         */
    +        bracket?: string;
    +        /**
    +         * switch to embedded language (using the mimetype) or get out using "@pop"
    +         */
    +        nextEmbedded?: string;
    +        /**
    +         * log a message to the browser console window
    +         */
    +        log?: string;
    +    }
    +
    +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
    +
    +    /**
    +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
    +     */
    +    export interface IMonarchLanguageBracket {
    +        /**
    +         * open bracket
    +         */
    +        open: string;
    +        /**
    +         * closing bracket
    +         */
    +        close: string;
    +        /**
    +         * token class
    +         */
    +        token: string;
    +    }
    +
    +}
    +
    +declare namespace monaco.worker {
    +
    +
    +    export interface IMirrorTextModel {
    +        readonly version: number;
    +    }
    +
    +    export interface IMirrorModel extends IMirrorTextModel {
    +        readonly uri: Uri;
    +        readonly version: number;
    +        getValue(): string;
    +    }
    +
    +    export interface IWorkerContext<H = undefined> {
    +        /**
    +         * A proxy to the main thread host object.
    +         */
    +        host: H;
    +        /**
    +         * Get all available mirror models in this worker.
    +         */
    +        getMirrorModels(): IMirrorModel[];
    +    }
    +
    +}
    +
    +//dtsv=3
    +
    +/*---------------------------------------------------------------------------------------------
    + *  Copyright (c) Microsoft Corporation. All rights reserved.
    + *  Licensed under the MIT License. See License.txt in the project root for license information.
    + *--------------------------------------------------------------------------------------------*/
    +
    +declare namespace monaco.languages.typescript {
    +    export enum ModuleKind {
    +        None = 0,
    +        CommonJS = 1,
    +        AMD = 2,
    +        UMD = 3,
    +        System = 4,
    +        ES2015 = 5,
    +        ESNext = 99
    +    }
    +    export enum JsxEmit {
    +        None = 0,
    +        Preserve = 1,
    +        React = 2,
    +        ReactNative = 3,
    +        ReactJSX = 4,
    +        ReactJSXDev = 5
    +    }
    +    export enum NewLineKind {
    +        CarriageReturnLineFeed = 0,
    +        LineFeed = 1
    +    }
    +    export enum ScriptTarget {
    +        ES3 = 0,
    +        ES5 = 1,
    +        ES2015 = 2,
    +        ES2016 = 3,
    +        ES2017 = 4,
    +        ES2018 = 5,
    +        ES2019 = 6,
    +        ES2020 = 7,
    +        ESNext = 99,
    +        JSON = 100,
    +        Latest = 99
    +    }
    +    export enum ModuleResolutionKind {
    +        Classic = 1,
    +        NodeJs = 2
    +    }
    +    interface MapLike<T> {
    +        [index: string]: T;
    +    }
    +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
    +    interface CompilerOptions {
    +        allowJs?: boolean;
    +        allowSyntheticDefaultImports?: boolean;
    +        allowUmdGlobalAccess?: boolean;
    +        allowUnreachableCode?: boolean;
    +        allowUnusedLabels?: boolean;
    +        alwaysStrict?: boolean;
    +        baseUrl?: string;
    +        charset?: string;
    +        checkJs?: boolean;
    +        declaration?: boolean;
    +        declarationMap?: boolean;
    +        emitDeclarationOnly?: boolean;
    +        declarationDir?: string;
    +        disableSizeLimit?: boolean;
    +        disableSourceOfProjectReferenceRedirect?: boolean;
    +        downlevelIteration?: boolean;
    +        emitBOM?: boolean;
    +        emitDecoratorMetadata?: boolean;
    +        experimentalDecorators?: boolean;
    +        forceConsistentCasingInFileNames?: boolean;
    +        importHelpers?: boolean;
    +        inlineSourceMap?: boolean;
    +        inlineSources?: boolean;
    +        isolatedModules?: boolean;
    +        jsx?: JsxEmit;
    +        keyofStringsOnly?: boolean;
    +        lib?: string[];
    +        locale?: string;
    +        mapRoot?: string;
    +        maxNodeModuleJsDepth?: number;
    +        module?: ModuleKind;
    +        moduleResolution?: ModuleResolutionKind;
    +        newLine?: NewLineKind;
    +        noEmit?: boolean;
    +        noEmitHelpers?: boolean;
    +        noEmitOnError?: boolean;
    +        noErrorTruncation?: boolean;
    +        noFallthroughCasesInSwitch?: boolean;
    +        noImplicitAny?: boolean;
    +        noImplicitReturns?: boolean;
    +        noImplicitThis?: boolean;
    +        noStrictGenericChecks?: boolean;
    +        noUnusedLocals?: boolean;
    +        noUnusedParameters?: boolean;
    +        noImplicitUseStrict?: boolean;
    +        noLib?: boolean;
    +        noResolve?: boolean;
    +        out?: string;
    +        outDir?: string;
    +        outFile?: string;
    +        paths?: MapLike<string[]>;
    +        preserveConstEnums?: boolean;
    +        preserveSymlinks?: boolean;
    +        project?: string;
    +        reactNamespace?: string;
    +        jsxFactory?: string;
    +        composite?: boolean;
    +        removeComments?: boolean;
    +        rootDir?: string;
    +        rootDirs?: string[];
    +        skipLibCheck?: boolean;
    +        skipDefaultLibCheck?: boolean;
    +        sourceMap?: boolean;
    +        sourceRoot?: string;
    +        strict?: boolean;
    +        strictFunctionTypes?: boolean;
    +        strictBindCallApply?: boolean;
    +        strictNullChecks?: boolean;
    +        strictPropertyInitialization?: boolean;
    +        stripInternal?: boolean;
    +        suppressExcessPropertyErrors?: boolean;
    +        suppressImplicitAnyIndexErrors?: boolean;
    +        target?: ScriptTarget;
    +        traceResolution?: boolean;
    +        resolveJsonModule?: boolean;
    +        types?: string[];
    +        /** Paths used to compute primary types search locations */
    +        typeRoots?: string[];
    +        esModuleInterop?: boolean;
    +        useDefineForClassFields?: boolean;
    +        [option: string]: CompilerOptionsValue | undefined;
    +    }
    +    export interface DiagnosticsOptions {
    +        noSemanticValidation?: boolean;
    +        noSyntaxValidation?: boolean;
    +        noSuggestionDiagnostics?: boolean;
    +        /**
    +         * Limit diagnostic computation to only visible files.
    +         * Defaults to false.
    +         */
    +        onlyVisible?: boolean;
    +        diagnosticCodesToIgnore?: number[];
    +    }
    +    export interface WorkerOptions {
    +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
    +        customWorkerPath?: string;
    +    }
    +    interface InlayHintsOptions {
    +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
    +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
    +        readonly includeInlayFunctionParameterTypeHints?: boolean;
    +        readonly includeInlayVariableTypeHints?: boolean;
    +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
    +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
    +        readonly includeInlayEnumMemberValueHints?: boolean;
    +    }
    +    interface IExtraLib {
    +        content: string;
    +        version: number;
    +    }
    +    export interface IExtraLibs {
    +        [path: string]: IExtraLib;
    +    }
    +    /**
    +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
    +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
    +     */
    +    interface DiagnosticMessageChain {
    +        messageText: string;
    +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
    +        category: 0 | 1 | 2 | 3;
    +        code: number;
    +        next?: DiagnosticMessageChain[];
    +    }
    +    export interface Diagnostic extends DiagnosticRelatedInformation {
    +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
    +        reportsUnnecessary?: {};
    +        reportsDeprecated?: {};
    +        source?: string;
    +        relatedInformation?: DiagnosticRelatedInformation[];
    +    }
    +    export interface DiagnosticRelatedInformation {
    +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
    +        category: 0 | 1 | 2 | 3;
    +        code: number;
    +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
    +        file: {
    +            fileName: string;
    +        } | undefined;
    +        start: number | undefined;
    +        length: number | undefined;
    +        messageText: string | DiagnosticMessageChain;
    +    }
    +    interface EmitOutput {
    +        outputFiles: OutputFile[];
    +        emitSkipped: boolean;
    +    }
    +    interface OutputFile {
    +        name: string;
    +        writeByteOrderMark: boolean;
    +        text: string;
    +    }
    +    export interface LanguageServiceDefaults {
    +        /**
    +         * Event fired when compiler options or diagnostics options are changed.
    +         */
    +        readonly onDidChange: IEvent<void>;
    +        /**
    +         * Event fired when extra libraries registered with the language service change.
    +         */
    +        readonly onDidExtraLibsChange: IEvent<void>;
    +        readonly workerOptions: WorkerOptions;
    +        readonly inlayHintsOptions: InlayHintsOptions;
    +        /**
    +         * Get the current extra libs registered with the language service.
    +         */
    +        getExtraLibs(): IExtraLibs;
    +        /**
    +         * Add an additional source file to the language service. Use this
    +         * for typescript (definition) files that won't be loaded as editor
    +         * documents, like `jquery.d.ts`.
    +         *
    +         * @param content The file content
    +         * @param filePath An optional file path
    +         * @returns A disposable which will remove the file from the
    +         * language service upon disposal.
    +         */
    +        addExtraLib(content: string, filePath?: string): IDisposable;
    +        /**
    +         * Remove all existing extra libs and set the additional source
    +         * files to the language service. Use this for typescript definition
    +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
    +         * @param libs An array of entries to register.
    +         */
    +        setExtraLibs(libs: {
    +            content: string;
    +            filePath?: string;
    +        }[]): void;
    +        /**
    +         * Get current TypeScript compiler options for the language service.
    +         */
    +        getCompilerOptions(): CompilerOptions;
    +        /**
    +         * Set TypeScript compiler options.
    +         */
    +        setCompilerOptions(options: CompilerOptions): void;
    +        /**
    +         * Get the current diagnostics options for the language service.
    +         */
    +        getDiagnosticsOptions(): DiagnosticsOptions;
    +        /**
    +         * Configure whether syntactic and/or semantic validation should
    +         * be performed
    +         */
    +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
    +        /**
    +         * Configure webworker options
    +         */
    +        setWorkerOptions(options: WorkerOptions): void;
    +        /**
    +         * No-op.
    +         */
    +        setMaximumWorkerIdleTime(value: number): void;
    +        /**
    +         * Configure if all existing models should be eagerly sync'd
    +         * to the worker on start or restart.
    +         */
    +        setEagerModelSync(value: boolean): void;
    +        /**
    +         * Get the current setting for whether all existing models should be eagerly sync'd
    +         * to the worker on start or restart.
    +         */
    +        getEagerModelSync(): boolean;
    +        /**
    +         * Configure inlay hints options.
    +         */
    +        setInlayHintsOptions(options: InlayHintsOptions): void;
    +    }
    +    export interface TypeScriptWorker {
    +        /**
    +         * Get diagnostic messages for any syntax issues in the given file.
    +         */
    +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
    +        /**
    +         * Get diagnostic messages for any semantic issues in the given file.
    +         */
    +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
    +        /**
    +         * Get diagnostic messages for any suggestions related to the given file.
    +         */
    +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
    +        /**
    +         * Get the content of a given file.
    +         */
    +        getScriptText(fileName: string): Promise<string | undefined>;
    +        /**
    +         * Get diagnostic messages related to the current compiler options.
    +         * @param fileName Not used
    +         */
    +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
    +        /**
    +         * Get code completions for the given file and position.
    +         * @returns `Promise<typescript.CompletionInfo | undefined>`
    +         */
    +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
    +        /**
    +         * Get code completion details for the given file, position, and entry.
    +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
    +         */
    +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
    +        /**
    +         * Get signature help items for the item at the given file and position.
    +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
    +         */
    +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
    +        /**
    +         * Get quick info for the item at the given position in the file.
    +         * @returns `Promise<typescript.QuickInfo | undefined>`
    +         */
    +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
    +        /**
    +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
    +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
    +         */
    +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
    +        /**
    +         * Get the definition of the item at the given position in the file.
    +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
    +         */
    +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
    +        /**
    +         * Get references to the item at the given position in the file.
    +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
    +         */
    +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
    +        /**
    +         * Get outline entries for the item at the given position in the file.
    +         * @returns `Promise<typescript.NavigationBarItem[]>`
    +         */
    +        getNavigationBarItems(fileName: string): Promise<any[]>;
    +        /**
    +         * Get changes which should be applied to format the given file.
    +         * @param options `typescript.FormatCodeOptions`
    +         * @returns `Promise<typescript.TextChange[]>`
    +         */
    +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
    +        /**
    +         * Get changes which should be applied to format the given range in the file.
    +         * @param options `typescript.FormatCodeOptions`
    +         * @returns `Promise<typescript.TextChange[]>`
    +         */
    +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
    +        /**
    +         * Get formatting changes which should be applied after the given keystroke.
    +         * @param options `typescript.FormatCodeOptions`
    +         * @returns `Promise<typescript.TextChange[]>`
    +         */
    +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
    +        /**
    +         * Get other occurrences which should be updated when renaming the item at the given file and position.
    +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
    +         */
    +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
    +        /**
    +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
    +         * @param options `typescript.RenameInfoOptions`
    +         * @returns `Promise<typescript.RenameInfo>`
    +         */
    +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
    +        /**
    +         * Get transpiled output for the given file.
    +         * @returns `typescript.EmitOutput`
    +         */
    +        getEmitOutput(fileName: string): Promise<EmitOutput>;
    +        /**
    +         * Get possible code fixes at the given position in the file.
    +         * @param formatOptions `typescript.FormatCodeOptions`
    +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
    +         */
    +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
    +        /**
    +         * Get inlay hints in the range of the file.
    +         * @param fileName
    +         * @returns `Promise<typescript.InlayHint[]>`
    +         */
    +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
    +    }
    +    export const typescriptVersion: string;
    +    export const typescriptDefaults: LanguageServiceDefaults;
    +    export const javascriptDefaults: LanguageServiceDefaults;
    +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
    +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
    +}
    +
    +/*---------------------------------------------------------------------------------------------
    + *  Copyright (c) Microsoft Corporation. All rights reserved.
    + *  Licensed under the MIT License. See License.txt in the project root for license information.
    + *--------------------------------------------------------------------------------------------*/
    +
    +declare namespace monaco.languages.css {
    +    export interface Options {
    +        readonly validate?: boolean;
    +        readonly lint?: {
    +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
    +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
    +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
    +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
    +            readonly importStatement?: 'ignore' | 'warning' | 'error';
    +            readonly boxModel?: 'ignore' | 'warning' | 'error';
    +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
    +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
    +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
    +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
    +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
    +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
    +            readonly ieHack?: 'ignore' | 'warning' | 'error';
    +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
    +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
    +            readonly important?: 'ignore' | 'warning' | 'error';
    +            readonly float?: 'ignore' | 'warning' | 'error';
    +            readonly idSelector?: 'ignore' | 'warning' | 'error';
    +        };
    +        /**
    +         * Configures the CSS data types known by the langauge service.
    +         */
    +        readonly data?: CSSDataConfiguration;
    +    }
    +    export interface ModeConfiguration {
    +        /**
    +         * Defines whether the built-in completionItemProvider is enabled.
    +         */
    +        readonly completionItems?: boolean;
    +        /**
    +         * Defines whether the built-in hoverProvider is enabled.
    +         */
    +        readonly hovers?: boolean;
    +        /**
    +         * Defines whether the built-in documentSymbolProvider is enabled.
    +         */
    +        readonly documentSymbols?: boolean;
    +        /**
    +         * Defines whether the built-in definitions provider is enabled.
    +         */
    +        readonly definitions?: boolean;
    +        /**
    +         * Defines whether the built-in references provider is enabled.
    +         */
    +        readonly references?: boolean;
    +        /**
    +         * Defines whether the built-in references provider is enabled.
    +         */
    +        readonly documentHighlights?: boolean;
    +        /**
    +         * Defines whether the built-in rename provider is enabled.
    +         */
    +        readonly rename?: boolean;
    +        /**
    +         * Defines whether the built-in color provider is enabled.
    +         */
    +        readonly colors?: boolean;
    +        /**
    +         * Defines whether the built-in foldingRange provider is enabled.
    +         */
    +        readonly foldingRanges?: boolean;
    +        /**
    +         * Defines whether the built-in diagnostic provider is enabled.
    +         */
    +        readonly diagnostics?: boolean;
    +        /**
    +         * Defines whether the built-in selection range provider is enabled.
    +         */
    +        readonly selectionRanges?: boolean;
    +    }
    +    export interface LanguageServiceDefaults {
    +        readonly languageId: string;
    +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
    +        readonly modeConfiguration: ModeConfiguration;
    +        readonly options: Options;
    +        setOptions(options: Options): void;
    +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
    +        /** @deprecated Use options instead */
    +        readonly diagnosticsOptions: DiagnosticsOptions;
    +        /** @deprecated Use setOptions instead */
    +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
    +    }
    +    /** @deprecated Use Options instead */
    +    export type DiagnosticsOptions = Options;
    +    export const cssDefaults: LanguageServiceDefaults;
    +    export const scssDefaults: LanguageServiceDefaults;
    +    export const lessDefaults: LanguageServiceDefaults;
    +    export interface CSSDataConfiguration {
    +        /**
    +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
    +         */
    +        useDefaultDataProvider?: boolean;
    +        /**
    +         * Provides a set of custom data providers.
    +         */
    +        dataProviders?: {
    +            [providerId: string]: CSSDataV1;
    +        };
    +    }
    +    /**
    +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
    +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
    +     */
    +    export interface CSSDataV1 {
    +        version: 1 | 1.1;
    +        properties?: IPropertyData[];
    +        atDirectives?: IAtDirectiveData[];
    +        pseudoClasses?: IPseudoClassData[];
    +        pseudoElements?: IPseudoElementData[];
    +    }
    +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
    +    export interface IReference {
    +        name: string;
    +        url: string;
    +    }
    +    export interface IPropertyData {
    +        name: string;
    +        description?: string | MarkupContent;
    +        browsers?: string[];
    +        restrictions?: string[];
    +        status?: EntryStatus;
    +        syntax?: string;
    +        values?: IValueData[];
    +        references?: IReference[];
    +        relevance?: number;
    +    }
    +    export interface IAtDirectiveData {
    +        name: string;
    +        description?: string | MarkupContent;
    +        browsers?: string[];
    +        status?: EntryStatus;
    +        references?: IReference[];
    +    }
    +    export interface IPseudoClassData {
    +        name: string;
    +        description?: string | MarkupContent;
    +        browsers?: string[];
    +        status?: EntryStatus;
    +        references?: IReference[];
    +    }
    +    export interface IPseudoElementData {
    +        name: string;
    +        description?: string | MarkupContent;
    +        browsers?: string[];
    +        status?: EntryStatus;
    +        references?: IReference[];
    +    }
    +    export interface IValueData {
    +        name: string;
    +        description?: string | MarkupContent;
    +        browsers?: string[];
    +        status?: EntryStatus;
    +        references?: IReference[];
    +    }
    +    export interface MarkupContent {
    +        kind: MarkupKind;
    +        value: string;
    +    }
    +    export type MarkupKind = 'plaintext' | 'markdown';
    +}
    +
    +/*---------------------------------------------------------------------------------------------
    + *  Copyright (c) Microsoft Corporation. All rights reserved.
    + *  Licensed under the MIT License. See License.txt in the project root for license information.
    + *--------------------------------------------------------------------------------------------*/
    +
    +declare namespace monaco.languages.json {
    +    export interface DiagnosticsOptions {
    +        /**
    +         * If set, the validator will be enabled and perform syntax and schema based validation,
    +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
    +         */
    +        readonly validate?: boolean;
    +        /**
    +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
    +         * `DiagnosticsOptions.allowComments` will override this setting.
    +         */
    +        readonly allowComments?: boolean;
    +        /**
    +         * A list of known schemas and/or associations of schemas to file names.
    +         */
    +        readonly schemas?: {
    +            /**
    +             * The URI of the schema, which is also the identifier of the schema.
    +             */
    +            readonly uri: string;
    +            /**
    +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
    +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
    +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
    +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
    +             */
    +            readonly fileMatch?: string[];
    +            /**
    +             * The schema for the given URI.
    +             */
    +            readonly schema?: any;
    +        }[];
    +        /**
    +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
    +         */
    +        readonly enableSchemaRequest?: boolean;
    +        /**
    +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
    +         */
    +        readonly schemaValidation?: SeverityLevel;
    +        /**
    +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
    +         */
    +        readonly schemaRequest?: SeverityLevel;
    +        /**
    +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
    +         */
    +        readonly trailingCommas?: SeverityLevel;
    +        /**
    +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
    +         */
    +        readonly comments?: SeverityLevel;
    +    }
    +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
    +    export interface ModeConfiguration {
    +        /**
    +         * Defines whether the built-in documentFormattingEdit provider is enabled.
    +         */
    +        readonly documentFormattingEdits?: boolean;
    +        /**
    +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
    +         */
    +        readonly documentRangeFormattingEdits?: boolean;
    +        /**
    +         * Defines whether the built-in completionItemProvider is enabled.
    +         */
    +        readonly completionItems?: boolean;
    +        /**
    +         * Defines whether the built-in hoverProvider is enabled.
    +         */
    +        readonly hovers?: boolean;
    +        /**
    +         * Defines whether the built-in documentSymbolProvider is enabled.
    +         */
    +        readonly documentSymbols?: boolean;
    +        /**
    +         * Defines whether the built-in tokens provider is enabled.
    +         */
    +        readonly tokens?: boolean;
    +        /**
    +         * Defines whether the built-in color provider is enabled.
    +         */
    +        readonly colors?: boolean;
    +        /**
    +         * Defines whether the built-in foldingRange provider is enabled.
    +         */
    +        readonly foldingRanges?: boolean;
    +        /**
    +         * Defines whether the built-in diagnostic provider is enabled.
    +         */
    +        readonly diagnostics?: boolean;
    +        /**
    +         * Defines whether the built-in selection range provider is enabled.
    +         */
    +        readonly selectionRanges?: boolean;
    +    }
    +    export interface LanguageServiceDefaults {
    +        readonly languageId: string;
    +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
    +        readonly diagnosticsOptions: DiagnosticsOptions;
    +        readonly modeConfiguration: ModeConfiguration;
    +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
    +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
    +    }
    +    export const jsonDefaults: LanguageServiceDefaults;
    +}
    +
    +/*---------------------------------------------------------------------------------------------
    + *  Copyright (c) Microsoft Corporation. All rights reserved.
    + *  Licensed under the MIT License. See License.txt in the project root for license information.
    + *--------------------------------------------------------------------------------------------*/
    +
    +declare namespace monaco.languages.html {
    +    export interface HTMLFormatConfiguration {
    +        readonly tabSize: number;
    +        readonly insertSpaces: boolean;
    +        readonly wrapLineLength: number;
    +        readonly unformatted: string;
    +        readonly contentUnformatted: string;
    +        readonly indentInnerHtml: boolean;
    +        readonly preserveNewLines: boolean;
    +        readonly maxPreserveNewLines: number | undefined;
    +        readonly indentHandlebars: boolean;
    +        readonly endWithNewline: boolean;
    +        readonly extraLiners: string;
    +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
    +    }
    +    export interface CompletionConfiguration {
    +        readonly [providerId: string]: boolean;
    +    }
    +    export interface Options {
    +        /**
    +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
    +         */
    +        readonly format?: HTMLFormatConfiguration;
    +        /**
    +         * A list of known schemas and/or associations of schemas to file names.
    +         */
    +        readonly suggest?: CompletionConfiguration;
    +        /**
    +         * Configures the HTML data types known by the HTML langauge service.
    +         */
    +        readonly data?: HTMLDataConfiguration;
    +    }
    +    export interface ModeConfiguration {
    +        /**
    +         * Defines whether the built-in completionItemProvider is enabled.
    +         */
    +        readonly completionItems?: boolean;
    +        /**
    +         * Defines whether the built-in hoverProvider is enabled.
    +         */
    +        readonly hovers?: boolean;
    +        /**
    +         * Defines whether the built-in documentSymbolProvider is enabled.
    +         */
    +        readonly documentSymbols?: boolean;
    +        /**
    +         * Defines whether the built-in definitions provider is enabled.
    +         */
    +        readonly links?: boolean;
    +        /**
    +         * Defines whether the built-in references provider is enabled.
    +         */
    +        readonly documentHighlights?: boolean;
    +        /**
    +         * Defines whether the built-in rename provider is enabled.
    +         */
    +        readonly rename?: boolean;
    +        /**
    +         * Defines whether the built-in color provider is enabled.
    +         */
    +        readonly colors?: boolean;
    +        /**
    +         * Defines whether the built-in foldingRange provider is enabled.
    +         */
    +        readonly foldingRanges?: boolean;
    +        /**
    +         * Defines whether the built-in diagnostic provider is enabled.
    +         */
    +        readonly diagnostics?: boolean;
    +        /**
    +         * Defines whether the built-in selection range provider is enabled.
    +         */
    +        readonly selectionRanges?: boolean;
    +        /**
    +         * Defines whether the built-in documentFormattingEdit provider is enabled.
    +         */
    +        readonly documentFormattingEdits?: boolean;
    +        /**
    +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
    +         */
    +        readonly documentRangeFormattingEdits?: boolean;
    +    }
    +    export interface LanguageServiceDefaults {
    +        readonly languageId: string;
    +        readonly modeConfiguration: ModeConfiguration;
    +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
    +        readonly options: Options;
    +        setOptions(options: Options): void;
    +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
    +    }
    +    export const htmlLanguageService: LanguageServiceRegistration;
    +    export const htmlDefaults: LanguageServiceDefaults;
    +    export const handlebarLanguageService: LanguageServiceRegistration;
    +    export const handlebarDefaults: LanguageServiceDefaults;
    +    export const razorLanguageService: LanguageServiceRegistration;
    +    export const razorDefaults: LanguageServiceDefaults;
    +    export interface LanguageServiceRegistration extends IDisposable {
    +        readonly defaults: LanguageServiceDefaults;
    +    }
    +    /**
    +     * Registers a new HTML language service for the languageId.
    +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
    +     *
    +     * Use this method to register additional language ids with a HTML service.
    +     * The language server has to be registered before an editor model is opened.
    +     */
    +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
    +    export interface HTMLDataConfiguration {
    +        /**
    +         * Defines whether the standard HTML tags and attributes are shown
    +         */
    +        readonly useDefaultDataProvider?: boolean;
    +        /**
    +         * Provides a set of custom data providers.
    +         */
    +        readonly dataProviders?: {
    +            [providerId: string]: HTMLDataV1;
    +        };
    +    }
    +    /**
    +     * Custom HTML tags attributes and attribute values
    +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
    +     */
    +    export interface HTMLDataV1 {
    +        readonly version: 1 | 1.1;
    +        readonly tags?: ITagData[];
    +        readonly globalAttributes?: IAttributeData[];
    +        readonly valueSets?: IValueSet[];
    +    }
    +    export interface IReference {
    +        readonly name: string;
    +        readonly url: string;
    +    }
    +    export interface ITagData {
    +        readonly name: string;
    +        readonly description?: string | MarkupContent;
    +        readonly attributes: IAttributeData[];
    +        readonly references?: IReference[];
    +    }
    +    export interface IAttributeData {
    +        readonly name: string;
    +        readonly description?: string | MarkupContent;
    +        readonly valueSet?: string;
    +        readonly values?: IValueData[];
    +        readonly references?: IReference[];
    +    }
    +    export interface IValueData {
    +        readonly name: string;
    +        readonly description?: string | MarkupContent;
    +        readonly references?: IReference[];
    +    }
    +    export interface IValueSet {
    +        readonly name: string;
    +        readonly values: IValueData[];
    +    }
    +    export interface MarkupContent {
    +        readonly kind: MarkupKind;
    +        readonly value: string;
    +    }
    +    export type MarkupKind = 'plaintext' | 'markdown';
    +}
    +
    +
    +
    + + + + + + + + +
    +
    +

    results matching ""

    +
      +
      +
      +

      No results matching ""

      +
      +
      +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/FoldingRangeKind.html b/docs/api-reference/classes/FoldingRangeKind.html new file mode 100644 index 00000000..5ea45aa2 --- /dev/null +++ b/docs/api-reference/classes/FoldingRangeKind.html @@ -0,0 +1,8157 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + +
      +
      + + +
      +
      + + + + + + + + + + + + + + + +
      +
      +

      +

      File

      +

      +

      + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

      + + + + + +
      +

      Index

      + + + + + + + + + + + + + + + +
      +
      Properties
      +
      + +
      +
      + +
      +

      Constructor

      + + + + + + + + + + + + + +
      +constructor(value: string) +
      + +
      +

      Creates a new FoldingRangeKind.

      +
      +
      + Parameters : + + + + + + + + + + + + + + + + + + + + +
      NameTypeOptionalDescription
      value + string + + No + +

      of the kind.

      +
      +
      +
      +
      +
      + +
      + +

      + Properties +

      + + + + + + + + + + + + + + + + + +
      + + + + Static + Readonly + Comment + + +
      + Type : FoldingRangeKind + +
      + +
      +

      Kind for folding range representing a comment. The value of the kind is 'comment'.

      +
      +
      + + + + + + + + + + + + + + + + + +
      + + + + Static + Readonly + Imports + + +
      + Type : FoldingRangeKind + +
      + +
      +

      Kind for folding range representing a import. The value of the kind is 'imports'.

      +
      +
      + + + + + + + + + + + + + + + + + +
      + + + + Static + Readonly + Region + + +
      + Type : FoldingRangeKind + +
      + +
      +

      Kind for folding range representing regions (for example marked by #region, #endregion). +The value of the kind is 'region'.

      +
      +
      + + + + + + + + + + + + + + +
      + + + + value + + +
      + Type : string + +
      + +
      +
      + + + + + + + +
      + + +
      +
      declare let MonacoEnvironment: monaco.Environment | undefined;
      +
      +interface Window {
      +    MonacoEnvironment?: monaco.Environment | undefined;
      +}
      +
      +declare namespace monaco {
      +
      +    export type Thenable<T> = PromiseLike<T>;
      +
      +    export interface Environment {
      +        globalAPI?: boolean;
      +        baseUrl?: string;
      +        getWorker?(workerId: string, label: string): Worker;
      +        getWorkerUrl?(workerId: string, label: string): string;
      +    }
      +
      +    export interface IDisposable {
      +        dispose(): void;
      +    }
      +
      +    export interface IEvent<T> {
      +        (listener: (e: T) => any, thisArg?: any): IDisposable;
      +    }
      +
      +    /**
      +     * A helper that allows to emit and listen to typed events
      +     */
      +    export class Emitter<T> {
      +        constructor();
      +        readonly event: IEvent<T>;
      +        fire(event: T): void;
      +        dispose(): void;
      +    }
      +
      +
      +    export enum MarkerTag {
      +        Unnecessary = 1,
      +        Deprecated = 2
      +    }
      +
      +    export enum MarkerSeverity {
      +        Hint = 1,
      +        Info = 2,
      +        Warning = 4,
      +        Error = 8
      +    }
      +
      +    export class CancellationTokenSource {
      +        constructor(parent?: CancellationToken);
      +        get token(): CancellationToken;
      +        cancel(): void;
      +        dispose(cancel?: boolean): void;
      +    }
      +
      +    export interface CancellationToken {
      +        /**
      +         * A flag signalling is cancellation has been requested.
      +         */
      +        readonly isCancellationRequested: boolean;
      +        /**
      +         * An event which fires when cancellation is requested. This event
      +         * only ever fires `once` as cancellation can only happen once. Listeners
      +         * that are registered after cancellation will be called (next event loop run),
      +         * but also only once.
      +         *
      +         * @event
      +         */
      +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
      +    }
      +    /**
      +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
      +     * This class is a simple parser which creates the basic component parts
      +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
      +     * and encoding.
      +     *
      +     * ```txt
      +     *       foo://example.com:8042/over/there?name=ferret#nose
      +     *       \_/   \______________/\_________/ \_________/ \__/
      +     *        |           |            |            |        |
      +     *     scheme     authority       path        query   fragment
      +     *        |   _____________________|__
      +     *       / \ /                        \
      +     *       urn:example:animal:ferret:nose
      +     * ```
      +     */
      +    export class Uri implements UriComponents {
      +        static isUri(thing: any): thing is Uri;
      +        /**
      +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
      +         * The part before the first colon.
      +         */
      +        readonly scheme: string;
      +        /**
      +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
      +         * The part between the first double slashes and the next slash.
      +         */
      +        readonly authority: string;
      +        /**
      +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
      +         */
      +        readonly path: string;
      +        /**
      +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
      +         */
      +        readonly query: string;
      +        /**
      +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
      +         */
      +        readonly fragment: string;
      +        /**
      +         * Returns a string representing the corresponding file system path of this Uri.
      +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
      +         * platform specific path separator.
      +         *
      +         * * Will *not* validate the path for invalid characters and semantics.
      +         * * Will *not* look at the scheme of this Uri.
      +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
      +         *
      +         *
      +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
      +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
      +         *
      +         * ```ts
      +            const u = Uri.parse('file://server/c$/folder/file.txt')
      +            u.authority === 'server'
      +            u.path === '/shares/c$/file.txt'
      +            u.fsPath === '\\server\c$\folder\file.txt'
      +        ```
      +         *
      +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
      +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
      +         * with URIs that represent files on disk (`file` scheme).
      +         */
      +        get fsPath(): string;
      +        with(change: {
      +            scheme?: string;
      +            authority?: string | null;
      +            path?: string | null;
      +            query?: string | null;
      +            fragment?: string | null;
      +        }): Uri;
      +        /**
      +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
      +         * `file:///usr/home`, or `scheme:with/path`.
      +         *
      +         * @param value A string which represents an Uri (see `Uri#toString`).
      +         */
      +        static parse(value: string, _strict?: boolean): Uri;
      +        /**
      +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
      +         * `/usr/home`, or `\\server\share\some\path`.
      +         *
      +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
      +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
      +         * `Uri.parse('file://' + path)` because the path might contain characters that are
      +         * interpreted (# and ?). See the following sample:
      +         * ```ts
      +        const good = Uri.file('/coding/c#/project1');
      +        good.scheme === 'file';
      +        good.path === '/coding/c#/project1';
      +        good.fragment === '';
      +        const bad = Uri.parse('file://' + '/coding/c#/project1');
      +        bad.scheme === 'file';
      +        bad.path === '/coding/c'; // path is now broken
      +        bad.fragment === '/project1';
      +        ```
      +         *
      +         * @param path A file system path (see `Uri#fsPath`)
      +         */
      +        static file(path: string): Uri;
      +        static from(components: {
      +            scheme: string;
      +            authority?: string;
      +            path?: string;
      +            query?: string;
      +            fragment?: string;
      +        }): Uri;
      +        /**
      +         * Join a Uri path with path fragments and normalizes the resulting path.
      +         *
      +         * @param uri The input Uri.
      +         * @param pathFragment The path fragment to add to the Uri path.
      +         * @returns The resulting Uri.
      +         */
      +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
      +        /**
      +         * Creates a string representation for this Uri. It's guaranteed that calling
      +         * `Uri.parse` with the result of this function creates an Uri which is equal
      +         * to this Uri.
      +         *
      +         * * The result shall *not* be used for display purposes but for externalization or transport.
      +         * * The result will be encoded using the percentage encoding and encoding happens mostly
      +         * ignore the scheme-specific encoding rules.
      +         *
      +         * @param skipEncoding Do not encode the result, default is `false`
      +         */
      +        toString(skipEncoding?: boolean): string;
      +        toJSON(): UriComponents;
      +        static revive(data: UriComponents | Uri): Uri;
      +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
      +        static revive(data: UriComponents | Uri | null): Uri | null;
      +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
      +    }
      +
      +    export interface UriComponents {
      +        scheme: string;
      +        authority: string;
      +        path: string;
      +        query: string;
      +        fragment: string;
      +    }
      +    /**
      +     * Virtual Key Codes, the value does not hold any inherent meaning.
      +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
      +     * But these are "more general", as they should work across browsers & OS`s.
      +     */
      +    export enum KeyCode {
      +        DependsOnKbLayout = -1,
      +        /**
      +         * Placed first to cover the 0 value of the enum.
      +         */
      +        Unknown = 0,
      +        Backspace = 1,
      +        Tab = 2,
      +        Enter = 3,
      +        Shift = 4,
      +        Ctrl = 5,
      +        Alt = 6,
      +        PauseBreak = 7,
      +        CapsLock = 8,
      +        Escape = 9,
      +        Space = 10,
      +        PageUp = 11,
      +        PageDown = 12,
      +        End = 13,
      +        Home = 14,
      +        LeftArrow = 15,
      +        UpArrow = 16,
      +        RightArrow = 17,
      +        DownArrow = 18,
      +        Insert = 19,
      +        Delete = 20,
      +        Digit0 = 21,
      +        Digit1 = 22,
      +        Digit2 = 23,
      +        Digit3 = 24,
      +        Digit4 = 25,
      +        Digit5 = 26,
      +        Digit6 = 27,
      +        Digit7 = 28,
      +        Digit8 = 29,
      +        Digit9 = 30,
      +        KeyA = 31,
      +        KeyB = 32,
      +        KeyC = 33,
      +        KeyD = 34,
      +        KeyE = 35,
      +        KeyF = 36,
      +        KeyG = 37,
      +        KeyH = 38,
      +        KeyI = 39,
      +        KeyJ = 40,
      +        KeyK = 41,
      +        KeyL = 42,
      +        KeyM = 43,
      +        KeyN = 44,
      +        KeyO = 45,
      +        KeyP = 46,
      +        KeyQ = 47,
      +        KeyR = 48,
      +        KeyS = 49,
      +        KeyT = 50,
      +        KeyU = 51,
      +        KeyV = 52,
      +        KeyW = 53,
      +        KeyX = 54,
      +        KeyY = 55,
      +        KeyZ = 56,
      +        Meta = 57,
      +        ContextMenu = 58,
      +        F1 = 59,
      +        F2 = 60,
      +        F3 = 61,
      +        F4 = 62,
      +        F5 = 63,
      +        F6 = 64,
      +        F7 = 65,
      +        F8 = 66,
      +        F9 = 67,
      +        F10 = 68,
      +        F11 = 69,
      +        F12 = 70,
      +        F13 = 71,
      +        F14 = 72,
      +        F15 = 73,
      +        F16 = 74,
      +        F17 = 75,
      +        F18 = 76,
      +        F19 = 77,
      +        NumLock = 78,
      +        ScrollLock = 79,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the ';:' key
      +         */
      +        Semicolon = 80,
      +        /**
      +         * For any country/region, the '+' key
      +         * For the US standard keyboard, the '=+' key
      +         */
      +        Equal = 81,
      +        /**
      +         * For any country/region, the ',' key
      +         * For the US standard keyboard, the ',<' key
      +         */
      +        Comma = 82,
      +        /**
      +         * For any country/region, the '-' key
      +         * For the US standard keyboard, the '-_' key
      +         */
      +        Minus = 83,
      +        /**
      +         * For any country/region, the '.' key
      +         * For the US standard keyboard, the '.>' key
      +         */
      +        Period = 84,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the '/?' key
      +         */
      +        Slash = 85,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the '`~' key
      +         */
      +        Backquote = 86,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the '[{' key
      +         */
      +        BracketLeft = 87,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the '\|' key
      +         */
      +        Backslash = 88,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the ']}' key
      +         */
      +        BracketRight = 89,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         * For the US standard keyboard, the ''"' key
      +         */
      +        Quote = 90,
      +        /**
      +         * Used for miscellaneous characters; it can vary by keyboard.
      +         */
      +        OEM_8 = 91,
      +        /**
      +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
      +         */
      +        IntlBackslash = 92,
      +        Numpad0 = 93,
      +        Numpad1 = 94,
      +        Numpad2 = 95,
      +        Numpad3 = 96,
      +        Numpad4 = 97,
      +        Numpad5 = 98,
      +        Numpad6 = 99,
      +        Numpad7 = 100,
      +        Numpad8 = 101,
      +        Numpad9 = 102,
      +        NumpadMultiply = 103,
      +        NumpadAdd = 104,
      +        NUMPAD_SEPARATOR = 105,
      +        NumpadSubtract = 106,
      +        NumpadDecimal = 107,
      +        NumpadDivide = 108,
      +        /**
      +         * Cover all key codes when IME is processing input.
      +         */
      +        KEY_IN_COMPOSITION = 109,
      +        ABNT_C1 = 110,
      +        ABNT_C2 = 111,
      +        AudioVolumeMute = 112,
      +        AudioVolumeUp = 113,
      +        AudioVolumeDown = 114,
      +        BrowserSearch = 115,
      +        BrowserHome = 116,
      +        BrowserBack = 117,
      +        BrowserForward = 118,
      +        MediaTrackNext = 119,
      +        MediaTrackPrevious = 120,
      +        MediaStop = 121,
      +        MediaPlayPause = 122,
      +        LaunchMediaPlayer = 123,
      +        LaunchMail = 124,
      +        LaunchApp2 = 125,
      +        /**
      +         * Placed last to cover the length of the enum.
      +         * Please do not depend on this value!
      +         */
      +        MAX_VALUE = 126
      +    }
      +    export class KeyMod {
      +        static readonly CtrlCmd: number;
      +        static readonly Shift: number;
      +        static readonly Alt: number;
      +        static readonly WinCtrl: number;
      +        static chord(firstPart: number, secondPart: number): number;
      +    }
      +
      +    export interface IMarkdownString {
      +        readonly value: string;
      +        readonly isTrusted?: boolean;
      +        readonly supportThemeIcons?: boolean;
      +        readonly supportHtml?: boolean;
      +        uris?: {
      +            [href: string]: UriComponents;
      +        };
      +    }
      +
      +    export interface IKeyboardEvent {
      +        readonly _standardKeyboardEventBrand: true;
      +        readonly browserEvent: KeyboardEvent;
      +        readonly target: HTMLElement;
      +        readonly ctrlKey: boolean;
      +        readonly shiftKey: boolean;
      +        readonly altKey: boolean;
      +        readonly metaKey: boolean;
      +        readonly keyCode: KeyCode;
      +        readonly code: string;
      +        equals(keybinding: number): boolean;
      +        preventDefault(): void;
      +        stopPropagation(): void;
      +    }
      +    export interface IMouseEvent {
      +        readonly browserEvent: MouseEvent;
      +        readonly leftButton: boolean;
      +        readonly middleButton: boolean;
      +        readonly rightButton: boolean;
      +        readonly buttons: number;
      +        readonly target: HTMLElement;
      +        readonly detail: number;
      +        readonly posx: number;
      +        readonly posy: number;
      +        readonly ctrlKey: boolean;
      +        readonly shiftKey: boolean;
      +        readonly altKey: boolean;
      +        readonly metaKey: boolean;
      +        readonly timestamp: number;
      +        preventDefault(): void;
      +        stopPropagation(): void;
      +    }
      +
      +    export interface IScrollEvent {
      +        readonly scrollTop: number;
      +        readonly scrollLeft: number;
      +        readonly scrollWidth: number;
      +        readonly scrollHeight: number;
      +        readonly scrollTopChanged: boolean;
      +        readonly scrollLeftChanged: boolean;
      +        readonly scrollWidthChanged: boolean;
      +        readonly scrollHeightChanged: boolean;
      +    }
      +    /**
      +     * A position in the editor. This interface is suitable for serialization.
      +     */
      +    export interface IPosition {
      +        /**
      +         * line number (starts at 1)
      +         */
      +        readonly lineNumber: number;
      +        /**
      +         * column (the first character in a line is between column 1 and column 2)
      +         */
      +        readonly column: number;
      +    }
      +
      +    /**
      +     * A position in the editor.
      +     */
      +    export class Position {
      +        /**
      +         * line number (starts at 1)
      +         */
      +        readonly lineNumber: number;
      +        /**
      +         * column (the first character in a line is between column 1 and column 2)
      +         */
      +        readonly column: number;
      +        constructor(lineNumber: number, column: number);
      +        /**
      +         * Create a new position from this position.
      +         *
      +         * @param newLineNumber new line number
      +         * @param newColumn new column
      +         */
      +        with(newLineNumber?: number, newColumn?: number): Position;
      +        /**
      +         * Derive a new position from this position.
      +         *
      +         * @param deltaLineNumber line number delta
      +         * @param deltaColumn column delta
      +         */
      +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
      +        /**
      +         * Test if this position equals other position
      +         */
      +        equals(other: IPosition): boolean;
      +        /**
      +         * Test if position `a` equals position `b`
      +         */
      +        static equals(a: IPosition | null, b: IPosition | null): boolean;
      +        /**
      +         * Test if this position is before other position.
      +         * If the two positions are equal, the result will be false.
      +         */
      +        isBefore(other: IPosition): boolean;
      +        /**
      +         * Test if position `a` is before position `b`.
      +         * If the two positions are equal, the result will be false.
      +         */
      +        static isBefore(a: IPosition, b: IPosition): boolean;
      +        /**
      +         * Test if this position is before other position.
      +         * If the two positions are equal, the result will be true.
      +         */
      +        isBeforeOrEqual(other: IPosition): boolean;
      +        /**
      +         * Test if position `a` is before position `b`.
      +         * If the two positions are equal, the result will be true.
      +         */
      +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
      +        /**
      +         * A function that compares positions, useful for sorting
      +         */
      +        static compare(a: IPosition, b: IPosition): number;
      +        /**
      +         * Clone this position.
      +         */
      +        clone(): Position;
      +        /**
      +         * Convert to a human-readable representation.
      +         */
      +        toString(): string;
      +        /**
      +         * Create a `Position` from an `IPosition`.
      +         */
      +        static lift(pos: IPosition): Position;
      +        /**
      +         * Test if `obj` is an `IPosition`.
      +         */
      +        static isIPosition(obj: any): obj is IPosition;
      +    }
      +
      +    /**
      +     * A range in the editor. This interface is suitable for serialization.
      +     */
      +    export interface IRange {
      +        /**
      +         * Line number on which the range starts (starts at 1).
      +         */
      +        readonly startLineNumber: number;
      +        /**
      +         * Column on which the range starts in line `startLineNumber` (starts at 1).
      +         */
      +        readonly startColumn: number;
      +        /**
      +         * Line number on which the range ends.
      +         */
      +        readonly endLineNumber: number;
      +        /**
      +         * Column on which the range ends in line `endLineNumber`.
      +         */
      +        readonly endColumn: number;
      +    }
      +
      +    /**
      +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
      +     */
      +    export class Range {
      +        /**
      +         * Line number on which the range starts (starts at 1).
      +         */
      +        readonly startLineNumber: number;
      +        /**
      +         * Column on which the range starts in line `startLineNumber` (starts at 1).
      +         */
      +        readonly startColumn: number;
      +        /**
      +         * Line number on which the range ends.
      +         */
      +        readonly endLineNumber: number;
      +        /**
      +         * Column on which the range ends in line `endLineNumber`.
      +         */
      +        readonly endColumn: number;
      +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
      +        /**
      +         * Test if this range is empty.
      +         */
      +        isEmpty(): boolean;
      +        /**
      +         * Test if `range` is empty.
      +         */
      +        static isEmpty(range: IRange): boolean;
      +        /**
      +         * Test if position is in this range. If the position is at the edges, will return true.
      +         */
      +        containsPosition(position: IPosition): boolean;
      +        /**
      +         * Test if `position` is in `range`. If the position is at the edges, will return true.
      +         */
      +        static containsPosition(range: IRange, position: IPosition): boolean;
      +        /**
      +         * Test if range is in this range. If the range is equal to this range, will return true.
      +         */
      +        containsRange(range: IRange): boolean;
      +        /**
      +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
      +         */
      +        static containsRange(range: IRange, otherRange: IRange): boolean;
      +        /**
      +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
      +         */
      +        strictContainsRange(range: IRange): boolean;
      +        /**
      +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
      +         */
      +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
      +        /**
      +         * A reunion of the two ranges.
      +         * The smallest position will be used as the start point, and the largest one as the end point.
      +         */
      +        plusRange(range: IRange): Range;
      +        /**
      +         * A reunion of the two ranges.
      +         * The smallest position will be used as the start point, and the largest one as the end point.
      +         */
      +        static plusRange(a: IRange, b: IRange): Range;
      +        /**
      +         * A intersection of the two ranges.
      +         */
      +        intersectRanges(range: IRange): Range | null;
      +        /**
      +         * A intersection of the two ranges.
      +         */
      +        static intersectRanges(a: IRange, b: IRange): Range | null;
      +        /**
      +         * Test if this range equals other.
      +         */
      +        equalsRange(other: IRange | null): boolean;
      +        /**
      +         * Test if range `a` equals `b`.
      +         */
      +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
      +        /**
      +         * Return the end position (which will be after or equal to the start position)
      +         */
      +        getEndPosition(): Position;
      +        /**
      +         * Return the end position (which will be after or equal to the start position)
      +         */
      +        static getEndPosition(range: IRange): Position;
      +        /**
      +         * Return the start position (which will be before or equal to the end position)
      +         */
      +        getStartPosition(): Position;
      +        /**
      +         * Return the start position (which will be before or equal to the end position)
      +         */
      +        static getStartPosition(range: IRange): Position;
      +        /**
      +         * Transform to a user presentable string representation.
      +         */
      +        toString(): string;
      +        /**
      +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
      +         */
      +        setEndPosition(endLineNumber: number, endColumn: number): Range;
      +        /**
      +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
      +         */
      +        setStartPosition(startLineNumber: number, startColumn: number): Range;
      +        /**
      +         * Create a new empty range using this range's start position.
      +         */
      +        collapseToStart(): Range;
      +        /**
      +         * Create a new empty range using this range's start position.
      +         */
      +        static collapseToStart(range: IRange): Range;
      +        static fromPositions(start: IPosition, end?: IPosition): Range;
      +        /**
      +         * Create a `Range` from an `IRange`.
      +         */
      +        static lift(range: undefined | null): null;
      +        static lift(range: IRange): Range;
      +        /**
      +         * Test if `obj` is an `IRange`.
      +         */
      +        static isIRange(obj: any): obj is IRange;
      +        /**
      +         * Test if the two ranges are touching in any way.
      +         */
      +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
      +        /**
      +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
      +         */
      +        static areIntersecting(a: IRange, b: IRange): boolean;
      +        /**
      +         * A function that compares ranges, useful for sorting ranges
      +         * It will first compare ranges on the startPosition and then on the endPosition
      +         */
      +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
      +        /**
      +         * A function that compares ranges, useful for sorting ranges
      +         * It will first compare ranges on the endPosition and then on the startPosition
      +         */
      +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
      +        /**
      +         * Test if the range spans multiple lines.
      +         */
      +        static spansMultipleLines(range: IRange): boolean;
      +    }
      +
      +    /**
      +     * A selection in the editor.
      +     * The selection is a range that has an orientation.
      +     */
      +    export interface ISelection {
      +        /**
      +         * The line number on which the selection has started.
      +         */
      +        readonly selectionStartLineNumber: number;
      +        /**
      +         * The column on `selectionStartLineNumber` where the selection has started.
      +         */
      +        readonly selectionStartColumn: number;
      +        /**
      +         * The line number on which the selection has ended.
      +         */
      +        readonly positionLineNumber: number;
      +        /**
      +         * The column on `positionLineNumber` where the selection has ended.
      +         */
      +        readonly positionColumn: number;
      +    }
      +
      +    /**
      +     * A selection in the editor.
      +     * The selection is a range that has an orientation.
      +     */
      +    export class Selection extends Range {
      +        /**
      +         * The line number on which the selection has started.
      +         */
      +        readonly selectionStartLineNumber: number;
      +        /**
      +         * The column on `selectionStartLineNumber` where the selection has started.
      +         */
      +        readonly selectionStartColumn: number;
      +        /**
      +         * The line number on which the selection has ended.
      +         */
      +        readonly positionLineNumber: number;
      +        /**
      +         * The column on `positionLineNumber` where the selection has ended.
      +         */
      +        readonly positionColumn: number;
      +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
      +        /**
      +         * Transform to a human-readable representation.
      +         */
      +        toString(): string;
      +        /**
      +         * Test if equals other selection.
      +         */
      +        equalsSelection(other: ISelection): boolean;
      +        /**
      +         * Test if the two selections are equal.
      +         */
      +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
      +        /**
      +         * Get directions (LTR or RTL).
      +         */
      +        getDirection(): SelectionDirection;
      +        /**
      +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
      +         */
      +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
      +        /**
      +         * Get the position at `positionLineNumber` and `positionColumn`.
      +         */
      +        getPosition(): Position;
      +        /**
      +         * Get the position at the start of the selection.
      +        */
      +        getSelectionStart(): Position;
      +        /**
      +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
      +         */
      +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
      +        /**
      +         * Create a `Selection` from one or two positions
      +         */
      +        static fromPositions(start: IPosition, end?: IPosition): Selection;
      +        /**
      +         * Creates a `Selection` from a range, given a direction.
      +         */
      +        static fromRange(range: Range, direction: SelectionDirection): Selection;
      +        /**
      +         * Create a `Selection` from an `ISelection`.
      +         */
      +        static liftSelection(sel: ISelection): Selection;
      +        /**
      +         * `a` equals `b`.
      +         */
      +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
      +        /**
      +         * Test if `obj` is an `ISelection`.
      +         */
      +        static isISelection(obj: any): obj is ISelection;
      +        /**
      +         * Create with a direction.
      +         */
      +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
      +    }
      +
      +    /**
      +     * The direction of a selection.
      +     */
      +    export enum SelectionDirection {
      +        /**
      +         * The selection starts above where it ends.
      +         */
      +        LTR = 0,
      +        /**
      +         * The selection starts below where it ends.
      +         */
      +        RTL = 1
      +    }
      +
      +    export class Token {
      +        _tokenBrand: void;
      +        readonly offset: number;
      +        readonly type: string;
      +        readonly language: string;
      +        constructor(offset: number, type: string, language: string);
      +        toString(): string;
      +    }
      +}
      +
      +declare namespace monaco.editor {
      +
      +    export interface IDiffNavigator {
      +        canNavigate(): boolean;
      +        next(): void;
      +        previous(): void;
      +        dispose(): void;
      +    }
      +
      +    /**
      +     * Create a new editor under `domElement`.
      +     * `domElement` should be empty (not contain other dom nodes).
      +     * The editor will read the size of `domElement`.
      +     */
      +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
      +
      +    /**
      +     * Emitted when an editor is created.
      +     * Creating a diff editor might cause this listener to be invoked with the two editors.
      +     * @event
      +     */
      +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
      +
      +    /**
      +     * Create a new diff editor under `domElement`.
      +     * `domElement` should be empty (not contain other dom nodes).
      +     * The editor will read the size of `domElement`.
      +     */
      +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
      +
      +    export interface IDiffNavigatorOptions {
      +        readonly followsCaret?: boolean;
      +        readonly ignoreCharChanges?: boolean;
      +        readonly alwaysRevealFirst?: boolean;
      +    }
      +
      +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
      +
      +    /**
      +     * Create a new editor model.
      +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
      +     */
      +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
      +
      +    /**
      +     * Change the language for a model.
      +     */
      +    export function setModelLanguage(model: ITextModel, languageId: string): void;
      +
      +    /**
      +     * Set the markers for a model.
      +     */
      +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
      +
      +    /**
      +     * Get markers for owner and/or resource
      +     *
      +     * @returns list of markers
      +     */
      +    export function getModelMarkers(filter: {
      +        owner?: string;
      +        resource?: Uri;
      +        take?: number;
      +    }): IMarker[];
      +
      +    /**
      +     * Emitted when markers change for a model.
      +     * @event
      +     */
      +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
      +
      +    /**
      +     * Get the model that has `uri` if it exists.
      +     */
      +    export function getModel(uri: Uri): ITextModel | null;
      +
      +    /**
      +     * Get all the created models.
      +     */
      +    export function getModels(): ITextModel[];
      +
      +    /**
      +     * Emitted when a model is created.
      +     * @event
      +     */
      +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
      +
      +    /**
      +     * Emitted right before a model is disposed.
      +     * @event
      +     */
      +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
      +
      +    /**
      +     * Emitted when a different language is set to a model.
      +     * @event
      +     */
      +    export function onDidChangeModelLanguage(listener: (e: {
      +        readonly model: ITextModel;
      +        readonly oldLanguage: string;
      +    }) => void): IDisposable;
      +
      +    /**
      +     * Create a new web worker that has model syncing capabilities built in.
      +     * Specify an AMD module to load that will `create` an object that will be proxied.
      +     */
      +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
      +
      +    /**
      +     * Colorize the contents of `domNode` using attribute `data-lang`.
      +     */
      +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
      +
      +    /**
      +     * Colorize `text` using language `languageId`.
      +     */
      +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
      +
      +    /**
      +     * Colorize a line in a model.
      +     */
      +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
      +
      +    /**
      +     * Tokenize `text` using language `languageId`
      +     */
      +    export function tokenize(text: string, languageId: string): Token[][];
      +
      +    /**
      +     * Define a new theme or update an existing theme.
      +     */
      +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
      +
      +    /**
      +     * Switches to a theme.
      +     */
      +    export function setTheme(themeName: string): void;
      +
      +    /**
      +     * Clears all cached font measurements and triggers re-measurement.
      +     */
      +    export function remeasureFonts(): void;
      +
      +    /**
      +     * Register a command.
      +     */
      +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
      +
      +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
      +
      +    export interface IStandaloneThemeData {
      +        base: BuiltinTheme;
      +        inherit: boolean;
      +        rules: ITokenThemeRule[];
      +        encodedTokensColors?: string[];
      +        colors: IColors;
      +    }
      +
      +    export type IColors = {
      +        [colorId: string]: string;
      +    };
      +
      +    export interface ITokenThemeRule {
      +        token: string;
      +        foreground?: string;
      +        background?: string;
      +        fontStyle?: string;
      +    }
      +
      +    /**
      +     * A web worker that can provide a proxy to an arbitrary file.
      +     */
      +    export interface MonacoWebWorker<T> {
      +        /**
      +         * Terminate the web worker, thus invalidating the returned proxy.
      +         */
      +        dispose(): void;
      +        /**
      +         * Get a proxy to the arbitrary loaded code.
      +         */
      +        getProxy(): Promise<T>;
      +        /**
      +         * Synchronize (send) the models at `resources` to the web worker,
      +         * making them available in the monaco.worker.getMirrorModels().
      +         */
      +        withSyncedResources(resources: Uri[]): Promise<T>;
      +    }
      +
      +    export interface IWebWorkerOptions {
      +        /**
      +         * The AMD moduleId to load.
      +         * It should export a function `create` that should return the exported proxy.
      +         */
      +        moduleId: string;
      +        /**
      +         * The data to send over when calling create on the module.
      +         */
      +        createData?: any;
      +        /**
      +         * A label to be used to identify the web worker for debugging purposes.
      +         */
      +        label?: string;
      +        /**
      +         * An object that can be used by the web worker to make calls back to the main thread.
      +         */
      +        host?: any;
      +        /**
      +         * Keep idle models.
      +         * Defaults to false, which means that idle models will stop syncing after a while.
      +         */
      +        keepIdleModels?: boolean;
      +    }
      +
      +    /**
      +     * Description of an action contribution
      +     */
      +    export interface IActionDescriptor {
      +        /**
      +         * An unique identifier of the contributed action.
      +         */
      +        id: string;
      +        /**
      +         * A label of the action that will be presented to the user.
      +         */
      +        label: string;
      +        /**
      +         * Precondition rule.
      +         */
      +        precondition?: string;
      +        /**
      +         * An array of keybindings for the action.
      +         */
      +        keybindings?: number[];
      +        /**
      +         * The keybinding rule (condition on top of precondition).
      +         */
      +        keybindingContext?: string;
      +        /**
      +         * Control if the action should show up in the context menu and where.
      +         * The context menu of the editor has these default:
      +         *   navigation - The navigation group comes first in all cases.
      +         *   1_modification - This group comes next and contains commands that modify your code.
      +         *   9_cutcopypaste - The last default group with the basic editing commands.
      +         * You can also create your own group.
      +         * Defaults to null (don't show in context menu).
      +         */
      +        contextMenuGroupId?: string;
      +        /**
      +         * Control the order in the context menu group.
      +         */
      +        contextMenuOrder?: number;
      +        /**
      +         * Method that will be executed when the action is triggered.
      +         * @param editor The editor instance is passed in as a convenience
      +         */
      +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
      +    }
      +
      +    /**
      +     * Options which apply for all editors.
      +     */
      +    export interface IGlobalEditorOptions {
      +        /**
      +         * The number of spaces a tab is equal to.
      +         * This setting is overridden based on the file contents when `detectIndentation` is on.
      +         * Defaults to 4.
      +         */
      +        tabSize?: number;
      +        /**
      +         * Insert spaces when pressing `Tab`.
      +         * This setting is overridden based on the file contents when `detectIndentation` is on.
      +         * Defaults to true.
      +         */
      +        insertSpaces?: boolean;
      +        /**
      +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
      +         * Defaults to true.
      +         */
      +        detectIndentation?: boolean;
      +        /**
      +         * Remove trailing auto inserted whitespace.
      +         * Defaults to true.
      +         */
      +        trimAutoWhitespace?: boolean;
      +        /**
      +         * Special handling for large files to disable certain memory intensive features.
      +         * Defaults to true.
      +         */
      +        largeFileOptimizations?: boolean;
      +        /**
      +         * Controls whether completions should be computed based on words in the document.
      +         * Defaults to true.
      +         */
      +        wordBasedSuggestions?: boolean;
      +        /**
      +         * Controls whether word based completions should be included from opened documents of the same language or any language.
      +         */
      +        wordBasedSuggestionsOnlySameLanguage?: boolean;
      +        /**
      +         * Controls whether the semanticHighlighting is shown for the languages that support it.
      +         * true: semanticHighlighting is enabled for all themes
      +         * false: semanticHighlighting is disabled for all themes
      +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
      +         * Defaults to 'byTheme'.
      +         */
      +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
      +        /**
      +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
      +         * Defaults to false.
      +         */
      +        stablePeek?: boolean;
      +        /**
      +         * Lines above this length will not be tokenized for performance reasons.
      +         * Defaults to 20000.
      +         */
      +        maxTokenizationLineLength?: number;
      +        /**
      +         * Theme to be used for rendering.
      +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
      +         * You can create custom themes via `monaco.editor.defineTheme`.
      +         * To switch a theme, use `monaco.editor.setTheme`.
      +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
      +         */
      +        theme?: string;
      +        /**
      +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
      +         * Defaults to true.
      +         */
      +        autoDetectHighContrast?: boolean;
      +    }
      +
      +    /**
      +     * The options to create an editor.
      +     */
      +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
      +        /**
      +         * The initial model associated with this code editor.
      +         */
      +        model?: ITextModel | null;
      +        /**
      +         * The initial value of the auto created model in the editor.
      +         * To not automatically create a model, use `model: null`.
      +         */
      +        value?: string;
      +        /**
      +         * The initial language of the auto created model in the editor.
      +         * To not automatically create a model, use `model: null`.
      +         */
      +        language?: string;
      +        /**
      +         * Initial theme to be used for rendering.
      +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
      +         * You can create custom themes via `monaco.editor.defineTheme`.
      +         * To switch a theme, use `monaco.editor.setTheme`.
      +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
      +         */
      +        theme?: string;
      +        /**
      +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
      +         * Defaults to true.
      +         */
      +        autoDetectHighContrast?: boolean;
      +        /**
      +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
      +         * the accessibility help dialog in the editor.
      +         *
      +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
      +         */
      +        accessibilityHelpUrl?: string;
      +        /**
      +         * Container element to use for ARIA messages.
      +         * Defaults to document.body.
      +         */
      +        ariaContainerElement?: HTMLElement;
      +    }
      +
      +    /**
      +     * The options to create a diff editor.
      +     */
      +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
      +        /**
      +         * Initial theme to be used for rendering.
      +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
      +         * You can create custom themes via `monaco.editor.defineTheme`.
      +         * To switch a theme, use `monaco.editor.setTheme`.
      +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
      +         */
      +        theme?: string;
      +        /**
      +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
      +         * Defaults to true.
      +         */
      +        autoDetectHighContrast?: boolean;
      +    }
      +
      +    export interface IStandaloneCodeEditor extends ICodeEditor {
      +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
      +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
      +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
      +        addAction(descriptor: IActionDescriptor): IDisposable;
      +    }
      +
      +    export interface IStandaloneDiffEditor extends IDiffEditor {
      +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
      +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
      +        addAction(descriptor: IActionDescriptor): IDisposable;
      +        getOriginalEditor(): IStandaloneCodeEditor;
      +        getModifiedEditor(): IStandaloneCodeEditor;
      +    }
      +    export interface ICommandHandler {
      +        (...args: any[]): void;
      +    }
      +
      +    export interface IContextKey<T> {
      +        set(value: T): void;
      +        reset(): void;
      +        get(): T | undefined;
      +    }
      +
      +    export interface IEditorOverrideServices {
      +        [index: string]: any;
      +    }
      +
      +    export interface IMarker {
      +        owner: string;
      +        resource: Uri;
      +        severity: MarkerSeverity;
      +        code?: string | {
      +            value: string;
      +            target: Uri;
      +        };
      +        message: string;
      +        source?: string;
      +        startLineNumber: number;
      +        startColumn: number;
      +        endLineNumber: number;
      +        endColumn: number;
      +        relatedInformation?: IRelatedInformation[];
      +        tags?: MarkerTag[];
      +    }
      +
      +    /**
      +     * A structure defining a problem/warning/etc.
      +     */
      +    export interface IMarkerData {
      +        code?: string | {
      +            value: string;
      +            target: Uri;
      +        };
      +        severity: MarkerSeverity;
      +        message: string;
      +        source?: string;
      +        startLineNumber: number;
      +        startColumn: number;
      +        endLineNumber: number;
      +        endColumn: number;
      +        relatedInformation?: IRelatedInformation[];
      +        tags?: MarkerTag[];
      +    }
      +
      +    /**
      +     *
      +     */
      +    export interface IRelatedInformation {
      +        resource: Uri;
      +        message: string;
      +        startLineNumber: number;
      +        startColumn: number;
      +        endLineNumber: number;
      +        endColumn: number;
      +    }
      +
      +    export interface IColorizerOptions {
      +        tabSize?: number;
      +    }
      +
      +    export interface IColorizerElementOptions extends IColorizerOptions {
      +        theme?: string;
      +        mimeType?: string;
      +    }
      +
      +    export enum ScrollbarVisibility {
      +        Auto = 1,
      +        Hidden = 2,
      +        Visible = 3
      +    }
      +
      +    export interface ThemeColor {
      +        id: string;
      +    }
      +
      +    /**
      +     * Vertical Lane in the overview ruler of the editor.
      +     */
      +    export enum OverviewRulerLane {
      +        Left = 1,
      +        Center = 2,
      +        Right = 4,
      +        Full = 7
      +    }
      +
      +    /**
      +     * Position in the minimap to render the decoration.
      +     */
      +    export enum MinimapPosition {
      +        Inline = 1,
      +        Gutter = 2
      +    }
      +
      +    export interface IDecorationOptions {
      +        /**
      +         * CSS color to render.
      +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
      +         */
      +        color: string | ThemeColor | undefined;
      +        /**
      +         * CSS color to render.
      +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
      +         */
      +        darkColor?: string | ThemeColor;
      +    }
      +
      +    /**
      +     * Options for rendering a model decoration in the overview ruler.
      +     */
      +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
      +        /**
      +         * The position in the overview ruler.
      +         */
      +        position: OverviewRulerLane;
      +    }
      +
      +    /**
      +     * Options for rendering a model decoration in the overview ruler.
      +     */
      +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
      +        /**
      +         * The position in the overview ruler.
      +         */
      +        position: MinimapPosition;
      +    }
      +
      +    /**
      +     * Options for a model decoration.
      +     */
      +    export interface IModelDecorationOptions {
      +        /**
      +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
      +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
      +         */
      +        stickiness?: TrackedRangeStickiness;
      +        /**
      +         * CSS class name describing the decoration.
      +         */
      +        className?: string | null;
      +        /**
      +         * Message to be rendered when hovering over the glyph margin decoration.
      +         */
      +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
      +        /**
      +         * Array of MarkdownString to render as the decoration message.
      +         */
      +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
      +        /**
      +         * Should the decoration expand to encompass a whole line.
      +         */
      +        isWholeLine?: boolean;
      +        /**
      +         * Specifies the stack order of a decoration.
      +         * A decoration with greater stack order is always in front of a decoration with
      +         * a lower stack order when the decorations are on the same line.
      +         */
      +        zIndex?: number;
      +        /**
      +         * If set, render this decoration in the overview ruler.
      +         */
      +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
      +        /**
      +         * If set, render this decoration in the minimap.
      +         */
      +        minimap?: IModelDecorationMinimapOptions | null;
      +        /**
      +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
      +         */
      +        glyphMarginClassName?: string | null;
      +        /**
      +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
      +         */
      +        linesDecorationsClassName?: string | null;
      +        /**
      +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
      +         */
      +        firstLineDecorationClassName?: string | null;
      +        /**
      +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
      +         */
      +        marginClassName?: string | null;
      +        /**
      +         * If set, the decoration will be rendered inline with the text with this CSS class name.
      +         * Please use this only for CSS rules that must impact the text. For example, use `className`
      +         * to have a background color decoration.
      +         */
      +        inlineClassName?: string | null;
      +        /**
      +         * If there is an `inlineClassName` which affects letter spacing.
      +         */
      +        inlineClassNameAffectsLetterSpacing?: boolean;
      +        /**
      +         * If set, the decoration will be rendered before the text with this CSS class name.
      +         */
      +        beforeContentClassName?: string | null;
      +        /**
      +         * If set, the decoration will be rendered after the text with this CSS class name.
      +         */
      +        afterContentClassName?: string | null;
      +        /**
      +         * If set, text will be injected in the view after the range.
      +         */
      +        after?: InjectedTextOptions | null;
      +        /**
      +         * If set, text will be injected in the view before the range.
      +         */
      +        before?: InjectedTextOptions | null;
      +    }
      +
      +    /**
      +     * Configures text that is injected into the view without changing the underlying document.
      +    */
      +    export interface InjectedTextOptions {
      +        /**
      +         * Sets the text to inject. Must be a single line.
      +         */
      +        readonly content: string;
      +        /**
      +         * If set, the decoration will be rendered inline with the text with this CSS class name.
      +         */
      +        readonly inlineClassName?: string | null;
      +        /**
      +         * If there is an `inlineClassName` which affects letter spacing.
      +         */
      +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
      +    }
      +
      +    /**
      +     * New model decorations.
      +     */
      +    export interface IModelDeltaDecoration {
      +        /**
      +         * Range that this decoration covers.
      +         */
      +        range: IRange;
      +        /**
      +         * Options associated with this decoration.
      +         */
      +        options: IModelDecorationOptions;
      +    }
      +
      +    /**
      +     * A decoration in the model.
      +     */
      +    export interface IModelDecoration {
      +        /**
      +         * Identifier for a decoration.
      +         */
      +        readonly id: string;
      +        /**
      +         * Identifier for a decoration's owner.
      +         */
      +        readonly ownerId: number;
      +        /**
      +         * Range that this decoration covers.
      +         */
      +        readonly range: Range;
      +        /**
      +         * Options associated with this decoration.
      +         */
      +        readonly options: IModelDecorationOptions;
      +    }
      +
      +    /**
      +     * Word inside a model.
      +     */
      +    export interface IWordAtPosition {
      +        /**
      +         * The word.
      +         */
      +        readonly word: string;
      +        /**
      +         * The column where the word starts.
      +         */
      +        readonly startColumn: number;
      +        /**
      +         * The column where the word ends.
      +         */
      +        readonly endColumn: number;
      +    }
      +
      +    /**
      +     * End of line character preference.
      +     */
      +    export enum EndOfLinePreference {
      +        /**
      +         * Use the end of line character identified in the text buffer.
      +         */
      +        TextDefined = 0,
      +        /**
      +         * Use line feed (\n) as the end of line character.
      +         */
      +        LF = 1,
      +        /**
      +         * Use carriage return and line feed (\r\n) as the end of line character.
      +         */
      +        CRLF = 2
      +    }
      +
      +    /**
      +     * The default end of line to use when instantiating models.
      +     */
      +    export enum DefaultEndOfLine {
      +        /**
      +         * Use line feed (\n) as the end of line character.
      +         */
      +        LF = 1,
      +        /**
      +         * Use carriage return and line feed (\r\n) as the end of line character.
      +         */
      +        CRLF = 2
      +    }
      +
      +    /**
      +     * End of line character preference.
      +     */
      +    export enum EndOfLineSequence {
      +        /**
      +         * Use line feed (\n) as the end of line character.
      +         */
      +        LF = 0,
      +        /**
      +         * Use carriage return and line feed (\r\n) as the end of line character.
      +         */
      +        CRLF = 1
      +    }
      +
      +    /**
      +     * A single edit operation, that acts as a simple replace.
      +     * i.e. Replace text at `range` with `text` in model.
      +     */
      +    export interface ISingleEditOperation {
      +        /**
      +         * The range to replace. This can be empty to emulate a simple insert.
      +         */
      +        range: IRange;
      +        /**
      +         * The text to replace with. This can be null to emulate a simple delete.
      +         */
      +        text: string | null;
      +        /**
      +         * This indicates that this operation has "insert" semantics.
      +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
      +         */
      +        forceMoveMarkers?: boolean;
      +    }
      +
      +    /**
      +     * A single edit operation, that has an identifier.
      +     */
      +    export interface IIdentifiedSingleEditOperation {
      +        /**
      +         * The range to replace. This can be empty to emulate a simple insert.
      +         */
      +        range: IRange;
      +        /**
      +         * The text to replace with. This can be null to emulate a simple delete.
      +         */
      +        text: string | null;
      +        /**
      +         * This indicates that this operation has "insert" semantics.
      +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
      +         */
      +        forceMoveMarkers?: boolean;
      +    }
      +
      +    export interface IValidEditOperation {
      +        /**
      +         * The range to replace. This can be empty to emulate a simple insert.
      +         */
      +        range: Range;
      +        /**
      +         * The text to replace with. This can be empty to emulate a simple delete.
      +         */
      +        text: string;
      +    }
      +
      +    /**
      +     * A callback that can compute the cursor state after applying a series of edit operations.
      +     */
      +    export interface ICursorStateComputer {
      +        /**
      +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
      +         */
      +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
      +    }
      +
      +    export class TextModelResolvedOptions {
      +        _textModelResolvedOptionsBrand: void;
      +        readonly tabSize: number;
      +        readonly indentSize: number;
      +        readonly insertSpaces: boolean;
      +        readonly defaultEOL: DefaultEndOfLine;
      +        readonly trimAutoWhitespace: boolean;
      +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
      +    }
      +
      +    export interface BracketPairColorizationOptions {
      +        enabled: boolean;
      +    }
      +
      +    export interface ITextModelUpdateOptions {
      +        tabSize?: number;
      +        indentSize?: number;
      +        insertSpaces?: boolean;
      +        trimAutoWhitespace?: boolean;
      +        bracketColorizationOptions?: BracketPairColorizationOptions;
      +    }
      +
      +    export class FindMatch {
      +        _findMatchBrand: void;
      +        readonly range: Range;
      +        readonly matches: string[] | null;
      +    }
      +
      +    /**
      +     * Describes the behavior of decorations when typing/editing near their edges.
      +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
      +     */
      +    export enum TrackedRangeStickiness {
      +        AlwaysGrowsWhenTypingAtEdges = 0,
      +        NeverGrowsWhenTypingAtEdges = 1,
      +        GrowsOnlyWhenTypingBefore = 2,
      +        GrowsOnlyWhenTypingAfter = 3
      +    }
      +
      +    /**
      +     * A model.
      +     */
      +    export interface ITextModel {
      +        /**
      +         * Gets the resource associated with this editor model.
      +         */
      +        readonly uri: Uri;
      +        /**
      +         * A unique identifier associated with this model.
      +         */
      +        readonly id: string;
      +        /**
      +         * Get the resolved options for this model.
      +         */
      +        getOptions(): TextModelResolvedOptions;
      +        /**
      +         * Get the current version id of the model.
      +         * Anytime a change happens to the model (even undo/redo),
      +         * the version id is incremented.
      +         */
      +        getVersionId(): number;
      +        /**
      +         * Get the alternative version id of the model.
      +         * This alternative version id is not always incremented,
      +         * it will return the same values in the case of undo-redo.
      +         */
      +        getAlternativeVersionId(): number;
      +        /**
      +         * Replace the entire text buffer value contained in this model.
      +         */
      +        setValue(newValue: string): void;
      +        /**
      +         * Get the text stored in this model.
      +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
      +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
      +         * @return The text.
      +         */
      +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
      +        /**
      +         * Get the length of the text stored in this model.
      +         */
      +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
      +        /**
      +         * Get the text in a certain range.
      +         * @param range The range describing what text to get.
      +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
      +         * @return The text.
      +         */
      +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
      +        /**
      +         * Get the length of text in a certain range.
      +         * @param range The range describing what text length to get.
      +         * @return The text length.
      +         */
      +        getValueLengthInRange(range: IRange): number;
      +        /**
      +         * Get the character count of text in a certain range.
      +         * @param range The range describing what text length to get.
      +         */
      +        getCharacterCountInRange(range: IRange): number;
      +        /**
      +         * Get the number of lines in the model.
      +         */
      +        getLineCount(): number;
      +        /**
      +         * Get the text for a certain line.
      +         */
      +        getLineContent(lineNumber: number): string;
      +        /**
      +         * Get the text length for a certain line.
      +         */
      +        getLineLength(lineNumber: number): number;
      +        /**
      +         * Get the text for all lines.
      +         */
      +        getLinesContent(): string[];
      +        /**
      +         * Get the end of line sequence predominantly used in the text buffer.
      +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
      +         */
      +        getEOL(): string;
      +        /**
      +         * Get the end of line sequence predominantly used in the text buffer.
      +         */
      +        getEndOfLineSequence(): EndOfLineSequence;
      +        /**
      +         * Get the minimum legal column for line at `lineNumber`
      +         */
      +        getLineMinColumn(lineNumber: number): number;
      +        /**
      +         * Get the maximum legal column for line at `lineNumber`
      +         */
      +        getLineMaxColumn(lineNumber: number): number;
      +        /**
      +         * Returns the column before the first non whitespace character for line at `lineNumber`.
      +         * Returns 0 if line is empty or contains only whitespace.
      +         */
      +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
      +        /**
      +         * Returns the column after the last non whitespace character for line at `lineNumber`.
      +         * Returns 0 if line is empty or contains only whitespace.
      +         */
      +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
      +        /**
      +         * Create a valid position.
      +         */
      +        validatePosition(position: IPosition): Position;
      +        /**
      +         * Advances the given position by the given offset (negative offsets are also accepted)
      +         * and returns it as a new valid position.
      +         *
      +         * If the offset and position are such that their combination goes beyond the beginning or
      +         * end of the model, throws an exception.
      +         *
      +         * If the offset is such that the new position would be in the middle of a multi-byte
      +         * line terminator, throws an exception.
      +         */
      +        modifyPosition(position: IPosition, offset: number): Position;
      +        /**
      +         * Create a valid range.
      +         */
      +        validateRange(range: IRange): Range;
      +        /**
      +         * Converts the position to a zero-based offset.
      +         *
      +         * The position will be [adjusted](#TextDocument.validatePosition).
      +         *
      +         * @param position A position.
      +         * @return A valid zero-based offset.
      +         */
      +        getOffsetAt(position: IPosition): number;
      +        /**
      +         * Converts a zero-based offset to a position.
      +         *
      +         * @param offset A zero-based offset.
      +         * @return A valid [position](#Position).
      +         */
      +        getPositionAt(offset: number): Position;
      +        /**
      +         * Get a range covering the entire model.
      +         */
      +        getFullModelRange(): Range;
      +        /**
      +         * Returns if the model was disposed or not.
      +         */
      +        isDisposed(): boolean;
      +        /**
      +         * Search the model.
      +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
      +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
      +         * @param isRegex Used to indicate that `searchString` is a regular expression.
      +         * @param matchCase Force the matching to match lower/upper case exactly.
      +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
      +         * @param captureMatches The result will contain the captured groups.
      +         * @param limitResultCount Limit the number of results
      +         * @return The ranges where the matches are. It is empty if not matches have been found.
      +         */
      +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
      +        /**
      +         * Search the model.
      +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
      +         * @param searchScope Limit the searching to only search inside these ranges.
      +         * @param isRegex Used to indicate that `searchString` is a regular expression.
      +         * @param matchCase Force the matching to match lower/upper case exactly.
      +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
      +         * @param captureMatches The result will contain the captured groups.
      +         * @param limitResultCount Limit the number of results
      +         * @return The ranges where the matches are. It is empty if no matches have been found.
      +         */
      +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
      +        /**
      +         * Search the model for the next match. Loops to the beginning of the model if needed.
      +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
      +         * @param searchStart Start the searching at the specified position.
      +         * @param isRegex Used to indicate that `searchString` is a regular expression.
      +         * @param matchCase Force the matching to match lower/upper case exactly.
      +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
      +         * @param captureMatches The result will contain the captured groups.
      +         * @return The range where the next match is. It is null if no next match has been found.
      +         */
      +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
      +        /**
      +         * Search the model for the previous match. Loops to the end of the model if needed.
      +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
      +         * @param searchStart Start the searching at the specified position.
      +         * @param isRegex Used to indicate that `searchString` is a regular expression.
      +         * @param matchCase Force the matching to match lower/upper case exactly.
      +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
      +         * @param captureMatches The result will contain the captured groups.
      +         * @return The range where the previous match is. It is null if no previous match has been found.
      +         */
      +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
      +        /**
      +         * Get the language associated with this model.
      +         */
      +        getLanguageId(): string;
      +        /**
      +         * Get the word under or besides `position`.
      +         * @param position The position to look for a word.
      +         * @return The word under or besides `position`. Might be null.
      +         */
      +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
      +        /**
      +         * Get the word under or besides `position` trimmed to `position`.column
      +         * @param position The position to look for a word.
      +         * @return The word under or besides `position`. Will never be null.
      +         */
      +        getWordUntilPosition(position: IPosition): IWordAtPosition;
      +        /**
      +         * Perform a minimum amount of operations, in order to transform the decorations
      +         * identified by `oldDecorations` to the decorations described by `newDecorations`
      +         * and returns the new identifiers associated with the resulting decorations.
      +         *
      +         * @param oldDecorations Array containing previous decorations identifiers.
      +         * @param newDecorations Array describing what decorations should result after the call.
      +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
      +         * @return An array containing the new decorations identifiers.
      +         */
      +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
      +        /**
      +         * Get the options associated with a decoration.
      +         * @param id The decoration id.
      +         * @return The decoration options or null if the decoration was not found.
      +         */
      +        getDecorationOptions(id: string): IModelDecorationOptions | null;
      +        /**
      +         * Get the range associated with a decoration.
      +         * @param id The decoration id.
      +         * @return The decoration range or null if the decoration was not found.
      +         */
      +        getDecorationRange(id: string): Range | null;
      +        /**
      +         * Gets all the decorations for the line `lineNumber` as an array.
      +         * @param lineNumber The line number
      +         * @param ownerId If set, it will ignore decorations belonging to other owners.
      +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
      +         * @return An array with the decorations
      +         */
      +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
      +        /**
      +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
      +         * @param startLineNumber The start line number
      +         * @param endLineNumber The end line number
      +         * @param ownerId If set, it will ignore decorations belonging to other owners.
      +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
      +         * @return An array with the decorations
      +         */
      +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
      +        /**
      +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
      +         * So for now it returns all the decorations on the same line as `range`.
      +         * @param range The range to search in
      +         * @param ownerId If set, it will ignore decorations belonging to other owners.
      +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
      +         * @return An array with the decorations
      +         */
      +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
      +        /**
      +         * Gets all the decorations as an array.
      +         * @param ownerId If set, it will ignore decorations belonging to other owners.
      +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
      +         */
      +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
      +        /**
      +         * Gets all the decorations that should be rendered in the overview ruler as an array.
      +         * @param ownerId If set, it will ignore decorations belonging to other owners.
      +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
      +         */
      +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
      +        /**
      +         * Gets all the decorations that contain injected text.
      +         * @param ownerId If set, it will ignore decorations belonging to other owners.
      +         */
      +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
      +        /**
      +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
      +         */
      +        normalizeIndentation(str: string): string;
      +        /**
      +         * Change the options of this model.
      +         */
      +        updateOptions(newOpts: ITextModelUpdateOptions): void;
      +        /**
      +         * Detect the indentation options for this model from its content.
      +         */
      +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
      +        /**
      +         * Close the current undo-redo element.
      +         * This offers a way to create an undo/redo stop point.
      +         */
      +        pushStackElement(): void;
      +        /**
      +         * Open the current undo-redo element.
      +         * This offers a way to remove the current undo/redo stop point.
      +         */
      +        popStackElement(): void;
      +        /**
      +         * Push edit operations, basically editing the model. This is the preferred way
      +         * of editing the model. The edit operations will land on the undo stack.
      +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
      +         * @param editOperations The edit operations.
      +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
      +         * @return The cursor state returned by the `cursorStateComputer`.
      +         */
      +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
      +        /**
      +         * Change the end of line sequence. This is the preferred way of
      +         * changing the eol sequence. This will land on the undo stack.
      +         */
      +        pushEOL(eol: EndOfLineSequence): void;
      +        /**
      +         * Edit the model without adding the edits to the undo stack.
      +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
      +         * @param operations The edit operations.
      +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
      +         */
      +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
      +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
      +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
      +        /**
      +         * Change the end of line sequence without recording in the undo stack.
      +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
      +         */
      +        setEOL(eol: EndOfLineSequence): void;
      +        /**
      +         * An event emitted when the contents of the model have changed.
      +         * @event
      +         */
      +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
      +        /**
      +         * An event emitted when decorations of the model have changed.
      +         * @event
      +         */
      +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
      +        /**
      +         * An event emitted when the model options have changed.
      +         * @event
      +         */
      +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
      +        /**
      +         * An event emitted when the language associated with the model has changed.
      +         * @event
      +         */
      +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
      +        /**
      +         * An event emitted when the language configuration associated with the model has changed.
      +         * @event
      +         */
      +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
      +        /**
      +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
      +         * @event
      +         */
      +        onDidChangeAttached(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted right before disposing the model.
      +         * @event
      +         */
      +        onWillDispose(listener: () => void): IDisposable;
      +        /**
      +         * Destroy this model.
      +         */
      +        dispose(): void;
      +        /**
      +         * Returns if this model is attached to an editor or not.
      +         */
      +        isAttachedToEditor(): boolean;
      +    }
      +
      +    /**
      +     * A builder and helper for edit operations for a command.
      +     */
      +    export interface IEditOperationBuilder {
      +        /**
      +         * Add a new edit operation (a replace operation).
      +         * @param range The range to replace (delete). May be empty to represent a simple insert.
      +         * @param text The text to replace with. May be null to represent a simple delete.
      +         */
      +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
      +        /**
      +         * Add a new edit operation (a replace operation).
      +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
      +         * @param range The range to replace (delete). May be empty to represent a simple insert.
      +         * @param text The text to replace with. May be null to represent a simple delete.
      +         */
      +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
      +        /**
      +         * Track `selection` when applying edit operations.
      +         * A best effort will be made to not grow/expand the selection.
      +         * An empty selection will clamp to a nearby character.
      +         * @param selection The selection to track.
      +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
      +         *           should clamp to the previous or the next character.
      +         * @return A unique identifier.
      +         */
      +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
      +    }
      +
      +    /**
      +     * A helper for computing cursor state after a command.
      +     */
      +    export interface ICursorStateComputerData {
      +        /**
      +         * Get the inverse edit operations of the added edit operations.
      +         */
      +        getInverseEditOperations(): IValidEditOperation[];
      +        /**
      +         * Get a previously tracked selection.
      +         * @param id The unique identifier returned by `trackSelection`.
      +         * @return The selection.
      +         */
      +        getTrackedSelection(id: string): Selection;
      +    }
      +
      +    /**
      +     * A command that modifies text / cursor state on a model.
      +     */
      +    export interface ICommand {
      +        /**
      +         * Get the edit operations needed to execute this command.
      +         * @param model The model the command will execute on.
      +         * @param builder A helper to collect the needed edit operations and to track selections.
      +         */
      +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
      +        /**
      +         * Compute the cursor state after the edit operations were applied.
      +         * @param model The model the command has executed on.
      +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
      +         * @return The cursor state after the command executed.
      +         */
      +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
      +    }
      +
      +    /**
      +     * A model for the diff editor.
      +     */
      +    export interface IDiffEditorModel {
      +        /**
      +         * Original model.
      +         */
      +        original: ITextModel;
      +        /**
      +         * Modified model.
      +         */
      +        modified: ITextModel;
      +    }
      +
      +    /**
      +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
      +     */
      +    export interface IModelChangedEvent {
      +        /**
      +         * The `uri` of the previous model or null.
      +         */
      +        readonly oldModelUrl: Uri | null;
      +        /**
      +         * The `uri` of the new model or null.
      +         */
      +        readonly newModelUrl: Uri | null;
      +    }
      +
      +    export interface IDimension {
      +        width: number;
      +        height: number;
      +    }
      +
      +    /**
      +     * A change
      +     */
      +    export interface IChange {
      +        readonly originalStartLineNumber: number;
      +        readonly originalEndLineNumber: number;
      +        readonly modifiedStartLineNumber: number;
      +        readonly modifiedEndLineNumber: number;
      +    }
      +
      +    /**
      +     * A character level change.
      +     */
      +    export interface ICharChange extends IChange {
      +        readonly originalStartColumn: number;
      +        readonly originalEndColumn: number;
      +        readonly modifiedStartColumn: number;
      +        readonly modifiedEndColumn: number;
      +    }
      +
      +    /**
      +     * A line change
      +     */
      +    export interface ILineChange extends IChange {
      +        readonly charChanges: ICharChange[] | undefined;
      +    }
      +
      +    export interface IContentSizeChangedEvent {
      +        readonly contentWidth: number;
      +        readonly contentHeight: number;
      +        readonly contentWidthChanged: boolean;
      +        readonly contentHeightChanged: boolean;
      +    }
      +
      +    export interface INewScrollPosition {
      +        scrollLeft?: number;
      +        scrollTop?: number;
      +    }
      +
      +    export interface IEditorAction {
      +        readonly id: string;
      +        readonly label: string;
      +        readonly alias: string;
      +        isSupported(): boolean;
      +        run(): Promise<void>;
      +    }
      +
      +    export type IEditorModel = ITextModel | IDiffEditorModel;
      +
      +    /**
      +     * A (serializable) state of the cursors.
      +     */
      +    export interface ICursorState {
      +        inSelectionMode: boolean;
      +        selectionStart: IPosition;
      +        position: IPosition;
      +    }
      +
      +    /**
      +     * A (serializable) state of the view.
      +     */
      +    export interface IViewState {
      +        /** written by previous versions */
      +        scrollTop?: number;
      +        /** written by previous versions */
      +        scrollTopWithoutViewZones?: number;
      +        scrollLeft: number;
      +        firstPosition: IPosition;
      +        firstPositionDeltaTop: number;
      +    }
      +
      +    /**
      +     * A (serializable) state of the code editor.
      +     */
      +    export interface ICodeEditorViewState {
      +        cursorState: ICursorState[];
      +        viewState: IViewState;
      +        contributionsState: {
      +            [id: string]: any;
      +        };
      +    }
      +
      +    /**
      +     * (Serializable) View state for the diff editor.
      +     */
      +    export interface IDiffEditorViewState {
      +        original: ICodeEditorViewState | null;
      +        modified: ICodeEditorViewState | null;
      +    }
      +
      +    /**
      +     * An editor view state.
      +     */
      +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
      +
      +    export enum ScrollType {
      +        Smooth = 0,
      +        Immediate = 1
      +    }
      +
      +    /**
      +     * An editor.
      +     */
      +    export interface IEditor {
      +        /**
      +         * An event emitted when the editor has been disposed.
      +         * @event
      +         */
      +        onDidDispose(listener: () => void): IDisposable;
      +        /**
      +         * Dispose the editor.
      +         */
      +        dispose(): void;
      +        /**
      +         * Get a unique id for this editor instance.
      +         */
      +        getId(): string;
      +        /**
      +         * Get the editor type. Please see `EditorType`.
      +         * This is to avoid an instanceof check
      +         */
      +        getEditorType(): string;
      +        /**
      +         * Update the editor's options after the editor has been created.
      +         */
      +        updateOptions(newOptions: IEditorOptions): void;
      +        /**
      +         * Instructs the editor to remeasure its container. This method should
      +         * be called when the container of the editor gets resized.
      +         *
      +         * If a dimension is passed in, the passed in value will be used.
      +         */
      +        layout(dimension?: IDimension): void;
      +        /**
      +         * Brings browser focus to the editor text
      +         */
      +        focus(): void;
      +        /**
      +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
      +         */
      +        hasTextFocus(): boolean;
      +        /**
      +         * Returns all actions associated with this editor.
      +         */
      +        getSupportedActions(): IEditorAction[];
      +        /**
      +         * Saves current view state of the editor in a serializable object.
      +         */
      +        saveViewState(): IEditorViewState | null;
      +        /**
      +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
      +         */
      +        restoreViewState(state: IEditorViewState): void;
      +        /**
      +         * Given a position, returns a column number that takes tab-widths into account.
      +         */
      +        getVisibleColumnFromPosition(position: IPosition): number;
      +        /**
      +         * Returns the primary position of the cursor.
      +         */
      +        getPosition(): Position | null;
      +        /**
      +         * Set the primary position of the cursor. This will remove any secondary cursors.
      +         * @param position New primary cursor's position
      +         */
      +        setPosition(position: IPosition): void;
      +        /**
      +         * Scroll vertically as necessary and reveal a line.
      +         */
      +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically as necessary and reveal a line centered vertically.
      +         */
      +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
      +         */
      +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
      +         * optimized for viewing a code definition.
      +         */
      +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a position.
      +         */
      +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
      +         */
      +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
      +         */
      +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
      +         * optimized for viewing a code definition.
      +         */
      +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
      +        /**
      +         * Returns the primary selection of the editor.
      +         */
      +        getSelection(): Selection | null;
      +        /**
      +         * Returns all the selections of the editor.
      +         */
      +        getSelections(): Selection[] | null;
      +        /**
      +         * Set the primary selection of the editor. This will remove any secondary cursors.
      +         * @param selection The new selection
      +         */
      +        setSelection(selection: IRange): void;
      +        /**
      +         * Set the primary selection of the editor. This will remove any secondary cursors.
      +         * @param selection The new selection
      +         */
      +        setSelection(selection: Range): void;
      +        /**
      +         * Set the primary selection of the editor. This will remove any secondary cursors.
      +         * @param selection The new selection
      +         */
      +        setSelection(selection: ISelection): void;
      +        /**
      +         * Set the primary selection of the editor. This will remove any secondary cursors.
      +         * @param selection The new selection
      +         */
      +        setSelection(selection: Selection): void;
      +        /**
      +         * Set the selections for all the cursors of the editor.
      +         * Cursors will be removed or added, as necessary.
      +         */
      +        setSelections(selections: readonly ISelection[]): void;
      +        /**
      +         * Scroll vertically as necessary and reveal lines.
      +         */
      +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically as necessary and reveal lines centered vertically.
      +         */
      +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
      +         */
      +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
      +         * optimized for viewing a code definition.
      +         */
      +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a range.
      +         */
      +        revealRange(range: IRange, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
      +         */
      +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
      +         */
      +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
      +         */
      +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
      +         * optimized for viewing a code definition.
      +         */
      +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
      +        /**
      +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
      +         * optimized for viewing a code definition. Only if it lies outside the viewport.
      +         */
      +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
      +        /**
      +         * Directly trigger a handler or an editor action.
      +         * @param source The source of the call.
      +         * @param handlerId The id of the handler or the id of a contribution.
      +         * @param payload Extra data to be sent to the handler.
      +         */
      +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
      +        /**
      +         * Gets the current model attached to this editor.
      +         */
      +        getModel(): IEditorModel | null;
      +        /**
      +         * Sets the current model attached to this editor.
      +         * If the previous model was created by the editor via the value key in the options
      +         * literal object, it will be destroyed. Otherwise, if the previous model was set
      +         * via setModel, or the model key in the options literal object, the previous model
      +         * will not be destroyed.
      +         * It is safe to call setModel(null) to simply detach the current model from the editor.
      +         */
      +        setModel(model: IEditorModel | null): void;
      +    }
      +
      +    /**
      +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
      +     */
      +    export interface IEditorContribution {
      +        /**
      +         * Dispose this contribution.
      +         */
      +        dispose(): void;
      +        /**
      +         * Store view state.
      +         */
      +        saveViewState?(): any;
      +        /**
      +         * Restore view state.
      +         */
      +        restoreViewState?(state: any): void;
      +    }
      +
      +    /**
      +     * The type of the `IEditor`.
      +     */
      +    export const EditorType: {
      +        ICodeEditor: string;
      +        IDiffEditor: string;
      +    };
      +
      +    /**
      +     * An event describing that the current language associated with a model has changed.
      +     */
      +    export interface IModelLanguageChangedEvent {
      +        /**
      +         * Previous language
      +         */
      +        readonly oldLanguage: string;
      +        /**
      +         * New language
      +         */
      +        readonly newLanguage: string;
      +    }
      +
      +    /**
      +     * An event describing that the language configuration associated with a model has changed.
      +     */
      +    export interface IModelLanguageConfigurationChangedEvent {
      +    }
      +
      +    export interface IModelContentChange {
      +        /**
      +         * The range that got replaced.
      +         */
      +        readonly range: IRange;
      +        /**
      +         * The offset of the range that got replaced.
      +         */
      +        readonly rangeOffset: number;
      +        /**
      +         * The length of the range that got replaced.
      +         */
      +        readonly rangeLength: number;
      +        /**
      +         * The new text for the range.
      +         */
      +        readonly text: string;
      +    }
      +
      +    /**
      +     * An event describing a change in the text of a model.
      +     */
      +    export interface IModelContentChangedEvent {
      +        readonly changes: IModelContentChange[];
      +        /**
      +         * The (new) end-of-line character.
      +         */
      +        readonly eol: string;
      +        /**
      +         * The new version id the model has transitioned to.
      +         */
      +        readonly versionId: number;
      +        /**
      +         * Flag that indicates that this event was generated while undoing.
      +         */
      +        readonly isUndoing: boolean;
      +        /**
      +         * Flag that indicates that this event was generated while redoing.
      +         */
      +        readonly isRedoing: boolean;
      +        /**
      +         * Flag that indicates that all decorations were lost with this edit.
      +         * The model has been reset to a new value.
      +         */
      +        readonly isFlush: boolean;
      +    }
      +
      +    /**
      +     * An event describing that model decorations have changed.
      +     */
      +    export interface IModelDecorationsChangedEvent {
      +        readonly affectsMinimap: boolean;
      +        readonly affectsOverviewRuler: boolean;
      +    }
      +
      +    export interface IModelOptionsChangedEvent {
      +        readonly tabSize: boolean;
      +        readonly indentSize: boolean;
      +        readonly insertSpaces: boolean;
      +        readonly trimAutoWhitespace: boolean;
      +    }
      +
      +    /**
      +     * Describes the reason the cursor has changed its position.
      +     */
      +    export enum CursorChangeReason {
      +        /**
      +         * Unknown or not set.
      +         */
      +        NotSet = 0,
      +        /**
      +         * A `model.setValue()` was called.
      +         */
      +        ContentFlush = 1,
      +        /**
      +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
      +         */
      +        RecoverFromMarkers = 2,
      +        /**
      +         * There was an explicit user gesture.
      +         */
      +        Explicit = 3,
      +        /**
      +         * There was a Paste.
      +         */
      +        Paste = 4,
      +        /**
      +         * There was an Undo.
      +         */
      +        Undo = 5,
      +        /**
      +         * There was a Redo.
      +         */
      +        Redo = 6
      +    }
      +
      +    /**
      +     * An event describing that the cursor position has changed.
      +     */
      +    export interface ICursorPositionChangedEvent {
      +        /**
      +         * Primary cursor's position.
      +         */
      +        readonly position: Position;
      +        /**
      +         * Secondary cursors' position.
      +         */
      +        readonly secondaryPositions: Position[];
      +        /**
      +         * Reason.
      +         */
      +        readonly reason: CursorChangeReason;
      +        /**
      +         * Source of the call that caused the event.
      +         */
      +        readonly source: string;
      +    }
      +
      +    /**
      +     * An event describing that the cursor selection has changed.
      +     */
      +    export interface ICursorSelectionChangedEvent {
      +        /**
      +         * The primary selection.
      +         */
      +        readonly selection: Selection;
      +        /**
      +         * The secondary selections.
      +         */
      +        readonly secondarySelections: Selection[];
      +        /**
      +         * The model version id.
      +         */
      +        readonly modelVersionId: number;
      +        /**
      +         * The old selections.
      +         */
      +        readonly oldSelections: Selection[] | null;
      +        /**
      +         * The model version id the that `oldSelections` refer to.
      +         */
      +        readonly oldModelVersionId: number;
      +        /**
      +         * Source of the call that caused the event.
      +         */
      +        readonly source: string;
      +        /**
      +         * Reason.
      +         */
      +        readonly reason: CursorChangeReason;
      +    }
      +
      +    export enum AccessibilitySupport {
      +        /**
      +         * This should be the browser case where it is not known if a screen reader is attached or no.
      +         */
      +        Unknown = 0,
      +        Disabled = 1,
      +        Enabled = 2
      +    }
      +
      +    /**
      +     * Configuration options for auto closing quotes and brackets
      +     */
      +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
      +
      +    /**
      +     * Configuration options for auto wrapping quotes and brackets
      +     */
      +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
      +
      +    /**
      +     * Configuration options for typing over closing quotes or brackets
      +     */
      +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
      +
      +    /**
      +     * Configuration options for auto indentation in the editor
      +     */
      +    export enum EditorAutoIndentStrategy {
      +        None = 0,
      +        Keep = 1,
      +        Brackets = 2,
      +        Advanced = 3,
      +        Full = 4
      +    }
      +
      +    /**
      +     * Configuration options for the editor.
      +     */
      +    export interface IEditorOptions {
      +        /**
      +         * This editor is used inside a diff editor.
      +         */
      +        inDiffEditor?: boolean;
      +        /**
      +         * The aria label for the editor's textarea (when it is focused).
      +         */
      +        ariaLabel?: string;
      +        /**
      +         * The `tabindex` property of the editor's textarea
      +         */
      +        tabIndex?: number;
      +        /**
      +         * Render vertical lines at the specified columns.
      +         * Defaults to empty array.
      +         */
      +        rulers?: (number | IRulerOption)[];
      +        /**
      +         * A string containing the word separators used when doing word navigation.
      +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
      +         */
      +        wordSeparators?: string;
      +        /**
      +         * Enable Linux primary clipboard.
      +         * Defaults to true.
      +         */
      +        selectionClipboard?: boolean;
      +        /**
      +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
      +         * Otherwise, line numbers will not be rendered.
      +         * Defaults to `on`.
      +         */
      +        lineNumbers?: LineNumbersType;
      +        /**
      +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
      +         * Defaults to 0.
      +        */
      +        cursorSurroundingLines?: number;
      +        /**
      +         * Controls when `cursorSurroundingLines` should be enforced
      +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
      +         * by mouse.
      +        */
      +        cursorSurroundingLinesStyle?: 'default' | 'all';
      +        /**
      +         * Render last line number when the file ends with a newline.
      +         * Defaults to true.
      +        */
      +        renderFinalNewline?: boolean;
      +        /**
      +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
      +         * Defaults to 'prompt'.
      +         */
      +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
      +        /**
      +         * Should the corresponding line be selected when clicking on the line number?
      +         * Defaults to true.
      +         */
      +        selectOnLineNumbers?: boolean;
      +        /**
      +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
      +         * Defaults to 5.
      +         */
      +        lineNumbersMinChars?: number;
      +        /**
      +         * Enable the rendering of the glyph margin.
      +         * Defaults to true in vscode and to false in monaco-editor.
      +         */
      +        glyphMargin?: boolean;
      +        /**
      +         * The width reserved for line decorations (in px).
      +         * Line decorations are placed between line numbers and the editor content.
      +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
      +         * Defaults to 10.
      +         */
      +        lineDecorationsWidth?: number | string;
      +        /**
      +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
      +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
      +         * Defaults to 30 (px).
      +         */
      +        revealHorizontalRightPadding?: number;
      +        /**
      +         * Render the editor selection with rounded borders.
      +         * Defaults to true.
      +         */
      +        roundedSelection?: boolean;
      +        /**
      +         * Class name to be added to the editor.
      +         */
      +        extraEditorClassName?: string;
      +        /**
      +         * Should the editor be read only. See also `domReadOnly`.
      +         * Defaults to false.
      +         */
      +        readOnly?: boolean;
      +        /**
      +         * Should the textarea used for input use the DOM `readonly` attribute.
      +         * Defaults to false.
      +         */
      +        domReadOnly?: boolean;
      +        /**
      +         * Enable linked editing.
      +         * Defaults to false.
      +         */
      +        linkedEditing?: boolean;
      +        /**
      +         * deprecated, use linkedEditing instead
      +         */
      +        renameOnType?: boolean;
      +        /**
      +         * Should the editor render validation decorations.
      +         * Defaults to editable.
      +         */
      +        renderValidationDecorations?: 'editable' | 'on' | 'off';
      +        /**
      +         * Control the behavior and rendering of the scrollbars.
      +         */
      +        scrollbar?: IEditorScrollbarOptions;
      +        /**
      +         * Control the behavior and rendering of the minimap.
      +         */
      +        minimap?: IEditorMinimapOptions;
      +        /**
      +         * Control the behavior of the find widget.
      +         */
      +        find?: IEditorFindOptions;
      +        /**
      +         * Display overflow widgets as `fixed`.
      +         * Defaults to `false`.
      +         */
      +        fixedOverflowWidgets?: boolean;
      +        /**
      +         * The number of vertical lanes the overview ruler should render.
      +         * Defaults to 3.
      +         */
      +        overviewRulerLanes?: number;
      +        /**
      +         * Controls if a border should be drawn around the overview ruler.
      +         * Defaults to `true`.
      +         */
      +        overviewRulerBorder?: boolean;
      +        /**
      +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
      +         * Defaults to 'blink'.
      +         */
      +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
      +        /**
      +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
      +         * Defaults to false.
      +         */
      +        mouseWheelZoom?: boolean;
      +        /**
      +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
      +         * Defaults to 'text'
      +         */
      +        mouseStyle?: 'text' | 'default' | 'copy';
      +        /**
      +         * Enable smooth caret animation.
      +         * Defaults to false.
      +         */
      +        cursorSmoothCaretAnimation?: boolean;
      +        /**
      +         * Control the cursor style, either 'block' or 'line'.
      +         * Defaults to 'line'.
      +         */
      +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
      +        /**
      +         * Control the width of the cursor when cursorStyle is set to 'line'
      +         */
      +        cursorWidth?: number;
      +        /**
      +         * Enable font ligatures.
      +         * Defaults to false.
      +         */
      +        fontLigatures?: boolean | string;
      +        /**
      +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
      +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
      +         * Defaults to false.
      +         */
      +        disableLayerHinting?: boolean;
      +        /**
      +         * Disable the optimizations for monospace fonts.
      +         * Defaults to false.
      +         */
      +        disableMonospaceOptimizations?: boolean;
      +        /**
      +         * Should the cursor be hidden in the overview ruler.
      +         * Defaults to false.
      +         */
      +        hideCursorInOverviewRuler?: boolean;
      +        /**
      +         * Enable that scrolling can go one screen size after the last line.
      +         * Defaults to true.
      +         */
      +        scrollBeyondLastLine?: boolean;
      +        /**
      +         * Enable that scrolling can go beyond the last column by a number of columns.
      +         * Defaults to 5.
      +         */
      +        scrollBeyondLastColumn?: number;
      +        /**
      +         * Enable that the editor animates scrolling to a position.
      +         * Defaults to false.
      +         */
      +        smoothScrolling?: boolean;
      +        /**
      +         * Enable that the editor will install an interval to check if its container dom node size has changed.
      +         * Enabling this might have a severe performance impact.
      +         * Defaults to false.
      +         */
      +        automaticLayout?: boolean;
      +        /**
      +         * Control the wrapping of the editor.
      +         * When `wordWrap` = "off", the lines will never wrap.
      +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
      +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
      +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
      +         * Defaults to "off".
      +         */
      +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
      +        /**
      +         * Override the `wordWrap` setting.
      +         */
      +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
      +        /**
      +         * Override the `wordWrapOverride1` setting.
      +         */
      +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
      +        /**
      +         * Control the wrapping of the editor.
      +         * When `wordWrap` = "off", the lines will never wrap.
      +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
      +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
      +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
      +         * Defaults to 80.
      +         */
      +        wordWrapColumn?: number;
      +        /**
      +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
      +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
      +         */
      +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
      +        /**
      +         * Controls the wrapping strategy to use.
      +         * Defaults to 'simple'.
      +         */
      +        wrappingStrategy?: 'simple' | 'advanced';
      +        /**
      +         * Configure word wrapping characters. A break will be introduced before these characters.
      +         */
      +        wordWrapBreakBeforeCharacters?: string;
      +        /**
      +         * Configure word wrapping characters. A break will be introduced after these characters.
      +         */
      +        wordWrapBreakAfterCharacters?: string;
      +        /**
      +         * Performance guard: Stop rendering a line after x characters.
      +         * Defaults to 10000.
      +         * Use -1 to never stop rendering
      +         */
      +        stopRenderingLineAfter?: number;
      +        /**
      +         * Configure the editor's hover.
      +         */
      +        hover?: IEditorHoverOptions;
      +        /**
      +         * Enable detecting links and making them clickable.
      +         * Defaults to true.
      +         */
      +        links?: boolean;
      +        /**
      +         * Enable inline color decorators and color picker rendering.
      +         */
      +        colorDecorators?: boolean;
      +        /**
      +         * Control the behaviour of comments in the editor.
      +         */
      +        comments?: IEditorCommentsOptions;
      +        /**
      +         * Enable custom contextmenu.
      +         * Defaults to true.
      +         */
      +        contextmenu?: boolean;
      +        /**
      +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
      +         * Defaults to 1.
      +         */
      +        mouseWheelScrollSensitivity?: number;
      +        /**
      +         * FastScrolling mulitplier speed when pressing `Alt`
      +         * Defaults to 5.
      +         */
      +        fastScrollSensitivity?: number;
      +        /**
      +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
      +         * Defaults to true.
      +         */
      +        scrollPredominantAxis?: boolean;
      +        /**
      +         * Enable that the selection with the mouse and keys is doing column selection.
      +         * Defaults to false.
      +         */
      +        columnSelection?: boolean;
      +        /**
      +         * The modifier to be used to add multiple cursors with the mouse.
      +         * Defaults to 'alt'
      +         */
      +        multiCursorModifier?: 'ctrlCmd' | 'alt';
      +        /**
      +         * Merge overlapping selections.
      +         * Defaults to true
      +         */
      +        multiCursorMergeOverlapping?: boolean;
      +        /**
      +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
      +         * Defaults to 'spread'.
      +         */
      +        multiCursorPaste?: 'spread' | 'full';
      +        /**
      +         * Configure the editor's accessibility support.
      +         * Defaults to 'auto'. It is best to leave this to 'auto'.
      +         */
      +        accessibilitySupport?: 'auto' | 'off' | 'on';
      +        /**
      +         * Controls the number of lines in the editor that can be read out by a screen reader
      +         */
      +        accessibilityPageSize?: number;
      +        /**
      +         * Suggest options.
      +         */
      +        suggest?: ISuggestOptions;
      +        inlineSuggest?: IInlineSuggestOptions;
      +        /**
      +         * Smart select options.
      +         */
      +        smartSelect?: ISmartSelectOptions;
      +        /**
      +         *
      +         */
      +        gotoLocation?: IGotoLocationOptions;
      +        /**
      +         * Enable quick suggestions (shadow suggestions)
      +         * Defaults to true.
      +         */
      +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
      +        /**
      +         * Quick suggestions show delay (in ms)
      +         * Defaults to 10 (ms)
      +         */
      +        quickSuggestionsDelay?: number;
      +        /**
      +         * Controls the spacing around the editor.
      +         */
      +        padding?: IEditorPaddingOptions;
      +        /**
      +         * Parameter hint options.
      +         */
      +        parameterHints?: IEditorParameterHintOptions;
      +        /**
      +         * Options for auto closing brackets.
      +         * Defaults to language defined behavior.
      +         */
      +        autoClosingBrackets?: EditorAutoClosingStrategy;
      +        /**
      +         * Options for auto closing quotes.
      +         * Defaults to language defined behavior.
      +         */
      +        autoClosingQuotes?: EditorAutoClosingStrategy;
      +        /**
      +         * Options for pressing backspace near quotes or bracket pairs.
      +         */
      +        autoClosingDelete?: EditorAutoClosingEditStrategy;
      +        /**
      +         * Options for typing over closing quotes or brackets.
      +         */
      +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
      +        /**
      +         * Options for auto surrounding.
      +         * Defaults to always allowing auto surrounding.
      +         */
      +        autoSurround?: EditorAutoSurroundStrategy;
      +        /**
      +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
      +         * Defaults to advanced.
      +         */
      +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
      +        /**
      +         * Emulate selection behaviour of tab characters when using spaces for indentation.
      +         * This means selection will stick to tab stops.
      +         */
      +        stickyTabStops?: boolean;
      +        /**
      +         * Enable format on type.
      +         * Defaults to false.
      +         */
      +        formatOnType?: boolean;
      +        /**
      +         * Enable format on paste.
      +         * Defaults to false.
      +         */
      +        formatOnPaste?: boolean;
      +        /**
      +         * Controls if the editor should allow to move selections via drag and drop.
      +         * Defaults to false.
      +         */
      +        dragAndDrop?: boolean;
      +        /**
      +         * Enable the suggestion box to pop-up on trigger characters.
      +         * Defaults to true.
      +         */
      +        suggestOnTriggerCharacters?: boolean;
      +        /**
      +         * Accept suggestions on ENTER.
      +         * Defaults to 'on'.
      +         */
      +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
      +        /**
      +         * Accept suggestions on provider defined characters.
      +         * Defaults to true.
      +         */
      +        acceptSuggestionOnCommitCharacter?: boolean;
      +        /**
      +         * Enable snippet suggestions. Default to 'true'.
      +         */
      +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
      +        /**
      +         * Copying without a selection copies the current line.
      +         */
      +        emptySelectionClipboard?: boolean;
      +        /**
      +         * Syntax highlighting is copied.
      +         */
      +        copyWithSyntaxHighlighting?: boolean;
      +        /**
      +         * The history mode for suggestions.
      +         */
      +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
      +        /**
      +         * The font size for the suggest widget.
      +         * Defaults to the editor font size.
      +         */
      +        suggestFontSize?: number;
      +        /**
      +         * The line height for the suggest widget.
      +         * Defaults to the editor line height.
      +         */
      +        suggestLineHeight?: number;
      +        /**
      +         * Enable tab completion.
      +         */
      +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
      +        /**
      +         * Enable selection highlight.
      +         * Defaults to true.
      +         */
      +        selectionHighlight?: boolean;
      +        /**
      +         * Enable semantic occurrences highlight.
      +         * Defaults to true.
      +         */
      +        occurrencesHighlight?: boolean;
      +        /**
      +         * Show code lens
      +         * Defaults to true.
      +         */
      +        codeLens?: boolean;
      +        /**
      +         * Code lens font family. Defaults to editor font family.
      +         */
      +        codeLensFontFamily?: string;
      +        /**
      +         * Code lens font size. Default to 90% of the editor font size
      +         */
      +        codeLensFontSize?: number;
      +        /**
      +         * Control the behavior and rendering of the code action lightbulb.
      +         */
      +        lightbulb?: IEditorLightbulbOptions;
      +        /**
      +         * Timeout for running code actions on save.
      +         */
      +        codeActionsOnSaveTimeout?: number;
      +        /**
      +         * Enable code folding.
      +         * Defaults to true.
      +         */
      +        folding?: boolean;
      +        /**
      +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
      +         * Defaults to 'auto'.
      +         */
      +        foldingStrategy?: 'auto' | 'indentation';
      +        /**
      +         * Enable highlight for folded regions.
      +         * 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'.
      +         */
      +        showFoldingControls?: 'always' | 'mouseover';
      +        /**
      +         * Controls whether clicking on the empty content after a folded line will unfold the line.
      +         * Defaults to false.
      +         */
      +        unfoldOnClickAfterEndOfLine?: boolean;
      +        /**
      +         * Enable highlighting of matching brackets.
      +         * Defaults to 'always'.
      +         */
      +        matchBrackets?: 'never' | 'near' | 'always';
      +        /**
      +         * Enable rendering of whitespace.
      +         * Defaults to 'selection'.
      +         */
      +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
      +        /**
      +         * Enable rendering of control characters.
      +         * Defaults to true.
      +         */
      +        renderControlCharacters?: boolean;
      +        /**
      +         * Enable rendering of current line highlight.
      +         * Defaults to all.
      +         */
      +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
      +        /**
      +         * Control if the current line highlight should be rendered only the editor is focused.
      +         * Defaults to false.
      +         */
      +        renderLineHighlightOnlyWhenFocus?: boolean;
      +        /**
      +         * Inserting and deleting whitespace follows tab stops.
      +         */
      +        useTabStops?: boolean;
      +        /**
      +         * The font family
      +         */
      +        fontFamily?: string;
      +        /**
      +         * The font weight
      +         */
      +        fontWeight?: string;
      +        /**
      +         * The font size
      +         */
      +        fontSize?: number;
      +        /**
      +         * The line height
      +         */
      +        lineHeight?: number;
      +        /**
      +         * The letter spacing
      +         */
      +        letterSpacing?: number;
      +        /**
      +         * Controls fading out of unused variables.
      +         */
      +        showUnused?: boolean;
      +        /**
      +         * Controls whether to focus the inline editor in the peek widget by default.
      +         * Defaults to false.
      +         */
      +        peekWidgetDefaultFocus?: 'tree' | 'editor';
      +        /**
      +         * Controls whether the definition link opens element in the peek widget.
      +         * Defaults to false.
      +         */
      +        definitionLinkOpensInPeek?: boolean;
      +        /**
      +         * Controls strikethrough deprecated variables.
      +         */
      +        showDeprecated?: boolean;
      +        /**
      +         * Control the behavior and rendering of the inline hints.
      +         */
      +        inlayHints?: IEditorInlayHintsOptions;
      +        /**
      +         * Control if the editor should use shadow DOM.
      +         */
      +        useShadowDOM?: boolean;
      +        /**
      +         * Controls the behavior of editor guides.
      +        */
      +        guides?: IGuidesOptions;
      +        unicodeHighlight?: IUnicodeHighlightOptions;
      +    }
      +
      +    export interface IDiffEditorBaseOptions {
      +        /**
      +         * Allow the user to resize the diff editor split view.
      +         * Defaults to true.
      +         */
      +        enableSplitViewResizing?: boolean;
      +        /**
      +         * Render the differences in two side-by-side editors.
      +         * Defaults to true.
      +         */
      +        renderSideBySide?: boolean;
      +        /**
      +         * Timeout in milliseconds after which diff computation is cancelled.
      +         * Defaults to 5000.
      +         */
      +        maxComputationTime?: number;
      +        /**
      +         * Maximum supported file size in MB.
      +         * Defaults to 50.
      +         */
      +        maxFileSize?: number;
      +        /**
      +         * Compute the diff by ignoring leading/trailing whitespace
      +         * Defaults to true.
      +         */
      +        ignoreTrimWhitespace?: boolean;
      +        /**
      +         * Render +/- indicators for added/deleted changes.
      +         * Defaults to true.
      +         */
      +        renderIndicators?: boolean;
      +        /**
      +         * Original model should be editable?
      +         * Defaults to false.
      +         */
      +        originalEditable?: boolean;
      +        /**
      +         * Should the diff editor enable code lens?
      +         * Defaults to false.
      +         */
      +        diffCodeLens?: boolean;
      +        /**
      +         * Is the diff editor should render overview ruler
      +         * Defaults to true
      +         */
      +        renderOverviewRuler?: boolean;
      +        /**
      +         * Control the wrapping of the diff editor.
      +         */
      +        diffWordWrap?: 'off' | 'on' | 'inherit';
      +    }
      +
      +    /**
      +     * Configuration options for the diff editor.
      +     */
      +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
      +    }
      +
      +    /**
      +     * An event describing that the configuration of the editor has changed.
      +     */
      +    export class ConfigurationChangedEvent {
      +        hasChanged(id: EditorOption): boolean;
      +    }
      +
      +    /**
      +     * All computed editor options.
      +     */
      +    export interface IComputedEditorOptions {
      +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
      +    }
      +
      +    export interface IEditorOption<K1 extends EditorOption, V> {
      +        readonly id: K1;
      +        readonly name: string;
      +        defaultValue: V;
      +        /**
      +         * Might modify `value`.
      +        */
      +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
      +    }
      +
      +    export class ApplyUpdateResult<T> {
      +        readonly newValue: T;
      +        readonly didChange: boolean;
      +        constructor(newValue: T, didChange: boolean);
      +    }
      +
      +    /**
      +     * Configuration options for editor comments
      +     */
      +    export interface IEditorCommentsOptions {
      +        /**
      +         * Insert a space after the line comment token and inside the block comments tokens.
      +         * Defaults to true.
      +         */
      +        insertSpace?: boolean;
      +        /**
      +         * Ignore empty lines when inserting line comments.
      +         * Defaults to true.
      +         */
      +        ignoreEmptyLines?: boolean;
      +    }
      +
      +    /**
      +     * The kind of animation in which the editor's cursor should be rendered.
      +     */
      +    export enum TextEditorCursorBlinkingStyle {
      +        /**
      +         * Hidden
      +         */
      +        Hidden = 0,
      +        /**
      +         * Blinking
      +         */
      +        Blink = 1,
      +        /**
      +         * Blinking with smooth fading
      +         */
      +        Smooth = 2,
      +        /**
      +         * Blinking with prolonged filled state and smooth fading
      +         */
      +        Phase = 3,
      +        /**
      +         * Expand collapse animation on the y axis
      +         */
      +        Expand = 4,
      +        /**
      +         * No-Blinking
      +         */
      +        Solid = 5
      +    }
      +
      +    /**
      +     * The style in which the editor's cursor should be rendered.
      +     */
      +    export enum TextEditorCursorStyle {
      +        /**
      +         * As a vertical line (sitting between two characters).
      +         */
      +        Line = 1,
      +        /**
      +         * As a block (sitting on top of a character).
      +         */
      +        Block = 2,
      +        /**
      +         * As a horizontal line (sitting under a character).
      +         */
      +        Underline = 3,
      +        /**
      +         * As a thin vertical line (sitting between two characters).
      +         */
      +        LineThin = 4,
      +        /**
      +         * As an outlined block (sitting on top of a character).
      +         */
      +        BlockOutline = 5,
      +        /**
      +         * As a thin horizontal line (sitting under a character).
      +         */
      +        UnderlineThin = 6
      +    }
      +
      +    /**
      +     * Configuration options for editor find widget
      +     */
      +    export interface IEditorFindOptions {
      +        /**
      +        * Controls whether the cursor should move to find matches while typing.
      +        */
      +        cursorMoveOnType?: boolean;
      +        /**
      +         * Controls if we seed search string in the Find Widget with editor selection.
      +         */
      +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
      +        /**
      +         * Controls if Find in Selection flag is turned on in the editor.
      +         */
      +        autoFindInSelection?: 'never' | 'always' | 'multiline';
      +        addExtraSpaceOnTop?: boolean;
      +        /**
      +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
      +         */
      +        loop?: boolean;
      +    }
      +
      +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
      +
      +    /**
      +     * Configuration options for go to location
      +     */
      +    export interface IGotoLocationOptions {
      +        multiple?: GoToLocationValues;
      +        multipleDefinitions?: GoToLocationValues;
      +        multipleTypeDefinitions?: GoToLocationValues;
      +        multipleDeclarations?: GoToLocationValues;
      +        multipleImplementations?: GoToLocationValues;
      +        multipleReferences?: GoToLocationValues;
      +        alternativeDefinitionCommand?: string;
      +        alternativeTypeDefinitionCommand?: string;
      +        alternativeDeclarationCommand?: string;
      +        alternativeImplementationCommand?: string;
      +        alternativeReferenceCommand?: string;
      +    }
      +
      +    /**
      +     * Configuration options for editor hover
      +     */
      +    export interface IEditorHoverOptions {
      +        /**
      +         * Enable the hover.
      +         * Defaults to true.
      +         */
      +        enabled?: boolean;
      +        /**
      +         * Delay for showing the hover.
      +         * Defaults to 300.
      +         */
      +        delay?: number;
      +        /**
      +         * Is the hover sticky such that it can be clicked and its contents selected?
      +         * Defaults to true.
      +         */
      +        sticky?: boolean;
      +        /**
      +         * Should the hover be shown above the line if possible?
      +         * Defaults to false.
      +         */
      +        above?: boolean;
      +    }
      +
      +    /**
      +     * A description for the overview ruler position.
      +     */
      +    export interface OverviewRulerPosition {
      +        /**
      +         * Width of the overview ruler
      +         */
      +        readonly width: number;
      +        /**
      +         * Height of the overview ruler
      +         */
      +        readonly height: number;
      +        /**
      +         * Top position for the overview ruler
      +         */
      +        readonly top: number;
      +        /**
      +         * Right position for the overview ruler
      +         */
      +        readonly right: number;
      +    }
      +
      +    export enum RenderMinimap {
      +        None = 0,
      +        Text = 1,
      +        Blocks = 2
      +    }
      +
      +    /**
      +     * The internal layout details of the editor.
      +     */
      +    export interface EditorLayoutInfo {
      +        /**
      +         * Full editor width.
      +         */
      +        readonly width: number;
      +        /**
      +         * Full editor height.
      +         */
      +        readonly height: number;
      +        /**
      +         * Left position for the glyph margin.
      +         */
      +        readonly glyphMarginLeft: number;
      +        /**
      +         * The width of the glyph margin.
      +         */
      +        readonly glyphMarginWidth: number;
      +        /**
      +         * Left position for the line numbers.
      +         */
      +        readonly lineNumbersLeft: number;
      +        /**
      +         * The width of the line numbers.
      +         */
      +        readonly lineNumbersWidth: number;
      +        /**
      +         * Left position for the line decorations.
      +         */
      +        readonly decorationsLeft: number;
      +        /**
      +         * The width of the line decorations.
      +         */
      +        readonly decorationsWidth: number;
      +        /**
      +         * Left position for the content (actual text)
      +         */
      +        readonly contentLeft: number;
      +        /**
      +         * The width of the content (actual text)
      +         */
      +        readonly contentWidth: number;
      +        /**
      +         * Layout information for the minimap
      +         */
      +        readonly minimap: EditorMinimapLayoutInfo;
      +        /**
      +         * The number of columns (of typical characters) fitting on a viewport line.
      +         */
      +        readonly viewportColumn: number;
      +        readonly isWordWrapMinified: boolean;
      +        readonly isViewportWrapping: boolean;
      +        readonly wrappingColumn: number;
      +        /**
      +         * The width of the vertical scrollbar.
      +         */
      +        readonly verticalScrollbarWidth: number;
      +        /**
      +         * The height of the horizontal scrollbar.
      +         */
      +        readonly horizontalScrollbarHeight: number;
      +        /**
      +         * The position of the overview ruler.
      +         */
      +        readonly overviewRuler: OverviewRulerPosition;
      +    }
      +
      +    /**
      +     * The internal layout details of the editor.
      +     */
      +    export interface EditorMinimapLayoutInfo {
      +        readonly renderMinimap: RenderMinimap;
      +        readonly minimapLeft: number;
      +        readonly minimapWidth: number;
      +        readonly minimapHeightIsEditorHeight: boolean;
      +        readonly minimapIsSampling: boolean;
      +        readonly minimapScale: number;
      +        readonly minimapLineHeight: number;
      +        readonly minimapCanvasInnerWidth: number;
      +        readonly minimapCanvasInnerHeight: number;
      +        readonly minimapCanvasOuterWidth: number;
      +        readonly minimapCanvasOuterHeight: number;
      +    }
      +
      +    /**
      +     * Configuration options for editor lightbulb
      +     */
      +    export interface IEditorLightbulbOptions {
      +        /**
      +         * Enable the lightbulb code action.
      +         * Defaults to true.
      +         */
      +        enabled?: boolean;
      +    }
      +
      +    /**
      +     * Configuration options for editor inlayHints
      +     */
      +    export interface IEditorInlayHintsOptions {
      +        /**
      +         * Enable the inline hints.
      +         * Defaults to true.
      +         */
      +        enabled?: boolean;
      +        /**
      +         * Font size of inline hints.
      +         * Default to 90% of the editor font size.
      +         */
      +        fontSize?: number;
      +        /**
      +         * Font family of inline hints.
      +         * Defaults to editor font family.
      +         */
      +        fontFamily?: string;
      +    }
      +
      +    /**
      +     * Configuration options for editor minimap
      +     */
      +    export interface IEditorMinimapOptions {
      +        /**
      +         * Enable the rendering of the minimap.
      +         * Defaults to true.
      +         */
      +        enabled?: boolean;
      +        /**
      +         * Control the side of the minimap in editor.
      +         * Defaults to 'right'.
      +         */
      +        side?: 'right' | 'left';
      +        /**
      +         * Control the minimap rendering mode.
      +         * Defaults to 'actual'.
      +         */
      +        size?: 'proportional' | 'fill' | 'fit';
      +        /**
      +         * Control the rendering of the minimap slider.
      +         * Defaults to 'mouseover'.
      +         */
      +        showSlider?: 'always' | 'mouseover';
      +        /**
      +         * Render the actual text on a line (as opposed to color blocks).
      +         * Defaults to true.
      +         */
      +        renderCharacters?: boolean;
      +        /**
      +         * Limit the width of the minimap to render at most a certain number of columns.
      +         * Defaults to 120.
      +         */
      +        maxColumn?: number;
      +        /**
      +         * Relative size of the font in the minimap. Defaults to 1.
      +         */
      +        scale?: number;
      +    }
      +
      +    /**
      +     * Configuration options for editor padding
      +     */
      +    export interface IEditorPaddingOptions {
      +        /**
      +         * Spacing between top edge of editor and first line.
      +         */
      +        top?: number;
      +        /**
      +         * Spacing between bottom edge of editor and last line.
      +         */
      +        bottom?: number;
      +    }
      +
      +    /**
      +     * Configuration options for parameter hints
      +     */
      +    export interface IEditorParameterHintOptions {
      +        /**
      +         * Enable parameter hints.
      +         * Defaults to true.
      +         */
      +        enabled?: boolean;
      +        /**
      +         * Enable cycling of parameter hints.
      +         * Defaults to false.
      +         */
      +        cycle?: boolean;
      +    }
      +
      +    /**
      +     * Configuration options for quick suggestions
      +     */
      +    export interface IQuickSuggestionsOptions {
      +        other?: boolean;
      +        comments?: boolean;
      +        strings?: boolean;
      +    }
      +
      +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
      +
      +    export enum RenderLineNumbersType {
      +        Off = 0,
      +        On = 1,
      +        Relative = 2,
      +        Interval = 3,
      +        Custom = 4
      +    }
      +
      +    export interface InternalEditorRenderLineNumbersOptions {
      +        readonly renderType: RenderLineNumbersType;
      +        readonly renderFn: ((lineNumber: number) => string) | null;
      +    }
      +
      +    export interface IRulerOption {
      +        readonly column: number;
      +        readonly color: string | null;
      +    }
      +
      +    /**
      +     * Configuration options for editor scrollbars
      +     */
      +    export interface IEditorScrollbarOptions {
      +        /**
      +         * The size of arrows (if displayed).
      +         * Defaults to 11.
      +         * **NOTE**: This option cannot be updated using `updateOptions()`
      +         */
      +        arrowSize?: number;
      +        /**
      +         * Render vertical scrollbar.
      +         * Defaults to 'auto'.
      +         */
      +        vertical?: 'auto' | 'visible' | 'hidden';
      +        /**
      +         * Render horizontal scrollbar.
      +         * Defaults to 'auto'.
      +         */
      +        horizontal?: 'auto' | 'visible' | 'hidden';
      +        /**
      +         * 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;
      +        /**
      +         * Listen to mouse wheel events and react to them by scrolling.
      +         * Defaults to true.
      +         */
      +        handleMouseWheel?: boolean;
      +        /**
      +         * 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;
      +        /**
      +         * Height in pixels for the horizontal scrollbar.
      +         * Defaults to 10 (px).
      +         */
      +        horizontalScrollbarSize?: number;
      +        /**
      +         * Width in pixels for the vertical scrollbar.
      +         * Defaults to 10 (px).
      +         */
      +        verticalScrollbarSize?: number;
      +        /**
      +         * 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;
      +        /**
      +         * Scroll gutter clicks move by page vs jump to position.
      +         * Defaults to false.
      +         */
      +        scrollByPage?: boolean;
      +    }
      +
      +    export interface InternalEditorScrollbarOptions {
      +        readonly arrowSize: number;
      +        readonly vertical: ScrollbarVisibility;
      +        readonly horizontal: ScrollbarVisibility;
      +        readonly useShadows: boolean;
      +        readonly verticalHasArrows: boolean;
      +        readonly horizontalHasArrows: boolean;
      +        readonly handleMouseWheel: boolean;
      +        readonly alwaysConsumeMouseWheel: boolean;
      +        readonly horizontalScrollbarSize: number;
      +        readonly horizontalSliderSize: number;
      +        readonly verticalScrollbarSize: number;
      +        readonly verticalSliderSize: number;
      +        readonly scrollByPage: boolean;
      +    }
      +
      +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
      +
      +    /**
      +     * Configuration options for unicode highlighting.
      +     */
      +    export interface IUnicodeHighlightOptions {
      +        nonBasicASCII?: boolean | InUntrustedWorkspace;
      +        invisibleCharacters?: boolean;
      +        ambiguousCharacters?: boolean;
      +        includeComments?: boolean | InUntrustedWorkspace;
      +        /**
      +         * A map of allowed characters (true: allowed).
      +        */
      +        allowedCharacters?: Record<string, true>;
      +    }
      +
      +    export interface IInlineSuggestOptions {
      +        /**
      +         * Enable or disable the rendering of automatic inline completions.
      +        */
      +        enabled?: boolean;
      +        /**
      +         * Configures the mode.
      +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
      +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
      +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
      +         * Defaults to `prefix`.
      +        */
      +        mode?: 'prefix' | 'subword' | 'subwordSmart';
      +    }
      +
      +    export interface IBracketPairColorizationOptions {
      +        /**
      +         * Enable or disable bracket pair colorization.
      +        */
      +        enabled?: boolean;
      +    }
      +
      +    export interface IGuidesOptions {
      +        /**
      +         * Enable rendering of bracket pair guides.
      +         * Defaults to false.
      +        */
      +        bracketPairs?: boolean | 'active';
      +        /**
      +         * Enable rendering of vertical bracket pair guides.
      +         * Defaults to 'active'.
      +         */
      +        bracketPairsHorizontal?: boolean | 'active';
      +        /**
      +         * Enable highlighting of the active bracket pair.
      +         * Defaults to true.
      +        */
      +        highlightActiveBracketPair?: boolean;
      +        /**
      +         * Enable rendering of indent guides.
      +         * Defaults to true.
      +         */
      +        indentation?: boolean;
      +        /**
      +         * Enable highlighting of the active indent guide.
      +         * Defaults to true.
      +         */
      +        highlightActiveIndentation?: boolean;
      +    }
      +
      +    /**
      +     * Configuration options for editor suggest widget
      +     */
      +    export interface ISuggestOptions {
      +        /**
      +         * Overwrite word ends on accept. Default to false.
      +         */
      +        insertMode?: 'insert' | 'replace';
      +        /**
      +         * Enable graceful matching. Defaults to true.
      +         */
      +        filterGraceful?: boolean;
      +        /**
      +         * Prevent quick suggestions when a snippet is active. Defaults to true.
      +         */
      +        snippetsPreventQuickSuggestions?: boolean;
      +        /**
      +         * Favors words that appear close to the cursor.
      +         */
      +        localityBonus?: boolean;
      +        /**
      +         * Enable using global storage for remembering suggestions.
      +         */
      +        shareSuggestSelections?: boolean;
      +        /**
      +         * Enable or disable icons in suggestions. Defaults to true.
      +         */
      +        showIcons?: boolean;
      +        /**
      +         * 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.
      +         */
      +        showInlineDetails?: boolean;
      +        /**
      +         * Show method-suggestions.
      +         */
      +        showMethods?: boolean;
      +        /**
      +         * Show function-suggestions.
      +         */
      +        showFunctions?: boolean;
      +        /**
      +         * Show constructor-suggestions.
      +         */
      +        showConstructors?: boolean;
      +        /**
      +         * Show deprecated-suggestions.
      +         */
      +        showDeprecated?: boolean;
      +        /**
      +         * Show field-suggestions.
      +         */
      +        showFields?: boolean;
      +        /**
      +         * Show variable-suggestions.
      +         */
      +        showVariables?: boolean;
      +        /**
      +         * Show class-suggestions.
      +         */
      +        showClasses?: boolean;
      +        /**
      +         * Show struct-suggestions.
      +         */
      +        showStructs?: boolean;
      +        /**
      +         * Show interface-suggestions.
      +         */
      +        showInterfaces?: boolean;
      +        /**
      +         * Show module-suggestions.
      +         */
      +        showModules?: boolean;
      +        /**
      +         * Show property-suggestions.
      +         */
      +        showProperties?: boolean;
      +        /**
      +         * Show event-suggestions.
      +         */
      +        showEvents?: boolean;
      +        /**
      +         * Show operator-suggestions.
      +         */
      +        showOperators?: boolean;
      +        /**
      +         * Show unit-suggestions.
      +         */
      +        showUnits?: boolean;
      +        /**
      +         * Show value-suggestions.
      +         */
      +        showValues?: boolean;
      +        /**
      +         * Show constant-suggestions.
      +         */
      +        showConstants?: boolean;
      +        /**
      +         * Show enum-suggestions.
      +         */
      +        showEnums?: boolean;
      +        /**
      +         * Show enumMember-suggestions.
      +         */
      +        showEnumMembers?: boolean;
      +        /**
      +         * Show keyword-suggestions.
      +         */
      +        showKeywords?: boolean;
      +        /**
      +         * Show text-suggestions.
      +         */
      +        showWords?: boolean;
      +        /**
      +         * Show color-suggestions.
      +         */
      +        showColors?: boolean;
      +        /**
      +         * Show file-suggestions.
      +         */
      +        showFiles?: boolean;
      +        /**
      +         * Show reference-suggestions.
      +         */
      +        showReferences?: boolean;
      +        /**
      +         * Show folder-suggestions.
      +         */
      +        showFolders?: boolean;
      +        /**
      +         * Show typeParameter-suggestions.
      +         */
      +        showTypeParameters?: boolean;
      +        /**
      +         * Show issue-suggestions.
      +         */
      +        showIssues?: boolean;
      +        /**
      +         * Show user-suggestions.
      +         */
      +        showUsers?: boolean;
      +        /**
      +         * Show snippet-suggestions.
      +         */
      +        showSnippets?: boolean;
      +    }
      +
      +    export interface ISmartSelectOptions {
      +        selectLeadingAndTrailingWhitespace?: boolean;
      +    }
      +
      +    /**
      +     * Describes how to indent wrapped lines.
      +     */
      +    export enum WrappingIndent {
      +        /**
      +         * No indentation => wrapped lines begin at column 1.
      +         */
      +        None = 0,
      +        /**
      +         * Same => wrapped lines get the same indentation as the parent.
      +         */
      +        Same = 1,
      +        /**
      +         * Indent => wrapped lines get +1 indentation toward the parent.
      +         */
      +        Indent = 2,
      +        /**
      +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
      +         */
      +        DeepIndent = 3
      +    }
      +
      +    export interface EditorWrappingInfo {
      +        readonly isDominatedByLongLines: boolean;
      +        readonly isWordWrapMinified: boolean;
      +        readonly isViewportWrapping: boolean;
      +        readonly wrappingColumn: number;
      +    }
      +
      +    export enum EditorOption {
      +        acceptSuggestionOnCommitCharacter = 0,
      +        acceptSuggestionOnEnter = 1,
      +        accessibilitySupport = 2,
      +        accessibilityPageSize = 3,
      +        ariaLabel = 4,
      +        autoClosingBrackets = 5,
      +        autoClosingDelete = 6,
      +        autoClosingOvertype = 7,
      +        autoClosingQuotes = 8,
      +        autoIndent = 9,
      +        automaticLayout = 10,
      +        autoSurround = 11,
      +        bracketPairColorization = 12,
      +        guides = 13,
      +        codeLens = 14,
      +        codeLensFontFamily = 15,
      +        codeLensFontSize = 16,
      +        colorDecorators = 17,
      +        columnSelection = 18,
      +        comments = 19,
      +        contextmenu = 20,
      +        copyWithSyntaxHighlighting = 21,
      +        cursorBlinking = 22,
      +        cursorSmoothCaretAnimation = 23,
      +        cursorStyle = 24,
      +        cursorSurroundingLines = 25,
      +        cursorSurroundingLinesStyle = 26,
      +        cursorWidth = 27,
      +        disableLayerHinting = 28,
      +        disableMonospaceOptimizations = 29,
      +        domReadOnly = 30,
      +        dragAndDrop = 31,
      +        emptySelectionClipboard = 32,
      +        extraEditorClassName = 33,
      +        fastScrollSensitivity = 34,
      +        find = 35,
      +        fixedOverflowWidgets = 36,
      +        folding = 37,
      +        foldingStrategy = 38,
      +        foldingHighlight = 39,
      +        foldingImportsByDefault = 40,
      +        unfoldOnClickAfterEndOfLine = 41,
      +        fontFamily = 42,
      +        fontInfo = 43,
      +        fontLigatures = 44,
      +        fontSize = 45,
      +        fontWeight = 46,
      +        formatOnPaste = 47,
      +        formatOnType = 48,
      +        glyphMargin = 49,
      +        gotoLocation = 50,
      +        hideCursorInOverviewRuler = 51,
      +        hover = 52,
      +        inDiffEditor = 53,
      +        inlineSuggest = 54,
      +        letterSpacing = 55,
      +        lightbulb = 56,
      +        lineDecorationsWidth = 57,
      +        lineHeight = 58,
      +        lineNumbers = 59,
      +        lineNumbersMinChars = 60,
      +        linkedEditing = 61,
      +        links = 62,
      +        matchBrackets = 63,
      +        minimap = 64,
      +        mouseStyle = 65,
      +        mouseWheelScrollSensitivity = 66,
      +        mouseWheelZoom = 67,
      +        multiCursorMergeOverlapping = 68,
      +        multiCursorModifier = 69,
      +        multiCursorPaste = 70,
      +        occurrencesHighlight = 71,
      +        overviewRulerBorder = 72,
      +        overviewRulerLanes = 73,
      +        padding = 74,
      +        parameterHints = 75,
      +        peekWidgetDefaultFocus = 76,
      +        definitionLinkOpensInPeek = 77,
      +        quickSuggestions = 78,
      +        quickSuggestionsDelay = 79,
      +        readOnly = 80,
      +        renameOnType = 81,
      +        renderControlCharacters = 82,
      +        renderFinalNewline = 83,
      +        renderLineHighlight = 84,
      +        renderLineHighlightOnlyWhenFocus = 85,
      +        renderValidationDecorations = 86,
      +        renderWhitespace = 87,
      +        revealHorizontalRightPadding = 88,
      +        roundedSelection = 89,
      +        rulers = 90,
      +        scrollbar = 91,
      +        scrollBeyondLastColumn = 92,
      +        scrollBeyondLastLine = 93,
      +        scrollPredominantAxis = 94,
      +        selectionClipboard = 95,
      +        selectionHighlight = 96,
      +        selectOnLineNumbers = 97,
      +        showFoldingControls = 98,
      +        showUnused = 99,
      +        snippetSuggestions = 100,
      +        smartSelect = 101,
      +        smoothScrolling = 102,
      +        stickyTabStops = 103,
      +        stopRenderingLineAfter = 104,
      +        suggest = 105,
      +        suggestFontSize = 106,
      +        suggestLineHeight = 107,
      +        suggestOnTriggerCharacters = 108,
      +        suggestSelection = 109,
      +        tabCompletion = 110,
      +        tabIndex = 111,
      +        unicodeHighlighting = 112,
      +        unusualLineTerminators = 113,
      +        useShadowDOM = 114,
      +        useTabStops = 115,
      +        wordSeparators = 116,
      +        wordWrap = 117,
      +        wordWrapBreakAfterCharacters = 118,
      +        wordWrapBreakBeforeCharacters = 119,
      +        wordWrapColumn = 120,
      +        wordWrapOverride1 = 121,
      +        wordWrapOverride2 = 122,
      +        wrappingIndent = 123,
      +        wrappingStrategy = 124,
      +        showDeprecated = 125,
      +        inlayHints = 126,
      +        editorClassName = 127,
      +        pixelRatio = 128,
      +        tabFocusMode = 129,
      +        layoutInfo = 130,
      +        wrappingInfo = 131
      +    }
      +
      +    export const EditorOptions: {
      +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
      +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
      +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
      +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
      +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
      +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
      +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
      +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
      +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
      +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
      +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
      +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
      +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
      +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
      +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
      +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
      +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
      +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
      +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
      +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
      +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
      +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
      +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
      +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
      +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
      +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
      +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
      +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
      +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
      +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
      +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
      +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
      +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
      +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
      +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
      +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
      +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
      +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
      +        folding: IEditorOption<EditorOption.folding, boolean>;
      +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
      +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
      +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
      +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
      +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
      +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
      +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
      +        fontSize: IEditorOption<EditorOption.fontSize, number>;
      +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
      +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
      +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
      +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
      +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
      +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
      +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
      +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
      +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
      +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
      +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
      +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
      +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
      +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
      +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
      +        links: IEditorOption<EditorOption.links, boolean>;
      +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
      +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
      +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
      +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
      +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
      +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
      +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
      +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
      +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
      +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
      +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
      +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
      +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
      +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
      +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
      +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
      +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
      +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
      +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
      +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
      +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
      +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
      +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
      +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
      +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
      +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
      +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
      +        rulers: IEditorOption<EditorOption.rulers, {}>;
      +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
      +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
      +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
      +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
      +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
      +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
      +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
      +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
      +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
      +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
      +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
      +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
      +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
      +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
      +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
      +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
      +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
      +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
      +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
      +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
      +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
      +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
      +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
      +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
      +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
      +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
      +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
      +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
      +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
      +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
      +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
      +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
      +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
      +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
      +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
      +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
      +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
      +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
      +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
      +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
      +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
      +    };
      +
      +    type EditorOptionsType = typeof EditorOptions;
      +
      +    type FindEditorOptionsKeyById<T extends EditorOption> = {
      +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
      +    }[keyof EditorOptionsType];
      +
      +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
      +
      +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
      +
      +    /**
      +     * A view zone is a full horizontal rectangle that 'pushes' text down.
      +     * The editor reserves space for view zones when rendering.
      +     */
      +    export interface IViewZone {
      +        /**
      +         * The line number after which this zone should appear.
      +         * Use 0 to place a view zone before the first line number.
      +         */
      +        afterLineNumber: number;
      +        /**
      +         * The column after which this zone should appear.
      +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
      +         */
      +        afterColumn?: number;
      +        /**
      +         * Suppress mouse down events.
      +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
      +         * Defaults to false
      +         */
      +        suppressMouseDown?: boolean;
      +        /**
      +         * The height in lines of the view zone.
      +         * If specified, `heightInPx` will be used instead of this.
      +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
      +         */
      +        heightInLines?: number;
      +        /**
      +         * The height in px of the view zone.
      +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
      +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
      +         */
      +        heightInPx?: number;
      +        /**
      +         * The minimum width in px of the view zone.
      +         * If this is set, the editor will ensure that the scroll width is >= than this value.
      +         */
      +        minWidthInPx?: number;
      +        /**
      +         * The dom node of the view zone
      +         */
      +        domNode: HTMLElement;
      +        /**
      +         * An optional dom node for the view zone that will be placed in the margin area.
      +         */
      +        marginDomNode?: HTMLElement | null;
      +        /**
      +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
      +         */
      +        onDomNodeTop?: (top: number) => void;
      +        /**
      +         * Callback which gives the height in pixels of the view zone.
      +         */
      +        onComputedHeight?: (height: number) => void;
      +    }
      +
      +    /**
      +     * An accessor that allows for zones to be added or removed.
      +     */
      +    export interface IViewZoneChangeAccessor {
      +        /**
      +         * Create a new view zone.
      +         * @param zone Zone to create
      +         * @return A unique identifier to the view zone.
      +         */
      +        addZone(zone: IViewZone): string;
      +        /**
      +         * Remove a zone
      +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
      +         */
      +        removeZone(id: string): void;
      +        /**
      +         * Change a zone's position.
      +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
      +         */
      +        layoutZone(id: string): void;
      +    }
      +
      +    /**
      +     * A positioning preference for rendering content widgets.
      +     */
      +    export enum ContentWidgetPositionPreference {
      +        /**
      +         * Place the content widget exactly at a position
      +         */
      +        EXACT = 0,
      +        /**
      +         * Place the content widget above a position
      +         */
      +        ABOVE = 1,
      +        /**
      +         * Place the content widget below a position
      +         */
      +        BELOW = 2
      +    }
      +
      +    /**
      +     * A position for rendering content widgets.
      +     */
      +    export interface IContentWidgetPosition {
      +        /**
      +         * Desired position for the content widget.
      +         * `preference` will also affect the placement.
      +         */
      +        position: IPosition | null;
      +        /**
      +         * Optionally, a range can be provided to further
      +         * define the position of the content widget.
      +         */
      +        range?: IRange | null;
      +        /**
      +         * Placement preference for position, in order of preference.
      +         */
      +        preference: ContentWidgetPositionPreference[];
      +    }
      +
      +    /**
      +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
      +     */
      +    export interface IContentWidget {
      +        /**
      +         * Render this content widget in a location where it could overflow the editor's view dom node.
      +         */
      +        allowEditorOverflow?: boolean;
      +        suppressMouseDown?: boolean;
      +        /**
      +         * Get a unique identifier of the content widget.
      +         */
      +        getId(): string;
      +        /**
      +         * Get the dom node of the content widget.
      +         */
      +        getDomNode(): HTMLElement;
      +        /**
      +         * Get the placement of the content widget.
      +         * If null is returned, the content widget will be placed off screen.
      +         */
      +        getPosition(): IContentWidgetPosition | null;
      +        /**
      +         * Optional function that is invoked before rendering
      +         * the content widget. If a dimension is returned the editor will
      +         * attempt to use it.
      +         */
      +        beforeRender?(): IDimension | null;
      +        /**
      +         * Optional function that is invoked after rendering the content
      +         * widget. Is being invoked with the selected position preference
      +         * or `null` if not rendered.
      +         */
      +        afterRender?(position: ContentWidgetPositionPreference | null): void;
      +    }
      +
      +    /**
      +     * A positioning preference for rendering overlay widgets.
      +     */
      +    export enum OverlayWidgetPositionPreference {
      +        /**
      +         * Position the overlay widget in the top right corner
      +         */
      +        TOP_RIGHT_CORNER = 0,
      +        /**
      +         * Position the overlay widget in the bottom right corner
      +         */
      +        BOTTOM_RIGHT_CORNER = 1,
      +        /**
      +         * Position the overlay widget in the top center
      +         */
      +        TOP_CENTER = 2
      +    }
      +
      +    /**
      +     * A position for rendering overlay widgets.
      +     */
      +    export interface IOverlayWidgetPosition {
      +        /**
      +         * The position preference for the overlay widget.
      +         */
      +        preference: OverlayWidgetPositionPreference | null;
      +    }
      +
      +    /**
      +     * An overlay widgets renders on top of the text.
      +     */
      +    export interface IOverlayWidget {
      +        /**
      +         * Get a unique identifier of the overlay widget.
      +         */
      +        getId(): string;
      +        /**
      +         * Get the dom node of the overlay widget.
      +         */
      +        getDomNode(): HTMLElement;
      +        /**
      +         * Get the placement of the overlay widget.
      +         * If null is returned, the overlay widget is responsible to place itself.
      +         */
      +        getPosition(): IOverlayWidgetPosition | null;
      +    }
      +
      +    /**
      +     * Type of hit element with the mouse in the editor.
      +     */
      +    export enum MouseTargetType {
      +        /**
      +         * Mouse is on top of an unknown element.
      +         */
      +        UNKNOWN = 0,
      +        /**
      +         * Mouse is on top of the textarea used for input.
      +         */
      +        TEXTAREA = 1,
      +        /**
      +         * Mouse is on top of the glyph margin
      +         */
      +        GUTTER_GLYPH_MARGIN = 2,
      +        /**
      +         * Mouse is on top of the line numbers
      +         */
      +        GUTTER_LINE_NUMBERS = 3,
      +        /**
      +         * Mouse is on top of the line decorations
      +         */
      +        GUTTER_LINE_DECORATIONS = 4,
      +        /**
      +         * Mouse is on top of the whitespace left in the gutter by a view zone.
      +         */
      +        GUTTER_VIEW_ZONE = 5,
      +        /**
      +         * Mouse is on top of text in the content.
      +         */
      +        CONTENT_TEXT = 6,
      +        /**
      +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
      +         */
      +        CONTENT_EMPTY = 7,
      +        /**
      +         * Mouse is on top of a view zone in the content.
      +         */
      +        CONTENT_VIEW_ZONE = 8,
      +        /**
      +         * Mouse is on top of a content widget.
      +         */
      +        CONTENT_WIDGET = 9,
      +        /**
      +         * Mouse is on top of the decorations overview ruler.
      +         */
      +        OVERVIEW_RULER = 10,
      +        /**
      +         * Mouse is on top of a scrollbar.
      +         */
      +        SCROLLBAR = 11,
      +        /**
      +         * Mouse is on top of an overlay widget.
      +         */
      +        OVERLAY_WIDGET = 12,
      +        /**
      +         * Mouse is outside of the editor.
      +         */
      +        OUTSIDE_EDITOR = 13
      +    }
      +
      +    /**
      +     * Target hit with the mouse in the editor.
      +     */
      +    export interface IMouseTarget {
      +        /**
      +         * The target element
      +         */
      +        readonly element: Element | null;
      +        /**
      +         * The target type
      +         */
      +        readonly type: MouseTargetType;
      +        /**
      +         * The 'approximate' editor position
      +         */
      +        readonly position: Position | null;
      +        /**
      +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
      +         */
      +        readonly mouseColumn: number;
      +        /**
      +         * The 'approximate' editor range
      +         */
      +        readonly range: Range | null;
      +        /**
      +         * Some extra detail.
      +         */
      +        readonly detail: any;
      +    }
      +
      +    /**
      +     * A mouse event originating from the editor.
      +     */
      +    export interface IEditorMouseEvent {
      +        readonly event: IMouseEvent;
      +        readonly target: IMouseTarget;
      +    }
      +
      +    export interface IPartialEditorMouseEvent {
      +        readonly event: IMouseEvent;
      +        readonly target: IMouseTarget | null;
      +    }
      +
      +    /**
      +     * A paste event originating from the editor.
      +     */
      +    export interface IPasteEvent {
      +        readonly range: Range;
      +        readonly languageId: string | null;
      +    }
      +
      +    export interface IEditorConstructionOptions extends IEditorOptions {
      +        /**
      +         * The initial editor dimension (to avoid measuring the container).
      +         */
      +        dimension?: IDimension;
      +        /**
      +         * Place overflow widgets inside an external DOM node.
      +         * Defaults to an internal DOM node.
      +         */
      +        overflowWidgetsDomNode?: HTMLElement;
      +    }
      +
      +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
      +        /**
      +         * The initial editor dimension (to avoid measuring the container).
      +         */
      +        dimension?: IDimension;
      +        /**
      +         * Place overflow widgets inside an external DOM node.
      +         * Defaults to an internal DOM node.
      +         */
      +        overflowWidgetsDomNode?: HTMLElement;
      +        /**
      +         * Aria label for original editor.
      +         */
      +        originalAriaLabel?: string;
      +        /**
      +         * Aria label for modified editor.
      +         */
      +        modifiedAriaLabel?: string;
      +        /**
      +         * Is the diff editor inside another editor
      +         * Defaults to false
      +         */
      +        isInEmbeddedEditor?: boolean;
      +    }
      +
      +    /**
      +     * A rich code editor.
      +     */
      +    export interface ICodeEditor extends IEditor {
      +        /**
      +         * An event emitted when the content of the current model has changed.
      +         * @event
      +         */
      +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
      +        /**
      +         * An event emitted when the language of the current model has changed.
      +         * @event
      +         */
      +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
      +        /**
      +         * An event emitted when the language configuration of the current model has changed.
      +         * @event
      +         */
      +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
      +        /**
      +         * An event emitted when the options of the current model has changed.
      +         * @event
      +         */
      +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
      +        /**
      +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
      +         * @event
      +         */
      +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
      +        /**
      +         * An event emitted when the cursor position has changed.
      +         * @event
      +         */
      +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
      +        /**
      +         * An event emitted when the cursor selection has changed.
      +         * @event
      +         */
      +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
      +        /**
      +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
      +         * @event
      +         */
      +        onDidChangeModel: IEvent<IModelChangedEvent>;
      +        /**
      +         * An event emitted when the decorations of the current model have changed.
      +         * @event
      +         */
      +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
      +        /**
      +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
      +         * @event
      +         */
      +        onDidFocusEditorText(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
      +         * @event
      +         */
      +        onDidBlurEditorText(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted when the text inside this editor or an editor widget gained focus.
      +         * @event
      +         */
      +        onDidFocusEditorWidget(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted when the text inside this editor or an editor widget lost focus.
      +         * @event
      +         */
      +        onDidBlurEditorWidget(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted after composition has started.
      +         */
      +        onDidCompositionStart(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted after composition has ended.
      +         */
      +        onDidCompositionEnd(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted when editing failed because the editor is read-only.
      +         * @event
      +         */
      +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
      +        /**
      +         * An event emitted when users paste text in the editor.
      +         * @event
      +         */
      +        onDidPaste: IEvent<IPasteEvent>;
      +        /**
      +         * An event emitted on a "mouseup".
      +         * @event
      +         */
      +        onMouseUp: IEvent<IEditorMouseEvent>;
      +        /**
      +         * An event emitted on a "mousedown".
      +         * @event
      +         */
      +        onMouseDown: IEvent<IEditorMouseEvent>;
      +        /**
      +         * An event emitted on a "contextmenu".
      +         * @event
      +         */
      +        onContextMenu: IEvent<IEditorMouseEvent>;
      +        /**
      +         * An event emitted on a "mousemove".
      +         * @event
      +         */
      +        onMouseMove: IEvent<IEditorMouseEvent>;
      +        /**
      +         * An event emitted on a "mouseleave".
      +         * @event
      +         */
      +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
      +        /**
      +         * An event emitted on a "keyup".
      +         * @event
      +         */
      +        onKeyUp: IEvent<IKeyboardEvent>;
      +        /**
      +         * An event emitted on a "keydown".
      +         * @event
      +         */
      +        onKeyDown: IEvent<IKeyboardEvent>;
      +        /**
      +         * An event emitted when the layout of the editor has changed.
      +         * @event
      +         */
      +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
      +        /**
      +         * An event emitted when the content width or content height in the editor has changed.
      +         * @event
      +         */
      +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
      +        /**
      +         * An event emitted when the scroll in the editor has changed.
      +         * @event
      +         */
      +        onDidScrollChange: IEvent<IScrollEvent>;
      +        /**
      +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
      +         * @event
      +         */
      +        onDidChangeHiddenAreas: IEvent<void>;
      +        /**
      +         * Saves current view state of the editor in a serializable object.
      +         */
      +        saveViewState(): ICodeEditorViewState | null;
      +        /**
      +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
      +         */
      +        restoreViewState(state: ICodeEditorViewState): void;
      +        /**
      +         * Returns true if the text inside this editor or an editor widget has focus.
      +         */
      +        hasWidgetFocus(): boolean;
      +        /**
      +         * Get a contribution of this editor.
      +         * @id Unique identifier of the contribution.
      +         * @return The contribution or null if contribution not found.
      +         */
      +        getContribution<T extends IEditorContribution>(id: string): T;
      +        /**
      +         * Type the getModel() of IEditor.
      +         */
      +        getModel(): ITextModel | null;
      +        /**
      +         * Sets the current model attached to this editor.
      +         * If the previous model was created by the editor via the value key in the options
      +         * literal object, it will be destroyed. Otherwise, if the previous model was set
      +         * via setModel, or the model key in the options literal object, the previous model
      +         * will not be destroyed.
      +         * It is safe to call setModel(null) to simply detach the current model from the editor.
      +         */
      +        setModel(model: ITextModel | null): void;
      +        /**
      +         * Gets all the editor computed options.
      +         */
      +        getOptions(): IComputedEditorOptions;
      +        /**
      +         * Gets a specific editor option.
      +         */
      +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
      +        /**
      +         * Returns the editor's configuration (without any validation or defaults).
      +         */
      +        getRawOptions(): IEditorOptions;
      +        /**
      +         * Get value of the current model attached to this editor.
      +         * @see {@link ITextModel.getValue}
      +         */
      +        getValue(options?: {
      +            preserveBOM: boolean;
      +            lineEnding: string;
      +        }): string;
      +        /**
      +         * Set the value of the current model attached to this editor.
      +         * @see {@link ITextModel.setValue}
      +         */
      +        setValue(newValue: string): void;
      +        /**
      +         * Get the width of the editor's content.
      +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
      +         */
      +        getContentWidth(): number;
      +        /**
      +         * Get the scrollWidth of the editor's viewport.
      +         */
      +        getScrollWidth(): number;
      +        /**
      +         * Get the scrollLeft of the editor's viewport.
      +         */
      +        getScrollLeft(): number;
      +        /**
      +         * Get the height of the editor's content.
      +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
      +         */
      +        getContentHeight(): number;
      +        /**
      +         * Get the scrollHeight of the editor's viewport.
      +         */
      +        getScrollHeight(): number;
      +        /**
      +         * Get the scrollTop of the editor's viewport.
      +         */
      +        getScrollTop(): number;
      +        /**
      +         * Change the scrollLeft of the editor's viewport.
      +         */
      +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
      +        /**
      +         * Change the scrollTop of the editor's viewport.
      +         */
      +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
      +        /**
      +         * Change the scroll position of the editor's viewport.
      +         */
      +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
      +        /**
      +         * Get an action that is a contribution to this editor.
      +         * @id Unique identifier of the contribution.
      +         * @return The action or null if action not found.
      +         */
      +        getAction(id: string): IEditorAction;
      +        /**
      +         * Execute a command on the editor.
      +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
      +         * @param source The source of the call.
      +         * @param command The command to execute
      +         */
      +        executeCommand(source: string | null | undefined, command: ICommand): void;
      +        /**
      +         * Create an "undo stop" in the undo-redo stack.
      +         */
      +        pushUndoStop(): boolean;
      +        /**
      +         * Remove the "undo stop" in the undo-redo stack.
      +         */
      +        popUndoStop(): boolean;
      +        /**
      +         * Execute edits on the editor.
      +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
      +         * @param source The source of the call.
      +         * @param edits The edits to execute.
      +         * @param endCursorState Cursor state after the edits were applied.
      +         */
      +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
      +        /**
      +         * Execute multiple (concomitant) commands on the editor.
      +         * @param source The source of the call.
      +         * @param command The commands to execute
      +         */
      +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
      +        /**
      +         * Get all the decorations on a line (filtering out decorations from other editors).
      +         */
      +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
      +        /**
      +         * All decorations added through this call will get the ownerId of this editor.
      +         * @see {@link ITextModel.deltaDecorations}
      +         */
      +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
      +        /**
      +         * Get the layout info for the editor.
      +         */
      +        getLayoutInfo(): EditorLayoutInfo;
      +        /**
      +         * Returns the ranges that are currently visible.
      +         * Does not account for horizontal scrolling.
      +         */
      +        getVisibleRanges(): Range[];
      +        /**
      +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
      +         */
      +        getTopForLineNumber(lineNumber: number): number;
      +        /**
      +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
      +         */
      +        getTopForPosition(lineNumber: number, column: number): number;
      +        /**
      +         * Returns the editor's container dom node
      +         */
      +        getContainerDomNode(): HTMLElement;
      +        /**
      +         * Returns the editor's dom node
      +         */
      +        getDomNode(): HTMLElement | null;
      +        /**
      +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
      +         */
      +        addContentWidget(widget: IContentWidget): void;
      +        /**
      +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
      +         * and update appropriately.
      +         */
      +        layoutContentWidget(widget: IContentWidget): void;
      +        /**
      +         * Remove a content widget.
      +         */
      +        removeContentWidget(widget: IContentWidget): void;
      +        /**
      +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
      +         */
      +        addOverlayWidget(widget: IOverlayWidget): void;
      +        /**
      +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
      +         * and update appropriately.
      +         */
      +        layoutOverlayWidget(widget: IOverlayWidget): void;
      +        /**
      +         * Remove an overlay widget.
      +         */
      +        removeOverlayWidget(widget: IOverlayWidget): void;
      +        /**
      +         * Change the view zones. View zones are lost when a new model is attached to the editor.
      +         */
      +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
      +        /**
      +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
      +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
      +         * Use this method with caution.
      +         */
      +        getOffsetForColumn(lineNumber: number, column: number): number;
      +        /**
      +         * Force an editor render now.
      +         */
      +        render(forceRedraw?: boolean): void;
      +        /**
      +         * Get the hit test target at coordinates `clientX` and `clientY`.
      +         * The coordinates are relative to the top-left of the viewport.
      +         *
      +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
      +         */
      +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
      +        /**
      +         * Get the visible position for `position`.
      +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
      +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
      +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
      +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
      +         */
      +        getScrolledVisiblePosition(position: IPosition): {
      +            top: number;
      +            left: number;
      +            height: number;
      +        } | null;
      +        /**
      +         * Apply the same font settings as the editor to `target`.
      +         */
      +        applyFontInfo(target: HTMLElement): void;
      +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
      +    }
      +
      +    /**
      +     * Information about a line in the diff editor
      +     */
      +    export interface IDiffLineInformation {
      +        readonly equivalentLineNumber: number;
      +    }
      +
      +    /**
      +     * A rich diff editor.
      +     */
      +    export interface IDiffEditor extends IEditor {
      +        /**
      +         * @see {@link ICodeEditor.getDomNode}
      +         */
      +        getDomNode(): HTMLElement;
      +        /**
      +         * An event emitted when the diff information computed by this diff editor has been updated.
      +         * @event
      +         */
      +        onDidUpdateDiff(listener: () => void): IDisposable;
      +        /**
      +         * Saves current view state of the editor in a serializable object.
      +         */
      +        saveViewState(): IDiffEditorViewState | null;
      +        /**
      +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
      +         */
      +        restoreViewState(state: IDiffEditorViewState): void;
      +        /**
      +         * Type the getModel() of IEditor.
      +         */
      +        getModel(): IDiffEditorModel | null;
      +        /**
      +         * Sets the current model attached to this editor.
      +         * If the previous model was created by the editor via the value key in the options
      +         * literal object, it will be destroyed. Otherwise, if the previous model was set
      +         * via setModel, or the model key in the options literal object, the previous model
      +         * will not be destroyed.
      +         * It is safe to call setModel(null) to simply detach the current model from the editor.
      +         */
      +        setModel(model: IDiffEditorModel | null): void;
      +        /**
      +         * Get the `original` editor.
      +         */
      +        getOriginalEditor(): ICodeEditor;
      +        /**
      +         * Get the `modified` editor.
      +         */
      +        getModifiedEditor(): ICodeEditor;
      +        /**
      +         * Get the computed diff information.
      +         */
      +        getLineChanges(): ILineChange[] | null;
      +        /**
      +         * Get information based on computed diff about a line number from the original model.
      +         * If the diff computation is not finished or the model is missing, will return null.
      +         */
      +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
      +        /**
      +         * Get information based on computed diff about a line number from the modified model.
      +         * If the diff computation is not finished or the model is missing, will return null.
      +         */
      +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
      +        /**
      +         * Update the editor's options after the editor has been created.
      +         */
      +        updateOptions(newOptions: IDiffEditorOptions): void;
      +    }
      +
      +    export class FontInfo extends BareFontInfo {
      +        readonly _editorStylingBrand: void;
      +        readonly version: number;
      +        readonly isTrusted: boolean;
      +        readonly isMonospace: boolean;
      +        readonly typicalHalfwidthCharacterWidth: number;
      +        readonly typicalFullwidthCharacterWidth: number;
      +        readonly canUseHalfwidthRightwardsArrow: boolean;
      +        readonly spaceWidth: number;
      +        readonly middotWidth: number;
      +        readonly wsmiddotWidth: number;
      +        readonly maxDigitWidth: number;
      +    }
      +
      +    export class BareFontInfo {
      +        readonly _bareFontInfoBrand: void;
      +        readonly zoomLevel: number;
      +        readonly pixelRatio: number;
      +        readonly fontFamily: string;
      +        readonly fontWeight: string;
      +        readonly fontSize: number;
      +        readonly fontFeatureSettings: string;
      +        readonly lineHeight: number;
      +        readonly letterSpacing: number;
      +    }
      +
      +    //compatibility:
      +    export type IReadOnlyModel = ITextModel;
      +    export type IModel = ITextModel;
      +}
      +
      +declare namespace monaco.languages {
      +
      +
      +    /**
      +     * Register information about a new language.
      +     */
      +    export function register(language: ILanguageExtensionPoint): void;
      +
      +    /**
      +     * Get the information of all the registered languages.
      +     */
      +    export function getLanguages(): ILanguageExtensionPoint[];
      +
      +    export function getEncodedLanguageId(languageId: string): number;
      +
      +    /**
      +     * An event emitted when a language is first time needed (e.g. a model has it set).
      +     * @event
      +     */
      +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
      +
      +    /**
      +     * Set the editing configuration for a language.
      +     */
      +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
      +
      +    /**
      +     * A token.
      +     */
      +    export interface IToken {
      +        startIndex: number;
      +        scopes: string;
      +    }
      +
      +    /**
      +     * The result of a line tokenization.
      +     */
      +    export interface ILineTokens {
      +        /**
      +         * The list of tokens on the line.
      +         */
      +        tokens: IToken[];
      +        /**
      +         * The tokenization end state.
      +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
      +         */
      +        endState: IState;
      +    }
      +
      +    /**
      +     * The result of a line tokenization.
      +     */
      +    export interface IEncodedLineTokens {
      +        /**
      +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
      +         *  - at offset 2*i => startIndex
      +         *  - at offset 2*i + 1 => metadata
      +         * Meta data is in binary format:
      +         * - -------------------------------------------
      +         *     3322 2222 2222 1111 1111 1100 0000 0000
      +         *     1098 7654 3210 9876 5432 1098 7654 3210
      +         * - -------------------------------------------
      +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
      +         * - -------------------------------------------
      +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
      +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
      +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
      +         *  - f = foreground ColorId (9 bits)
      +         *  - b = background ColorId (9 bits)
      +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
      +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
      +         * id = 1 is for the default foreground color, id = 2 for the default background.
      +         */
      +        tokens: Uint32Array;
      +        /**
      +         * The tokenization end state.
      +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
      +         */
      +        endState: IState;
      +    }
      +
      +    /**
      +     * A "manual" provider of tokens.
      +     */
      +    export interface TokensProvider {
      +        /**
      +         * The initial state of a language. Will be the state passed in to tokenize the first line.
      +         */
      +        getInitialState(): IState;
      +        /**
      +         * Tokenize a line given the state at the beginning of the line.
      +         */
      +        tokenize(line: string, state: IState): ILineTokens;
      +    }
      +
      +    /**
      +     * A "manual" provider of tokens, returning tokens in a binary form.
      +     */
      +    export interface EncodedTokensProvider {
      +        /**
      +         * The initial state of a language. Will be the state passed in to tokenize the first line.
      +         */
      +        getInitialState(): IState;
      +        /**
      +         * Tokenize a line given the state at the beginning of the line.
      +         */
      +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
      +        /**
      +         * Tokenize a line given the state at the beginning of the line.
      +         */
      +        tokenize?(line: string, state: IState): ILineTokens;
      +    }
      +
      +    /**
      +     * Change the color map that is used for token colors.
      +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
      +     */
      +    export function setColorMap(colorMap: string[] | null): void;
      +
      +    /**
      +     * Set the tokens provider for a language (manual implementation).
      +     */
      +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
      +
      +    /**
      +     * Set the tokens provider for a language (monarch implementation).
      +     */
      +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
      +
      +    /**
      +     * Register a reference provider (used by e.g. reference search).
      +     */
      +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
      +
      +    /**
      +     * Register a rename provider (used by e.g. rename symbol).
      +     */
      +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
      +
      +    /**
      +     * Register a signature help provider (used by e.g. parameter hints).
      +     */
      +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
      +
      +    /**
      +     * Register a hover provider (used by e.g. editor hover).
      +     */
      +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
      +
      +    /**
      +     * Register a document symbol provider (used by e.g. outline).
      +     */
      +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
      +
      +    /**
      +     * Register a document highlight provider (used by e.g. highlight occurrences).
      +     */
      +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
      +
      +    /**
      +     * Register an linked editing range provider.
      +     */
      +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
      +
      +    /**
      +     * Register a definition provider (used by e.g. go to definition).
      +     */
      +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
      +
      +    /**
      +     * Register a implementation provider (used by e.g. go to implementation).
      +     */
      +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
      +
      +    /**
      +     * Register a type definition provider (used by e.g. go to type definition).
      +     */
      +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
      +
      +    /**
      +     * Register a code lens provider (used by e.g. inline code lenses).
      +     */
      +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
      +
      +    /**
      +     * Register a code action provider (used by e.g. quick fix).
      +     */
      +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
      +
      +    /**
      +     * Register a formatter that can handle only entire models.
      +     */
      +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
      +
      +    /**
      +     * Register a formatter that can handle a range inside a model.
      +     */
      +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
      +
      +    /**
      +     * Register a formatter than can do formatting as the user types.
      +     */
      +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
      +
      +    /**
      +     * Register a link provider that can find links in text.
      +     */
      +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
      +
      +    /**
      +     * Register a completion item provider (use by e.g. suggestions).
      +     */
      +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
      +
      +    /**
      +     * Register a document color provider (used by Color Picker, Color Decorator).
      +     */
      +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
      +
      +    /**
      +     * Register a folding range provider
      +     */
      +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
      +
      +    /**
      +     * Register a declaration provider
      +     */
      +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
      +
      +    /**
      +     * Register a selection range provider
      +     */
      +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
      +
      +    /**
      +     * Register a document semantic tokens provider
      +     */
      +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
      +
      +    /**
      +     * Register a document range semantic tokens provider
      +     */
      +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
      +
      +    /**
      +     * Register an inline completions provider.
      +     */
      +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
      +
      +    /**
      +     * Register an inlay hints provider.
      +     */
      +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
      +
      +    /**
      +     * Contains additional diagnostic information about the context in which
      +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
      +     */
      +    export interface CodeActionContext {
      +        /**
      +         * An array of diagnostics.
      +         */
      +        readonly markers: editor.IMarkerData[];
      +        /**
      +         * Requested kind of actions to return.
      +         */
      +        readonly only?: string;
      +    }
      +
      +    /**
      +     * The code action interface defines the contract between extensions and
      +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
      +     */
      +    export interface CodeActionProvider {
      +        /**
      +         * Provide commands for the given document and range.
      +         */
      +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
      +        /**
      +         * Given a code action fill in the edit. Will only invoked when missing.
      +         */
      +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
      +    }
      +
      +    /**
      +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
      +     */
      +    export interface CodeActionProviderMetadata {
      +        /**
      +         * List of code action kinds that a {@link CodeActionProvider} may return.
      +         *
      +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
      +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
      +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
      +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
      +         */
      +        readonly providedCodeActionKinds?: readonly string[];
      +    }
      +
      +    /**
      +     * Describes how comments for a language work.
      +     */
      +    export interface CommentRule {
      +        /**
      +         * The line comment token, like `// this is a comment`
      +         */
      +        lineComment?: string | null;
      +        /**
      +         * The block comment character pair, like `/* block comment *&#47;`
      +         */
      +        blockComment?: CharacterPair | null;
      +    }
      +
      +    /**
      +     * The language configuration interface defines the contract between extensions and
      +     * various editor features, like automatic bracket insertion, automatic indentation etc.
      +     */
      +    export interface LanguageConfiguration {
      +        /**
      +         * The language's comment settings.
      +         */
      +        comments?: CommentRule;
      +        /**
      +         * The language's brackets.
      +         * This configuration implicitly affects pressing Enter around these brackets.
      +         */
      +        brackets?: CharacterPair[];
      +        /**
      +         * The language's word definition.
      +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
      +         * to provide a word definition that uses exclusion of known separators.
      +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
      +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
      +         */
      +        wordPattern?: RegExp;
      +        /**
      +         * The language's indentation settings.
      +         */
      +        indentationRules?: IndentationRule;
      +        /**
      +         * The language's rules to be evaluated when pressing Enter.
      +         */
      +        onEnterRules?: OnEnterRule[];
      +        /**
      +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
      +         * 'open' character is typed. If not set, the configured brackets will be used.
      +         */
      +        autoClosingPairs?: IAutoClosingPairConditional[];
      +        /**
      +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
      +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
      +         * settings will be used.
      +         */
      +        surroundingPairs?: IAutoClosingPair[];
      +        /**
      +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
      +         * If not set, the configured brackets will be used.
      +        */
      +        colorizedBracketPairs?: CharacterPair[];
      +        /**
      +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
      +         *
      +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
      +         */
      +        autoCloseBefore?: string;
      +        /**
      +         * The language's folding rules.
      +         */
      +        folding?: FoldingRules;
      +        /**
      +         * **Deprecated** Do not use.
      +         *
      +         * @deprecated Will be replaced by a better API soon.
      +         */
      +        __electricCharacterSupport?: {
      +            docComment?: IDocComment;
      +        };
      +    }
      +
      +    /**
      +     * Describes indentation rules for a language.
      +     */
      +    export interface IndentationRule {
      +        /**
      +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
      +         */
      +        decreaseIndentPattern: RegExp;
      +        /**
      +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
      +         */
      +        increaseIndentPattern: RegExp;
      +        /**
      +         * If a line matches this pattern, then **only the next line** after it should be indented once.
      +         */
      +        indentNextLinePattern?: RegExp | null;
      +        /**
      +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
      +         */
      +        unIndentedLinePattern?: RegExp | null;
      +    }
      +
      +    /**
      +     * Describes language specific folding markers such as '#region' and '#endregion'.
      +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
      +     * - the regex should start with '^'
      +     * - regexp flags (i, g) are ignored
      +     */
      +    export interface FoldingMarkers {
      +        start: RegExp;
      +        end: RegExp;
      +    }
      +
      +    /**
      +     * Describes folding rules for a language.
      +     */
      +    export interface FoldingRules {
      +        /**
      +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
      +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
      +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
      +         * If not set, `false` is used and empty lines belong to the previous block.
      +         */
      +        offSide?: boolean;
      +        /**
      +         * Region markers used by the language.
      +         */
      +        markers?: FoldingMarkers;
      +    }
      +
      +    /**
      +     * Describes a rule to be evaluated when pressing Enter.
      +     */
      +    export interface OnEnterRule {
      +        /**
      +         * This rule will only execute if the text before the cursor matches this regular expression.
      +         */
      +        beforeText: RegExp;
      +        /**
      +         * This rule will only execute if the text after the cursor matches this regular expression.
      +         */
      +        afterText?: RegExp;
      +        /**
      +         * This rule will only execute if the text above the this line matches this regular expression.
      +         */
      +        previousLineText?: RegExp;
      +        /**
      +         * The action to execute.
      +         */
      +        action: EnterAction;
      +    }
      +
      +    /**
      +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
      +     */
      +    export interface IDocComment {
      +        /**
      +         * The string that starts a doc comment (e.g. '/**')
      +         */
      +        open: string;
      +        /**
      +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
      +         */
      +        close?: string;
      +    }
      +
      +    /**
      +     * A tuple of two characters, like a pair of
      +     * opening and closing brackets.
      +     */
      +    export type CharacterPair = [string, string];
      +
      +    export interface IAutoClosingPair {
      +        open: string;
      +        close: string;
      +    }
      +
      +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
      +        notIn?: string[];
      +    }
      +
      +    /**
      +     * Describes what to do with the indentation when pressing Enter.
      +     */
      +    export enum IndentAction {
      +        /**
      +         * Insert new line and copy the previous line's indentation.
      +         */
      +        None = 0,
      +        /**
      +         * Insert new line and indent once (relative to the previous line's indentation).
      +         */
      +        Indent = 1,
      +        /**
      +         * Insert two new lines:
      +         *  - the first one indented which will hold the cursor
      +         *  - the second one at the same indentation level
      +         */
      +        IndentOutdent = 2,
      +        /**
      +         * Insert new line and outdent once (relative to the previous line's indentation).
      +         */
      +        Outdent = 3
      +    }
      +
      +    /**
      +     * Describes what to do when pressing Enter.
      +     */
      +    export interface EnterAction {
      +        /**
      +         * Describe what to do with the indentation.
      +         */
      +        indentAction: IndentAction;
      +        /**
      +         * Describes text to be appended after the new line and after the indentation.
      +         */
      +        appendText?: string;
      +        /**
      +         * Describes the number of characters to remove from the new line's indentation.
      +         */
      +        removeText?: number;
      +    }
      +
      +    /**
      +     * The state of the tokenizer between two lines.
      +     * It is useful to store flags such as in multiline comment, etc.
      +     * The model will clone the previous line's state and pass it in to tokenize the next line.
      +     */
      +    export interface IState {
      +        clone(): IState;
      +        equals(other: IState): boolean;
      +    }
      +
      +    /**
      +     * A provider result represents the values a provider, like the {@link HoverProvider},
      +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
      +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
      +     * thenable.
      +     */
      +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
      +
      +    /**
      +     * A hover represents additional information for a symbol or word. Hovers are
      +     * rendered in a tooltip-like widget.
      +     */
      +    export interface Hover {
      +        /**
      +         * The contents of this hover.
      +         */
      +        contents: IMarkdownString[];
      +        /**
      +         * The range to which this hover applies. When missing, the
      +         * editor will use the range at the current position or the
      +         * current position itself.
      +         */
      +        range?: IRange;
      +    }
      +
      +    /**
      +     * The hover provider interface defines the contract between extensions and
      +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
      +     */
      +    export interface HoverProvider {
      +        /**
      +         * Provide a hover for the given position and document. Multiple hovers at the same
      +         * position will be merged by the editor. A hover can have a range which defaults
      +         * to the word range at the position when omitted.
      +         */
      +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
      +    }
      +
      +    export enum CompletionItemKind {
      +        Method = 0,
      +        Function = 1,
      +        Constructor = 2,
      +        Field = 3,
      +        Variable = 4,
      +        Class = 5,
      +        Struct = 6,
      +        Interface = 7,
      +        Module = 8,
      +        Property = 9,
      +        Event = 10,
      +        Operator = 11,
      +        Unit = 12,
      +        Value = 13,
      +        Constant = 14,
      +        Enum = 15,
      +        EnumMember = 16,
      +        Keyword = 17,
      +        Text = 18,
      +        Color = 19,
      +        File = 20,
      +        Reference = 21,
      +        Customcolor = 22,
      +        Folder = 23,
      +        TypeParameter = 24,
      +        User = 25,
      +        Issue = 26,
      +        Snippet = 27
      +    }
      +
      +    export interface CompletionItemLabel {
      +        label: string;
      +        detail?: string;
      +        description?: string;
      +    }
      +
      +    export enum CompletionItemTag {
      +        Deprecated = 1
      +    }
      +
      +    export enum CompletionItemInsertTextRule {
      +        /**
      +         * Adjust whitespace/indentation of multiline insert texts to
      +         * match the current line indentation.
      +         */
      +        KeepWhitespace = 1,
      +        /**
      +         * `insertText` is a snippet.
      +         */
      +        InsertAsSnippet = 4
      +    }
      +
      +    export interface CompletionItemRanges {
      +        insert: IRange;
      +        replace: IRange;
      +    }
      +
      +    /**
      +     * A completion item represents a text snippet that is
      +     * proposed to complete text that is being typed.
      +     */
      +    export interface CompletionItem {
      +        /**
      +         * The label of this completion item. By default
      +         * this is also the text that is inserted when selecting
      +         * this completion.
      +         */
      +        label: string | CompletionItemLabel;
      +        /**
      +         * The kind of this completion item. Based on the kind
      +         * an icon is chosen by the editor.
      +         */
      +        kind: CompletionItemKind;
      +        /**
      +         * A modifier to the `kind` which affect how the item
      +         * is rendered, e.g. Deprecated is rendered with a strikeout
      +         */
      +        tags?: ReadonlyArray<CompletionItemTag>;
      +        /**
      +         * A human-readable string with additional information
      +         * about this item, like type or symbol information.
      +         */
      +        detail?: string;
      +        /**
      +         * A human-readable string that represents a doc-comment.
      +         */
      +        documentation?: string | IMarkdownString;
      +        /**
      +         * A string that should be used when comparing this item
      +         * with other items. When `falsy` the {@link CompletionItem.label label}
      +         * is used.
      +         */
      +        sortText?: string;
      +        /**
      +         * A string that should be used when filtering a set of
      +         * completion items. When `falsy` the {@link CompletionItem.label label}
      +         * is used.
      +         */
      +        filterText?: string;
      +        /**
      +         * Select this item when showing. *Note* that only one completion item can be selected and
      +         * that the editor decides which item that is. The rule is that the *first* item of those
      +         * that match best is selected.
      +         */
      +        preselect?: boolean;
      +        /**
      +         * A string or snippet that should be inserted in a document when selecting
      +         * this completion.
      +         */
      +        insertText: string;
      +        /**
      +         * Additional rules (as bitmask) that should be applied when inserting
      +         * this completion.
      +         */
      +        insertTextRules?: CompletionItemInsertTextRule;
      +        /**
      +         * A range of text that should be replaced by this completion item.
      +         *
      +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
      +         * current position.
      +         *
      +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
      +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
      +         */
      +        range: IRange | CompletionItemRanges;
      +        /**
      +         * An optional set of characters that when pressed while this completion is active will accept it first and
      +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
      +         * characters will be ignored.
      +         */
      +        commitCharacters?: string[];
      +        /**
      +         * An optional array of additional text edits that are applied when
      +         * selecting this completion. Edits must not overlap with the main edit
      +         * nor with themselves.
      +         */
      +        additionalTextEdits?: editor.ISingleEditOperation[];
      +        /**
      +         * A command that should be run upon acceptance of this item.
      +         */
      +        command?: Command;
      +    }
      +
      +    export interface CompletionList {
      +        suggestions: CompletionItem[];
      +        incomplete?: boolean;
      +        dispose?(): void;
      +    }
      +
      +    /**
      +     * How a suggest provider was triggered.
      +     */
      +    export enum CompletionTriggerKind {
      +        Invoke = 0,
      +        TriggerCharacter = 1,
      +        TriggerForIncompleteCompletions = 2
      +    }
      +
      +    /**
      +     * Contains additional information about the context in which
      +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
      +     */
      +    export interface CompletionContext {
      +        /**
      +         * How the completion was triggered.
      +         */
      +        triggerKind: CompletionTriggerKind;
      +        /**
      +         * Character that triggered the completion item provider.
      +         *
      +         * `undefined` if provider was not triggered by a character.
      +         */
      +        triggerCharacter?: string;
      +    }
      +
      +    /**
      +     * The completion item provider interface defines the contract between extensions and
      +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
      +     *
      +     * When computing *complete* completion items is expensive, providers can optionally implement
      +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
      +     * items with a {@link CompletionItem.label label} from the
      +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
      +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
      +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
      +     */
      +    export interface CompletionItemProvider {
      +        triggerCharacters?: string[];
      +        /**
      +         * Provide completion items for the given position and document.
      +         */
      +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
      +        /**
      +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
      +         * or {@link CompletionItem.detail details}.
      +         *
      +         * The editor will only resolve a completion item once.
      +         */
      +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
      +    }
      +
      +    /**
      +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
      +     */
      +    export enum InlineCompletionTriggerKind {
      +        /**
      +         * Completion was triggered automatically while editing.
      +         * It is sufficient to return a single completion item in this case.
      +         */
      +        Automatic = 0,
      +        /**
      +         * Completion was triggered explicitly by a user gesture.
      +         * Return multiple completion items to enable cycling through them.
      +         */
      +        Explicit = 1
      +    }
      +
      +    export interface InlineCompletionContext {
      +        /**
      +         * How the completion was triggered.
      +         */
      +        readonly triggerKind: InlineCompletionTriggerKind;
      +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
      +    }
      +
      +    export interface SelectedSuggestionInfo {
      +        range: IRange;
      +        text: string;
      +        isSnippetText: boolean;
      +        completionKind: CompletionItemKind;
      +    }
      +
      +    export interface InlineCompletion {
      +        /**
      +         * The text to insert.
      +         * If the text contains a line break, the range must end at the end of a line.
      +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
      +        */
      +        readonly text: string;
      +        /**
      +         * The range to replace.
      +         * Must begin and end on the same line.
      +        */
      +        readonly range?: IRange;
      +        readonly command?: Command;
      +    }
      +
      +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
      +        readonly items: readonly TItem[];
      +    }
      +
      +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
      +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
      +        /**
      +         * Will be called when an item is shown.
      +        */
      +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
      +        /**
      +         * Will be called when a completions list is no longer in use and can be garbage-collected.
      +        */
      +        freeInlineCompletions(completions: T): void;
      +    }
      +
      +    export interface CodeAction {
      +        title: string;
      +        command?: Command;
      +        edit?: WorkspaceEdit;
      +        diagnostics?: editor.IMarkerData[];
      +        kind?: string;
      +        isPreferred?: boolean;
      +        disabled?: string;
      +    }
      +
      +    export interface CodeActionList extends IDisposable {
      +        readonly actions: ReadonlyArray<CodeAction>;
      +    }
      +
      +    /**
      +     * Represents a parameter of a callable-signature. A parameter can
      +     * have a label and a doc-comment.
      +     */
      +    export interface ParameterInformation {
      +        /**
      +         * The label of this signature. Will be shown in
      +         * the UI.
      +         */
      +        label: string | [number, number];
      +        /**
      +         * The human-readable doc-comment of this signature. Will be shown
      +         * in the UI but can be omitted.
      +         */
      +        documentation?: string | IMarkdownString;
      +    }
      +
      +    /**
      +     * Represents the signature of something callable. A signature
      +     * can have a label, like a function-name, a doc-comment, and
      +     * a set of parameters.
      +     */
      +    export interface SignatureInformation {
      +        /**
      +         * The label of this signature. Will be shown in
      +         * the UI.
      +         */
      +        label: string;
      +        /**
      +         * The human-readable doc-comment of this signature. Will be shown
      +         * in the UI but can be omitted.
      +         */
      +        documentation?: string | IMarkdownString;
      +        /**
      +         * The parameters of this signature.
      +         */
      +        parameters: ParameterInformation[];
      +        /**
      +         * Index of the active parameter.
      +         *
      +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
      +         */
      +        activeParameter?: number;
      +    }
      +
      +    /**
      +     * Signature help represents the signature of something
      +     * callable. There can be multiple signatures but only one
      +     * active and only one active parameter.
      +     */
      +    export interface SignatureHelp {
      +        /**
      +         * One or more signatures.
      +         */
      +        signatures: SignatureInformation[];
      +        /**
      +         * The active signature.
      +         */
      +        activeSignature: number;
      +        /**
      +         * The active parameter of the active signature.
      +         */
      +        activeParameter: number;
      +    }
      +
      +    export interface SignatureHelpResult extends IDisposable {
      +        value: SignatureHelp;
      +    }
      +
      +    export enum SignatureHelpTriggerKind {
      +        Invoke = 1,
      +        TriggerCharacter = 2,
      +        ContentChange = 3
      +    }
      +
      +    export interface SignatureHelpContext {
      +        readonly triggerKind: SignatureHelpTriggerKind;
      +        readonly triggerCharacter?: string;
      +        readonly isRetrigger: boolean;
      +        readonly activeSignatureHelp?: SignatureHelp;
      +    }
      +
      +    /**
      +     * The signature help provider interface defines the contract between extensions and
      +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
      +     */
      +    export interface SignatureHelpProvider {
      +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
      +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
      +        /**
      +         * Provide help for the signature at the given position and document.
      +         */
      +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
      +    }
      +
      +    /**
      +     * A document highlight kind.
      +     */
      +    export enum DocumentHighlightKind {
      +        /**
      +         * A textual occurrence.
      +         */
      +        Text = 0,
      +        /**
      +         * Read-access of a symbol, like reading a variable.
      +         */
      +        Read = 1,
      +        /**
      +         * Write-access of a symbol, like writing to a variable.
      +         */
      +        Write = 2
      +    }
      +
      +    /**
      +     * A document highlight is a range inside a text document which deserves
      +     * special attention. Usually a document highlight is visualized by changing
      +     * the background color of its range.
      +     */
      +    export interface DocumentHighlight {
      +        /**
      +         * The range this highlight applies to.
      +         */
      +        range: IRange;
      +        /**
      +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
      +         */
      +        kind?: DocumentHighlightKind;
      +    }
      +
      +    /**
      +     * The document highlight provider interface defines the contract between extensions and
      +     * the word-highlight-feature.
      +     */
      +    export interface DocumentHighlightProvider {
      +        /**
      +         * Provide a set of document highlights, like all occurrences of a variable or
      +         * all exit-points of a function.
      +         */
      +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
      +    }
      +
      +    /**
      +     * The linked editing range provider interface defines the contract between extensions and
      +     * the linked editing feature.
      +     */
      +    export interface LinkedEditingRangeProvider {
      +        /**
      +         * Provide a list of ranges that can be edited together.
      +         */
      +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
      +    }
      +
      +    /**
      +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
      +     */
      +    export interface LinkedEditingRanges {
      +        /**
      +         * A list of ranges that can be edited together. The ranges must have
      +         * identical length and text content. The ranges cannot overlap
      +         */
      +        ranges: IRange[];
      +        /**
      +         * An optional word pattern that describes valid contents for the given ranges.
      +         * If no pattern is provided, the language configuration's word pattern will be used.
      +         */
      +        wordPattern?: RegExp;
      +    }
      +
      +    /**
      +     * Value-object that contains additional information when
      +     * requesting references.
      +     */
      +    export interface ReferenceContext {
      +        /**
      +         * Include the declaration of the current symbol.
      +         */
      +        includeDeclaration: boolean;
      +    }
      +
      +    /**
      +     * The reference provider interface defines the contract between extensions and
      +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
      +     */
      +    export interface ReferenceProvider {
      +        /**
      +         * Provide a set of project-wide references for the given position and document.
      +         */
      +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
      +    }
      +
      +    /**
      +     * Represents a location inside a resource, such as a line
      +     * inside a text file.
      +     */
      +    export interface Location {
      +        /**
      +         * The resource identifier of this location.
      +         */
      +        uri: Uri;
      +        /**
      +         * The document range of this locations.
      +         */
      +        range: IRange;
      +    }
      +
      +    export interface LocationLink {
      +        /**
      +         * A range to select where this link originates from.
      +         */
      +        originSelectionRange?: IRange;
      +        /**
      +         * The target uri this link points to.
      +         */
      +        uri: Uri;
      +        /**
      +         * The full range this link points to.
      +         */
      +        range: IRange;
      +        /**
      +         * A range to select this link points to. Must be contained
      +         * in `LocationLink.range`.
      +         */
      +        targetSelectionRange?: IRange;
      +    }
      +
      +    export type Definition = Location | Location[] | LocationLink[];
      +
      +    /**
      +     * The definition provider interface defines the contract between extensions and
      +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
      +     * and peek definition features.
      +     */
      +    export interface DefinitionProvider {
      +        /**
      +         * Provide the definition of the symbol at the given position and document.
      +         */
      +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
      +    }
      +
      +    /**
      +     * The definition provider interface defines the contract between extensions and
      +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
      +     * and peek definition features.
      +     */
      +    export interface DeclarationProvider {
      +        /**
      +         * Provide the declaration of the symbol at the given position and document.
      +         */
      +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
      +    }
      +
      +    /**
      +     * The implementation provider interface defines the contract between extensions and
      +     * the go to implementation feature.
      +     */
      +    export interface ImplementationProvider {
      +        /**
      +         * Provide the implementation of the symbol at the given position and document.
      +         */
      +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
      +    }
      +
      +    /**
      +     * The type definition provider interface defines the contract between extensions and
      +     * the go to type definition feature.
      +     */
      +    export interface TypeDefinitionProvider {
      +        /**
      +         * Provide the type definition of the symbol at the given position and document.
      +         */
      +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
      +    }
      +
      +    /**
      +     * A symbol kind.
      +     */
      +    export enum SymbolKind {
      +        File = 0,
      +        Module = 1,
      +        Namespace = 2,
      +        Package = 3,
      +        Class = 4,
      +        Method = 5,
      +        Property = 6,
      +        Field = 7,
      +        Constructor = 8,
      +        Enum = 9,
      +        Interface = 10,
      +        Function = 11,
      +        Variable = 12,
      +        Constant = 13,
      +        String = 14,
      +        Number = 15,
      +        Boolean = 16,
      +        Array = 17,
      +        Object = 18,
      +        Key = 19,
      +        Null = 20,
      +        EnumMember = 21,
      +        Struct = 22,
      +        Event = 23,
      +        Operator = 24,
      +        TypeParameter = 25
      +    }
      +
      +    export enum SymbolTag {
      +        Deprecated = 1
      +    }
      +
      +    export interface DocumentSymbol {
      +        name: string;
      +        detail: string;
      +        kind: SymbolKind;
      +        tags: ReadonlyArray<SymbolTag>;
      +        containerName?: string;
      +        range: IRange;
      +        selectionRange: IRange;
      +        children?: DocumentSymbol[];
      +    }
      +
      +    /**
      +     * The document symbol provider interface defines the contract between extensions and
      +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
      +     */
      +    export interface DocumentSymbolProvider {
      +        displayName?: string;
      +        /**
      +         * Provide symbol information for the given document.
      +         */
      +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
      +    }
      +
      +    export type TextEdit = {
      +        range: IRange;
      +        text: string;
      +        eol?: editor.EndOfLineSequence;
      +    };
      +
      +    /**
      +     * Interface used to format a model
      +     */
      +    export interface FormattingOptions {
      +        /**
      +         * Size of a tab in spaces.
      +         */
      +        tabSize: number;
      +        /**
      +         * Prefer spaces over tabs.
      +         */
      +        insertSpaces: boolean;
      +    }
      +
      +    /**
      +     * The document formatting provider interface defines the contract between extensions and
      +     * the formatting-feature.
      +     */
      +    export interface DocumentFormattingEditProvider {
      +        readonly displayName?: string;
      +        /**
      +         * Provide formatting edits for a whole document.
      +         */
      +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
      +    }
      +
      +    /**
      +     * The document formatting provider interface defines the contract between extensions and
      +     * the formatting-feature.
      +     */
      +    export interface DocumentRangeFormattingEditProvider {
      +        readonly displayName?: string;
      +        /**
      +         * Provide formatting edits for a range in a document.
      +         *
      +         * The given range is a hint and providers can decide to format a smaller
      +         * or larger range. Often this is done by adjusting the start and end
      +         * of the range to full syntax nodes.
      +         */
      +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
      +    }
      +
      +    /**
      +     * The document formatting provider interface defines the contract between extensions and
      +     * the formatting-feature.
      +     */
      +    export interface OnTypeFormattingEditProvider {
      +        autoFormatTriggerCharacters: string[];
      +        /**
      +         * Provide formatting edits after a character has been typed.
      +         *
      +         * The given position and character should hint to the provider
      +         * what range the position to expand to, like find the matching `{`
      +         * when `}` has been entered.
      +         */
      +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
      +    }
      +
      +    /**
      +     * A link inside the editor.
      +     */
      +    export interface ILink {
      +        range: IRange;
      +        url?: Uri | string;
      +        tooltip?: string;
      +    }
      +
      +    export interface ILinksList {
      +        links: ILink[];
      +        dispose?(): void;
      +    }
      +
      +    /**
      +     * A provider of links.
      +     */
      +    export interface LinkProvider {
      +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
      +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
      +    }
      +
      +    /**
      +     * A color in RGBA format.
      +     */
      +    export interface IColor {
      +        /**
      +         * The red component in the range [0-1].
      +         */
      +        readonly red: number;
      +        /**
      +         * The green component in the range [0-1].
      +         */
      +        readonly green: number;
      +        /**
      +         * The blue component in the range [0-1].
      +         */
      +        readonly blue: number;
      +        /**
      +         * The alpha component in the range [0-1].
      +         */
      +        readonly alpha: number;
      +    }
      +
      +    /**
      +     * String representations for a color
      +     */
      +    export interface IColorPresentation {
      +        /**
      +         * The label of this color presentation. It will be shown on the color
      +         * picker header. By default this is also the text that is inserted when selecting
      +         * this color presentation.
      +         */
      +        label: string;
      +        /**
      +         * An {@link TextEdit edit} which is applied to a document when selecting
      +         * this presentation for the color.
      +         */
      +        textEdit?: TextEdit;
      +        /**
      +         * An optional array of additional {@link TextEdit text edits} that are applied when
      +         * selecting this color presentation.
      +         */
      +        additionalTextEdits?: TextEdit[];
      +    }
      +
      +    /**
      +     * A color range is a range in a text model which represents a color.
      +     */
      +    export interface IColorInformation {
      +        /**
      +         * The range within the model.
      +         */
      +        range: IRange;
      +        /**
      +         * The color represented in this range.
      +         */
      +        color: IColor;
      +    }
      +
      +    /**
      +     * A provider of colors for editor models.
      +     */
      +    export interface DocumentColorProvider {
      +        /**
      +         * Provides the color ranges for a specific model.
      +         */
      +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
      +        /**
      +         * Provide the string representations for a color.
      +         */
      +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
      +    }
      +
      +    export interface SelectionRange {
      +        range: IRange;
      +    }
      +
      +    export interface SelectionRangeProvider {
      +        /**
      +         * Provide ranges that should be selected from the given position.
      +         */
      +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
      +    }
      +
      +    export interface FoldingContext {
      +    }
      +
      +    /**
      +     * A provider of folding ranges for editor models.
      +     */
      +    export interface FoldingRangeProvider {
      +        /**
      +         * An optional event to signal that the folding ranges from this provider have changed.
      +         */
      +        onDidChange?: IEvent<this>;
      +        /**
      +         * Provides the folding ranges for a specific model.
      +         */
      +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
      +    }
      +
      +    export interface FoldingRange {
      +        /**
      +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
      +         */
      +        start: number;
      +        /**
      +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
      +         */
      +        end: number;
      +        /**
      +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
      +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
      +         * like 'Fold all comments'. See
      +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
      +         */
      +        kind?: FoldingRangeKind;
      +    }
      +
      +    export class FoldingRangeKind {
      +        value: string;
      +        /**
      +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
      +         */
      +        static readonly Comment: FoldingRangeKind;
      +        /**
      +         * Kind for folding range representing a import. The value of the kind is 'imports'.
      +         */
      +        static readonly Imports: FoldingRangeKind;
      +        /**
      +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
      +         * The value of the kind is 'region'.
      +         */
      +        static readonly Region: FoldingRangeKind;
      +        /**
      +         * Creates a new {@link FoldingRangeKind}.
      +         *
      +         * @param value of the kind.
      +         */
      +        constructor(value: string);
      +    }
      +
      +    export interface WorkspaceEditMetadata {
      +        needsConfirmation: boolean;
      +        label: string;
      +        description?: string;
      +    }
      +
      +    export interface WorkspaceFileEditOptions {
      +        overwrite?: boolean;
      +        ignoreIfNotExists?: boolean;
      +        ignoreIfExists?: boolean;
      +        recursive?: boolean;
      +        copy?: boolean;
      +        folder?: boolean;
      +        skipTrashBin?: boolean;
      +        maxSize?: number;
      +    }
      +
      +    export interface WorkspaceFileEdit {
      +        oldUri?: Uri;
      +        newUri?: Uri;
      +        options?: WorkspaceFileEditOptions;
      +        metadata?: WorkspaceEditMetadata;
      +    }
      +
      +    export interface WorkspaceTextEdit {
      +        resource: Uri;
      +        edit: TextEdit;
      +        modelVersionId?: number;
      +        metadata?: WorkspaceEditMetadata;
      +    }
      +
      +    export interface WorkspaceEdit {
      +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
      +    }
      +
      +    export interface Rejection {
      +        rejectReason?: string;
      +    }
      +
      +    export interface RenameLocation {
      +        range: IRange;
      +        text: string;
      +    }
      +
      +    export interface RenameProvider {
      +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
      +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
      +    }
      +
      +    export interface Command {
      +        id: string;
      +        title: string;
      +        tooltip?: string;
      +        arguments?: any[];
      +    }
      +
      +    export interface CodeLens {
      +        range: IRange;
      +        id?: string;
      +        command?: Command;
      +    }
      +
      +    export interface CodeLensList {
      +        lenses: CodeLens[];
      +        dispose(): void;
      +    }
      +
      +    export interface CodeLensProvider {
      +        onDidChange?: IEvent<this>;
      +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
      +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
      +    }
      +
      +    export enum InlayHintKind {
      +        Other = 0,
      +        Type = 1,
      +        Parameter = 2
      +    }
      +
      +    export interface InlayHint {
      +        text: string;
      +        position: IPosition;
      +        kind: InlayHintKind;
      +        whitespaceBefore?: boolean;
      +        whitespaceAfter?: boolean;
      +    }
      +
      +    export interface InlayHintsProvider {
      +        onDidChangeInlayHints?: IEvent<void>;
      +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
      +    }
      +
      +    export interface SemanticTokensLegend {
      +        readonly tokenTypes: string[];
      +        readonly tokenModifiers: string[];
      +    }
      +
      +    export interface SemanticTokens {
      +        readonly resultId?: string;
      +        readonly data: Uint32Array;
      +    }
      +
      +    export interface SemanticTokensEdit {
      +        readonly start: number;
      +        readonly deleteCount: number;
      +        readonly data?: Uint32Array;
      +    }
      +
      +    export interface SemanticTokensEdits {
      +        readonly resultId?: string;
      +        readonly edits: SemanticTokensEdit[];
      +    }
      +
      +    export interface DocumentSemanticTokensProvider {
      +        onDidChange?: IEvent<void>;
      +        getLegend(): SemanticTokensLegend;
      +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
      +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
      +    }
      +
      +    export interface DocumentRangeSemanticTokensProvider {
      +        getLegend(): SemanticTokensLegend;
      +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
      +    }
      +
      +    export interface ILanguageExtensionPoint {
      +        id: string;
      +        extensions?: string[];
      +        filenames?: string[];
      +        filenamePatterns?: string[];
      +        firstLine?: string;
      +        aliases?: string[];
      +        mimetypes?: string[];
      +        configuration?: Uri;
      +    }
      +    /**
      +     * A Monarch language definition
      +     */
      +    export interface IMonarchLanguage {
      +        /**
      +         * map from string to ILanguageRule[]
      +         */
      +        tokenizer: {
      +            [name: string]: IMonarchLanguageRule[];
      +        };
      +        /**
      +         * is the language case insensitive?
      +         */
      +        ignoreCase?: boolean;
      +        /**
      +         * is the language unicode-aware? (i.e., /\u{1D306}/)
      +         */
      +        unicode?: boolean;
      +        /**
      +         * if no match in the tokenizer assign this token class (default 'source')
      +         */
      +        defaultToken?: string;
      +        /**
      +         * for example [['{','}','delimiter.curly']]
      +         */
      +        brackets?: IMonarchLanguageBracket[];
      +        /**
      +         * start symbol in the tokenizer (by default the first entry is used)
      +         */
      +        start?: string;
      +        /**
      +         * attach this to every token class (by default '.' + name)
      +         */
      +        tokenPostfix?: string;
      +        /**
      +         * include line feeds (in the form of a \n character) at the end of lines
      +         * Defaults to false
      +         */
      +        includeLF?: boolean;
      +        /**
      +         * Other keys that can be referred to by the tokenizer.
      +         */
      +        [key: string]: any;
      +    }
      +
      +    /**
      +     * A rule is either a regular expression and an action
      +     * 		shorthands: [reg,act] == { regex: reg, action: act}
      +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
      +     */
      +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
      +
      +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
      +
      +    export interface IExpandedMonarchLanguageRule {
      +        /**
      +         * match tokens
      +         */
      +        regex?: string | RegExp;
      +        /**
      +         * action to take on match
      +         */
      +        action?: IMonarchLanguageAction;
      +        /**
      +         * or an include rule. include all rules from the included state
      +         */
      +        include?: string;
      +    }
      +
      +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
      +
      +    /**
      +     * An action is either an array of actions...
      +     * ... or a case statement with guards...
      +     * ... or a basic action with a token value.
      +     */
      +    export type IShortMonarchLanguageAction = string;
      +
      +    export interface IExpandedMonarchLanguageAction {
      +        /**
      +         * array of actions for each parenthesized match group
      +         */
      +        group?: IMonarchLanguageAction[];
      +        /**
      +         * map from string to ILanguageAction
      +         */
      +        cases?: Object;
      +        /**
      +         * token class (ie. css class) (or "@brackets" or "@rematch")
      +         */
      +        token?: string;
      +        /**
      +         * the next state to push, or "@push", "@pop", "@popall"
      +         */
      +        next?: string;
      +        /**
      +         * switch to this state
      +         */
      +        switchTo?: string;
      +        /**
      +         * go back n characters in the stream
      +         */
      +        goBack?: number;
      +        /**
      +         * @open or @close
      +         */
      +        bracket?: string;
      +        /**
      +         * switch to embedded language (using the mimetype) or get out using "@pop"
      +         */
      +        nextEmbedded?: string;
      +        /**
      +         * log a message to the browser console window
      +         */
      +        log?: string;
      +    }
      +
      +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
      +
      +    /**
      +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
      +     */
      +    export interface IMonarchLanguageBracket {
      +        /**
      +         * open bracket
      +         */
      +        open: string;
      +        /**
      +         * closing bracket
      +         */
      +        close: string;
      +        /**
      +         * token class
      +         */
      +        token: string;
      +    }
      +
      +}
      +
      +declare namespace monaco.worker {
      +
      +
      +    export interface IMirrorTextModel {
      +        readonly version: number;
      +    }
      +
      +    export interface IMirrorModel extends IMirrorTextModel {
      +        readonly uri: Uri;
      +        readonly version: number;
      +        getValue(): string;
      +    }
      +
      +    export interface IWorkerContext<H = undefined> {
      +        /**
      +         * A proxy to the main thread host object.
      +         */
      +        host: H;
      +        /**
      +         * Get all available mirror models in this worker.
      +         */
      +        getMirrorModels(): IMirrorModel[];
      +    }
      +
      +}
      +
      +//dtsv=3
      +
      +/*---------------------------------------------------------------------------------------------
      + *  Copyright (c) Microsoft Corporation. All rights reserved.
      + *  Licensed under the MIT License. See License.txt in the project root for license information.
      + *--------------------------------------------------------------------------------------------*/
      +
      +declare namespace monaco.languages.typescript {
      +    export enum ModuleKind {
      +        None = 0,
      +        CommonJS = 1,
      +        AMD = 2,
      +        UMD = 3,
      +        System = 4,
      +        ES2015 = 5,
      +        ESNext = 99
      +    }
      +    export enum JsxEmit {
      +        None = 0,
      +        Preserve = 1,
      +        React = 2,
      +        ReactNative = 3,
      +        ReactJSX = 4,
      +        ReactJSXDev = 5
      +    }
      +    export enum NewLineKind {
      +        CarriageReturnLineFeed = 0,
      +        LineFeed = 1
      +    }
      +    export enum ScriptTarget {
      +        ES3 = 0,
      +        ES5 = 1,
      +        ES2015 = 2,
      +        ES2016 = 3,
      +        ES2017 = 4,
      +        ES2018 = 5,
      +        ES2019 = 6,
      +        ES2020 = 7,
      +        ESNext = 99,
      +        JSON = 100,
      +        Latest = 99
      +    }
      +    export enum ModuleResolutionKind {
      +        Classic = 1,
      +        NodeJs = 2
      +    }
      +    interface MapLike<T> {
      +        [index: string]: T;
      +    }
      +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
      +    interface CompilerOptions {
      +        allowJs?: boolean;
      +        allowSyntheticDefaultImports?: boolean;
      +        allowUmdGlobalAccess?: boolean;
      +        allowUnreachableCode?: boolean;
      +        allowUnusedLabels?: boolean;
      +        alwaysStrict?: boolean;
      +        baseUrl?: string;
      +        charset?: string;
      +        checkJs?: boolean;
      +        declaration?: boolean;
      +        declarationMap?: boolean;
      +        emitDeclarationOnly?: boolean;
      +        declarationDir?: string;
      +        disableSizeLimit?: boolean;
      +        disableSourceOfProjectReferenceRedirect?: boolean;
      +        downlevelIteration?: boolean;
      +        emitBOM?: boolean;
      +        emitDecoratorMetadata?: boolean;
      +        experimentalDecorators?: boolean;
      +        forceConsistentCasingInFileNames?: boolean;
      +        importHelpers?: boolean;
      +        inlineSourceMap?: boolean;
      +        inlineSources?: boolean;
      +        isolatedModules?: boolean;
      +        jsx?: JsxEmit;
      +        keyofStringsOnly?: boolean;
      +        lib?: string[];
      +        locale?: string;
      +        mapRoot?: string;
      +        maxNodeModuleJsDepth?: number;
      +        module?: ModuleKind;
      +        moduleResolution?: ModuleResolutionKind;
      +        newLine?: NewLineKind;
      +        noEmit?: boolean;
      +        noEmitHelpers?: boolean;
      +        noEmitOnError?: boolean;
      +        noErrorTruncation?: boolean;
      +        noFallthroughCasesInSwitch?: boolean;
      +        noImplicitAny?: boolean;
      +        noImplicitReturns?: boolean;
      +        noImplicitThis?: boolean;
      +        noStrictGenericChecks?: boolean;
      +        noUnusedLocals?: boolean;
      +        noUnusedParameters?: boolean;
      +        noImplicitUseStrict?: boolean;
      +        noLib?: boolean;
      +        noResolve?: boolean;
      +        out?: string;
      +        outDir?: string;
      +        outFile?: string;
      +        paths?: MapLike<string[]>;
      +        preserveConstEnums?: boolean;
      +        preserveSymlinks?: boolean;
      +        project?: string;
      +        reactNamespace?: string;
      +        jsxFactory?: string;
      +        composite?: boolean;
      +        removeComments?: boolean;
      +        rootDir?: string;
      +        rootDirs?: string[];
      +        skipLibCheck?: boolean;
      +        skipDefaultLibCheck?: boolean;
      +        sourceMap?: boolean;
      +        sourceRoot?: string;
      +        strict?: boolean;
      +        strictFunctionTypes?: boolean;
      +        strictBindCallApply?: boolean;
      +        strictNullChecks?: boolean;
      +        strictPropertyInitialization?: boolean;
      +        stripInternal?: boolean;
      +        suppressExcessPropertyErrors?: boolean;
      +        suppressImplicitAnyIndexErrors?: boolean;
      +        target?: ScriptTarget;
      +        traceResolution?: boolean;
      +        resolveJsonModule?: boolean;
      +        types?: string[];
      +        /** Paths used to compute primary types search locations */
      +        typeRoots?: string[];
      +        esModuleInterop?: boolean;
      +        useDefineForClassFields?: boolean;
      +        [option: string]: CompilerOptionsValue | undefined;
      +    }
      +    export interface DiagnosticsOptions {
      +        noSemanticValidation?: boolean;
      +        noSyntaxValidation?: boolean;
      +        noSuggestionDiagnostics?: boolean;
      +        /**
      +         * Limit diagnostic computation to only visible files.
      +         * Defaults to false.
      +         */
      +        onlyVisible?: boolean;
      +        diagnosticCodesToIgnore?: number[];
      +    }
      +    export interface WorkerOptions {
      +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
      +        customWorkerPath?: string;
      +    }
      +    interface InlayHintsOptions {
      +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
      +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
      +        readonly includeInlayFunctionParameterTypeHints?: boolean;
      +        readonly includeInlayVariableTypeHints?: boolean;
      +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
      +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
      +        readonly includeInlayEnumMemberValueHints?: boolean;
      +    }
      +    interface IExtraLib {
      +        content: string;
      +        version: number;
      +    }
      +    export interface IExtraLibs {
      +        [path: string]: IExtraLib;
      +    }
      +    /**
      +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
      +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
      +     */
      +    interface DiagnosticMessageChain {
      +        messageText: string;
      +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
      +        category: 0 | 1 | 2 | 3;
      +        code: number;
      +        next?: DiagnosticMessageChain[];
      +    }
      +    export interface Diagnostic extends DiagnosticRelatedInformation {
      +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
      +        reportsUnnecessary?: {};
      +        reportsDeprecated?: {};
      +        source?: string;
      +        relatedInformation?: DiagnosticRelatedInformation[];
      +    }
      +    export interface DiagnosticRelatedInformation {
      +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
      +        category: 0 | 1 | 2 | 3;
      +        code: number;
      +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
      +        file: {
      +            fileName: string;
      +        } | undefined;
      +        start: number | undefined;
      +        length: number | undefined;
      +        messageText: string | DiagnosticMessageChain;
      +    }
      +    interface EmitOutput {
      +        outputFiles: OutputFile[];
      +        emitSkipped: boolean;
      +    }
      +    interface OutputFile {
      +        name: string;
      +        writeByteOrderMark: boolean;
      +        text: string;
      +    }
      +    export interface LanguageServiceDefaults {
      +        /**
      +         * Event fired when compiler options or diagnostics options are changed.
      +         */
      +        readonly onDidChange: IEvent<void>;
      +        /**
      +         * Event fired when extra libraries registered with the language service change.
      +         */
      +        readonly onDidExtraLibsChange: IEvent<void>;
      +        readonly workerOptions: WorkerOptions;
      +        readonly inlayHintsOptions: InlayHintsOptions;
      +        /**
      +         * Get the current extra libs registered with the language service.
      +         */
      +        getExtraLibs(): IExtraLibs;
      +        /**
      +         * Add an additional source file to the language service. Use this
      +         * for typescript (definition) files that won't be loaded as editor
      +         * documents, like `jquery.d.ts`.
      +         *
      +         * @param content The file content
      +         * @param filePath An optional file path
      +         * @returns A disposable which will remove the file from the
      +         * language service upon disposal.
      +         */
      +        addExtraLib(content: string, filePath?: string): IDisposable;
      +        /**
      +         * Remove all existing extra libs and set the additional source
      +         * files to the language service. Use this for typescript definition
      +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
      +         * @param libs An array of entries to register.
      +         */
      +        setExtraLibs(libs: {
      +            content: string;
      +            filePath?: string;
      +        }[]): void;
      +        /**
      +         * Get current TypeScript compiler options for the language service.
      +         */
      +        getCompilerOptions(): CompilerOptions;
      +        /**
      +         * Set TypeScript compiler options.
      +         */
      +        setCompilerOptions(options: CompilerOptions): void;
      +        /**
      +         * Get the current diagnostics options for the language service.
      +         */
      +        getDiagnosticsOptions(): DiagnosticsOptions;
      +        /**
      +         * Configure whether syntactic and/or semantic validation should
      +         * be performed
      +         */
      +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
      +        /**
      +         * Configure webworker options
      +         */
      +        setWorkerOptions(options: WorkerOptions): void;
      +        /**
      +         * No-op.
      +         */
      +        setMaximumWorkerIdleTime(value: number): void;
      +        /**
      +         * Configure if all existing models should be eagerly sync'd
      +         * to the worker on start or restart.
      +         */
      +        setEagerModelSync(value: boolean): void;
      +        /**
      +         * Get the current setting for whether all existing models should be eagerly sync'd
      +         * to the worker on start or restart.
      +         */
      +        getEagerModelSync(): boolean;
      +        /**
      +         * Configure inlay hints options.
      +         */
      +        setInlayHintsOptions(options: InlayHintsOptions): void;
      +    }
      +    export interface TypeScriptWorker {
      +        /**
      +         * Get diagnostic messages for any syntax issues in the given file.
      +         */
      +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
      +        /**
      +         * Get diagnostic messages for any semantic issues in the given file.
      +         */
      +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
      +        /**
      +         * Get diagnostic messages for any suggestions related to the given file.
      +         */
      +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
      +        /**
      +         * Get the content of a given file.
      +         */
      +        getScriptText(fileName: string): Promise<string | undefined>;
      +        /**
      +         * Get diagnostic messages related to the current compiler options.
      +         * @param fileName Not used
      +         */
      +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
      +        /**
      +         * Get code completions for the given file and position.
      +         * @returns `Promise<typescript.CompletionInfo | undefined>`
      +         */
      +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
      +        /**
      +         * Get code completion details for the given file, position, and entry.
      +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
      +         */
      +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
      +        /**
      +         * Get signature help items for the item at the given file and position.
      +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
      +         */
      +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
      +        /**
      +         * Get quick info for the item at the given position in the file.
      +         * @returns `Promise<typescript.QuickInfo | undefined>`
      +         */
      +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
      +        /**
      +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
      +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
      +         */
      +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
      +        /**
      +         * Get the definition of the item at the given position in the file.
      +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
      +         */
      +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
      +        /**
      +         * Get references to the item at the given position in the file.
      +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
      +         */
      +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
      +        /**
      +         * Get outline entries for the item at the given position in the file.
      +         * @returns `Promise<typescript.NavigationBarItem[]>`
      +         */
      +        getNavigationBarItems(fileName: string): Promise<any[]>;
      +        /**
      +         * Get changes which should be applied to format the given file.
      +         * @param options `typescript.FormatCodeOptions`
      +         * @returns `Promise<typescript.TextChange[]>`
      +         */
      +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
      +        /**
      +         * Get changes which should be applied to format the given range in the file.
      +         * @param options `typescript.FormatCodeOptions`
      +         * @returns `Promise<typescript.TextChange[]>`
      +         */
      +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
      +        /**
      +         * Get formatting changes which should be applied after the given keystroke.
      +         * @param options `typescript.FormatCodeOptions`
      +         * @returns `Promise<typescript.TextChange[]>`
      +         */
      +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
      +        /**
      +         * Get other occurrences which should be updated when renaming the item at the given file and position.
      +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
      +         */
      +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
      +        /**
      +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
      +         * @param options `typescript.RenameInfoOptions`
      +         * @returns `Promise<typescript.RenameInfo>`
      +         */
      +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
      +        /**
      +         * Get transpiled output for the given file.
      +         * @returns `typescript.EmitOutput`
      +         */
      +        getEmitOutput(fileName: string): Promise<EmitOutput>;
      +        /**
      +         * Get possible code fixes at the given position in the file.
      +         * @param formatOptions `typescript.FormatCodeOptions`
      +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
      +         */
      +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
      +        /**
      +         * Get inlay hints in the range of the file.
      +         * @param fileName
      +         * @returns `Promise<typescript.InlayHint[]>`
      +         */
      +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
      +    }
      +    export const typescriptVersion: string;
      +    export const typescriptDefaults: LanguageServiceDefaults;
      +    export const javascriptDefaults: LanguageServiceDefaults;
      +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
      +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
      +}
      +
      +/*---------------------------------------------------------------------------------------------
      + *  Copyright (c) Microsoft Corporation. All rights reserved.
      + *  Licensed under the MIT License. See License.txt in the project root for license information.
      + *--------------------------------------------------------------------------------------------*/
      +
      +declare namespace monaco.languages.css {
      +    export interface Options {
      +        readonly validate?: boolean;
      +        readonly lint?: {
      +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
      +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
      +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
      +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
      +            readonly importStatement?: 'ignore' | 'warning' | 'error';
      +            readonly boxModel?: 'ignore' | 'warning' | 'error';
      +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
      +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
      +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
      +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
      +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
      +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
      +            readonly ieHack?: 'ignore' | 'warning' | 'error';
      +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
      +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
      +            readonly important?: 'ignore' | 'warning' | 'error';
      +            readonly float?: 'ignore' | 'warning' | 'error';
      +            readonly idSelector?: 'ignore' | 'warning' | 'error';
      +        };
      +        /**
      +         * Configures the CSS data types known by the langauge service.
      +         */
      +        readonly data?: CSSDataConfiguration;
      +    }
      +    export interface ModeConfiguration {
      +        /**
      +         * Defines whether the built-in completionItemProvider is enabled.
      +         */
      +        readonly completionItems?: boolean;
      +        /**
      +         * Defines whether the built-in hoverProvider is enabled.
      +         */
      +        readonly hovers?: boolean;
      +        /**
      +         * Defines whether the built-in documentSymbolProvider is enabled.
      +         */
      +        readonly documentSymbols?: boolean;
      +        /**
      +         * Defines whether the built-in definitions provider is enabled.
      +         */
      +        readonly definitions?: boolean;
      +        /**
      +         * Defines whether the built-in references provider is enabled.
      +         */
      +        readonly references?: boolean;
      +        /**
      +         * Defines whether the built-in references provider is enabled.
      +         */
      +        readonly documentHighlights?: boolean;
      +        /**
      +         * Defines whether the built-in rename provider is enabled.
      +         */
      +        readonly rename?: boolean;
      +        /**
      +         * Defines whether the built-in color provider is enabled.
      +         */
      +        readonly colors?: boolean;
      +        /**
      +         * Defines whether the built-in foldingRange provider is enabled.
      +         */
      +        readonly foldingRanges?: boolean;
      +        /**
      +         * Defines whether the built-in diagnostic provider is enabled.
      +         */
      +        readonly diagnostics?: boolean;
      +        /**
      +         * Defines whether the built-in selection range provider is enabled.
      +         */
      +        readonly selectionRanges?: boolean;
      +    }
      +    export interface LanguageServiceDefaults {
      +        readonly languageId: string;
      +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
      +        readonly modeConfiguration: ModeConfiguration;
      +        readonly options: Options;
      +        setOptions(options: Options): void;
      +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
      +        /** @deprecated Use options instead */
      +        readonly diagnosticsOptions: DiagnosticsOptions;
      +        /** @deprecated Use setOptions instead */
      +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
      +    }
      +    /** @deprecated Use Options instead */
      +    export type DiagnosticsOptions = Options;
      +    export const cssDefaults: LanguageServiceDefaults;
      +    export const scssDefaults: LanguageServiceDefaults;
      +    export const lessDefaults: LanguageServiceDefaults;
      +    export interface CSSDataConfiguration {
      +        /**
      +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
      +         */
      +        useDefaultDataProvider?: boolean;
      +        /**
      +         * Provides a set of custom data providers.
      +         */
      +        dataProviders?: {
      +            [providerId: string]: CSSDataV1;
      +        };
      +    }
      +    /**
      +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
      +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
      +     */
      +    export interface CSSDataV1 {
      +        version: 1 | 1.1;
      +        properties?: IPropertyData[];
      +        atDirectives?: IAtDirectiveData[];
      +        pseudoClasses?: IPseudoClassData[];
      +        pseudoElements?: IPseudoElementData[];
      +    }
      +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
      +    export interface IReference {
      +        name: string;
      +        url: string;
      +    }
      +    export interface IPropertyData {
      +        name: string;
      +        description?: string | MarkupContent;
      +        browsers?: string[];
      +        restrictions?: string[];
      +        status?: EntryStatus;
      +        syntax?: string;
      +        values?: IValueData[];
      +        references?: IReference[];
      +        relevance?: number;
      +    }
      +    export interface IAtDirectiveData {
      +        name: string;
      +        description?: string | MarkupContent;
      +        browsers?: string[];
      +        status?: EntryStatus;
      +        references?: IReference[];
      +    }
      +    export interface IPseudoClassData {
      +        name: string;
      +        description?: string | MarkupContent;
      +        browsers?: string[];
      +        status?: EntryStatus;
      +        references?: IReference[];
      +    }
      +    export interface IPseudoElementData {
      +        name: string;
      +        description?: string | MarkupContent;
      +        browsers?: string[];
      +        status?: EntryStatus;
      +        references?: IReference[];
      +    }
      +    export interface IValueData {
      +        name: string;
      +        description?: string | MarkupContent;
      +        browsers?: string[];
      +        status?: EntryStatus;
      +        references?: IReference[];
      +    }
      +    export interface MarkupContent {
      +        kind: MarkupKind;
      +        value: string;
      +    }
      +    export type MarkupKind = 'plaintext' | 'markdown';
      +}
      +
      +/*---------------------------------------------------------------------------------------------
      + *  Copyright (c) Microsoft Corporation. All rights reserved.
      + *  Licensed under the MIT License. See License.txt in the project root for license information.
      + *--------------------------------------------------------------------------------------------*/
      +
      +declare namespace monaco.languages.json {
      +    export interface DiagnosticsOptions {
      +        /**
      +         * If set, the validator will be enabled and perform syntax and schema based validation,
      +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
      +         */
      +        readonly validate?: boolean;
      +        /**
      +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
      +         * `DiagnosticsOptions.allowComments` will override this setting.
      +         */
      +        readonly allowComments?: boolean;
      +        /**
      +         * A list of known schemas and/or associations of schemas to file names.
      +         */
      +        readonly schemas?: {
      +            /**
      +             * The URI of the schema, which is also the identifier of the schema.
      +             */
      +            readonly uri: string;
      +            /**
      +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
      +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
      +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
      +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
      +             */
      +            readonly fileMatch?: string[];
      +            /**
      +             * The schema for the given URI.
      +             */
      +            readonly schema?: any;
      +        }[];
      +        /**
      +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
      +         */
      +        readonly enableSchemaRequest?: boolean;
      +        /**
      +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
      +         */
      +        readonly schemaValidation?: SeverityLevel;
      +        /**
      +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
      +         */
      +        readonly schemaRequest?: SeverityLevel;
      +        /**
      +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
      +         */
      +        readonly trailingCommas?: SeverityLevel;
      +        /**
      +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
      +         */
      +        readonly comments?: SeverityLevel;
      +    }
      +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
      +    export interface ModeConfiguration {
      +        /**
      +         * Defines whether the built-in documentFormattingEdit provider is enabled.
      +         */
      +        readonly documentFormattingEdits?: boolean;
      +        /**
      +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
      +         */
      +        readonly documentRangeFormattingEdits?: boolean;
      +        /**
      +         * Defines whether the built-in completionItemProvider is enabled.
      +         */
      +        readonly completionItems?: boolean;
      +        /**
      +         * Defines whether the built-in hoverProvider is enabled.
      +         */
      +        readonly hovers?: boolean;
      +        /**
      +         * Defines whether the built-in documentSymbolProvider is enabled.
      +         */
      +        readonly documentSymbols?: boolean;
      +        /**
      +         * Defines whether the built-in tokens provider is enabled.
      +         */
      +        readonly tokens?: boolean;
      +        /**
      +         * Defines whether the built-in color provider is enabled.
      +         */
      +        readonly colors?: boolean;
      +        /**
      +         * Defines whether the built-in foldingRange provider is enabled.
      +         */
      +        readonly foldingRanges?: boolean;
      +        /**
      +         * Defines whether the built-in diagnostic provider is enabled.
      +         */
      +        readonly diagnostics?: boolean;
      +        /**
      +         * Defines whether the built-in selection range provider is enabled.
      +         */
      +        readonly selectionRanges?: boolean;
      +    }
      +    export interface LanguageServiceDefaults {
      +        readonly languageId: string;
      +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
      +        readonly diagnosticsOptions: DiagnosticsOptions;
      +        readonly modeConfiguration: ModeConfiguration;
      +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
      +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
      +    }
      +    export const jsonDefaults: LanguageServiceDefaults;
      +}
      +
      +/*---------------------------------------------------------------------------------------------
      + *  Copyright (c) Microsoft Corporation. All rights reserved.
      + *  Licensed under the MIT License. See License.txt in the project root for license information.
      + *--------------------------------------------------------------------------------------------*/
      +
      +declare namespace monaco.languages.html {
      +    export interface HTMLFormatConfiguration {
      +        readonly tabSize: number;
      +        readonly insertSpaces: boolean;
      +        readonly wrapLineLength: number;
      +        readonly unformatted: string;
      +        readonly contentUnformatted: string;
      +        readonly indentInnerHtml: boolean;
      +        readonly preserveNewLines: boolean;
      +        readonly maxPreserveNewLines: number | undefined;
      +        readonly indentHandlebars: boolean;
      +        readonly endWithNewline: boolean;
      +        readonly extraLiners: string;
      +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
      +    }
      +    export interface CompletionConfiguration {
      +        readonly [providerId: string]: boolean;
      +    }
      +    export interface Options {
      +        /**
      +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
      +         */
      +        readonly format?: HTMLFormatConfiguration;
      +        /**
      +         * A list of known schemas and/or associations of schemas to file names.
      +         */
      +        readonly suggest?: CompletionConfiguration;
      +        /**
      +         * Configures the HTML data types known by the HTML langauge service.
      +         */
      +        readonly data?: HTMLDataConfiguration;
      +    }
      +    export interface ModeConfiguration {
      +        /**
      +         * Defines whether the built-in completionItemProvider is enabled.
      +         */
      +        readonly completionItems?: boolean;
      +        /**
      +         * Defines whether the built-in hoverProvider is enabled.
      +         */
      +        readonly hovers?: boolean;
      +        /**
      +         * Defines whether the built-in documentSymbolProvider is enabled.
      +         */
      +        readonly documentSymbols?: boolean;
      +        /**
      +         * Defines whether the built-in definitions provider is enabled.
      +         */
      +        readonly links?: boolean;
      +        /**
      +         * Defines whether the built-in references provider is enabled.
      +         */
      +        readonly documentHighlights?: boolean;
      +        /**
      +         * Defines whether the built-in rename provider is enabled.
      +         */
      +        readonly rename?: boolean;
      +        /**
      +         * Defines whether the built-in color provider is enabled.
      +         */
      +        readonly colors?: boolean;
      +        /**
      +         * Defines whether the built-in foldingRange provider is enabled.
      +         */
      +        readonly foldingRanges?: boolean;
      +        /**
      +         * Defines whether the built-in diagnostic provider is enabled.
      +         */
      +        readonly diagnostics?: boolean;
      +        /**
      +         * Defines whether the built-in selection range provider is enabled.
      +         */
      +        readonly selectionRanges?: boolean;
      +        /**
      +         * Defines whether the built-in documentFormattingEdit provider is enabled.
      +         */
      +        readonly documentFormattingEdits?: boolean;
      +        /**
      +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
      +         */
      +        readonly documentRangeFormattingEdits?: boolean;
      +    }
      +    export interface LanguageServiceDefaults {
      +        readonly languageId: string;
      +        readonly modeConfiguration: ModeConfiguration;
      +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
      +        readonly options: Options;
      +        setOptions(options: Options): void;
      +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
      +    }
      +    export const htmlLanguageService: LanguageServiceRegistration;
      +    export const htmlDefaults: LanguageServiceDefaults;
      +    export const handlebarLanguageService: LanguageServiceRegistration;
      +    export const handlebarDefaults: LanguageServiceDefaults;
      +    export const razorLanguageService: LanguageServiceRegistration;
      +    export const razorDefaults: LanguageServiceDefaults;
      +    export interface LanguageServiceRegistration extends IDisposable {
      +        readonly defaults: LanguageServiceDefaults;
      +    }
      +    /**
      +     * Registers a new HTML language service for the languageId.
      +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
      +     *
      +     * Use this method to register additional language ids with a HTML service.
      +     * The language server has to be registered before an editor model is opened.
      +     */
      +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
      +    export interface HTMLDataConfiguration {
      +        /**
      +         * Defines whether the standard HTML tags and attributes are shown
      +         */
      +        readonly useDefaultDataProvider?: boolean;
      +        /**
      +         * Provides a set of custom data providers.
      +         */
      +        readonly dataProviders?: {
      +            [providerId: string]: HTMLDataV1;
      +        };
      +    }
      +    /**
      +     * Custom HTML tags attributes and attribute values
      +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
      +     */
      +    export interface HTMLDataV1 {
      +        readonly version: 1 | 1.1;
      +        readonly tags?: ITagData[];
      +        readonly globalAttributes?: IAttributeData[];
      +        readonly valueSets?: IValueSet[];
      +    }
      +    export interface IReference {
      +        readonly name: string;
      +        readonly url: string;
      +    }
      +    export interface ITagData {
      +        readonly name: string;
      +        readonly description?: string | MarkupContent;
      +        readonly attributes: IAttributeData[];
      +        readonly references?: IReference[];
      +    }
      +    export interface IAttributeData {
      +        readonly name: string;
      +        readonly description?: string | MarkupContent;
      +        readonly valueSet?: string;
      +        readonly values?: IValueData[];
      +        readonly references?: IReference[];
      +    }
      +    export interface IValueData {
      +        readonly name: string;
      +        readonly description?: string | MarkupContent;
      +        readonly references?: IReference[];
      +    }
      +    export interface IValueSet {
      +        readonly name: string;
      +        readonly values: IValueData[];
      +    }
      +    export interface MarkupContent {
      +        readonly kind: MarkupKind;
      +        readonly value: string;
      +    }
      +    export type MarkupKind = 'plaintext' | 'markdown';
      +}
      +
      +
      +
      + + + + + + + + +
      +
      +

      result-matching ""

      +
        +
        +
        +

        No results matching ""

        +
        +
        +
        + +
        +
        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/KeyMod.html b/docs/api-reference/classes/KeyMod.html new file mode 100644 index 00000000..cf4217ea --- /dev/null +++ b/docs/api-reference/classes/KeyMod.html @@ -0,0 +1,8197 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
        +
        + + +
        +
        + + + + + + + + + + + + + + + +
        +
        +

        +

        File

        +

        +

        + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

        + + + + + + +
        +

        Index

        + + + + + + + + + + + + + + + + + + + + + +
        +
        Properties
        +
        +
          +
        • + Static + Readonly + Alt +
        • +
        • + Static + Readonly + CtrlCmd +
        • +
        • + Static + Readonly + Shift +
        • +
        • + Static + Readonly + WinCtrl +
        • +
        +
        +
        Methods
        +
        + +
        +
        + + +
        + +

        + Properties +

        + + + + + + + + + + + + + + +
        + + + Static + Readonly + Alt + + +
        + Type : number + +
        + +
        + + + + + + + + + + + + + + +
        + + + Static + Readonly + CtrlCmd + + +
        + Type : number + +
        + +
        + + + + + + + + + + + + + + +
        + + + Static + Readonly + Shift + + +
        + Type : number + +
        + +
        + + + + + + + + + + + + + + +
        + + + Static + Readonly + WinCtrl + + +
        + Type : number + +
        + +
        +
        + +
        + +

        + Methods +

        + + + + + + + + + + + + + + + + + + + +
        + + + Static + chord + + +
        + + chord(firstPart: number, secondPart: number) +
        + +
        + +
        + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        NameTypeOptional
        firstPart + number + + No +
        secondPart + number + + No +
        +
        +
        +
        +
        + Returns : number + +
        +
        + +
        +
        +
        + + + + + +
        + + +
        +
        declare let MonacoEnvironment: monaco.Environment | undefined;
        +
        +interface Window {
        +    MonacoEnvironment?: monaco.Environment | undefined;
        +}
        +
        +declare namespace monaco {
        +
        +    export type Thenable<T> = PromiseLike<T>;
        +
        +    export interface Environment {
        +        globalAPI?: boolean;
        +        baseUrl?: string;
        +        getWorker?(workerId: string, label: string): Worker;
        +        getWorkerUrl?(workerId: string, label: string): string;
        +    }
        +
        +    export interface IDisposable {
        +        dispose(): void;
        +    }
        +
        +    export interface IEvent<T> {
        +        (listener: (e: T) => any, thisArg?: any): IDisposable;
        +    }
        +
        +    /**
        +     * A helper that allows to emit and listen to typed events
        +     */
        +    export class Emitter<T> {
        +        constructor();
        +        readonly event: IEvent<T>;
        +        fire(event: T): void;
        +        dispose(): void;
        +    }
        +
        +
        +    export enum MarkerTag {
        +        Unnecessary = 1,
        +        Deprecated = 2
        +    }
        +
        +    export enum MarkerSeverity {
        +        Hint = 1,
        +        Info = 2,
        +        Warning = 4,
        +        Error = 8
        +    }
        +
        +    export class CancellationTokenSource {
        +        constructor(parent?: CancellationToken);
        +        get token(): CancellationToken;
        +        cancel(): void;
        +        dispose(cancel?: boolean): void;
        +    }
        +
        +    export interface CancellationToken {
        +        /**
        +         * A flag signalling is cancellation has been requested.
        +         */
        +        readonly isCancellationRequested: boolean;
        +        /**
        +         * An event which fires when cancellation is requested. This event
        +         * only ever fires `once` as cancellation can only happen once. Listeners
        +         * that are registered after cancellation will be called (next event loop run),
        +         * but also only once.
        +         *
        +         * @event
        +         */
        +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
        +    }
        +    /**
        +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
        +     * This class is a simple parser which creates the basic component parts
        +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
        +     * and encoding.
        +     *
        +     * ```txt
        +     *       foo://example.com:8042/over/there?name=ferret#nose
        +     *       \_/   \______________/\_________/ \_________/ \__/
        +     *        |           |            |            |        |
        +     *     scheme     authority       path        query   fragment
        +     *        |   _____________________|__
        +     *       / \ /                        \
        +     *       urn:example:animal:ferret:nose
        +     * ```
        +     */
        +    export class Uri implements UriComponents {
        +        static isUri(thing: any): thing is Uri;
        +        /**
        +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
        +         * The part before the first colon.
        +         */
        +        readonly scheme: string;
        +        /**
        +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
        +         * The part between the first double slashes and the next slash.
        +         */
        +        readonly authority: string;
        +        /**
        +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
        +         */
        +        readonly path: string;
        +        /**
        +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
        +         */
        +        readonly query: string;
        +        /**
        +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
        +         */
        +        readonly fragment: string;
        +        /**
        +         * Returns a string representing the corresponding file system path of this Uri.
        +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
        +         * platform specific path separator.
        +         *
        +         * * Will *not* validate the path for invalid characters and semantics.
        +         * * Will *not* look at the scheme of this Uri.
        +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
        +         *
        +         *
        +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
        +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
        +         *
        +         * ```ts
        +            const u = Uri.parse('file://server/c$/folder/file.txt')
        +            u.authority === 'server'
        +            u.path === '/shares/c$/file.txt'
        +            u.fsPath === '\\server\c$\folder\file.txt'
        +        ```
        +         *
        +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
        +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
        +         * with URIs that represent files on disk (`file` scheme).
        +         */
        +        get fsPath(): string;
        +        with(change: {
        +            scheme?: string;
        +            authority?: string | null;
        +            path?: string | null;
        +            query?: string | null;
        +            fragment?: string | null;
        +        }): Uri;
        +        /**
        +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
        +         * `file:///usr/home`, or `scheme:with/path`.
        +         *
        +         * @param value A string which represents an Uri (see `Uri#toString`).
        +         */
        +        static parse(value: string, _strict?: boolean): Uri;
        +        /**
        +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
        +         * `/usr/home`, or `\\server\share\some\path`.
        +         *
        +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
        +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
        +         * `Uri.parse('file://' + path)` because the path might contain characters that are
        +         * interpreted (# and ?). See the following sample:
        +         * ```ts
        +        const good = Uri.file('/coding/c#/project1');
        +        good.scheme === 'file';
        +        good.path === '/coding/c#/project1';
        +        good.fragment === '';
        +        const bad = Uri.parse('file://' + '/coding/c#/project1');
        +        bad.scheme === 'file';
        +        bad.path === '/coding/c'; // path is now broken
        +        bad.fragment === '/project1';
        +        ```
        +         *
        +         * @param path A file system path (see `Uri#fsPath`)
        +         */
        +        static file(path: string): Uri;
        +        static from(components: {
        +            scheme: string;
        +            authority?: string;
        +            path?: string;
        +            query?: string;
        +            fragment?: string;
        +        }): Uri;
        +        /**
        +         * Join a Uri path with path fragments and normalizes the resulting path.
        +         *
        +         * @param uri The input Uri.
        +         * @param pathFragment The path fragment to add to the Uri path.
        +         * @returns The resulting Uri.
        +         */
        +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
        +        /**
        +         * Creates a string representation for this Uri. It's guaranteed that calling
        +         * `Uri.parse` with the result of this function creates an Uri which is equal
        +         * to this Uri.
        +         *
        +         * * The result shall *not* be used for display purposes but for externalization or transport.
        +         * * The result will be encoded using the percentage encoding and encoding happens mostly
        +         * ignore the scheme-specific encoding rules.
        +         *
        +         * @param skipEncoding Do not encode the result, default is `false`
        +         */
        +        toString(skipEncoding?: boolean): string;
        +        toJSON(): UriComponents;
        +        static revive(data: UriComponents | Uri): Uri;
        +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
        +        static revive(data: UriComponents | Uri | null): Uri | null;
        +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
        +    }
        +
        +    export interface UriComponents {
        +        scheme: string;
        +        authority: string;
        +        path: string;
        +        query: string;
        +        fragment: string;
        +    }
        +    /**
        +     * Virtual Key Codes, the value does not hold any inherent meaning.
        +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
        +     * But these are "more general", as they should work across browsers & OS`s.
        +     */
        +    export enum KeyCode {
        +        DependsOnKbLayout = -1,
        +        /**
        +         * Placed first to cover the 0 value of the enum.
        +         */
        +        Unknown = 0,
        +        Backspace = 1,
        +        Tab = 2,
        +        Enter = 3,
        +        Shift = 4,
        +        Ctrl = 5,
        +        Alt = 6,
        +        PauseBreak = 7,
        +        CapsLock = 8,
        +        Escape = 9,
        +        Space = 10,
        +        PageUp = 11,
        +        PageDown = 12,
        +        End = 13,
        +        Home = 14,
        +        LeftArrow = 15,
        +        UpArrow = 16,
        +        RightArrow = 17,
        +        DownArrow = 18,
        +        Insert = 19,
        +        Delete = 20,
        +        Digit0 = 21,
        +        Digit1 = 22,
        +        Digit2 = 23,
        +        Digit3 = 24,
        +        Digit4 = 25,
        +        Digit5 = 26,
        +        Digit6 = 27,
        +        Digit7 = 28,
        +        Digit8 = 29,
        +        Digit9 = 30,
        +        KeyA = 31,
        +        KeyB = 32,
        +        KeyC = 33,
        +        KeyD = 34,
        +        KeyE = 35,
        +        KeyF = 36,
        +        KeyG = 37,
        +        KeyH = 38,
        +        KeyI = 39,
        +        KeyJ = 40,
        +        KeyK = 41,
        +        KeyL = 42,
        +        KeyM = 43,
        +        KeyN = 44,
        +        KeyO = 45,
        +        KeyP = 46,
        +        KeyQ = 47,
        +        KeyR = 48,
        +        KeyS = 49,
        +        KeyT = 50,
        +        KeyU = 51,
        +        KeyV = 52,
        +        KeyW = 53,
        +        KeyX = 54,
        +        KeyY = 55,
        +        KeyZ = 56,
        +        Meta = 57,
        +        ContextMenu = 58,
        +        F1 = 59,
        +        F2 = 60,
        +        F3 = 61,
        +        F4 = 62,
        +        F5 = 63,
        +        F6 = 64,
        +        F7 = 65,
        +        F8 = 66,
        +        F9 = 67,
        +        F10 = 68,
        +        F11 = 69,
        +        F12 = 70,
        +        F13 = 71,
        +        F14 = 72,
        +        F15 = 73,
        +        F16 = 74,
        +        F17 = 75,
        +        F18 = 76,
        +        F19 = 77,
        +        NumLock = 78,
        +        ScrollLock = 79,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the ';:' key
        +         */
        +        Semicolon = 80,
        +        /**
        +         * For any country/region, the '+' key
        +         * For the US standard keyboard, the '=+' key
        +         */
        +        Equal = 81,
        +        /**
        +         * For any country/region, the ',' key
        +         * For the US standard keyboard, the ',<' key
        +         */
        +        Comma = 82,
        +        /**
        +         * For any country/region, the '-' key
        +         * For the US standard keyboard, the '-_' key
        +         */
        +        Minus = 83,
        +        /**
        +         * For any country/region, the '.' key
        +         * For the US standard keyboard, the '.>' key
        +         */
        +        Period = 84,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the '/?' key
        +         */
        +        Slash = 85,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the '`~' key
        +         */
        +        Backquote = 86,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the '[{' key
        +         */
        +        BracketLeft = 87,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the '\|' key
        +         */
        +        Backslash = 88,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the ']}' key
        +         */
        +        BracketRight = 89,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         * For the US standard keyboard, the ''"' key
        +         */
        +        Quote = 90,
        +        /**
        +         * Used for miscellaneous characters; it can vary by keyboard.
        +         */
        +        OEM_8 = 91,
        +        /**
        +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
        +         */
        +        IntlBackslash = 92,
        +        Numpad0 = 93,
        +        Numpad1 = 94,
        +        Numpad2 = 95,
        +        Numpad3 = 96,
        +        Numpad4 = 97,
        +        Numpad5 = 98,
        +        Numpad6 = 99,
        +        Numpad7 = 100,
        +        Numpad8 = 101,
        +        Numpad9 = 102,
        +        NumpadMultiply = 103,
        +        NumpadAdd = 104,
        +        NUMPAD_SEPARATOR = 105,
        +        NumpadSubtract = 106,
        +        NumpadDecimal = 107,
        +        NumpadDivide = 108,
        +        /**
        +         * Cover all key codes when IME is processing input.
        +         */
        +        KEY_IN_COMPOSITION = 109,
        +        ABNT_C1 = 110,
        +        ABNT_C2 = 111,
        +        AudioVolumeMute = 112,
        +        AudioVolumeUp = 113,
        +        AudioVolumeDown = 114,
        +        BrowserSearch = 115,
        +        BrowserHome = 116,
        +        BrowserBack = 117,
        +        BrowserForward = 118,
        +        MediaTrackNext = 119,
        +        MediaTrackPrevious = 120,
        +        MediaStop = 121,
        +        MediaPlayPause = 122,
        +        LaunchMediaPlayer = 123,
        +        LaunchMail = 124,
        +        LaunchApp2 = 125,
        +        /**
        +         * Placed last to cover the length of the enum.
        +         * Please do not depend on this value!
        +         */
        +        MAX_VALUE = 126
        +    }
        +    export class KeyMod {
        +        static readonly CtrlCmd: number;
        +        static readonly Shift: number;
        +        static readonly Alt: number;
        +        static readonly WinCtrl: number;
        +        static chord(firstPart: number, secondPart: number): number;
        +    }
        +
        +    export interface IMarkdownString {
        +        readonly value: string;
        +        readonly isTrusted?: boolean;
        +        readonly supportThemeIcons?: boolean;
        +        readonly supportHtml?: boolean;
        +        uris?: {
        +            [href: string]: UriComponents;
        +        };
        +    }
        +
        +    export interface IKeyboardEvent {
        +        readonly _standardKeyboardEventBrand: true;
        +        readonly browserEvent: KeyboardEvent;
        +        readonly target: HTMLElement;
        +        readonly ctrlKey: boolean;
        +        readonly shiftKey: boolean;
        +        readonly altKey: boolean;
        +        readonly metaKey: boolean;
        +        readonly keyCode: KeyCode;
        +        readonly code: string;
        +        equals(keybinding: number): boolean;
        +        preventDefault(): void;
        +        stopPropagation(): void;
        +    }
        +    export interface IMouseEvent {
        +        readonly browserEvent: MouseEvent;
        +        readonly leftButton: boolean;
        +        readonly middleButton: boolean;
        +        readonly rightButton: boolean;
        +        readonly buttons: number;
        +        readonly target: HTMLElement;
        +        readonly detail: number;
        +        readonly posx: number;
        +        readonly posy: number;
        +        readonly ctrlKey: boolean;
        +        readonly shiftKey: boolean;
        +        readonly altKey: boolean;
        +        readonly metaKey: boolean;
        +        readonly timestamp: number;
        +        preventDefault(): void;
        +        stopPropagation(): void;
        +    }
        +
        +    export interface IScrollEvent {
        +        readonly scrollTop: number;
        +        readonly scrollLeft: number;
        +        readonly scrollWidth: number;
        +        readonly scrollHeight: number;
        +        readonly scrollTopChanged: boolean;
        +        readonly scrollLeftChanged: boolean;
        +        readonly scrollWidthChanged: boolean;
        +        readonly scrollHeightChanged: boolean;
        +    }
        +    /**
        +     * A position in the editor. This interface is suitable for serialization.
        +     */
        +    export interface IPosition {
        +        /**
        +         * line number (starts at 1)
        +         */
        +        readonly lineNumber: number;
        +        /**
        +         * column (the first character in a line is between column 1 and column 2)
        +         */
        +        readonly column: number;
        +    }
        +
        +    /**
        +     * A position in the editor.
        +     */
        +    export class Position {
        +        /**
        +         * line number (starts at 1)
        +         */
        +        readonly lineNumber: number;
        +        /**
        +         * column (the first character in a line is between column 1 and column 2)
        +         */
        +        readonly column: number;
        +        constructor(lineNumber: number, column: number);
        +        /**
        +         * Create a new position from this position.
        +         *
        +         * @param newLineNumber new line number
        +         * @param newColumn new column
        +         */
        +        with(newLineNumber?: number, newColumn?: number): Position;
        +        /**
        +         * Derive a new position from this position.
        +         *
        +         * @param deltaLineNumber line number delta
        +         * @param deltaColumn column delta
        +         */
        +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
        +        /**
        +         * Test if this position equals other position
        +         */
        +        equals(other: IPosition): boolean;
        +        /**
        +         * Test if position `a` equals position `b`
        +         */
        +        static equals(a: IPosition | null, b: IPosition | null): boolean;
        +        /**
        +         * Test if this position is before other position.
        +         * If the two positions are equal, the result will be false.
        +         */
        +        isBefore(other: IPosition): boolean;
        +        /**
        +         * Test if position `a` is before position `b`.
        +         * If the two positions are equal, the result will be false.
        +         */
        +        static isBefore(a: IPosition, b: IPosition): boolean;
        +        /**
        +         * Test if this position is before other position.
        +         * If the two positions are equal, the result will be true.
        +         */
        +        isBeforeOrEqual(other: IPosition): boolean;
        +        /**
        +         * Test if position `a` is before position `b`.
        +         * If the two positions are equal, the result will be true.
        +         */
        +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
        +        /**
        +         * A function that compares positions, useful for sorting
        +         */
        +        static compare(a: IPosition, b: IPosition): number;
        +        /**
        +         * Clone this position.
        +         */
        +        clone(): Position;
        +        /**
        +         * Convert to a human-readable representation.
        +         */
        +        toString(): string;
        +        /**
        +         * Create a `Position` from an `IPosition`.
        +         */
        +        static lift(pos: IPosition): Position;
        +        /**
        +         * Test if `obj` is an `IPosition`.
        +         */
        +        static isIPosition(obj: any): obj is IPosition;
        +    }
        +
        +    /**
        +     * A range in the editor. This interface is suitable for serialization.
        +     */
        +    export interface IRange {
        +        /**
        +         * Line number on which the range starts (starts at 1).
        +         */
        +        readonly startLineNumber: number;
        +        /**
        +         * Column on which the range starts in line `startLineNumber` (starts at 1).
        +         */
        +        readonly startColumn: number;
        +        /**
        +         * Line number on which the range ends.
        +         */
        +        readonly endLineNumber: number;
        +        /**
        +         * Column on which the range ends in line `endLineNumber`.
        +         */
        +        readonly endColumn: number;
        +    }
        +
        +    /**
        +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
        +     */
        +    export class Range {
        +        /**
        +         * Line number on which the range starts (starts at 1).
        +         */
        +        readonly startLineNumber: number;
        +        /**
        +         * Column on which the range starts in line `startLineNumber` (starts at 1).
        +         */
        +        readonly startColumn: number;
        +        /**
        +         * Line number on which the range ends.
        +         */
        +        readonly endLineNumber: number;
        +        /**
        +         * Column on which the range ends in line `endLineNumber`.
        +         */
        +        readonly endColumn: number;
        +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
        +        /**
        +         * Test if this range is empty.
        +         */
        +        isEmpty(): boolean;
        +        /**
        +         * Test if `range` is empty.
        +         */
        +        static isEmpty(range: IRange): boolean;
        +        /**
        +         * Test if position is in this range. If the position is at the edges, will return true.
        +         */
        +        containsPosition(position: IPosition): boolean;
        +        /**
        +         * Test if `position` is in `range`. If the position is at the edges, will return true.
        +         */
        +        static containsPosition(range: IRange, position: IPosition): boolean;
        +        /**
        +         * Test if range is in this range. If the range is equal to this range, will return true.
        +         */
        +        containsRange(range: IRange): boolean;
        +        /**
        +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
        +         */
        +        static containsRange(range: IRange, otherRange: IRange): boolean;
        +        /**
        +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
        +         */
        +        strictContainsRange(range: IRange): boolean;
        +        /**
        +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
        +         */
        +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
        +        /**
        +         * A reunion of the two ranges.
        +         * The smallest position will be used as the start point, and the largest one as the end point.
        +         */
        +        plusRange(range: IRange): Range;
        +        /**
        +         * A reunion of the two ranges.
        +         * The smallest position will be used as the start point, and the largest one as the end point.
        +         */
        +        static plusRange(a: IRange, b: IRange): Range;
        +        /**
        +         * A intersection of the two ranges.
        +         */
        +        intersectRanges(range: IRange): Range | null;
        +        /**
        +         * A intersection of the two ranges.
        +         */
        +        static intersectRanges(a: IRange, b: IRange): Range | null;
        +        /**
        +         * Test if this range equals other.
        +         */
        +        equalsRange(other: IRange | null): boolean;
        +        /**
        +         * Test if range `a` equals `b`.
        +         */
        +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
        +        /**
        +         * Return the end position (which will be after or equal to the start position)
        +         */
        +        getEndPosition(): Position;
        +        /**
        +         * Return the end position (which will be after or equal to the start position)
        +         */
        +        static getEndPosition(range: IRange): Position;
        +        /**
        +         * Return the start position (which will be before or equal to the end position)
        +         */
        +        getStartPosition(): Position;
        +        /**
        +         * Return the start position (which will be before or equal to the end position)
        +         */
        +        static getStartPosition(range: IRange): Position;
        +        /**
        +         * Transform to a user presentable string representation.
        +         */
        +        toString(): string;
        +        /**
        +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
        +         */
        +        setEndPosition(endLineNumber: number, endColumn: number): Range;
        +        /**
        +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
        +         */
        +        setStartPosition(startLineNumber: number, startColumn: number): Range;
        +        /**
        +         * Create a new empty range using this range's start position.
        +         */
        +        collapseToStart(): Range;
        +        /**
        +         * Create a new empty range using this range's start position.
        +         */
        +        static collapseToStart(range: IRange): Range;
        +        static fromPositions(start: IPosition, end?: IPosition): Range;
        +        /**
        +         * Create a `Range` from an `IRange`.
        +         */
        +        static lift(range: undefined | null): null;
        +        static lift(range: IRange): Range;
        +        /**
        +         * Test if `obj` is an `IRange`.
        +         */
        +        static isIRange(obj: any): obj is IRange;
        +        /**
        +         * Test if the two ranges are touching in any way.
        +         */
        +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
        +        /**
        +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
        +         */
        +        static areIntersecting(a: IRange, b: IRange): boolean;
        +        /**
        +         * A function that compares ranges, useful for sorting ranges
        +         * It will first compare ranges on the startPosition and then on the endPosition
        +         */
        +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
        +        /**
        +         * A function that compares ranges, useful for sorting ranges
        +         * It will first compare ranges on the endPosition and then on the startPosition
        +         */
        +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
        +        /**
        +         * Test if the range spans multiple lines.
        +         */
        +        static spansMultipleLines(range: IRange): boolean;
        +    }
        +
        +    /**
        +     * A selection in the editor.
        +     * The selection is a range that has an orientation.
        +     */
        +    export interface ISelection {
        +        /**
        +         * The line number on which the selection has started.
        +         */
        +        readonly selectionStartLineNumber: number;
        +        /**
        +         * The column on `selectionStartLineNumber` where the selection has started.
        +         */
        +        readonly selectionStartColumn: number;
        +        /**
        +         * The line number on which the selection has ended.
        +         */
        +        readonly positionLineNumber: number;
        +        /**
        +         * The column on `positionLineNumber` where the selection has ended.
        +         */
        +        readonly positionColumn: number;
        +    }
        +
        +    /**
        +     * A selection in the editor.
        +     * The selection is a range that has an orientation.
        +     */
        +    export class Selection extends Range {
        +        /**
        +         * The line number on which the selection has started.
        +         */
        +        readonly selectionStartLineNumber: number;
        +        /**
        +         * The column on `selectionStartLineNumber` where the selection has started.
        +         */
        +        readonly selectionStartColumn: number;
        +        /**
        +         * The line number on which the selection has ended.
        +         */
        +        readonly positionLineNumber: number;
        +        /**
        +         * The column on `positionLineNumber` where the selection has ended.
        +         */
        +        readonly positionColumn: number;
        +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
        +        /**
        +         * Transform to a human-readable representation.
        +         */
        +        toString(): string;
        +        /**
        +         * Test if equals other selection.
        +         */
        +        equalsSelection(other: ISelection): boolean;
        +        /**
        +         * Test if the two selections are equal.
        +         */
        +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
        +        /**
        +         * Get directions (LTR or RTL).
        +         */
        +        getDirection(): SelectionDirection;
        +        /**
        +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
        +         */
        +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
        +        /**
        +         * Get the position at `positionLineNumber` and `positionColumn`.
        +         */
        +        getPosition(): Position;
        +        /**
        +         * Get the position at the start of the selection.
        +        */
        +        getSelectionStart(): Position;
        +        /**
        +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
        +         */
        +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
        +        /**
        +         * Create a `Selection` from one or two positions
        +         */
        +        static fromPositions(start: IPosition, end?: IPosition): Selection;
        +        /**
        +         * Creates a `Selection` from a range, given a direction.
        +         */
        +        static fromRange(range: Range, direction: SelectionDirection): Selection;
        +        /**
        +         * Create a `Selection` from an `ISelection`.
        +         */
        +        static liftSelection(sel: ISelection): Selection;
        +        /**
        +         * `a` equals `b`.
        +         */
        +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
        +        /**
        +         * Test if `obj` is an `ISelection`.
        +         */
        +        static isISelection(obj: any): obj is ISelection;
        +        /**
        +         * Create with a direction.
        +         */
        +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
        +    }
        +
        +    /**
        +     * The direction of a selection.
        +     */
        +    export enum SelectionDirection {
        +        /**
        +         * The selection starts above where it ends.
        +         */
        +        LTR = 0,
        +        /**
        +         * The selection starts below where it ends.
        +         */
        +        RTL = 1
        +    }
        +
        +    export class Token {
        +        _tokenBrand: void;
        +        readonly offset: number;
        +        readonly type: string;
        +        readonly language: string;
        +        constructor(offset: number, type: string, language: string);
        +        toString(): string;
        +    }
        +}
        +
        +declare namespace monaco.editor {
        +
        +    export interface IDiffNavigator {
        +        canNavigate(): boolean;
        +        next(): void;
        +        previous(): void;
        +        dispose(): void;
        +    }
        +
        +    /**
        +     * Create a new editor under `domElement`.
        +     * `domElement` should be empty (not contain other dom nodes).
        +     * The editor will read the size of `domElement`.
        +     */
        +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
        +
        +    /**
        +     * Emitted when an editor is created.
        +     * Creating a diff editor might cause this listener to be invoked with the two editors.
        +     * @event
        +     */
        +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
        +
        +    /**
        +     * Create a new diff editor under `domElement`.
        +     * `domElement` should be empty (not contain other dom nodes).
        +     * The editor will read the size of `domElement`.
        +     */
        +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
        +
        +    export interface IDiffNavigatorOptions {
        +        readonly followsCaret?: boolean;
        +        readonly ignoreCharChanges?: boolean;
        +        readonly alwaysRevealFirst?: boolean;
        +    }
        +
        +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
        +
        +    /**
        +     * Create a new editor model.
        +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
        +     */
        +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
        +
        +    /**
        +     * Change the language for a model.
        +     */
        +    export function setModelLanguage(model: ITextModel, languageId: string): void;
        +
        +    /**
        +     * Set the markers for a model.
        +     */
        +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
        +
        +    /**
        +     * Get markers for owner and/or resource
        +     *
        +     * @returns list of markers
        +     */
        +    export function getModelMarkers(filter: {
        +        owner?: string;
        +        resource?: Uri;
        +        take?: number;
        +    }): IMarker[];
        +
        +    /**
        +     * Emitted when markers change for a model.
        +     * @event
        +     */
        +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
        +
        +    /**
        +     * Get the model that has `uri` if it exists.
        +     */
        +    export function getModel(uri: Uri): ITextModel | null;
        +
        +    /**
        +     * Get all the created models.
        +     */
        +    export function getModels(): ITextModel[];
        +
        +    /**
        +     * Emitted when a model is created.
        +     * @event
        +     */
        +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
        +
        +    /**
        +     * Emitted right before a model is disposed.
        +     * @event
        +     */
        +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
        +
        +    /**
        +     * Emitted when a different language is set to a model.
        +     * @event
        +     */
        +    export function onDidChangeModelLanguage(listener: (e: {
        +        readonly model: ITextModel;
        +        readonly oldLanguage: string;
        +    }) => void): IDisposable;
        +
        +    /**
        +     * Create a new web worker that has model syncing capabilities built in.
        +     * Specify an AMD module to load that will `create` an object that will be proxied.
        +     */
        +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
        +
        +    /**
        +     * Colorize the contents of `domNode` using attribute `data-lang`.
        +     */
        +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
        +
        +    /**
        +     * Colorize `text` using language `languageId`.
        +     */
        +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
        +
        +    /**
        +     * Colorize a line in a model.
        +     */
        +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
        +
        +    /**
        +     * Tokenize `text` using language `languageId`
        +     */
        +    export function tokenize(text: string, languageId: string): Token[][];
        +
        +    /**
        +     * Define a new theme or update an existing theme.
        +     */
        +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
        +
        +    /**
        +     * Switches to a theme.
        +     */
        +    export function setTheme(themeName: string): void;
        +
        +    /**
        +     * Clears all cached font measurements and triggers re-measurement.
        +     */
        +    export function remeasureFonts(): void;
        +
        +    /**
        +     * Register a command.
        +     */
        +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
        +
        +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
        +
        +    export interface IStandaloneThemeData {
        +        base: BuiltinTheme;
        +        inherit: boolean;
        +        rules: ITokenThemeRule[];
        +        encodedTokensColors?: string[];
        +        colors: IColors;
        +    }
        +
        +    export type IColors = {
        +        [colorId: string]: string;
        +    };
        +
        +    export interface ITokenThemeRule {
        +        token: string;
        +        foreground?: string;
        +        background?: string;
        +        fontStyle?: string;
        +    }
        +
        +    /**
        +     * A web worker that can provide a proxy to an arbitrary file.
        +     */
        +    export interface MonacoWebWorker<T> {
        +        /**
        +         * Terminate the web worker, thus invalidating the returned proxy.
        +         */
        +        dispose(): void;
        +        /**
        +         * Get a proxy to the arbitrary loaded code.
        +         */
        +        getProxy(): Promise<T>;
        +        /**
        +         * Synchronize (send) the models at `resources` to the web worker,
        +         * making them available in the monaco.worker.getMirrorModels().
        +         */
        +        withSyncedResources(resources: Uri[]): Promise<T>;
        +    }
        +
        +    export interface IWebWorkerOptions {
        +        /**
        +         * The AMD moduleId to load.
        +         * It should export a function `create` that should return the exported proxy.
        +         */
        +        moduleId: string;
        +        /**
        +         * The data to send over when calling create on the module.
        +         */
        +        createData?: any;
        +        /**
        +         * A label to be used to identify the web worker for debugging purposes.
        +         */
        +        label?: string;
        +        /**
        +         * An object that can be used by the web worker to make calls back to the main thread.
        +         */
        +        host?: any;
        +        /**
        +         * Keep idle models.
        +         * Defaults to false, which means that idle models will stop syncing after a while.
        +         */
        +        keepIdleModels?: boolean;
        +    }
        +
        +    /**
        +     * Description of an action contribution
        +     */
        +    export interface IActionDescriptor {
        +        /**
        +         * An unique identifier of the contributed action.
        +         */
        +        id: string;
        +        /**
        +         * A label of the action that will be presented to the user.
        +         */
        +        label: string;
        +        /**
        +         * Precondition rule.
        +         */
        +        precondition?: string;
        +        /**
        +         * An array of keybindings for the action.
        +         */
        +        keybindings?: number[];
        +        /**
        +         * The keybinding rule (condition on top of precondition).
        +         */
        +        keybindingContext?: string;
        +        /**
        +         * Control if the action should show up in the context menu and where.
        +         * The context menu of the editor has these default:
        +         *   navigation - The navigation group comes first in all cases.
        +         *   1_modification - This group comes next and contains commands that modify your code.
        +         *   9_cutcopypaste - The last default group with the basic editing commands.
        +         * You can also create your own group.
        +         * Defaults to null (don't show in context menu).
        +         */
        +        contextMenuGroupId?: string;
        +        /**
        +         * Control the order in the context menu group.
        +         */
        +        contextMenuOrder?: number;
        +        /**
        +         * Method that will be executed when the action is triggered.
        +         * @param editor The editor instance is passed in as a convenience
        +         */
        +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
        +    }
        +
        +    /**
        +     * Options which apply for all editors.
        +     */
        +    export interface IGlobalEditorOptions {
        +        /**
        +         * The number of spaces a tab is equal to.
        +         * This setting is overridden based on the file contents when `detectIndentation` is on.
        +         * Defaults to 4.
        +         */
        +        tabSize?: number;
        +        /**
        +         * Insert spaces when pressing `Tab`.
        +         * This setting is overridden based on the file contents when `detectIndentation` is on.
        +         * Defaults to true.
        +         */
        +        insertSpaces?: boolean;
        +        /**
        +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
        +         * Defaults to true.
        +         */
        +        detectIndentation?: boolean;
        +        /**
        +         * Remove trailing auto inserted whitespace.
        +         * Defaults to true.
        +         */
        +        trimAutoWhitespace?: boolean;
        +        /**
        +         * Special handling for large files to disable certain memory intensive features.
        +         * Defaults to true.
        +         */
        +        largeFileOptimizations?: boolean;
        +        /**
        +         * Controls whether completions should be computed based on words in the document.
        +         * Defaults to true.
        +         */
        +        wordBasedSuggestions?: boolean;
        +        /**
        +         * Controls whether word based completions should be included from opened documents of the same language or any language.
        +         */
        +        wordBasedSuggestionsOnlySameLanguage?: boolean;
        +        /**
        +         * Controls whether the semanticHighlighting is shown for the languages that support it.
        +         * true: semanticHighlighting is enabled for all themes
        +         * false: semanticHighlighting is disabled for all themes
        +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
        +         * Defaults to 'byTheme'.
        +         */
        +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
        +        /**
        +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
        +         * Defaults to false.
        +         */
        +        stablePeek?: boolean;
        +        /**
        +         * Lines above this length will not be tokenized for performance reasons.
        +         * Defaults to 20000.
        +         */
        +        maxTokenizationLineLength?: number;
        +        /**
        +         * Theme to be used for rendering.
        +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
        +         * You can create custom themes via `monaco.editor.defineTheme`.
        +         * To switch a theme, use `monaco.editor.setTheme`.
        +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
        +         */
        +        theme?: string;
        +        /**
        +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
        +         * Defaults to true.
        +         */
        +        autoDetectHighContrast?: boolean;
        +    }
        +
        +    /**
        +     * The options to create an editor.
        +     */
        +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
        +        /**
        +         * The initial model associated with this code editor.
        +         */
        +        model?: ITextModel | null;
        +        /**
        +         * The initial value of the auto created model in the editor.
        +         * To not automatically create a model, use `model: null`.
        +         */
        +        value?: string;
        +        /**
        +         * The initial language of the auto created model in the editor.
        +         * To not automatically create a model, use `model: null`.
        +         */
        +        language?: string;
        +        /**
        +         * Initial theme to be used for rendering.
        +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
        +         * You can create custom themes via `monaco.editor.defineTheme`.
        +         * To switch a theme, use `monaco.editor.setTheme`.
        +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
        +         */
        +        theme?: string;
        +        /**
        +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
        +         * Defaults to true.
        +         */
        +        autoDetectHighContrast?: boolean;
        +        /**
        +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
        +         * the accessibility help dialog in the editor.
        +         *
        +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
        +         */
        +        accessibilityHelpUrl?: string;
        +        /**
        +         * Container element to use for ARIA messages.
        +         * Defaults to document.body.
        +         */
        +        ariaContainerElement?: HTMLElement;
        +    }
        +
        +    /**
        +     * The options to create a diff editor.
        +     */
        +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
        +        /**
        +         * Initial theme to be used for rendering.
        +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
        +         * You can create custom themes via `monaco.editor.defineTheme`.
        +         * To switch a theme, use `monaco.editor.setTheme`.
        +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
        +         */
        +        theme?: string;
        +        /**
        +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
        +         * Defaults to true.
        +         */
        +        autoDetectHighContrast?: boolean;
        +    }
        +
        +    export interface IStandaloneCodeEditor extends ICodeEditor {
        +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
        +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
        +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
        +        addAction(descriptor: IActionDescriptor): IDisposable;
        +    }
        +
        +    export interface IStandaloneDiffEditor extends IDiffEditor {
        +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
        +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
        +        addAction(descriptor: IActionDescriptor): IDisposable;
        +        getOriginalEditor(): IStandaloneCodeEditor;
        +        getModifiedEditor(): IStandaloneCodeEditor;
        +    }
        +    export interface ICommandHandler {
        +        (...args: any[]): void;
        +    }
        +
        +    export interface IContextKey<T> {
        +        set(value: T): void;
        +        reset(): void;
        +        get(): T | undefined;
        +    }
        +
        +    export interface IEditorOverrideServices {
        +        [index: string]: any;
        +    }
        +
        +    export interface IMarker {
        +        owner: string;
        +        resource: Uri;
        +        severity: MarkerSeverity;
        +        code?: string | {
        +            value: string;
        +            target: Uri;
        +        };
        +        message: string;
        +        source?: string;
        +        startLineNumber: number;
        +        startColumn: number;
        +        endLineNumber: number;
        +        endColumn: number;
        +        relatedInformation?: IRelatedInformation[];
        +        tags?: MarkerTag[];
        +    }
        +
        +    /**
        +     * A structure defining a problem/warning/etc.
        +     */
        +    export interface IMarkerData {
        +        code?: string | {
        +            value: string;
        +            target: Uri;
        +        };
        +        severity: MarkerSeverity;
        +        message: string;
        +        source?: string;
        +        startLineNumber: number;
        +        startColumn: number;
        +        endLineNumber: number;
        +        endColumn: number;
        +        relatedInformation?: IRelatedInformation[];
        +        tags?: MarkerTag[];
        +    }
        +
        +    /**
        +     *
        +     */
        +    export interface IRelatedInformation {
        +        resource: Uri;
        +        message: string;
        +        startLineNumber: number;
        +        startColumn: number;
        +        endLineNumber: number;
        +        endColumn: number;
        +    }
        +
        +    export interface IColorizerOptions {
        +        tabSize?: number;
        +    }
        +
        +    export interface IColorizerElementOptions extends IColorizerOptions {
        +        theme?: string;
        +        mimeType?: string;
        +    }
        +
        +    export enum ScrollbarVisibility {
        +        Auto = 1,
        +        Hidden = 2,
        +        Visible = 3
        +    }
        +
        +    export interface ThemeColor {
        +        id: string;
        +    }
        +
        +    /**
        +     * Vertical Lane in the overview ruler of the editor.
        +     */
        +    export enum OverviewRulerLane {
        +        Left = 1,
        +        Center = 2,
        +        Right = 4,
        +        Full = 7
        +    }
        +
        +    /**
        +     * Position in the minimap to render the decoration.
        +     */
        +    export enum MinimapPosition {
        +        Inline = 1,
        +        Gutter = 2
        +    }
        +
        +    export interface IDecorationOptions {
        +        /**
        +         * CSS color to render.
        +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
        +         */
        +        color: string | ThemeColor | undefined;
        +        /**
        +         * CSS color to render.
        +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
        +         */
        +        darkColor?: string | ThemeColor;
        +    }
        +
        +    /**
        +     * Options for rendering a model decoration in the overview ruler.
        +     */
        +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
        +        /**
        +         * The position in the overview ruler.
        +         */
        +        position: OverviewRulerLane;
        +    }
        +
        +    /**
        +     * Options for rendering a model decoration in the overview ruler.
        +     */
        +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
        +        /**
        +         * The position in the overview ruler.
        +         */
        +        position: MinimapPosition;
        +    }
        +
        +    /**
        +     * Options for a model decoration.
        +     */
        +    export interface IModelDecorationOptions {
        +        /**
        +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
        +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
        +         */
        +        stickiness?: TrackedRangeStickiness;
        +        /**
        +         * CSS class name describing the decoration.
        +         */
        +        className?: string | null;
        +        /**
        +         * Message to be rendered when hovering over the glyph margin decoration.
        +         */
        +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
        +        /**
        +         * Array of MarkdownString to render as the decoration message.
        +         */
        +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
        +        /**
        +         * Should the decoration expand to encompass a whole line.
        +         */
        +        isWholeLine?: boolean;
        +        /**
        +         * Specifies the stack order of a decoration.
        +         * A decoration with greater stack order is always in front of a decoration with
        +         * a lower stack order when the decorations are on the same line.
        +         */
        +        zIndex?: number;
        +        /**
        +         * If set, render this decoration in the overview ruler.
        +         */
        +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
        +        /**
        +         * If set, render this decoration in the minimap.
        +         */
        +        minimap?: IModelDecorationMinimapOptions | null;
        +        /**
        +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
        +         */
        +        glyphMarginClassName?: string | null;
        +        /**
        +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
        +         */
        +        linesDecorationsClassName?: string | null;
        +        /**
        +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
        +         */
        +        firstLineDecorationClassName?: string | null;
        +        /**
        +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
        +         */
        +        marginClassName?: string | null;
        +        /**
        +         * If set, the decoration will be rendered inline with the text with this CSS class name.
        +         * Please use this only for CSS rules that must impact the text. For example, use `className`
        +         * to have a background color decoration.
        +         */
        +        inlineClassName?: string | null;
        +        /**
        +         * If there is an `inlineClassName` which affects letter spacing.
        +         */
        +        inlineClassNameAffectsLetterSpacing?: boolean;
        +        /**
        +         * If set, the decoration will be rendered before the text with this CSS class name.
        +         */
        +        beforeContentClassName?: string | null;
        +        /**
        +         * If set, the decoration will be rendered after the text with this CSS class name.
        +         */
        +        afterContentClassName?: string | null;
        +        /**
        +         * If set, text will be injected in the view after the range.
        +         */
        +        after?: InjectedTextOptions | null;
        +        /**
        +         * If set, text will be injected in the view before the range.
        +         */
        +        before?: InjectedTextOptions | null;
        +    }
        +
        +    /**
        +     * Configures text that is injected into the view without changing the underlying document.
        +    */
        +    export interface InjectedTextOptions {
        +        /**
        +         * Sets the text to inject. Must be a single line.
        +         */
        +        readonly content: string;
        +        /**
        +         * If set, the decoration will be rendered inline with the text with this CSS class name.
        +         */
        +        readonly inlineClassName?: string | null;
        +        /**
        +         * If there is an `inlineClassName` which affects letter spacing.
        +         */
        +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
        +    }
        +
        +    /**
        +     * New model decorations.
        +     */
        +    export interface IModelDeltaDecoration {
        +        /**
        +         * Range that this decoration covers.
        +         */
        +        range: IRange;
        +        /**
        +         * Options associated with this decoration.
        +         */
        +        options: IModelDecorationOptions;
        +    }
        +
        +    /**
        +     * A decoration in the model.
        +     */
        +    export interface IModelDecoration {
        +        /**
        +         * Identifier for a decoration.
        +         */
        +        readonly id: string;
        +        /**
        +         * Identifier for a decoration's owner.
        +         */
        +        readonly ownerId: number;
        +        /**
        +         * Range that this decoration covers.
        +         */
        +        readonly range: Range;
        +        /**
        +         * Options associated with this decoration.
        +         */
        +        readonly options: IModelDecorationOptions;
        +    }
        +
        +    /**
        +     * Word inside a model.
        +     */
        +    export interface IWordAtPosition {
        +        /**
        +         * The word.
        +         */
        +        readonly word: string;
        +        /**
        +         * The column where the word starts.
        +         */
        +        readonly startColumn: number;
        +        /**
        +         * The column where the word ends.
        +         */
        +        readonly endColumn: number;
        +    }
        +
        +    /**
        +     * End of line character preference.
        +     */
        +    export enum EndOfLinePreference {
        +        /**
        +         * Use the end of line character identified in the text buffer.
        +         */
        +        TextDefined = 0,
        +        /**
        +         * Use line feed (\n) as the end of line character.
        +         */
        +        LF = 1,
        +        /**
        +         * Use carriage return and line feed (\r\n) as the end of line character.
        +         */
        +        CRLF = 2
        +    }
        +
        +    /**
        +     * The default end of line to use when instantiating models.
        +     */
        +    export enum DefaultEndOfLine {
        +        /**
        +         * Use line feed (\n) as the end of line character.
        +         */
        +        LF = 1,
        +        /**
        +         * Use carriage return and line feed (\r\n) as the end of line character.
        +         */
        +        CRLF = 2
        +    }
        +
        +    /**
        +     * End of line character preference.
        +     */
        +    export enum EndOfLineSequence {
        +        /**
        +         * Use line feed (\n) as the end of line character.
        +         */
        +        LF = 0,
        +        /**
        +         * Use carriage return and line feed (\r\n) as the end of line character.
        +         */
        +        CRLF = 1
        +    }
        +
        +    /**
        +     * A single edit operation, that acts as a simple replace.
        +     * i.e. Replace text at `range` with `text` in model.
        +     */
        +    export interface ISingleEditOperation {
        +        /**
        +         * The range to replace. This can be empty to emulate a simple insert.
        +         */
        +        range: IRange;
        +        /**
        +         * The text to replace with. This can be null to emulate a simple delete.
        +         */
        +        text: string | null;
        +        /**
        +         * This indicates that this operation has "insert" semantics.
        +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
        +         */
        +        forceMoveMarkers?: boolean;
        +    }
        +
        +    /**
        +     * A single edit operation, that has an identifier.
        +     */
        +    export interface IIdentifiedSingleEditOperation {
        +        /**
        +         * The range to replace. This can be empty to emulate a simple insert.
        +         */
        +        range: IRange;
        +        /**
        +         * The text to replace with. This can be null to emulate a simple delete.
        +         */
        +        text: string | null;
        +        /**
        +         * This indicates that this operation has "insert" semantics.
        +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
        +         */
        +        forceMoveMarkers?: boolean;
        +    }
        +
        +    export interface IValidEditOperation {
        +        /**
        +         * The range to replace. This can be empty to emulate a simple insert.
        +         */
        +        range: Range;
        +        /**
        +         * The text to replace with. This can be empty to emulate a simple delete.
        +         */
        +        text: string;
        +    }
        +
        +    /**
        +     * A callback that can compute the cursor state after applying a series of edit operations.
        +     */
        +    export interface ICursorStateComputer {
        +        /**
        +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
        +         */
        +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
        +    }
        +
        +    export class TextModelResolvedOptions {
        +        _textModelResolvedOptionsBrand: void;
        +        readonly tabSize: number;
        +        readonly indentSize: number;
        +        readonly insertSpaces: boolean;
        +        readonly defaultEOL: DefaultEndOfLine;
        +        readonly trimAutoWhitespace: boolean;
        +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
        +    }
        +
        +    export interface BracketPairColorizationOptions {
        +        enabled: boolean;
        +    }
        +
        +    export interface ITextModelUpdateOptions {
        +        tabSize?: number;
        +        indentSize?: number;
        +        insertSpaces?: boolean;
        +        trimAutoWhitespace?: boolean;
        +        bracketColorizationOptions?: BracketPairColorizationOptions;
        +    }
        +
        +    export class FindMatch {
        +        _findMatchBrand: void;
        +        readonly range: Range;
        +        readonly matches: string[] | null;
        +    }
        +
        +    /**
        +     * Describes the behavior of decorations when typing/editing near their edges.
        +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
        +     */
        +    export enum TrackedRangeStickiness {
        +        AlwaysGrowsWhenTypingAtEdges = 0,
        +        NeverGrowsWhenTypingAtEdges = 1,
        +        GrowsOnlyWhenTypingBefore = 2,
        +        GrowsOnlyWhenTypingAfter = 3
        +    }
        +
        +    /**
        +     * A model.
        +     */
        +    export interface ITextModel {
        +        /**
        +         * Gets the resource associated with this editor model.
        +         */
        +        readonly uri: Uri;
        +        /**
        +         * A unique identifier associated with this model.
        +         */
        +        readonly id: string;
        +        /**
        +         * Get the resolved options for this model.
        +         */
        +        getOptions(): TextModelResolvedOptions;
        +        /**
        +         * Get the current version id of the model.
        +         * Anytime a change happens to the model (even undo/redo),
        +         * the version id is incremented.
        +         */
        +        getVersionId(): number;
        +        /**
        +         * Get the alternative version id of the model.
        +         * This alternative version id is not always incremented,
        +         * it will return the same values in the case of undo-redo.
        +         */
        +        getAlternativeVersionId(): number;
        +        /**
        +         * Replace the entire text buffer value contained in this model.
        +         */
        +        setValue(newValue: string): void;
        +        /**
        +         * Get the text stored in this model.
        +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
        +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
        +         * @return The text.
        +         */
        +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
        +        /**
        +         * Get the length of the text stored in this model.
        +         */
        +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
        +        /**
        +         * Get the text in a certain range.
        +         * @param range The range describing what text to get.
        +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
        +         * @return The text.
        +         */
        +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
        +        /**
        +         * Get the length of text in a certain range.
        +         * @param range The range describing what text length to get.
        +         * @return The text length.
        +         */
        +        getValueLengthInRange(range: IRange): number;
        +        /**
        +         * Get the character count of text in a certain range.
        +         * @param range The range describing what text length to get.
        +         */
        +        getCharacterCountInRange(range: IRange): number;
        +        /**
        +         * Get the number of lines in the model.
        +         */
        +        getLineCount(): number;
        +        /**
        +         * Get the text for a certain line.
        +         */
        +        getLineContent(lineNumber: number): string;
        +        /**
        +         * Get the text length for a certain line.
        +         */
        +        getLineLength(lineNumber: number): number;
        +        /**
        +         * Get the text for all lines.
        +         */
        +        getLinesContent(): string[];
        +        /**
        +         * Get the end of line sequence predominantly used in the text buffer.
        +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
        +         */
        +        getEOL(): string;
        +        /**
        +         * Get the end of line sequence predominantly used in the text buffer.
        +         */
        +        getEndOfLineSequence(): EndOfLineSequence;
        +        /**
        +         * Get the minimum legal column for line at `lineNumber`
        +         */
        +        getLineMinColumn(lineNumber: number): number;
        +        /**
        +         * Get the maximum legal column for line at `lineNumber`
        +         */
        +        getLineMaxColumn(lineNumber: number): number;
        +        /**
        +         * Returns the column before the first non whitespace character for line at `lineNumber`.
        +         * Returns 0 if line is empty or contains only whitespace.
        +         */
        +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
        +        /**
        +         * Returns the column after the last non whitespace character for line at `lineNumber`.
        +         * Returns 0 if line is empty or contains only whitespace.
        +         */
        +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
        +        /**
        +         * Create a valid position.
        +         */
        +        validatePosition(position: IPosition): Position;
        +        /**
        +         * Advances the given position by the given offset (negative offsets are also accepted)
        +         * and returns it as a new valid position.
        +         *
        +         * If the offset and position are such that their combination goes beyond the beginning or
        +         * end of the model, throws an exception.
        +         *
        +         * If the offset is such that the new position would be in the middle of a multi-byte
        +         * line terminator, throws an exception.
        +         */
        +        modifyPosition(position: IPosition, offset: number): Position;
        +        /**
        +         * Create a valid range.
        +         */
        +        validateRange(range: IRange): Range;
        +        /**
        +         * Converts the position to a zero-based offset.
        +         *
        +         * The position will be [adjusted](#TextDocument.validatePosition).
        +         *
        +         * @param position A position.
        +         * @return A valid zero-based offset.
        +         */
        +        getOffsetAt(position: IPosition): number;
        +        /**
        +         * Converts a zero-based offset to a position.
        +         *
        +         * @param offset A zero-based offset.
        +         * @return A valid [position](#Position).
        +         */
        +        getPositionAt(offset: number): Position;
        +        /**
        +         * Get a range covering the entire model.
        +         */
        +        getFullModelRange(): Range;
        +        /**
        +         * Returns if the model was disposed or not.
        +         */
        +        isDisposed(): boolean;
        +        /**
        +         * Search the model.
        +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
        +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
        +         * @param isRegex Used to indicate that `searchString` is a regular expression.
        +         * @param matchCase Force the matching to match lower/upper case exactly.
        +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
        +         * @param captureMatches The result will contain the captured groups.
        +         * @param limitResultCount Limit the number of results
        +         * @return The ranges where the matches are. It is empty if not matches have been found.
        +         */
        +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
        +        /**
        +         * Search the model.
        +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
        +         * @param searchScope Limit the searching to only search inside these ranges.
        +         * @param isRegex Used to indicate that `searchString` is a regular expression.
        +         * @param matchCase Force the matching to match lower/upper case exactly.
        +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
        +         * @param captureMatches The result will contain the captured groups.
        +         * @param limitResultCount Limit the number of results
        +         * @return The ranges where the matches are. It is empty if no matches have been found.
        +         */
        +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
        +        /**
        +         * Search the model for the next match. Loops to the beginning of the model if needed.
        +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
        +         * @param searchStart Start the searching at the specified position.
        +         * @param isRegex Used to indicate that `searchString` is a regular expression.
        +         * @param matchCase Force the matching to match lower/upper case exactly.
        +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
        +         * @param captureMatches The result will contain the captured groups.
        +         * @return The range where the next match is. It is null if no next match has been found.
        +         */
        +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
        +        /**
        +         * Search the model for the previous match. Loops to the end of the model if needed.
        +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
        +         * @param searchStart Start the searching at the specified position.
        +         * @param isRegex Used to indicate that `searchString` is a regular expression.
        +         * @param matchCase Force the matching to match lower/upper case exactly.
        +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
        +         * @param captureMatches The result will contain the captured groups.
        +         * @return The range where the previous match is. It is null if no previous match has been found.
        +         */
        +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
        +        /**
        +         * Get the language associated with this model.
        +         */
        +        getLanguageId(): string;
        +        /**
        +         * Get the word under or besides `position`.
        +         * @param position The position to look for a word.
        +         * @return The word under or besides `position`. Might be null.
        +         */
        +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
        +        /**
        +         * Get the word under or besides `position` trimmed to `position`.column
        +         * @param position The position to look for a word.
        +         * @return The word under or besides `position`. Will never be null.
        +         */
        +        getWordUntilPosition(position: IPosition): IWordAtPosition;
        +        /**
        +         * Perform a minimum amount of operations, in order to transform the decorations
        +         * identified by `oldDecorations` to the decorations described by `newDecorations`
        +         * and returns the new identifiers associated with the resulting decorations.
        +         *
        +         * @param oldDecorations Array containing previous decorations identifiers.
        +         * @param newDecorations Array describing what decorations should result after the call.
        +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
        +         * @return An array containing the new decorations identifiers.
        +         */
        +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
        +        /**
        +         * Get the options associated with a decoration.
        +         * @param id The decoration id.
        +         * @return The decoration options or null if the decoration was not found.
        +         */
        +        getDecorationOptions(id: string): IModelDecorationOptions | null;
        +        /**
        +         * Get the range associated with a decoration.
        +         * @param id The decoration id.
        +         * @return The decoration range or null if the decoration was not found.
        +         */
        +        getDecorationRange(id: string): Range | null;
        +        /**
        +         * Gets all the decorations for the line `lineNumber` as an array.
        +         * @param lineNumber The line number
        +         * @param ownerId If set, it will ignore decorations belonging to other owners.
        +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
        +         * @return An array with the decorations
        +         */
        +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
        +        /**
        +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
        +         * @param startLineNumber The start line number
        +         * @param endLineNumber The end line number
        +         * @param ownerId If set, it will ignore decorations belonging to other owners.
        +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
        +         * @return An array with the decorations
        +         */
        +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
        +        /**
        +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
        +         * So for now it returns all the decorations on the same line as `range`.
        +         * @param range The range to search in
        +         * @param ownerId If set, it will ignore decorations belonging to other owners.
        +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
        +         * @return An array with the decorations
        +         */
        +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
        +        /**
        +         * Gets all the decorations as an array.
        +         * @param ownerId If set, it will ignore decorations belonging to other owners.
        +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
        +         */
        +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
        +        /**
        +         * Gets all the decorations that should be rendered in the overview ruler as an array.
        +         * @param ownerId If set, it will ignore decorations belonging to other owners.
        +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
        +         */
        +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
        +        /**
        +         * Gets all the decorations that contain injected text.
        +         * @param ownerId If set, it will ignore decorations belonging to other owners.
        +         */
        +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
        +        /**
        +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
        +         */
        +        normalizeIndentation(str: string): string;
        +        /**
        +         * Change the options of this model.
        +         */
        +        updateOptions(newOpts: ITextModelUpdateOptions): void;
        +        /**
        +         * Detect the indentation options for this model from its content.
        +         */
        +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
        +        /**
        +         * Close the current undo-redo element.
        +         * This offers a way to create an undo/redo stop point.
        +         */
        +        pushStackElement(): void;
        +        /**
        +         * Open the current undo-redo element.
        +         * This offers a way to remove the current undo/redo stop point.
        +         */
        +        popStackElement(): void;
        +        /**
        +         * Push edit operations, basically editing the model. This is the preferred way
        +         * of editing the model. The edit operations will land on the undo stack.
        +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
        +         * @param editOperations The edit operations.
        +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
        +         * @return The cursor state returned by the `cursorStateComputer`.
        +         */
        +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
        +        /**
        +         * Change the end of line sequence. This is the preferred way of
        +         * changing the eol sequence. This will land on the undo stack.
        +         */
        +        pushEOL(eol: EndOfLineSequence): void;
        +        /**
        +         * Edit the model without adding the edits to the undo stack.
        +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
        +         * @param operations The edit operations.
        +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
        +         */
        +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
        +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
        +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
        +        /**
        +         * Change the end of line sequence without recording in the undo stack.
        +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
        +         */
        +        setEOL(eol: EndOfLineSequence): void;
        +        /**
        +         * An event emitted when the contents of the model have changed.
        +         * @event
        +         */
        +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
        +        /**
        +         * An event emitted when decorations of the model have changed.
        +         * @event
        +         */
        +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
        +        /**
        +         * An event emitted when the model options have changed.
        +         * @event
        +         */
        +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
        +        /**
        +         * An event emitted when the language associated with the model has changed.
        +         * @event
        +         */
        +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
        +        /**
        +         * An event emitted when the language configuration associated with the model has changed.
        +         * @event
        +         */
        +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
        +        /**
        +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
        +         * @event
        +         */
        +        onDidChangeAttached(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted right before disposing the model.
        +         * @event
        +         */
        +        onWillDispose(listener: () => void): IDisposable;
        +        /**
        +         * Destroy this model.
        +         */
        +        dispose(): void;
        +        /**
        +         * Returns if this model is attached to an editor or not.
        +         */
        +        isAttachedToEditor(): boolean;
        +    }
        +
        +    /**
        +     * A builder and helper for edit operations for a command.
        +     */
        +    export interface IEditOperationBuilder {
        +        /**
        +         * Add a new edit operation (a replace operation).
        +         * @param range The range to replace (delete). May be empty to represent a simple insert.
        +         * @param text The text to replace with. May be null to represent a simple delete.
        +         */
        +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
        +        /**
        +         * Add a new edit operation (a replace operation).
        +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
        +         * @param range The range to replace (delete). May be empty to represent a simple insert.
        +         * @param text The text to replace with. May be null to represent a simple delete.
        +         */
        +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
        +        /**
        +         * Track `selection` when applying edit operations.
        +         * A best effort will be made to not grow/expand the selection.
        +         * An empty selection will clamp to a nearby character.
        +         * @param selection The selection to track.
        +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
        +         *           should clamp to the previous or the next character.
        +         * @return A unique identifier.
        +         */
        +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
        +    }
        +
        +    /**
        +     * A helper for computing cursor state after a command.
        +     */
        +    export interface ICursorStateComputerData {
        +        /**
        +         * Get the inverse edit operations of the added edit operations.
        +         */
        +        getInverseEditOperations(): IValidEditOperation[];
        +        /**
        +         * Get a previously tracked selection.
        +         * @param id The unique identifier returned by `trackSelection`.
        +         * @return The selection.
        +         */
        +        getTrackedSelection(id: string): Selection;
        +    }
        +
        +    /**
        +     * A command that modifies text / cursor state on a model.
        +     */
        +    export interface ICommand {
        +        /**
        +         * Get the edit operations needed to execute this command.
        +         * @param model The model the command will execute on.
        +         * @param builder A helper to collect the needed edit operations and to track selections.
        +         */
        +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
        +        /**
        +         * Compute the cursor state after the edit operations were applied.
        +         * @param model The model the command has executed on.
        +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
        +         * @return The cursor state after the command executed.
        +         */
        +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
        +    }
        +
        +    /**
        +     * A model for the diff editor.
        +     */
        +    export interface IDiffEditorModel {
        +        /**
        +         * Original model.
        +         */
        +        original: ITextModel;
        +        /**
        +         * Modified model.
        +         */
        +        modified: ITextModel;
        +    }
        +
        +    /**
        +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
        +     */
        +    export interface IModelChangedEvent {
        +        /**
        +         * The `uri` of the previous model or null.
        +         */
        +        readonly oldModelUrl: Uri | null;
        +        /**
        +         * The `uri` of the new model or null.
        +         */
        +        readonly newModelUrl: Uri | null;
        +    }
        +
        +    export interface IDimension {
        +        width: number;
        +        height: number;
        +    }
        +
        +    /**
        +     * A change
        +     */
        +    export interface IChange {
        +        readonly originalStartLineNumber: number;
        +        readonly originalEndLineNumber: number;
        +        readonly modifiedStartLineNumber: number;
        +        readonly modifiedEndLineNumber: number;
        +    }
        +
        +    /**
        +     * A character level change.
        +     */
        +    export interface ICharChange extends IChange {
        +        readonly originalStartColumn: number;
        +        readonly originalEndColumn: number;
        +        readonly modifiedStartColumn: number;
        +        readonly modifiedEndColumn: number;
        +    }
        +
        +    /**
        +     * A line change
        +     */
        +    export interface ILineChange extends IChange {
        +        readonly charChanges: ICharChange[] | undefined;
        +    }
        +
        +    export interface IContentSizeChangedEvent {
        +        readonly contentWidth: number;
        +        readonly contentHeight: number;
        +        readonly contentWidthChanged: boolean;
        +        readonly contentHeightChanged: boolean;
        +    }
        +
        +    export interface INewScrollPosition {
        +        scrollLeft?: number;
        +        scrollTop?: number;
        +    }
        +
        +    export interface IEditorAction {
        +        readonly id: string;
        +        readonly label: string;
        +        readonly alias: string;
        +        isSupported(): boolean;
        +        run(): Promise<void>;
        +    }
        +
        +    export type IEditorModel = ITextModel | IDiffEditorModel;
        +
        +    /**
        +     * A (serializable) state of the cursors.
        +     */
        +    export interface ICursorState {
        +        inSelectionMode: boolean;
        +        selectionStart: IPosition;
        +        position: IPosition;
        +    }
        +
        +    /**
        +     * A (serializable) state of the view.
        +     */
        +    export interface IViewState {
        +        /** written by previous versions */
        +        scrollTop?: number;
        +        /** written by previous versions */
        +        scrollTopWithoutViewZones?: number;
        +        scrollLeft: number;
        +        firstPosition: IPosition;
        +        firstPositionDeltaTop: number;
        +    }
        +
        +    /**
        +     * A (serializable) state of the code editor.
        +     */
        +    export interface ICodeEditorViewState {
        +        cursorState: ICursorState[];
        +        viewState: IViewState;
        +        contributionsState: {
        +            [id: string]: any;
        +        };
        +    }
        +
        +    /**
        +     * (Serializable) View state for the diff editor.
        +     */
        +    export interface IDiffEditorViewState {
        +        original: ICodeEditorViewState | null;
        +        modified: ICodeEditorViewState | null;
        +    }
        +
        +    /**
        +     * An editor view state.
        +     */
        +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
        +
        +    export enum ScrollType {
        +        Smooth = 0,
        +        Immediate = 1
        +    }
        +
        +    /**
        +     * An editor.
        +     */
        +    export interface IEditor {
        +        /**
        +         * An event emitted when the editor has been disposed.
        +         * @event
        +         */
        +        onDidDispose(listener: () => void): IDisposable;
        +        /**
        +         * Dispose the editor.
        +         */
        +        dispose(): void;
        +        /**
        +         * Get a unique id for this editor instance.
        +         */
        +        getId(): string;
        +        /**
        +         * Get the editor type. Please see `EditorType`.
        +         * This is to avoid an instanceof check
        +         */
        +        getEditorType(): string;
        +        /**
        +         * Update the editor's options after the editor has been created.
        +         */
        +        updateOptions(newOptions: IEditorOptions): void;
        +        /**
        +         * Instructs the editor to remeasure its container. This method should
        +         * be called when the container of the editor gets resized.
        +         *
        +         * If a dimension is passed in, the passed in value will be used.
        +         */
        +        layout(dimension?: IDimension): void;
        +        /**
        +         * Brings browser focus to the editor text
        +         */
        +        focus(): void;
        +        /**
        +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
        +         */
        +        hasTextFocus(): boolean;
        +        /**
        +         * Returns all actions associated with this editor.
        +         */
        +        getSupportedActions(): IEditorAction[];
        +        /**
        +         * Saves current view state of the editor in a serializable object.
        +         */
        +        saveViewState(): IEditorViewState | null;
        +        /**
        +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
        +         */
        +        restoreViewState(state: IEditorViewState): void;
        +        /**
        +         * Given a position, returns a column number that takes tab-widths into account.
        +         */
        +        getVisibleColumnFromPosition(position: IPosition): number;
        +        /**
        +         * Returns the primary position of the cursor.
        +         */
        +        getPosition(): Position | null;
        +        /**
        +         * Set the primary position of the cursor. This will remove any secondary cursors.
        +         * @param position New primary cursor's position
        +         */
        +        setPosition(position: IPosition): void;
        +        /**
        +         * Scroll vertically as necessary and reveal a line.
        +         */
        +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically as necessary and reveal a line centered vertically.
        +         */
        +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
        +         */
        +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
        +         * optimized for viewing a code definition.
        +         */
        +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a position.
        +         */
        +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
        +         */
        +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
        +         */
        +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
        +         * optimized for viewing a code definition.
        +         */
        +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
        +        /**
        +         * Returns the primary selection of the editor.
        +         */
        +        getSelection(): Selection | null;
        +        /**
        +         * Returns all the selections of the editor.
        +         */
        +        getSelections(): Selection[] | null;
        +        /**
        +         * Set the primary selection of the editor. This will remove any secondary cursors.
        +         * @param selection The new selection
        +         */
        +        setSelection(selection: IRange): void;
        +        /**
        +         * Set the primary selection of the editor. This will remove any secondary cursors.
        +         * @param selection The new selection
        +         */
        +        setSelection(selection: Range): void;
        +        /**
        +         * Set the primary selection of the editor. This will remove any secondary cursors.
        +         * @param selection The new selection
        +         */
        +        setSelection(selection: ISelection): void;
        +        /**
        +         * Set the primary selection of the editor. This will remove any secondary cursors.
        +         * @param selection The new selection
        +         */
        +        setSelection(selection: Selection): void;
        +        /**
        +         * Set the selections for all the cursors of the editor.
        +         * Cursors will be removed or added, as necessary.
        +         */
        +        setSelections(selections: readonly ISelection[]): void;
        +        /**
        +         * Scroll vertically as necessary and reveal lines.
        +         */
        +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically as necessary and reveal lines centered vertically.
        +         */
        +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
        +         */
        +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
        +         * optimized for viewing a code definition.
        +         */
        +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a range.
        +         */
        +        revealRange(range: IRange, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
        +         */
        +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
        +         */
        +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
        +         */
        +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
        +         * optimized for viewing a code definition.
        +         */
        +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
        +        /**
        +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
        +         * optimized for viewing a code definition. Only if it lies outside the viewport.
        +         */
        +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
        +        /**
        +         * Directly trigger a handler or an editor action.
        +         * @param source The source of the call.
        +         * @param handlerId The id of the handler or the id of a contribution.
        +         * @param payload Extra data to be sent to the handler.
        +         */
        +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
        +        /**
        +         * Gets the current model attached to this editor.
        +         */
        +        getModel(): IEditorModel | null;
        +        /**
        +         * Sets the current model attached to this editor.
        +         * If the previous model was created by the editor via the value key in the options
        +         * literal object, it will be destroyed. Otherwise, if the previous model was set
        +         * via setModel, or the model key in the options literal object, the previous model
        +         * will not be destroyed.
        +         * It is safe to call setModel(null) to simply detach the current model from the editor.
        +         */
        +        setModel(model: IEditorModel | null): void;
        +    }
        +
        +    /**
        +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
        +     */
        +    export interface IEditorContribution {
        +        /**
        +         * Dispose this contribution.
        +         */
        +        dispose(): void;
        +        /**
        +         * Store view state.
        +         */
        +        saveViewState?(): any;
        +        /**
        +         * Restore view state.
        +         */
        +        restoreViewState?(state: any): void;
        +    }
        +
        +    /**
        +     * The type of the `IEditor`.
        +     */
        +    export const EditorType: {
        +        ICodeEditor: string;
        +        IDiffEditor: string;
        +    };
        +
        +    /**
        +     * An event describing that the current language associated with a model has changed.
        +     */
        +    export interface IModelLanguageChangedEvent {
        +        /**
        +         * Previous language
        +         */
        +        readonly oldLanguage: string;
        +        /**
        +         * New language
        +         */
        +        readonly newLanguage: string;
        +    }
        +
        +    /**
        +     * An event describing that the language configuration associated with a model has changed.
        +     */
        +    export interface IModelLanguageConfigurationChangedEvent {
        +    }
        +
        +    export interface IModelContentChange {
        +        /**
        +         * The range that got replaced.
        +         */
        +        readonly range: IRange;
        +        /**
        +         * The offset of the range that got replaced.
        +         */
        +        readonly rangeOffset: number;
        +        /**
        +         * The length of the range that got replaced.
        +         */
        +        readonly rangeLength: number;
        +        /**
        +         * The new text for the range.
        +         */
        +        readonly text: string;
        +    }
        +
        +    /**
        +     * An event describing a change in the text of a model.
        +     */
        +    export interface IModelContentChangedEvent {
        +        readonly changes: IModelContentChange[];
        +        /**
        +         * The (new) end-of-line character.
        +         */
        +        readonly eol: string;
        +        /**
        +         * The new version id the model has transitioned to.
        +         */
        +        readonly versionId: number;
        +        /**
        +         * Flag that indicates that this event was generated while undoing.
        +         */
        +        readonly isUndoing: boolean;
        +        /**
        +         * Flag that indicates that this event was generated while redoing.
        +         */
        +        readonly isRedoing: boolean;
        +        /**
        +         * Flag that indicates that all decorations were lost with this edit.
        +         * The model has been reset to a new value.
        +         */
        +        readonly isFlush: boolean;
        +    }
        +
        +    /**
        +     * An event describing that model decorations have changed.
        +     */
        +    export interface IModelDecorationsChangedEvent {
        +        readonly affectsMinimap: boolean;
        +        readonly affectsOverviewRuler: boolean;
        +    }
        +
        +    export interface IModelOptionsChangedEvent {
        +        readonly tabSize: boolean;
        +        readonly indentSize: boolean;
        +        readonly insertSpaces: boolean;
        +        readonly trimAutoWhitespace: boolean;
        +    }
        +
        +    /**
        +     * Describes the reason the cursor has changed its position.
        +     */
        +    export enum CursorChangeReason {
        +        /**
        +         * Unknown or not set.
        +         */
        +        NotSet = 0,
        +        /**
        +         * A `model.setValue()` was called.
        +         */
        +        ContentFlush = 1,
        +        /**
        +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
        +         */
        +        RecoverFromMarkers = 2,
        +        /**
        +         * There was an explicit user gesture.
        +         */
        +        Explicit = 3,
        +        /**
        +         * There was a Paste.
        +         */
        +        Paste = 4,
        +        /**
        +         * There was an Undo.
        +         */
        +        Undo = 5,
        +        /**
        +         * There was a Redo.
        +         */
        +        Redo = 6
        +    }
        +
        +    /**
        +     * An event describing that the cursor position has changed.
        +     */
        +    export interface ICursorPositionChangedEvent {
        +        /**
        +         * Primary cursor's position.
        +         */
        +        readonly position: Position;
        +        /**
        +         * Secondary cursors' position.
        +         */
        +        readonly secondaryPositions: Position[];
        +        /**
        +         * Reason.
        +         */
        +        readonly reason: CursorChangeReason;
        +        /**
        +         * Source of the call that caused the event.
        +         */
        +        readonly source: string;
        +    }
        +
        +    /**
        +     * An event describing that the cursor selection has changed.
        +     */
        +    export interface ICursorSelectionChangedEvent {
        +        /**
        +         * The primary selection.
        +         */
        +        readonly selection: Selection;
        +        /**
        +         * The secondary selections.
        +         */
        +        readonly secondarySelections: Selection[];
        +        /**
        +         * The model version id.
        +         */
        +        readonly modelVersionId: number;
        +        /**
        +         * The old selections.
        +         */
        +        readonly oldSelections: Selection[] | null;
        +        /**
        +         * The model version id the that `oldSelections` refer to.
        +         */
        +        readonly oldModelVersionId: number;
        +        /**
        +         * Source of the call that caused the event.
        +         */
        +        readonly source: string;
        +        /**
        +         * Reason.
        +         */
        +        readonly reason: CursorChangeReason;
        +    }
        +
        +    export enum AccessibilitySupport {
        +        /**
        +         * This should be the browser case where it is not known if a screen reader is attached or no.
        +         */
        +        Unknown = 0,
        +        Disabled = 1,
        +        Enabled = 2
        +    }
        +
        +    /**
        +     * Configuration options for auto closing quotes and brackets
        +     */
        +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
        +
        +    /**
        +     * Configuration options for auto wrapping quotes and brackets
        +     */
        +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
        +
        +    /**
        +     * Configuration options for typing over closing quotes or brackets
        +     */
        +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
        +
        +    /**
        +     * Configuration options for auto indentation in the editor
        +     */
        +    export enum EditorAutoIndentStrategy {
        +        None = 0,
        +        Keep = 1,
        +        Brackets = 2,
        +        Advanced = 3,
        +        Full = 4
        +    }
        +
        +    /**
        +     * Configuration options for the editor.
        +     */
        +    export interface IEditorOptions {
        +        /**
        +         * This editor is used inside a diff editor.
        +         */
        +        inDiffEditor?: boolean;
        +        /**
        +         * The aria label for the editor's textarea (when it is focused).
        +         */
        +        ariaLabel?: string;
        +        /**
        +         * The `tabindex` property of the editor's textarea
        +         */
        +        tabIndex?: number;
        +        /**
        +         * Render vertical lines at the specified columns.
        +         * Defaults to empty array.
        +         */
        +        rulers?: (number | IRulerOption)[];
        +        /**
        +         * A string containing the word separators used when doing word navigation.
        +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
        +         */
        +        wordSeparators?: string;
        +        /**
        +         * Enable Linux primary clipboard.
        +         * Defaults to true.
        +         */
        +        selectionClipboard?: boolean;
        +        /**
        +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
        +         * Otherwise, line numbers will not be rendered.
        +         * Defaults to `on`.
        +         */
        +        lineNumbers?: LineNumbersType;
        +        /**
        +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
        +         * Defaults to 0.
        +        */
        +        cursorSurroundingLines?: number;
        +        /**
        +         * Controls when `cursorSurroundingLines` should be enforced
        +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
        +         * by mouse.
        +        */
        +        cursorSurroundingLinesStyle?: 'default' | 'all';
        +        /**
        +         * Render last line number when the file ends with a newline.
        +         * Defaults to true.
        +        */
        +        renderFinalNewline?: boolean;
        +        /**
        +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
        +         * Defaults to 'prompt'.
        +         */
        +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
        +        /**
        +         * Should the corresponding line be selected when clicking on the line number?
        +         * Defaults to true.
        +         */
        +        selectOnLineNumbers?: boolean;
        +        /**
        +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
        +         * Defaults to 5.
        +         */
        +        lineNumbersMinChars?: number;
        +        /**
        +         * Enable the rendering of the glyph margin.
        +         * Defaults to true in vscode and to false in monaco-editor.
        +         */
        +        glyphMargin?: boolean;
        +        /**
        +         * The width reserved for line decorations (in px).
        +         * Line decorations are placed between line numbers and the editor content.
        +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
        +         * Defaults to 10.
        +         */
        +        lineDecorationsWidth?: number | string;
        +        /**
        +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
        +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
        +         * Defaults to 30 (px).
        +         */
        +        revealHorizontalRightPadding?: number;
        +        /**
        +         * Render the editor selection with rounded borders.
        +         * Defaults to true.
        +         */
        +        roundedSelection?: boolean;
        +        /**
        +         * Class name to be added to the editor.
        +         */
        +        extraEditorClassName?: string;
        +        /**
        +         * Should the editor be read only. See also `domReadOnly`.
        +         * Defaults to false.
        +         */
        +        readOnly?: boolean;
        +        /**
        +         * Should the textarea used for input use the DOM `readonly` attribute.
        +         * Defaults to false.
        +         */
        +        domReadOnly?: boolean;
        +        /**
        +         * Enable linked editing.
        +         * Defaults to false.
        +         */
        +        linkedEditing?: boolean;
        +        /**
        +         * deprecated, use linkedEditing instead
        +         */
        +        renameOnType?: boolean;
        +        /**
        +         * Should the editor render validation decorations.
        +         * Defaults to editable.
        +         */
        +        renderValidationDecorations?: 'editable' | 'on' | 'off';
        +        /**
        +         * Control the behavior and rendering of the scrollbars.
        +         */
        +        scrollbar?: IEditorScrollbarOptions;
        +        /**
        +         * Control the behavior and rendering of the minimap.
        +         */
        +        minimap?: IEditorMinimapOptions;
        +        /**
        +         * Control the behavior of the find widget.
        +         */
        +        find?: IEditorFindOptions;
        +        /**
        +         * Display overflow widgets as `fixed`.
        +         * Defaults to `false`.
        +         */
        +        fixedOverflowWidgets?: boolean;
        +        /**
        +         * The number of vertical lanes the overview ruler should render.
        +         * Defaults to 3.
        +         */
        +        overviewRulerLanes?: number;
        +        /**
        +         * Controls if a border should be drawn around the overview ruler.
        +         * Defaults to `true`.
        +         */
        +        overviewRulerBorder?: boolean;
        +        /**
        +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
        +         * Defaults to 'blink'.
        +         */
        +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
        +        /**
        +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
        +         * Defaults to false.
        +         */
        +        mouseWheelZoom?: boolean;
        +        /**
        +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
        +         * Defaults to 'text'
        +         */
        +        mouseStyle?: 'text' | 'default' | 'copy';
        +        /**
        +         * Enable smooth caret animation.
        +         * Defaults to false.
        +         */
        +        cursorSmoothCaretAnimation?: boolean;
        +        /**
        +         * Control the cursor style, either 'block' or 'line'.
        +         * Defaults to 'line'.
        +         */
        +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
        +        /**
        +         * Control the width of the cursor when cursorStyle is set to 'line'
        +         */
        +        cursorWidth?: number;
        +        /**
        +         * Enable font ligatures.
        +         * Defaults to false.
        +         */
        +        fontLigatures?: boolean | string;
        +        /**
        +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
        +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
        +         * Defaults to false.
        +         */
        +        disableLayerHinting?: boolean;
        +        /**
        +         * Disable the optimizations for monospace fonts.
        +         * Defaults to false.
        +         */
        +        disableMonospaceOptimizations?: boolean;
        +        /**
        +         * Should the cursor be hidden in the overview ruler.
        +         * Defaults to false.
        +         */
        +        hideCursorInOverviewRuler?: boolean;
        +        /**
        +         * Enable that scrolling can go one screen size after the last line.
        +         * Defaults to true.
        +         */
        +        scrollBeyondLastLine?: boolean;
        +        /**
        +         * Enable that scrolling can go beyond the last column by a number of columns.
        +         * Defaults to 5.
        +         */
        +        scrollBeyondLastColumn?: number;
        +        /**
        +         * Enable that the editor animates scrolling to a position.
        +         * Defaults to false.
        +         */
        +        smoothScrolling?: boolean;
        +        /**
        +         * Enable that the editor will install an interval to check if its container dom node size has changed.
        +         * Enabling this might have a severe performance impact.
        +         * Defaults to false.
        +         */
        +        automaticLayout?: boolean;
        +        /**
        +         * Control the wrapping of the editor.
        +         * When `wordWrap` = "off", the lines will never wrap.
        +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
        +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
        +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
        +         * Defaults to "off".
        +         */
        +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
        +        /**
        +         * Override the `wordWrap` setting.
        +         */
        +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
        +        /**
        +         * Override the `wordWrapOverride1` setting.
        +         */
        +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
        +        /**
        +         * Control the wrapping of the editor.
        +         * When `wordWrap` = "off", the lines will never wrap.
        +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
        +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
        +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
        +         * Defaults to 80.
        +         */
        +        wordWrapColumn?: number;
        +        /**
        +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
        +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
        +         */
        +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
        +        /**
        +         * Controls the wrapping strategy to use.
        +         * Defaults to 'simple'.
        +         */
        +        wrappingStrategy?: 'simple' | 'advanced';
        +        /**
        +         * Configure word wrapping characters. A break will be introduced before these characters.
        +         */
        +        wordWrapBreakBeforeCharacters?: string;
        +        /**
        +         * Configure word wrapping characters. A break will be introduced after these characters.
        +         */
        +        wordWrapBreakAfterCharacters?: string;
        +        /**
        +         * Performance guard: Stop rendering a line after x characters.
        +         * Defaults to 10000.
        +         * Use -1 to never stop rendering
        +         */
        +        stopRenderingLineAfter?: number;
        +        /**
        +         * Configure the editor's hover.
        +         */
        +        hover?: IEditorHoverOptions;
        +        /**
        +         * Enable detecting links and making them clickable.
        +         * Defaults to true.
        +         */
        +        links?: boolean;
        +        /**
        +         * Enable inline color decorators and color picker rendering.
        +         */
        +        colorDecorators?: boolean;
        +        /**
        +         * Control the behaviour of comments in the editor.
        +         */
        +        comments?: IEditorCommentsOptions;
        +        /**
        +         * Enable custom contextmenu.
        +         * Defaults to true.
        +         */
        +        contextmenu?: boolean;
        +        /**
        +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
        +         * Defaults to 1.
        +         */
        +        mouseWheelScrollSensitivity?: number;
        +        /**
        +         * FastScrolling mulitplier speed when pressing `Alt`
        +         * Defaults to 5.
        +         */
        +        fastScrollSensitivity?: number;
        +        /**
        +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
        +         * Defaults to true.
        +         */
        +        scrollPredominantAxis?: boolean;
        +        /**
        +         * Enable that the selection with the mouse and keys is doing column selection.
        +         * Defaults to false.
        +         */
        +        columnSelection?: boolean;
        +        /**
        +         * The modifier to be used to add multiple cursors with the mouse.
        +         * Defaults to 'alt'
        +         */
        +        multiCursorModifier?: 'ctrlCmd' | 'alt';
        +        /**
        +         * Merge overlapping selections.
        +         * Defaults to true
        +         */
        +        multiCursorMergeOverlapping?: boolean;
        +        /**
        +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
        +         * Defaults to 'spread'.
        +         */
        +        multiCursorPaste?: 'spread' | 'full';
        +        /**
        +         * Configure the editor's accessibility support.
        +         * Defaults to 'auto'. It is best to leave this to 'auto'.
        +         */
        +        accessibilitySupport?: 'auto' | 'off' | 'on';
        +        /**
        +         * Controls the number of lines in the editor that can be read out by a screen reader
        +         */
        +        accessibilityPageSize?: number;
        +        /**
        +         * Suggest options.
        +         */
        +        suggest?: ISuggestOptions;
        +        inlineSuggest?: IInlineSuggestOptions;
        +        /**
        +         * Smart select options.
        +         */
        +        smartSelect?: ISmartSelectOptions;
        +        /**
        +         *
        +         */
        +        gotoLocation?: IGotoLocationOptions;
        +        /**
        +         * Enable quick suggestions (shadow suggestions)
        +         * Defaults to true.
        +         */
        +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
        +        /**
        +         * Quick suggestions show delay (in ms)
        +         * Defaults to 10 (ms)
        +         */
        +        quickSuggestionsDelay?: number;
        +        /**
        +         * Controls the spacing around the editor.
        +         */
        +        padding?: IEditorPaddingOptions;
        +        /**
        +         * Parameter hint options.
        +         */
        +        parameterHints?: IEditorParameterHintOptions;
        +        /**
        +         * Options for auto closing brackets.
        +         * Defaults to language defined behavior.
        +         */
        +        autoClosingBrackets?: EditorAutoClosingStrategy;
        +        /**
        +         * Options for auto closing quotes.
        +         * Defaults to language defined behavior.
        +         */
        +        autoClosingQuotes?: EditorAutoClosingStrategy;
        +        /**
        +         * Options for pressing backspace near quotes or bracket pairs.
        +         */
        +        autoClosingDelete?: EditorAutoClosingEditStrategy;
        +        /**
        +         * Options for typing over closing quotes or brackets.
        +         */
        +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
        +        /**
        +         * Options for auto surrounding.
        +         * Defaults to always allowing auto surrounding.
        +         */
        +        autoSurround?: EditorAutoSurroundStrategy;
        +        /**
        +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
        +         * Defaults to advanced.
        +         */
        +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
        +        /**
        +         * Emulate selection behaviour of tab characters when using spaces for indentation.
        +         * This means selection will stick to tab stops.
        +         */
        +        stickyTabStops?: boolean;
        +        /**
        +         * Enable format on type.
        +         * Defaults to false.
        +         */
        +        formatOnType?: boolean;
        +        /**
        +         * Enable format on paste.
        +         * Defaults to false.
        +         */
        +        formatOnPaste?: boolean;
        +        /**
        +         * Controls if the editor should allow to move selections via drag and drop.
        +         * Defaults to false.
        +         */
        +        dragAndDrop?: boolean;
        +        /**
        +         * Enable the suggestion box to pop-up on trigger characters.
        +         * Defaults to true.
        +         */
        +        suggestOnTriggerCharacters?: boolean;
        +        /**
        +         * Accept suggestions on ENTER.
        +         * Defaults to 'on'.
        +         */
        +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
        +        /**
        +         * Accept suggestions on provider defined characters.
        +         * Defaults to true.
        +         */
        +        acceptSuggestionOnCommitCharacter?: boolean;
        +        /**
        +         * Enable snippet suggestions. Default to 'true'.
        +         */
        +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
        +        /**
        +         * Copying without a selection copies the current line.
        +         */
        +        emptySelectionClipboard?: boolean;
        +        /**
        +         * Syntax highlighting is copied.
        +         */
        +        copyWithSyntaxHighlighting?: boolean;
        +        /**
        +         * The history mode for suggestions.
        +         */
        +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
        +        /**
        +         * The font size for the suggest widget.
        +         * Defaults to the editor font size.
        +         */
        +        suggestFontSize?: number;
        +        /**
        +         * The line height for the suggest widget.
        +         * Defaults to the editor line height.
        +         */
        +        suggestLineHeight?: number;
        +        /**
        +         * Enable tab completion.
        +         */
        +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
        +        /**
        +         * Enable selection highlight.
        +         * Defaults to true.
        +         */
        +        selectionHighlight?: boolean;
        +        /**
        +         * Enable semantic occurrences highlight.
        +         * Defaults to true.
        +         */
        +        occurrencesHighlight?: boolean;
        +        /**
        +         * Show code lens
        +         * Defaults to true.
        +         */
        +        codeLens?: boolean;
        +        /**
        +         * Code lens font family. Defaults to editor font family.
        +         */
        +        codeLensFontFamily?: string;
        +        /**
        +         * Code lens font size. Default to 90% of the editor font size
        +         */
        +        codeLensFontSize?: number;
        +        /**
        +         * Control the behavior and rendering of the code action lightbulb.
        +         */
        +        lightbulb?: IEditorLightbulbOptions;
        +        /**
        +         * Timeout for running code actions on save.
        +         */
        +        codeActionsOnSaveTimeout?: number;
        +        /**
        +         * Enable code folding.
        +         * Defaults to true.
        +         */
        +        folding?: boolean;
        +        /**
        +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
        +         * Defaults to 'auto'.
        +         */
        +        foldingStrategy?: 'auto' | 'indentation';
        +        /**
        +         * Enable highlight for folded regions.
        +         * 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'.
        +         */
        +        showFoldingControls?: 'always' | 'mouseover';
        +        /**
        +         * Controls whether clicking on the empty content after a folded line will unfold the line.
        +         * Defaults to false.
        +         */
        +        unfoldOnClickAfterEndOfLine?: boolean;
        +        /**
        +         * Enable highlighting of matching brackets.
        +         * Defaults to 'always'.
        +         */
        +        matchBrackets?: 'never' | 'near' | 'always';
        +        /**
        +         * Enable rendering of whitespace.
        +         * Defaults to 'selection'.
        +         */
        +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
        +        /**
        +         * Enable rendering of control characters.
        +         * Defaults to true.
        +         */
        +        renderControlCharacters?: boolean;
        +        /**
        +         * Enable rendering of current line highlight.
        +         * Defaults to all.
        +         */
        +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
        +        /**
        +         * Control if the current line highlight should be rendered only the editor is focused.
        +         * Defaults to false.
        +         */
        +        renderLineHighlightOnlyWhenFocus?: boolean;
        +        /**
        +         * Inserting and deleting whitespace follows tab stops.
        +         */
        +        useTabStops?: boolean;
        +        /**
        +         * The font family
        +         */
        +        fontFamily?: string;
        +        /**
        +         * The font weight
        +         */
        +        fontWeight?: string;
        +        /**
        +         * The font size
        +         */
        +        fontSize?: number;
        +        /**
        +         * The line height
        +         */
        +        lineHeight?: number;
        +        /**
        +         * The letter spacing
        +         */
        +        letterSpacing?: number;
        +        /**
        +         * Controls fading out of unused variables.
        +         */
        +        showUnused?: boolean;
        +        /**
        +         * Controls whether to focus the inline editor in the peek widget by default.
        +         * Defaults to false.
        +         */
        +        peekWidgetDefaultFocus?: 'tree' | 'editor';
        +        /**
        +         * Controls whether the definition link opens element in the peek widget.
        +         * Defaults to false.
        +         */
        +        definitionLinkOpensInPeek?: boolean;
        +        /**
        +         * Controls strikethrough deprecated variables.
        +         */
        +        showDeprecated?: boolean;
        +        /**
        +         * Control the behavior and rendering of the inline hints.
        +         */
        +        inlayHints?: IEditorInlayHintsOptions;
        +        /**
        +         * Control if the editor should use shadow DOM.
        +         */
        +        useShadowDOM?: boolean;
        +        /**
        +         * Controls the behavior of editor guides.
        +        */
        +        guides?: IGuidesOptions;
        +        unicodeHighlight?: IUnicodeHighlightOptions;
        +    }
        +
        +    export interface IDiffEditorBaseOptions {
        +        /**
        +         * Allow the user to resize the diff editor split view.
        +         * Defaults to true.
        +         */
        +        enableSplitViewResizing?: boolean;
        +        /**
        +         * Render the differences in two side-by-side editors.
        +         * Defaults to true.
        +         */
        +        renderSideBySide?: boolean;
        +        /**
        +         * Timeout in milliseconds after which diff computation is cancelled.
        +         * Defaults to 5000.
        +         */
        +        maxComputationTime?: number;
        +        /**
        +         * Maximum supported file size in MB.
        +         * Defaults to 50.
        +         */
        +        maxFileSize?: number;
        +        /**
        +         * Compute the diff by ignoring leading/trailing whitespace
        +         * Defaults to true.
        +         */
        +        ignoreTrimWhitespace?: boolean;
        +        /**
        +         * Render +/- indicators for added/deleted changes.
        +         * Defaults to true.
        +         */
        +        renderIndicators?: boolean;
        +        /**
        +         * Original model should be editable?
        +         * Defaults to false.
        +         */
        +        originalEditable?: boolean;
        +        /**
        +         * Should the diff editor enable code lens?
        +         * Defaults to false.
        +         */
        +        diffCodeLens?: boolean;
        +        /**
        +         * Is the diff editor should render overview ruler
        +         * Defaults to true
        +         */
        +        renderOverviewRuler?: boolean;
        +        /**
        +         * Control the wrapping of the diff editor.
        +         */
        +        diffWordWrap?: 'off' | 'on' | 'inherit';
        +    }
        +
        +    /**
        +     * Configuration options for the diff editor.
        +     */
        +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
        +    }
        +
        +    /**
        +     * An event describing that the configuration of the editor has changed.
        +     */
        +    export class ConfigurationChangedEvent {
        +        hasChanged(id: EditorOption): boolean;
        +    }
        +
        +    /**
        +     * All computed editor options.
        +     */
        +    export interface IComputedEditorOptions {
        +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
        +    }
        +
        +    export interface IEditorOption<K1 extends EditorOption, V> {
        +        readonly id: K1;
        +        readonly name: string;
        +        defaultValue: V;
        +        /**
        +         * Might modify `value`.
        +        */
        +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
        +    }
        +
        +    export class ApplyUpdateResult<T> {
        +        readonly newValue: T;
        +        readonly didChange: boolean;
        +        constructor(newValue: T, didChange: boolean);
        +    }
        +
        +    /**
        +     * Configuration options for editor comments
        +     */
        +    export interface IEditorCommentsOptions {
        +        /**
        +         * Insert a space after the line comment token and inside the block comments tokens.
        +         * Defaults to true.
        +         */
        +        insertSpace?: boolean;
        +        /**
        +         * Ignore empty lines when inserting line comments.
        +         * Defaults to true.
        +         */
        +        ignoreEmptyLines?: boolean;
        +    }
        +
        +    /**
        +     * The kind of animation in which the editor's cursor should be rendered.
        +     */
        +    export enum TextEditorCursorBlinkingStyle {
        +        /**
        +         * Hidden
        +         */
        +        Hidden = 0,
        +        /**
        +         * Blinking
        +         */
        +        Blink = 1,
        +        /**
        +         * Blinking with smooth fading
        +         */
        +        Smooth = 2,
        +        /**
        +         * Blinking with prolonged filled state and smooth fading
        +         */
        +        Phase = 3,
        +        /**
        +         * Expand collapse animation on the y axis
        +         */
        +        Expand = 4,
        +        /**
        +         * No-Blinking
        +         */
        +        Solid = 5
        +    }
        +
        +    /**
        +     * The style in which the editor's cursor should be rendered.
        +     */
        +    export enum TextEditorCursorStyle {
        +        /**
        +         * As a vertical line (sitting between two characters).
        +         */
        +        Line = 1,
        +        /**
        +         * As a block (sitting on top of a character).
        +         */
        +        Block = 2,
        +        /**
        +         * As a horizontal line (sitting under a character).
        +         */
        +        Underline = 3,
        +        /**
        +         * As a thin vertical line (sitting between two characters).
        +         */
        +        LineThin = 4,
        +        /**
        +         * As an outlined block (sitting on top of a character).
        +         */
        +        BlockOutline = 5,
        +        /**
        +         * As a thin horizontal line (sitting under a character).
        +         */
        +        UnderlineThin = 6
        +    }
        +
        +    /**
        +     * Configuration options for editor find widget
        +     */
        +    export interface IEditorFindOptions {
        +        /**
        +        * Controls whether the cursor should move to find matches while typing.
        +        */
        +        cursorMoveOnType?: boolean;
        +        /**
        +         * Controls if we seed search string in the Find Widget with editor selection.
        +         */
        +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
        +        /**
        +         * Controls if Find in Selection flag is turned on in the editor.
        +         */
        +        autoFindInSelection?: 'never' | 'always' | 'multiline';
        +        addExtraSpaceOnTop?: boolean;
        +        /**
        +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
        +         */
        +        loop?: boolean;
        +    }
        +
        +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
        +
        +    /**
        +     * Configuration options for go to location
        +     */
        +    export interface IGotoLocationOptions {
        +        multiple?: GoToLocationValues;
        +        multipleDefinitions?: GoToLocationValues;
        +        multipleTypeDefinitions?: GoToLocationValues;
        +        multipleDeclarations?: GoToLocationValues;
        +        multipleImplementations?: GoToLocationValues;
        +        multipleReferences?: GoToLocationValues;
        +        alternativeDefinitionCommand?: string;
        +        alternativeTypeDefinitionCommand?: string;
        +        alternativeDeclarationCommand?: string;
        +        alternativeImplementationCommand?: string;
        +        alternativeReferenceCommand?: string;
        +    }
        +
        +    /**
        +     * Configuration options for editor hover
        +     */
        +    export interface IEditorHoverOptions {
        +        /**
        +         * Enable the hover.
        +         * Defaults to true.
        +         */
        +        enabled?: boolean;
        +        /**
        +         * Delay for showing the hover.
        +         * Defaults to 300.
        +         */
        +        delay?: number;
        +        /**
        +         * Is the hover sticky such that it can be clicked and its contents selected?
        +         * Defaults to true.
        +         */
        +        sticky?: boolean;
        +        /**
        +         * Should the hover be shown above the line if possible?
        +         * Defaults to false.
        +         */
        +        above?: boolean;
        +    }
        +
        +    /**
        +     * A description for the overview ruler position.
        +     */
        +    export interface OverviewRulerPosition {
        +        /**
        +         * Width of the overview ruler
        +         */
        +        readonly width: number;
        +        /**
        +         * Height of the overview ruler
        +         */
        +        readonly height: number;
        +        /**
        +         * Top position for the overview ruler
        +         */
        +        readonly top: number;
        +        /**
        +         * Right position for the overview ruler
        +         */
        +        readonly right: number;
        +    }
        +
        +    export enum RenderMinimap {
        +        None = 0,
        +        Text = 1,
        +        Blocks = 2
        +    }
        +
        +    /**
        +     * The internal layout details of the editor.
        +     */
        +    export interface EditorLayoutInfo {
        +        /**
        +         * Full editor width.
        +         */
        +        readonly width: number;
        +        /**
        +         * Full editor height.
        +         */
        +        readonly height: number;
        +        /**
        +         * Left position for the glyph margin.
        +         */
        +        readonly glyphMarginLeft: number;
        +        /**
        +         * The width of the glyph margin.
        +         */
        +        readonly glyphMarginWidth: number;
        +        /**
        +         * Left position for the line numbers.
        +         */
        +        readonly lineNumbersLeft: number;
        +        /**
        +         * The width of the line numbers.
        +         */
        +        readonly lineNumbersWidth: number;
        +        /**
        +         * Left position for the line decorations.
        +         */
        +        readonly decorationsLeft: number;
        +        /**
        +         * The width of the line decorations.
        +         */
        +        readonly decorationsWidth: number;
        +        /**
        +         * Left position for the content (actual text)
        +         */
        +        readonly contentLeft: number;
        +        /**
        +         * The width of the content (actual text)
        +         */
        +        readonly contentWidth: number;
        +        /**
        +         * Layout information for the minimap
        +         */
        +        readonly minimap: EditorMinimapLayoutInfo;
        +        /**
        +         * The number of columns (of typical characters) fitting on a viewport line.
        +         */
        +        readonly viewportColumn: number;
        +        readonly isWordWrapMinified: boolean;
        +        readonly isViewportWrapping: boolean;
        +        readonly wrappingColumn: number;
        +        /**
        +         * The width of the vertical scrollbar.
        +         */
        +        readonly verticalScrollbarWidth: number;
        +        /**
        +         * The height of the horizontal scrollbar.
        +         */
        +        readonly horizontalScrollbarHeight: number;
        +        /**
        +         * The position of the overview ruler.
        +         */
        +        readonly overviewRuler: OverviewRulerPosition;
        +    }
        +
        +    /**
        +     * The internal layout details of the editor.
        +     */
        +    export interface EditorMinimapLayoutInfo {
        +        readonly renderMinimap: RenderMinimap;
        +        readonly minimapLeft: number;
        +        readonly minimapWidth: number;
        +        readonly minimapHeightIsEditorHeight: boolean;
        +        readonly minimapIsSampling: boolean;
        +        readonly minimapScale: number;
        +        readonly minimapLineHeight: number;
        +        readonly minimapCanvasInnerWidth: number;
        +        readonly minimapCanvasInnerHeight: number;
        +        readonly minimapCanvasOuterWidth: number;
        +        readonly minimapCanvasOuterHeight: number;
        +    }
        +
        +    /**
        +     * Configuration options for editor lightbulb
        +     */
        +    export interface IEditorLightbulbOptions {
        +        /**
        +         * Enable the lightbulb code action.
        +         * Defaults to true.
        +         */
        +        enabled?: boolean;
        +    }
        +
        +    /**
        +     * Configuration options for editor inlayHints
        +     */
        +    export interface IEditorInlayHintsOptions {
        +        /**
        +         * Enable the inline hints.
        +         * Defaults to true.
        +         */
        +        enabled?: boolean;
        +        /**
        +         * Font size of inline hints.
        +         * Default to 90% of the editor font size.
        +         */
        +        fontSize?: number;
        +        /**
        +         * Font family of inline hints.
        +         * Defaults to editor font family.
        +         */
        +        fontFamily?: string;
        +    }
        +
        +    /**
        +     * Configuration options for editor minimap
        +     */
        +    export interface IEditorMinimapOptions {
        +        /**
        +         * Enable the rendering of the minimap.
        +         * Defaults to true.
        +         */
        +        enabled?: boolean;
        +        /**
        +         * Control the side of the minimap in editor.
        +         * Defaults to 'right'.
        +         */
        +        side?: 'right' | 'left';
        +        /**
        +         * Control the minimap rendering mode.
        +         * Defaults to 'actual'.
        +         */
        +        size?: 'proportional' | 'fill' | 'fit';
        +        /**
        +         * Control the rendering of the minimap slider.
        +         * Defaults to 'mouseover'.
        +         */
        +        showSlider?: 'always' | 'mouseover';
        +        /**
        +         * Render the actual text on a line (as opposed to color blocks).
        +         * Defaults to true.
        +         */
        +        renderCharacters?: boolean;
        +        /**
        +         * Limit the width of the minimap to render at most a certain number of columns.
        +         * Defaults to 120.
        +         */
        +        maxColumn?: number;
        +        /**
        +         * Relative size of the font in the minimap. Defaults to 1.
        +         */
        +        scale?: number;
        +    }
        +
        +    /**
        +     * Configuration options for editor padding
        +     */
        +    export interface IEditorPaddingOptions {
        +        /**
        +         * Spacing between top edge of editor and first line.
        +         */
        +        top?: number;
        +        /**
        +         * Spacing between bottom edge of editor and last line.
        +         */
        +        bottom?: number;
        +    }
        +
        +    /**
        +     * Configuration options for parameter hints
        +     */
        +    export interface IEditorParameterHintOptions {
        +        /**
        +         * Enable parameter hints.
        +         * Defaults to true.
        +         */
        +        enabled?: boolean;
        +        /**
        +         * Enable cycling of parameter hints.
        +         * Defaults to false.
        +         */
        +        cycle?: boolean;
        +    }
        +
        +    /**
        +     * Configuration options for quick suggestions
        +     */
        +    export interface IQuickSuggestionsOptions {
        +        other?: boolean;
        +        comments?: boolean;
        +        strings?: boolean;
        +    }
        +
        +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
        +
        +    export enum RenderLineNumbersType {
        +        Off = 0,
        +        On = 1,
        +        Relative = 2,
        +        Interval = 3,
        +        Custom = 4
        +    }
        +
        +    export interface InternalEditorRenderLineNumbersOptions {
        +        readonly renderType: RenderLineNumbersType;
        +        readonly renderFn: ((lineNumber: number) => string) | null;
        +    }
        +
        +    export interface IRulerOption {
        +        readonly column: number;
        +        readonly color: string | null;
        +    }
        +
        +    /**
        +     * Configuration options for editor scrollbars
        +     */
        +    export interface IEditorScrollbarOptions {
        +        /**
        +         * The size of arrows (if displayed).
        +         * Defaults to 11.
        +         * **NOTE**: This option cannot be updated using `updateOptions()`
        +         */
        +        arrowSize?: number;
        +        /**
        +         * Render vertical scrollbar.
        +         * Defaults to 'auto'.
        +         */
        +        vertical?: 'auto' | 'visible' | 'hidden';
        +        /**
        +         * Render horizontal scrollbar.
        +         * Defaults to 'auto'.
        +         */
        +        horizontal?: 'auto' | 'visible' | 'hidden';
        +        /**
        +         * 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;
        +        /**
        +         * Listen to mouse wheel events and react to them by scrolling.
        +         * Defaults to true.
        +         */
        +        handleMouseWheel?: boolean;
        +        /**
        +         * 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;
        +        /**
        +         * Height in pixels for the horizontal scrollbar.
        +         * Defaults to 10 (px).
        +         */
        +        horizontalScrollbarSize?: number;
        +        /**
        +         * Width in pixels for the vertical scrollbar.
        +         * Defaults to 10 (px).
        +         */
        +        verticalScrollbarSize?: number;
        +        /**
        +         * 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;
        +        /**
        +         * Scroll gutter clicks move by page vs jump to position.
        +         * Defaults to false.
        +         */
        +        scrollByPage?: boolean;
        +    }
        +
        +    export interface InternalEditorScrollbarOptions {
        +        readonly arrowSize: number;
        +        readonly vertical: ScrollbarVisibility;
        +        readonly horizontal: ScrollbarVisibility;
        +        readonly useShadows: boolean;
        +        readonly verticalHasArrows: boolean;
        +        readonly horizontalHasArrows: boolean;
        +        readonly handleMouseWheel: boolean;
        +        readonly alwaysConsumeMouseWheel: boolean;
        +        readonly horizontalScrollbarSize: number;
        +        readonly horizontalSliderSize: number;
        +        readonly verticalScrollbarSize: number;
        +        readonly verticalSliderSize: number;
        +        readonly scrollByPage: boolean;
        +    }
        +
        +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
        +
        +    /**
        +     * Configuration options for unicode highlighting.
        +     */
        +    export interface IUnicodeHighlightOptions {
        +        nonBasicASCII?: boolean | InUntrustedWorkspace;
        +        invisibleCharacters?: boolean;
        +        ambiguousCharacters?: boolean;
        +        includeComments?: boolean | InUntrustedWorkspace;
        +        /**
        +         * A map of allowed characters (true: allowed).
        +        */
        +        allowedCharacters?: Record<string, true>;
        +    }
        +
        +    export interface IInlineSuggestOptions {
        +        /**
        +         * Enable or disable the rendering of automatic inline completions.
        +        */
        +        enabled?: boolean;
        +        /**
        +         * Configures the mode.
        +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
        +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
        +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
        +         * Defaults to `prefix`.
        +        */
        +        mode?: 'prefix' | 'subword' | 'subwordSmart';
        +    }
        +
        +    export interface IBracketPairColorizationOptions {
        +        /**
        +         * Enable or disable bracket pair colorization.
        +        */
        +        enabled?: boolean;
        +    }
        +
        +    export interface IGuidesOptions {
        +        /**
        +         * Enable rendering of bracket pair guides.
        +         * Defaults to false.
        +        */
        +        bracketPairs?: boolean | 'active';
        +        /**
        +         * Enable rendering of vertical bracket pair guides.
        +         * Defaults to 'active'.
        +         */
        +        bracketPairsHorizontal?: boolean | 'active';
        +        /**
        +         * Enable highlighting of the active bracket pair.
        +         * Defaults to true.
        +        */
        +        highlightActiveBracketPair?: boolean;
        +        /**
        +         * Enable rendering of indent guides.
        +         * Defaults to true.
        +         */
        +        indentation?: boolean;
        +        /**
        +         * Enable highlighting of the active indent guide.
        +         * Defaults to true.
        +         */
        +        highlightActiveIndentation?: boolean;
        +    }
        +
        +    /**
        +     * Configuration options for editor suggest widget
        +     */
        +    export interface ISuggestOptions {
        +        /**
        +         * Overwrite word ends on accept. Default to false.
        +         */
        +        insertMode?: 'insert' | 'replace';
        +        /**
        +         * Enable graceful matching. Defaults to true.
        +         */
        +        filterGraceful?: boolean;
        +        /**
        +         * Prevent quick suggestions when a snippet is active. Defaults to true.
        +         */
        +        snippetsPreventQuickSuggestions?: boolean;
        +        /**
        +         * Favors words that appear close to the cursor.
        +         */
        +        localityBonus?: boolean;
        +        /**
        +         * Enable using global storage for remembering suggestions.
        +         */
        +        shareSuggestSelections?: boolean;
        +        /**
        +         * Enable or disable icons in suggestions. Defaults to true.
        +         */
        +        showIcons?: boolean;
        +        /**
        +         * 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.
        +         */
        +        showInlineDetails?: boolean;
        +        /**
        +         * Show method-suggestions.
        +         */
        +        showMethods?: boolean;
        +        /**
        +         * Show function-suggestions.
        +         */
        +        showFunctions?: boolean;
        +        /**
        +         * Show constructor-suggestions.
        +         */
        +        showConstructors?: boolean;
        +        /**
        +         * Show deprecated-suggestions.
        +         */
        +        showDeprecated?: boolean;
        +        /**
        +         * Show field-suggestions.
        +         */
        +        showFields?: boolean;
        +        /**
        +         * Show variable-suggestions.
        +         */
        +        showVariables?: boolean;
        +        /**
        +         * Show class-suggestions.
        +         */
        +        showClasses?: boolean;
        +        /**
        +         * Show struct-suggestions.
        +         */
        +        showStructs?: boolean;
        +        /**
        +         * Show interface-suggestions.
        +         */
        +        showInterfaces?: boolean;
        +        /**
        +         * Show module-suggestions.
        +         */
        +        showModules?: boolean;
        +        /**
        +         * Show property-suggestions.
        +         */
        +        showProperties?: boolean;
        +        /**
        +         * Show event-suggestions.
        +         */
        +        showEvents?: boolean;
        +        /**
        +         * Show operator-suggestions.
        +         */
        +        showOperators?: boolean;
        +        /**
        +         * Show unit-suggestions.
        +         */
        +        showUnits?: boolean;
        +        /**
        +         * Show value-suggestions.
        +         */
        +        showValues?: boolean;
        +        /**
        +         * Show constant-suggestions.
        +         */
        +        showConstants?: boolean;
        +        /**
        +         * Show enum-suggestions.
        +         */
        +        showEnums?: boolean;
        +        /**
        +         * Show enumMember-suggestions.
        +         */
        +        showEnumMembers?: boolean;
        +        /**
        +         * Show keyword-suggestions.
        +         */
        +        showKeywords?: boolean;
        +        /**
        +         * Show text-suggestions.
        +         */
        +        showWords?: boolean;
        +        /**
        +         * Show color-suggestions.
        +         */
        +        showColors?: boolean;
        +        /**
        +         * Show file-suggestions.
        +         */
        +        showFiles?: boolean;
        +        /**
        +         * Show reference-suggestions.
        +         */
        +        showReferences?: boolean;
        +        /**
        +         * Show folder-suggestions.
        +         */
        +        showFolders?: boolean;
        +        /**
        +         * Show typeParameter-suggestions.
        +         */
        +        showTypeParameters?: boolean;
        +        /**
        +         * Show issue-suggestions.
        +         */
        +        showIssues?: boolean;
        +        /**
        +         * Show user-suggestions.
        +         */
        +        showUsers?: boolean;
        +        /**
        +         * Show snippet-suggestions.
        +         */
        +        showSnippets?: boolean;
        +    }
        +
        +    export interface ISmartSelectOptions {
        +        selectLeadingAndTrailingWhitespace?: boolean;
        +    }
        +
        +    /**
        +     * Describes how to indent wrapped lines.
        +     */
        +    export enum WrappingIndent {
        +        /**
        +         * No indentation => wrapped lines begin at column 1.
        +         */
        +        None = 0,
        +        /**
        +         * Same => wrapped lines get the same indentation as the parent.
        +         */
        +        Same = 1,
        +        /**
        +         * Indent => wrapped lines get +1 indentation toward the parent.
        +         */
        +        Indent = 2,
        +        /**
        +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
        +         */
        +        DeepIndent = 3
        +    }
        +
        +    export interface EditorWrappingInfo {
        +        readonly isDominatedByLongLines: boolean;
        +        readonly isWordWrapMinified: boolean;
        +        readonly isViewportWrapping: boolean;
        +        readonly wrappingColumn: number;
        +    }
        +
        +    export enum EditorOption {
        +        acceptSuggestionOnCommitCharacter = 0,
        +        acceptSuggestionOnEnter = 1,
        +        accessibilitySupport = 2,
        +        accessibilityPageSize = 3,
        +        ariaLabel = 4,
        +        autoClosingBrackets = 5,
        +        autoClosingDelete = 6,
        +        autoClosingOvertype = 7,
        +        autoClosingQuotes = 8,
        +        autoIndent = 9,
        +        automaticLayout = 10,
        +        autoSurround = 11,
        +        bracketPairColorization = 12,
        +        guides = 13,
        +        codeLens = 14,
        +        codeLensFontFamily = 15,
        +        codeLensFontSize = 16,
        +        colorDecorators = 17,
        +        columnSelection = 18,
        +        comments = 19,
        +        contextmenu = 20,
        +        copyWithSyntaxHighlighting = 21,
        +        cursorBlinking = 22,
        +        cursorSmoothCaretAnimation = 23,
        +        cursorStyle = 24,
        +        cursorSurroundingLines = 25,
        +        cursorSurroundingLinesStyle = 26,
        +        cursorWidth = 27,
        +        disableLayerHinting = 28,
        +        disableMonospaceOptimizations = 29,
        +        domReadOnly = 30,
        +        dragAndDrop = 31,
        +        emptySelectionClipboard = 32,
        +        extraEditorClassName = 33,
        +        fastScrollSensitivity = 34,
        +        find = 35,
        +        fixedOverflowWidgets = 36,
        +        folding = 37,
        +        foldingStrategy = 38,
        +        foldingHighlight = 39,
        +        foldingImportsByDefault = 40,
        +        unfoldOnClickAfterEndOfLine = 41,
        +        fontFamily = 42,
        +        fontInfo = 43,
        +        fontLigatures = 44,
        +        fontSize = 45,
        +        fontWeight = 46,
        +        formatOnPaste = 47,
        +        formatOnType = 48,
        +        glyphMargin = 49,
        +        gotoLocation = 50,
        +        hideCursorInOverviewRuler = 51,
        +        hover = 52,
        +        inDiffEditor = 53,
        +        inlineSuggest = 54,
        +        letterSpacing = 55,
        +        lightbulb = 56,
        +        lineDecorationsWidth = 57,
        +        lineHeight = 58,
        +        lineNumbers = 59,
        +        lineNumbersMinChars = 60,
        +        linkedEditing = 61,
        +        links = 62,
        +        matchBrackets = 63,
        +        minimap = 64,
        +        mouseStyle = 65,
        +        mouseWheelScrollSensitivity = 66,
        +        mouseWheelZoom = 67,
        +        multiCursorMergeOverlapping = 68,
        +        multiCursorModifier = 69,
        +        multiCursorPaste = 70,
        +        occurrencesHighlight = 71,
        +        overviewRulerBorder = 72,
        +        overviewRulerLanes = 73,
        +        padding = 74,
        +        parameterHints = 75,
        +        peekWidgetDefaultFocus = 76,
        +        definitionLinkOpensInPeek = 77,
        +        quickSuggestions = 78,
        +        quickSuggestionsDelay = 79,
        +        readOnly = 80,
        +        renameOnType = 81,
        +        renderControlCharacters = 82,
        +        renderFinalNewline = 83,
        +        renderLineHighlight = 84,
        +        renderLineHighlightOnlyWhenFocus = 85,
        +        renderValidationDecorations = 86,
        +        renderWhitespace = 87,
        +        revealHorizontalRightPadding = 88,
        +        roundedSelection = 89,
        +        rulers = 90,
        +        scrollbar = 91,
        +        scrollBeyondLastColumn = 92,
        +        scrollBeyondLastLine = 93,
        +        scrollPredominantAxis = 94,
        +        selectionClipboard = 95,
        +        selectionHighlight = 96,
        +        selectOnLineNumbers = 97,
        +        showFoldingControls = 98,
        +        showUnused = 99,
        +        snippetSuggestions = 100,
        +        smartSelect = 101,
        +        smoothScrolling = 102,
        +        stickyTabStops = 103,
        +        stopRenderingLineAfter = 104,
        +        suggest = 105,
        +        suggestFontSize = 106,
        +        suggestLineHeight = 107,
        +        suggestOnTriggerCharacters = 108,
        +        suggestSelection = 109,
        +        tabCompletion = 110,
        +        tabIndex = 111,
        +        unicodeHighlighting = 112,
        +        unusualLineTerminators = 113,
        +        useShadowDOM = 114,
        +        useTabStops = 115,
        +        wordSeparators = 116,
        +        wordWrap = 117,
        +        wordWrapBreakAfterCharacters = 118,
        +        wordWrapBreakBeforeCharacters = 119,
        +        wordWrapColumn = 120,
        +        wordWrapOverride1 = 121,
        +        wordWrapOverride2 = 122,
        +        wrappingIndent = 123,
        +        wrappingStrategy = 124,
        +        showDeprecated = 125,
        +        inlayHints = 126,
        +        editorClassName = 127,
        +        pixelRatio = 128,
        +        tabFocusMode = 129,
        +        layoutInfo = 130,
        +        wrappingInfo = 131
        +    }
        +
        +    export const EditorOptions: {
        +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
        +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
        +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
        +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
        +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
        +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
        +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
        +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
        +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
        +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
        +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
        +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
        +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
        +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
        +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
        +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
        +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
        +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
        +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
        +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
        +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
        +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
        +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
        +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
        +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
        +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
        +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
        +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
        +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
        +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
        +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
        +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
        +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
        +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
        +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
        +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
        +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
        +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
        +        folding: IEditorOption<EditorOption.folding, boolean>;
        +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
        +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
        +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
        +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
        +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
        +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
        +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
        +        fontSize: IEditorOption<EditorOption.fontSize, number>;
        +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
        +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
        +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
        +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
        +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
        +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
        +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
        +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
        +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
        +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
        +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
        +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
        +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
        +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
        +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
        +        links: IEditorOption<EditorOption.links, boolean>;
        +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
        +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
        +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
        +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
        +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
        +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
        +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
        +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
        +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
        +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
        +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
        +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
        +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
        +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
        +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
        +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
        +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
        +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
        +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
        +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
        +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
        +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
        +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
        +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
        +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
        +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
        +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
        +        rulers: IEditorOption<EditorOption.rulers, {}>;
        +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
        +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
        +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
        +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
        +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
        +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
        +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
        +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
        +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
        +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
        +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
        +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
        +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
        +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
        +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
        +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
        +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
        +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
        +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
        +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
        +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
        +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
        +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
        +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
        +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
        +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
        +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
        +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
        +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
        +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
        +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
        +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
        +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
        +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
        +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
        +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
        +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
        +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
        +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
        +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
        +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
        +    };
        +
        +    type EditorOptionsType = typeof EditorOptions;
        +
        +    type FindEditorOptionsKeyById<T extends EditorOption> = {
        +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
        +    }[keyof EditorOptionsType];
        +
        +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
        +
        +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
        +
        +    /**
        +     * A view zone is a full horizontal rectangle that 'pushes' text down.
        +     * The editor reserves space for view zones when rendering.
        +     */
        +    export interface IViewZone {
        +        /**
        +         * The line number after which this zone should appear.
        +         * Use 0 to place a view zone before the first line number.
        +         */
        +        afterLineNumber: number;
        +        /**
        +         * The column after which this zone should appear.
        +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
        +         */
        +        afterColumn?: number;
        +        /**
        +         * Suppress mouse down events.
        +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
        +         * Defaults to false
        +         */
        +        suppressMouseDown?: boolean;
        +        /**
        +         * The height in lines of the view zone.
        +         * If specified, `heightInPx` will be used instead of this.
        +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
        +         */
        +        heightInLines?: number;
        +        /**
        +         * The height in px of the view zone.
        +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
        +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
        +         */
        +        heightInPx?: number;
        +        /**
        +         * The minimum width in px of the view zone.
        +         * If this is set, the editor will ensure that the scroll width is >= than this value.
        +         */
        +        minWidthInPx?: number;
        +        /**
        +         * The dom node of the view zone
        +         */
        +        domNode: HTMLElement;
        +        /**
        +         * An optional dom node for the view zone that will be placed in the margin area.
        +         */
        +        marginDomNode?: HTMLElement | null;
        +        /**
        +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
        +         */
        +        onDomNodeTop?: (top: number) => void;
        +        /**
        +         * Callback which gives the height in pixels of the view zone.
        +         */
        +        onComputedHeight?: (height: number) => void;
        +    }
        +
        +    /**
        +     * An accessor that allows for zones to be added or removed.
        +     */
        +    export interface IViewZoneChangeAccessor {
        +        /**
        +         * Create a new view zone.
        +         * @param zone Zone to create
        +         * @return A unique identifier to the view zone.
        +         */
        +        addZone(zone: IViewZone): string;
        +        /**
        +         * Remove a zone
        +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
        +         */
        +        removeZone(id: string): void;
        +        /**
        +         * Change a zone's position.
        +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
        +         */
        +        layoutZone(id: string): void;
        +    }
        +
        +    /**
        +     * A positioning preference for rendering content widgets.
        +     */
        +    export enum ContentWidgetPositionPreference {
        +        /**
        +         * Place the content widget exactly at a position
        +         */
        +        EXACT = 0,
        +        /**
        +         * Place the content widget above a position
        +         */
        +        ABOVE = 1,
        +        /**
        +         * Place the content widget below a position
        +         */
        +        BELOW = 2
        +    }
        +
        +    /**
        +     * A position for rendering content widgets.
        +     */
        +    export interface IContentWidgetPosition {
        +        /**
        +         * Desired position for the content widget.
        +         * `preference` will also affect the placement.
        +         */
        +        position: IPosition | null;
        +        /**
        +         * Optionally, a range can be provided to further
        +         * define the position of the content widget.
        +         */
        +        range?: IRange | null;
        +        /**
        +         * Placement preference for position, in order of preference.
        +         */
        +        preference: ContentWidgetPositionPreference[];
        +    }
        +
        +    /**
        +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
        +     */
        +    export interface IContentWidget {
        +        /**
        +         * Render this content widget in a location where it could overflow the editor's view dom node.
        +         */
        +        allowEditorOverflow?: boolean;
        +        suppressMouseDown?: boolean;
        +        /**
        +         * Get a unique identifier of the content widget.
        +         */
        +        getId(): string;
        +        /**
        +         * Get the dom node of the content widget.
        +         */
        +        getDomNode(): HTMLElement;
        +        /**
        +         * Get the placement of the content widget.
        +         * If null is returned, the content widget will be placed off screen.
        +         */
        +        getPosition(): IContentWidgetPosition | null;
        +        /**
        +         * Optional function that is invoked before rendering
        +         * the content widget. If a dimension is returned the editor will
        +         * attempt to use it.
        +         */
        +        beforeRender?(): IDimension | null;
        +        /**
        +         * Optional function that is invoked after rendering the content
        +         * widget. Is being invoked with the selected position preference
        +         * or `null` if not rendered.
        +         */
        +        afterRender?(position: ContentWidgetPositionPreference | null): void;
        +    }
        +
        +    /**
        +     * A positioning preference for rendering overlay widgets.
        +     */
        +    export enum OverlayWidgetPositionPreference {
        +        /**
        +         * Position the overlay widget in the top right corner
        +         */
        +        TOP_RIGHT_CORNER = 0,
        +        /**
        +         * Position the overlay widget in the bottom right corner
        +         */
        +        BOTTOM_RIGHT_CORNER = 1,
        +        /**
        +         * Position the overlay widget in the top center
        +         */
        +        TOP_CENTER = 2
        +    }
        +
        +    /**
        +     * A position for rendering overlay widgets.
        +     */
        +    export interface IOverlayWidgetPosition {
        +        /**
        +         * The position preference for the overlay widget.
        +         */
        +        preference: OverlayWidgetPositionPreference | null;
        +    }
        +
        +    /**
        +     * An overlay widgets renders on top of the text.
        +     */
        +    export interface IOverlayWidget {
        +        /**
        +         * Get a unique identifier of the overlay widget.
        +         */
        +        getId(): string;
        +        /**
        +         * Get the dom node of the overlay widget.
        +         */
        +        getDomNode(): HTMLElement;
        +        /**
        +         * Get the placement of the overlay widget.
        +         * If null is returned, the overlay widget is responsible to place itself.
        +         */
        +        getPosition(): IOverlayWidgetPosition | null;
        +    }
        +
        +    /**
        +     * Type of hit element with the mouse in the editor.
        +     */
        +    export enum MouseTargetType {
        +        /**
        +         * Mouse is on top of an unknown element.
        +         */
        +        UNKNOWN = 0,
        +        /**
        +         * Mouse is on top of the textarea used for input.
        +         */
        +        TEXTAREA = 1,
        +        /**
        +         * Mouse is on top of the glyph margin
        +         */
        +        GUTTER_GLYPH_MARGIN = 2,
        +        /**
        +         * Mouse is on top of the line numbers
        +         */
        +        GUTTER_LINE_NUMBERS = 3,
        +        /**
        +         * Mouse is on top of the line decorations
        +         */
        +        GUTTER_LINE_DECORATIONS = 4,
        +        /**
        +         * Mouse is on top of the whitespace left in the gutter by a view zone.
        +         */
        +        GUTTER_VIEW_ZONE = 5,
        +        /**
        +         * Mouse is on top of text in the content.
        +         */
        +        CONTENT_TEXT = 6,
        +        /**
        +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
        +         */
        +        CONTENT_EMPTY = 7,
        +        /**
        +         * Mouse is on top of a view zone in the content.
        +         */
        +        CONTENT_VIEW_ZONE = 8,
        +        /**
        +         * Mouse is on top of a content widget.
        +         */
        +        CONTENT_WIDGET = 9,
        +        /**
        +         * Mouse is on top of the decorations overview ruler.
        +         */
        +        OVERVIEW_RULER = 10,
        +        /**
        +         * Mouse is on top of a scrollbar.
        +         */
        +        SCROLLBAR = 11,
        +        /**
        +         * Mouse is on top of an overlay widget.
        +         */
        +        OVERLAY_WIDGET = 12,
        +        /**
        +         * Mouse is outside of the editor.
        +         */
        +        OUTSIDE_EDITOR = 13
        +    }
        +
        +    /**
        +     * Target hit with the mouse in the editor.
        +     */
        +    export interface IMouseTarget {
        +        /**
        +         * The target element
        +         */
        +        readonly element: Element | null;
        +        /**
        +         * The target type
        +         */
        +        readonly type: MouseTargetType;
        +        /**
        +         * The 'approximate' editor position
        +         */
        +        readonly position: Position | null;
        +        /**
        +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
        +         */
        +        readonly mouseColumn: number;
        +        /**
        +         * The 'approximate' editor range
        +         */
        +        readonly range: Range | null;
        +        /**
        +         * Some extra detail.
        +         */
        +        readonly detail: any;
        +    }
        +
        +    /**
        +     * A mouse event originating from the editor.
        +     */
        +    export interface IEditorMouseEvent {
        +        readonly event: IMouseEvent;
        +        readonly target: IMouseTarget;
        +    }
        +
        +    export interface IPartialEditorMouseEvent {
        +        readonly event: IMouseEvent;
        +        readonly target: IMouseTarget | null;
        +    }
        +
        +    /**
        +     * A paste event originating from the editor.
        +     */
        +    export interface IPasteEvent {
        +        readonly range: Range;
        +        readonly languageId: string | null;
        +    }
        +
        +    export interface IEditorConstructionOptions extends IEditorOptions {
        +        /**
        +         * The initial editor dimension (to avoid measuring the container).
        +         */
        +        dimension?: IDimension;
        +        /**
        +         * Place overflow widgets inside an external DOM node.
        +         * Defaults to an internal DOM node.
        +         */
        +        overflowWidgetsDomNode?: HTMLElement;
        +    }
        +
        +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
        +        /**
        +         * The initial editor dimension (to avoid measuring the container).
        +         */
        +        dimension?: IDimension;
        +        /**
        +         * Place overflow widgets inside an external DOM node.
        +         * Defaults to an internal DOM node.
        +         */
        +        overflowWidgetsDomNode?: HTMLElement;
        +        /**
        +         * Aria label for original editor.
        +         */
        +        originalAriaLabel?: string;
        +        /**
        +         * Aria label for modified editor.
        +         */
        +        modifiedAriaLabel?: string;
        +        /**
        +         * Is the diff editor inside another editor
        +         * Defaults to false
        +         */
        +        isInEmbeddedEditor?: boolean;
        +    }
        +
        +    /**
        +     * A rich code editor.
        +     */
        +    export interface ICodeEditor extends IEditor {
        +        /**
        +         * An event emitted when the content of the current model has changed.
        +         * @event
        +         */
        +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
        +        /**
        +         * An event emitted when the language of the current model has changed.
        +         * @event
        +         */
        +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
        +        /**
        +         * An event emitted when the language configuration of the current model has changed.
        +         * @event
        +         */
        +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
        +        /**
        +         * An event emitted when the options of the current model has changed.
        +         * @event
        +         */
        +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
        +        /**
        +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
        +         * @event
        +         */
        +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
        +        /**
        +         * An event emitted when the cursor position has changed.
        +         * @event
        +         */
        +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
        +        /**
        +         * An event emitted when the cursor selection has changed.
        +         * @event
        +         */
        +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
        +        /**
        +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
        +         * @event
        +         */
        +        onDidChangeModel: IEvent<IModelChangedEvent>;
        +        /**
        +         * An event emitted when the decorations of the current model have changed.
        +         * @event
        +         */
        +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
        +        /**
        +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
        +         * @event
        +         */
        +        onDidFocusEditorText(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
        +         * @event
        +         */
        +        onDidBlurEditorText(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted when the text inside this editor or an editor widget gained focus.
        +         * @event
        +         */
        +        onDidFocusEditorWidget(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted when the text inside this editor or an editor widget lost focus.
        +         * @event
        +         */
        +        onDidBlurEditorWidget(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted after composition has started.
        +         */
        +        onDidCompositionStart(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted after composition has ended.
        +         */
        +        onDidCompositionEnd(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted when editing failed because the editor is read-only.
        +         * @event
        +         */
        +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
        +        /**
        +         * An event emitted when users paste text in the editor.
        +         * @event
        +         */
        +        onDidPaste: IEvent<IPasteEvent>;
        +        /**
        +         * An event emitted on a "mouseup".
        +         * @event
        +         */
        +        onMouseUp: IEvent<IEditorMouseEvent>;
        +        /**
        +         * An event emitted on a "mousedown".
        +         * @event
        +         */
        +        onMouseDown: IEvent<IEditorMouseEvent>;
        +        /**
        +         * An event emitted on a "contextmenu".
        +         * @event
        +         */
        +        onContextMenu: IEvent<IEditorMouseEvent>;
        +        /**
        +         * An event emitted on a "mousemove".
        +         * @event
        +         */
        +        onMouseMove: IEvent<IEditorMouseEvent>;
        +        /**
        +         * An event emitted on a "mouseleave".
        +         * @event
        +         */
        +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
        +        /**
        +         * An event emitted on a "keyup".
        +         * @event
        +         */
        +        onKeyUp: IEvent<IKeyboardEvent>;
        +        /**
        +         * An event emitted on a "keydown".
        +         * @event
        +         */
        +        onKeyDown: IEvent<IKeyboardEvent>;
        +        /**
        +         * An event emitted when the layout of the editor has changed.
        +         * @event
        +         */
        +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
        +        /**
        +         * An event emitted when the content width or content height in the editor has changed.
        +         * @event
        +         */
        +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
        +        /**
        +         * An event emitted when the scroll in the editor has changed.
        +         * @event
        +         */
        +        onDidScrollChange: IEvent<IScrollEvent>;
        +        /**
        +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
        +         * @event
        +         */
        +        onDidChangeHiddenAreas: IEvent<void>;
        +        /**
        +         * Saves current view state of the editor in a serializable object.
        +         */
        +        saveViewState(): ICodeEditorViewState | null;
        +        /**
        +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
        +         */
        +        restoreViewState(state: ICodeEditorViewState): void;
        +        /**
        +         * Returns true if the text inside this editor or an editor widget has focus.
        +         */
        +        hasWidgetFocus(): boolean;
        +        /**
        +         * Get a contribution of this editor.
        +         * @id Unique identifier of the contribution.
        +         * @return The contribution or null if contribution not found.
        +         */
        +        getContribution<T extends IEditorContribution>(id: string): T;
        +        /**
        +         * Type the getModel() of IEditor.
        +         */
        +        getModel(): ITextModel | null;
        +        /**
        +         * Sets the current model attached to this editor.
        +         * If the previous model was created by the editor via the value key in the options
        +         * literal object, it will be destroyed. Otherwise, if the previous model was set
        +         * via setModel, or the model key in the options literal object, the previous model
        +         * will not be destroyed.
        +         * It is safe to call setModel(null) to simply detach the current model from the editor.
        +         */
        +        setModel(model: ITextModel | null): void;
        +        /**
        +         * Gets all the editor computed options.
        +         */
        +        getOptions(): IComputedEditorOptions;
        +        /**
        +         * Gets a specific editor option.
        +         */
        +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
        +        /**
        +         * Returns the editor's configuration (without any validation or defaults).
        +         */
        +        getRawOptions(): IEditorOptions;
        +        /**
        +         * Get value of the current model attached to this editor.
        +         * @see {@link ITextModel.getValue}
        +         */
        +        getValue(options?: {
        +            preserveBOM: boolean;
        +            lineEnding: string;
        +        }): string;
        +        /**
        +         * Set the value of the current model attached to this editor.
        +         * @see {@link ITextModel.setValue}
        +         */
        +        setValue(newValue: string): void;
        +        /**
        +         * Get the width of the editor's content.
        +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
        +         */
        +        getContentWidth(): number;
        +        /**
        +         * Get the scrollWidth of the editor's viewport.
        +         */
        +        getScrollWidth(): number;
        +        /**
        +         * Get the scrollLeft of the editor's viewport.
        +         */
        +        getScrollLeft(): number;
        +        /**
        +         * Get the height of the editor's content.
        +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
        +         */
        +        getContentHeight(): number;
        +        /**
        +         * Get the scrollHeight of the editor's viewport.
        +         */
        +        getScrollHeight(): number;
        +        /**
        +         * Get the scrollTop of the editor's viewport.
        +         */
        +        getScrollTop(): number;
        +        /**
        +         * Change the scrollLeft of the editor's viewport.
        +         */
        +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
        +        /**
        +         * Change the scrollTop of the editor's viewport.
        +         */
        +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
        +        /**
        +         * Change the scroll position of the editor's viewport.
        +         */
        +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
        +        /**
        +         * Get an action that is a contribution to this editor.
        +         * @id Unique identifier of the contribution.
        +         * @return The action or null if action not found.
        +         */
        +        getAction(id: string): IEditorAction;
        +        /**
        +         * Execute a command on the editor.
        +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
        +         * @param source The source of the call.
        +         * @param command The command to execute
        +         */
        +        executeCommand(source: string | null | undefined, command: ICommand): void;
        +        /**
        +         * Create an "undo stop" in the undo-redo stack.
        +         */
        +        pushUndoStop(): boolean;
        +        /**
        +         * Remove the "undo stop" in the undo-redo stack.
        +         */
        +        popUndoStop(): boolean;
        +        /**
        +         * Execute edits on the editor.
        +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
        +         * @param source The source of the call.
        +         * @param edits The edits to execute.
        +         * @param endCursorState Cursor state after the edits were applied.
        +         */
        +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
        +        /**
        +         * Execute multiple (concomitant) commands on the editor.
        +         * @param source The source of the call.
        +         * @param command The commands to execute
        +         */
        +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
        +        /**
        +         * Get all the decorations on a line (filtering out decorations from other editors).
        +         */
        +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
        +        /**
        +         * All decorations added through this call will get the ownerId of this editor.
        +         * @see {@link ITextModel.deltaDecorations}
        +         */
        +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
        +        /**
        +         * Get the layout info for the editor.
        +         */
        +        getLayoutInfo(): EditorLayoutInfo;
        +        /**
        +         * Returns the ranges that are currently visible.
        +         * Does not account for horizontal scrolling.
        +         */
        +        getVisibleRanges(): Range[];
        +        /**
        +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
        +         */
        +        getTopForLineNumber(lineNumber: number): number;
        +        /**
        +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
        +         */
        +        getTopForPosition(lineNumber: number, column: number): number;
        +        /**
        +         * Returns the editor's container dom node
        +         */
        +        getContainerDomNode(): HTMLElement;
        +        /**
        +         * Returns the editor's dom node
        +         */
        +        getDomNode(): HTMLElement | null;
        +        /**
        +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
        +         */
        +        addContentWidget(widget: IContentWidget): void;
        +        /**
        +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
        +         * and update appropriately.
        +         */
        +        layoutContentWidget(widget: IContentWidget): void;
        +        /**
        +         * Remove a content widget.
        +         */
        +        removeContentWidget(widget: IContentWidget): void;
        +        /**
        +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
        +         */
        +        addOverlayWidget(widget: IOverlayWidget): void;
        +        /**
        +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
        +         * and update appropriately.
        +         */
        +        layoutOverlayWidget(widget: IOverlayWidget): void;
        +        /**
        +         * Remove an overlay widget.
        +         */
        +        removeOverlayWidget(widget: IOverlayWidget): void;
        +        /**
        +         * Change the view zones. View zones are lost when a new model is attached to the editor.
        +         */
        +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
        +        /**
        +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
        +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
        +         * Use this method with caution.
        +         */
        +        getOffsetForColumn(lineNumber: number, column: number): number;
        +        /**
        +         * Force an editor render now.
        +         */
        +        render(forceRedraw?: boolean): void;
        +        /**
        +         * Get the hit test target at coordinates `clientX` and `clientY`.
        +         * The coordinates are relative to the top-left of the viewport.
        +         *
        +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
        +         */
        +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
        +        /**
        +         * Get the visible position for `position`.
        +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
        +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
        +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
        +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
        +         */
        +        getScrolledVisiblePosition(position: IPosition): {
        +            top: number;
        +            left: number;
        +            height: number;
        +        } | null;
        +        /**
        +         * Apply the same font settings as the editor to `target`.
        +         */
        +        applyFontInfo(target: HTMLElement): void;
        +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
        +    }
        +
        +    /**
        +     * Information about a line in the diff editor
        +     */
        +    export interface IDiffLineInformation {
        +        readonly equivalentLineNumber: number;
        +    }
        +
        +    /**
        +     * A rich diff editor.
        +     */
        +    export interface IDiffEditor extends IEditor {
        +        /**
        +         * @see {@link ICodeEditor.getDomNode}
        +         */
        +        getDomNode(): HTMLElement;
        +        /**
        +         * An event emitted when the diff information computed by this diff editor has been updated.
        +         * @event
        +         */
        +        onDidUpdateDiff(listener: () => void): IDisposable;
        +        /**
        +         * Saves current view state of the editor in a serializable object.
        +         */
        +        saveViewState(): IDiffEditorViewState | null;
        +        /**
        +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
        +         */
        +        restoreViewState(state: IDiffEditorViewState): void;
        +        /**
        +         * Type the getModel() of IEditor.
        +         */
        +        getModel(): IDiffEditorModel | null;
        +        /**
        +         * Sets the current model attached to this editor.
        +         * If the previous model was created by the editor via the value key in the options
        +         * literal object, it will be destroyed. Otherwise, if the previous model was set
        +         * via setModel, or the model key in the options literal object, the previous model
        +         * will not be destroyed.
        +         * It is safe to call setModel(null) to simply detach the current model from the editor.
        +         */
        +        setModel(model: IDiffEditorModel | null): void;
        +        /**
        +         * Get the `original` editor.
        +         */
        +        getOriginalEditor(): ICodeEditor;
        +        /**
        +         * Get the `modified` editor.
        +         */
        +        getModifiedEditor(): ICodeEditor;
        +        /**
        +         * Get the computed diff information.
        +         */
        +        getLineChanges(): ILineChange[] | null;
        +        /**
        +         * Get information based on computed diff about a line number from the original model.
        +         * If the diff computation is not finished or the model is missing, will return null.
        +         */
        +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
        +        /**
        +         * Get information based on computed diff about a line number from the modified model.
        +         * If the diff computation is not finished or the model is missing, will return null.
        +         */
        +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
        +        /**
        +         * Update the editor's options after the editor has been created.
        +         */
        +        updateOptions(newOptions: IDiffEditorOptions): void;
        +    }
        +
        +    export class FontInfo extends BareFontInfo {
        +        readonly _editorStylingBrand: void;
        +        readonly version: number;
        +        readonly isTrusted: boolean;
        +        readonly isMonospace: boolean;
        +        readonly typicalHalfwidthCharacterWidth: number;
        +        readonly typicalFullwidthCharacterWidth: number;
        +        readonly canUseHalfwidthRightwardsArrow: boolean;
        +        readonly spaceWidth: number;
        +        readonly middotWidth: number;
        +        readonly wsmiddotWidth: number;
        +        readonly maxDigitWidth: number;
        +    }
        +
        +    export class BareFontInfo {
        +        readonly _bareFontInfoBrand: void;
        +        readonly zoomLevel: number;
        +        readonly pixelRatio: number;
        +        readonly fontFamily: string;
        +        readonly fontWeight: string;
        +        readonly fontSize: number;
        +        readonly fontFeatureSettings: string;
        +        readonly lineHeight: number;
        +        readonly letterSpacing: number;
        +    }
        +
        +    //compatibility:
        +    export type IReadOnlyModel = ITextModel;
        +    export type IModel = ITextModel;
        +}
        +
        +declare namespace monaco.languages {
        +
        +
        +    /**
        +     * Register information about a new language.
        +     */
        +    export function register(language: ILanguageExtensionPoint): void;
        +
        +    /**
        +     * Get the information of all the registered languages.
        +     */
        +    export function getLanguages(): ILanguageExtensionPoint[];
        +
        +    export function getEncodedLanguageId(languageId: string): number;
        +
        +    /**
        +     * An event emitted when a language is first time needed (e.g. a model has it set).
        +     * @event
        +     */
        +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
        +
        +    /**
        +     * Set the editing configuration for a language.
        +     */
        +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
        +
        +    /**
        +     * A token.
        +     */
        +    export interface IToken {
        +        startIndex: number;
        +        scopes: string;
        +    }
        +
        +    /**
        +     * The result of a line tokenization.
        +     */
        +    export interface ILineTokens {
        +        /**
        +         * The list of tokens on the line.
        +         */
        +        tokens: IToken[];
        +        /**
        +         * The tokenization end state.
        +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
        +         */
        +        endState: IState;
        +    }
        +
        +    /**
        +     * The result of a line tokenization.
        +     */
        +    export interface IEncodedLineTokens {
        +        /**
        +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
        +         *  - at offset 2*i => startIndex
        +         *  - at offset 2*i + 1 => metadata
        +         * Meta data is in binary format:
        +         * - -------------------------------------------
        +         *     3322 2222 2222 1111 1111 1100 0000 0000
        +         *     1098 7654 3210 9876 5432 1098 7654 3210
        +         * - -------------------------------------------
        +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
        +         * - -------------------------------------------
        +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
        +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
        +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
        +         *  - f = foreground ColorId (9 bits)
        +         *  - b = background ColorId (9 bits)
        +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
        +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
        +         * id = 1 is for the default foreground color, id = 2 for the default background.
        +         */
        +        tokens: Uint32Array;
        +        /**
        +         * The tokenization end state.
        +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
        +         */
        +        endState: IState;
        +    }
        +
        +    /**
        +     * A "manual" provider of tokens.
        +     */
        +    export interface TokensProvider {
        +        /**
        +         * The initial state of a language. Will be the state passed in to tokenize the first line.
        +         */
        +        getInitialState(): IState;
        +        /**
        +         * Tokenize a line given the state at the beginning of the line.
        +         */
        +        tokenize(line: string, state: IState): ILineTokens;
        +    }
        +
        +    /**
        +     * A "manual" provider of tokens, returning tokens in a binary form.
        +     */
        +    export interface EncodedTokensProvider {
        +        /**
        +         * The initial state of a language. Will be the state passed in to tokenize the first line.
        +         */
        +        getInitialState(): IState;
        +        /**
        +         * Tokenize a line given the state at the beginning of the line.
        +         */
        +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
        +        /**
        +         * Tokenize a line given the state at the beginning of the line.
        +         */
        +        tokenize?(line: string, state: IState): ILineTokens;
        +    }
        +
        +    /**
        +     * Change the color map that is used for token colors.
        +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
        +     */
        +    export function setColorMap(colorMap: string[] | null): void;
        +
        +    /**
        +     * Set the tokens provider for a language (manual implementation).
        +     */
        +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
        +
        +    /**
        +     * Set the tokens provider for a language (monarch implementation).
        +     */
        +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
        +
        +    /**
        +     * Register a reference provider (used by e.g. reference search).
        +     */
        +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
        +
        +    /**
        +     * Register a rename provider (used by e.g. rename symbol).
        +     */
        +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
        +
        +    /**
        +     * Register a signature help provider (used by e.g. parameter hints).
        +     */
        +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
        +
        +    /**
        +     * Register a hover provider (used by e.g. editor hover).
        +     */
        +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
        +
        +    /**
        +     * Register a document symbol provider (used by e.g. outline).
        +     */
        +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
        +
        +    /**
        +     * Register a document highlight provider (used by e.g. highlight occurrences).
        +     */
        +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
        +
        +    /**
        +     * Register an linked editing range provider.
        +     */
        +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
        +
        +    /**
        +     * Register a definition provider (used by e.g. go to definition).
        +     */
        +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
        +
        +    /**
        +     * Register a implementation provider (used by e.g. go to implementation).
        +     */
        +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
        +
        +    /**
        +     * Register a type definition provider (used by e.g. go to type definition).
        +     */
        +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
        +
        +    /**
        +     * Register a code lens provider (used by e.g. inline code lenses).
        +     */
        +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
        +
        +    /**
        +     * Register a code action provider (used by e.g. quick fix).
        +     */
        +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
        +
        +    /**
        +     * Register a formatter that can handle only entire models.
        +     */
        +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
        +
        +    /**
        +     * Register a formatter that can handle a range inside a model.
        +     */
        +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
        +
        +    /**
        +     * Register a formatter than can do formatting as the user types.
        +     */
        +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
        +
        +    /**
        +     * Register a link provider that can find links in text.
        +     */
        +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
        +
        +    /**
        +     * Register a completion item provider (use by e.g. suggestions).
        +     */
        +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
        +
        +    /**
        +     * Register a document color provider (used by Color Picker, Color Decorator).
        +     */
        +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
        +
        +    /**
        +     * Register a folding range provider
        +     */
        +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
        +
        +    /**
        +     * Register a declaration provider
        +     */
        +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
        +
        +    /**
        +     * Register a selection range provider
        +     */
        +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
        +
        +    /**
        +     * Register a document semantic tokens provider
        +     */
        +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
        +
        +    /**
        +     * Register a document range semantic tokens provider
        +     */
        +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
        +
        +    /**
        +     * Register an inline completions provider.
        +     */
        +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
        +
        +    /**
        +     * Register an inlay hints provider.
        +     */
        +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
        +
        +    /**
        +     * Contains additional diagnostic information about the context in which
        +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
        +     */
        +    export interface CodeActionContext {
        +        /**
        +         * An array of diagnostics.
        +         */
        +        readonly markers: editor.IMarkerData[];
        +        /**
        +         * Requested kind of actions to return.
        +         */
        +        readonly only?: string;
        +    }
        +
        +    /**
        +     * The code action interface defines the contract between extensions and
        +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
        +     */
        +    export interface CodeActionProvider {
        +        /**
        +         * Provide commands for the given document and range.
        +         */
        +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
        +        /**
        +         * Given a code action fill in the edit. Will only invoked when missing.
        +         */
        +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
        +    }
        +
        +    /**
        +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
        +     */
        +    export interface CodeActionProviderMetadata {
        +        /**
        +         * List of code action kinds that a {@link CodeActionProvider} may return.
        +         *
        +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
        +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
        +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
        +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
        +         */
        +        readonly providedCodeActionKinds?: readonly string[];
        +    }
        +
        +    /**
        +     * Describes how comments for a language work.
        +     */
        +    export interface CommentRule {
        +        /**
        +         * The line comment token, like `// this is a comment`
        +         */
        +        lineComment?: string | null;
        +        /**
        +         * The block comment character pair, like `/* block comment *&#47;`
        +         */
        +        blockComment?: CharacterPair | null;
        +    }
        +
        +    /**
        +     * The language configuration interface defines the contract between extensions and
        +     * various editor features, like automatic bracket insertion, automatic indentation etc.
        +     */
        +    export interface LanguageConfiguration {
        +        /**
        +         * The language's comment settings.
        +         */
        +        comments?: CommentRule;
        +        /**
        +         * The language's brackets.
        +         * This configuration implicitly affects pressing Enter around these brackets.
        +         */
        +        brackets?: CharacterPair[];
        +        /**
        +         * The language's word definition.
        +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
        +         * to provide a word definition that uses exclusion of known separators.
        +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
        +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
        +         */
        +        wordPattern?: RegExp;
        +        /**
        +         * The language's indentation settings.
        +         */
        +        indentationRules?: IndentationRule;
        +        /**
        +         * The language's rules to be evaluated when pressing Enter.
        +         */
        +        onEnterRules?: OnEnterRule[];
        +        /**
        +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
        +         * 'open' character is typed. If not set, the configured brackets will be used.
        +         */
        +        autoClosingPairs?: IAutoClosingPairConditional[];
        +        /**
        +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
        +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
        +         * settings will be used.
        +         */
        +        surroundingPairs?: IAutoClosingPair[];
        +        /**
        +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
        +         * If not set, the configured brackets will be used.
        +        */
        +        colorizedBracketPairs?: CharacterPair[];
        +        /**
        +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
        +         *
        +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
        +         */
        +        autoCloseBefore?: string;
        +        /**
        +         * The language's folding rules.
        +         */
        +        folding?: FoldingRules;
        +        /**
        +         * **Deprecated** Do not use.
        +         *
        +         * @deprecated Will be replaced by a better API soon.
        +         */
        +        __electricCharacterSupport?: {
        +            docComment?: IDocComment;
        +        };
        +    }
        +
        +    /**
        +     * Describes indentation rules for a language.
        +     */
        +    export interface IndentationRule {
        +        /**
        +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
        +         */
        +        decreaseIndentPattern: RegExp;
        +        /**
        +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
        +         */
        +        increaseIndentPattern: RegExp;
        +        /**
        +         * If a line matches this pattern, then **only the next line** after it should be indented once.
        +         */
        +        indentNextLinePattern?: RegExp | null;
        +        /**
        +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
        +         */
        +        unIndentedLinePattern?: RegExp | null;
        +    }
        +
        +    /**
        +     * Describes language specific folding markers such as '#region' and '#endregion'.
        +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
        +     * - the regex should start with '^'
        +     * - regexp flags (i, g) are ignored
        +     */
        +    export interface FoldingMarkers {
        +        start: RegExp;
        +        end: RegExp;
        +    }
        +
        +    /**
        +     * Describes folding rules for a language.
        +     */
        +    export interface FoldingRules {
        +        /**
        +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
        +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
        +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
        +         * If not set, `false` is used and empty lines belong to the previous block.
        +         */
        +        offSide?: boolean;
        +        /**
        +         * Region markers used by the language.
        +         */
        +        markers?: FoldingMarkers;
        +    }
        +
        +    /**
        +     * Describes a rule to be evaluated when pressing Enter.
        +     */
        +    export interface OnEnterRule {
        +        /**
        +         * This rule will only execute if the text before the cursor matches this regular expression.
        +         */
        +        beforeText: RegExp;
        +        /**
        +         * This rule will only execute if the text after the cursor matches this regular expression.
        +         */
        +        afterText?: RegExp;
        +        /**
        +         * This rule will only execute if the text above the this line matches this regular expression.
        +         */
        +        previousLineText?: RegExp;
        +        /**
        +         * The action to execute.
        +         */
        +        action: EnterAction;
        +    }
        +
        +    /**
        +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
        +     */
        +    export interface IDocComment {
        +        /**
        +         * The string that starts a doc comment (e.g. '/**')
        +         */
        +        open: string;
        +        /**
        +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
        +         */
        +        close?: string;
        +    }
        +
        +    /**
        +     * A tuple of two characters, like a pair of
        +     * opening and closing brackets.
        +     */
        +    export type CharacterPair = [string, string];
        +
        +    export interface IAutoClosingPair {
        +        open: string;
        +        close: string;
        +    }
        +
        +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
        +        notIn?: string[];
        +    }
        +
        +    /**
        +     * Describes what to do with the indentation when pressing Enter.
        +     */
        +    export enum IndentAction {
        +        /**
        +         * Insert new line and copy the previous line's indentation.
        +         */
        +        None = 0,
        +        /**
        +         * Insert new line and indent once (relative to the previous line's indentation).
        +         */
        +        Indent = 1,
        +        /**
        +         * Insert two new lines:
        +         *  - the first one indented which will hold the cursor
        +         *  - the second one at the same indentation level
        +         */
        +        IndentOutdent = 2,
        +        /**
        +         * Insert new line and outdent once (relative to the previous line's indentation).
        +         */
        +        Outdent = 3
        +    }
        +
        +    /**
        +     * Describes what to do when pressing Enter.
        +     */
        +    export interface EnterAction {
        +        /**
        +         * Describe what to do with the indentation.
        +         */
        +        indentAction: IndentAction;
        +        /**
        +         * Describes text to be appended after the new line and after the indentation.
        +         */
        +        appendText?: string;
        +        /**
        +         * Describes the number of characters to remove from the new line's indentation.
        +         */
        +        removeText?: number;
        +    }
        +
        +    /**
        +     * The state of the tokenizer between two lines.
        +     * It is useful to store flags such as in multiline comment, etc.
        +     * The model will clone the previous line's state and pass it in to tokenize the next line.
        +     */
        +    export interface IState {
        +        clone(): IState;
        +        equals(other: IState): boolean;
        +    }
        +
        +    /**
        +     * A provider result represents the values a provider, like the {@link HoverProvider},
        +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
        +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
        +     * thenable.
        +     */
        +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
        +
        +    /**
        +     * A hover represents additional information for a symbol or word. Hovers are
        +     * rendered in a tooltip-like widget.
        +     */
        +    export interface Hover {
        +        /**
        +         * The contents of this hover.
        +         */
        +        contents: IMarkdownString[];
        +        /**
        +         * The range to which this hover applies. When missing, the
        +         * editor will use the range at the current position or the
        +         * current position itself.
        +         */
        +        range?: IRange;
        +    }
        +
        +    /**
        +     * The hover provider interface defines the contract between extensions and
        +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
        +     */
        +    export interface HoverProvider {
        +        /**
        +         * Provide a hover for the given position and document. Multiple hovers at the same
        +         * position will be merged by the editor. A hover can have a range which defaults
        +         * to the word range at the position when omitted.
        +         */
        +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
        +    }
        +
        +    export enum CompletionItemKind {
        +        Method = 0,
        +        Function = 1,
        +        Constructor = 2,
        +        Field = 3,
        +        Variable = 4,
        +        Class = 5,
        +        Struct = 6,
        +        Interface = 7,
        +        Module = 8,
        +        Property = 9,
        +        Event = 10,
        +        Operator = 11,
        +        Unit = 12,
        +        Value = 13,
        +        Constant = 14,
        +        Enum = 15,
        +        EnumMember = 16,
        +        Keyword = 17,
        +        Text = 18,
        +        Color = 19,
        +        File = 20,
        +        Reference = 21,
        +        Customcolor = 22,
        +        Folder = 23,
        +        TypeParameter = 24,
        +        User = 25,
        +        Issue = 26,
        +        Snippet = 27
        +    }
        +
        +    export interface CompletionItemLabel {
        +        label: string;
        +        detail?: string;
        +        description?: string;
        +    }
        +
        +    export enum CompletionItemTag {
        +        Deprecated = 1
        +    }
        +
        +    export enum CompletionItemInsertTextRule {
        +        /**
        +         * Adjust whitespace/indentation of multiline insert texts to
        +         * match the current line indentation.
        +         */
        +        KeepWhitespace = 1,
        +        /**
        +         * `insertText` is a snippet.
        +         */
        +        InsertAsSnippet = 4
        +    }
        +
        +    export interface CompletionItemRanges {
        +        insert: IRange;
        +        replace: IRange;
        +    }
        +
        +    /**
        +     * A completion item represents a text snippet that is
        +     * proposed to complete text that is being typed.
        +     */
        +    export interface CompletionItem {
        +        /**
        +         * The label of this completion item. By default
        +         * this is also the text that is inserted when selecting
        +         * this completion.
        +         */
        +        label: string | CompletionItemLabel;
        +        /**
        +         * The kind of this completion item. Based on the kind
        +         * an icon is chosen by the editor.
        +         */
        +        kind: CompletionItemKind;
        +        /**
        +         * A modifier to the `kind` which affect how the item
        +         * is rendered, e.g. Deprecated is rendered with a strikeout
        +         */
        +        tags?: ReadonlyArray<CompletionItemTag>;
        +        /**
        +         * A human-readable string with additional information
        +         * about this item, like type or symbol information.
        +         */
        +        detail?: string;
        +        /**
        +         * A human-readable string that represents a doc-comment.
        +         */
        +        documentation?: string | IMarkdownString;
        +        /**
        +         * A string that should be used when comparing this item
        +         * with other items. When `falsy` the {@link CompletionItem.label label}
        +         * is used.
        +         */
        +        sortText?: string;
        +        /**
        +         * A string that should be used when filtering a set of
        +         * completion items. When `falsy` the {@link CompletionItem.label label}
        +         * is used.
        +         */
        +        filterText?: string;
        +        /**
        +         * Select this item when showing. *Note* that only one completion item can be selected and
        +         * that the editor decides which item that is. The rule is that the *first* item of those
        +         * that match best is selected.
        +         */
        +        preselect?: boolean;
        +        /**
        +         * A string or snippet that should be inserted in a document when selecting
        +         * this completion.
        +         */
        +        insertText: string;
        +        /**
        +         * Additional rules (as bitmask) that should be applied when inserting
        +         * this completion.
        +         */
        +        insertTextRules?: CompletionItemInsertTextRule;
        +        /**
        +         * A range of text that should be replaced by this completion item.
        +         *
        +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
        +         * current position.
        +         *
        +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
        +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
        +         */
        +        range: IRange | CompletionItemRanges;
        +        /**
        +         * An optional set of characters that when pressed while this completion is active will accept it first and
        +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
        +         * characters will be ignored.
        +         */
        +        commitCharacters?: string[];
        +        /**
        +         * An optional array of additional text edits that are applied when
        +         * selecting this completion. Edits must not overlap with the main edit
        +         * nor with themselves.
        +         */
        +        additionalTextEdits?: editor.ISingleEditOperation[];
        +        /**
        +         * A command that should be run upon acceptance of this item.
        +         */
        +        command?: Command;
        +    }
        +
        +    export interface CompletionList {
        +        suggestions: CompletionItem[];
        +        incomplete?: boolean;
        +        dispose?(): void;
        +    }
        +
        +    /**
        +     * How a suggest provider was triggered.
        +     */
        +    export enum CompletionTriggerKind {
        +        Invoke = 0,
        +        TriggerCharacter = 1,
        +        TriggerForIncompleteCompletions = 2
        +    }
        +
        +    /**
        +     * Contains additional information about the context in which
        +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
        +     */
        +    export interface CompletionContext {
        +        /**
        +         * How the completion was triggered.
        +         */
        +        triggerKind: CompletionTriggerKind;
        +        /**
        +         * Character that triggered the completion item provider.
        +         *
        +         * `undefined` if provider was not triggered by a character.
        +         */
        +        triggerCharacter?: string;
        +    }
        +
        +    /**
        +     * The completion item provider interface defines the contract between extensions and
        +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
        +     *
        +     * When computing *complete* completion items is expensive, providers can optionally implement
        +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
        +     * items with a {@link CompletionItem.label label} from the
        +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
        +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
        +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
        +     */
        +    export interface CompletionItemProvider {
        +        triggerCharacters?: string[];
        +        /**
        +         * Provide completion items for the given position and document.
        +         */
        +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
        +        /**
        +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
        +         * or {@link CompletionItem.detail details}.
        +         *
        +         * The editor will only resolve a completion item once.
        +         */
        +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
        +    }
        +
        +    /**
        +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
        +     */
        +    export enum InlineCompletionTriggerKind {
        +        /**
        +         * Completion was triggered automatically while editing.
        +         * It is sufficient to return a single completion item in this case.
        +         */
        +        Automatic = 0,
        +        /**
        +         * Completion was triggered explicitly by a user gesture.
        +         * Return multiple completion items to enable cycling through them.
        +         */
        +        Explicit = 1
        +    }
        +
        +    export interface InlineCompletionContext {
        +        /**
        +         * How the completion was triggered.
        +         */
        +        readonly triggerKind: InlineCompletionTriggerKind;
        +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
        +    }
        +
        +    export interface SelectedSuggestionInfo {
        +        range: IRange;
        +        text: string;
        +        isSnippetText: boolean;
        +        completionKind: CompletionItemKind;
        +    }
        +
        +    export interface InlineCompletion {
        +        /**
        +         * The text to insert.
        +         * If the text contains a line break, the range must end at the end of a line.
        +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
        +        */
        +        readonly text: string;
        +        /**
        +         * The range to replace.
        +         * Must begin and end on the same line.
        +        */
        +        readonly range?: IRange;
        +        readonly command?: Command;
        +    }
        +
        +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
        +        readonly items: readonly TItem[];
        +    }
        +
        +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
        +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
        +        /**
        +         * Will be called when an item is shown.
        +        */
        +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
        +        /**
        +         * Will be called when a completions list is no longer in use and can be garbage-collected.
        +        */
        +        freeInlineCompletions(completions: T): void;
        +    }
        +
        +    export interface CodeAction {
        +        title: string;
        +        command?: Command;
        +        edit?: WorkspaceEdit;
        +        diagnostics?: editor.IMarkerData[];
        +        kind?: string;
        +        isPreferred?: boolean;
        +        disabled?: string;
        +    }
        +
        +    export interface CodeActionList extends IDisposable {
        +        readonly actions: ReadonlyArray<CodeAction>;
        +    }
        +
        +    /**
        +     * Represents a parameter of a callable-signature. A parameter can
        +     * have a label and a doc-comment.
        +     */
        +    export interface ParameterInformation {
        +        /**
        +         * The label of this signature. Will be shown in
        +         * the UI.
        +         */
        +        label: string | [number, number];
        +        /**
        +         * The human-readable doc-comment of this signature. Will be shown
        +         * in the UI but can be omitted.
        +         */
        +        documentation?: string | IMarkdownString;
        +    }
        +
        +    /**
        +     * Represents the signature of something callable. A signature
        +     * can have a label, like a function-name, a doc-comment, and
        +     * a set of parameters.
        +     */
        +    export interface SignatureInformation {
        +        /**
        +         * The label of this signature. Will be shown in
        +         * the UI.
        +         */
        +        label: string;
        +        /**
        +         * The human-readable doc-comment of this signature. Will be shown
        +         * in the UI but can be omitted.
        +         */
        +        documentation?: string | IMarkdownString;
        +        /**
        +         * The parameters of this signature.
        +         */
        +        parameters: ParameterInformation[];
        +        /**
        +         * Index of the active parameter.
        +         *
        +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
        +         */
        +        activeParameter?: number;
        +    }
        +
        +    /**
        +     * Signature help represents the signature of something
        +     * callable. There can be multiple signatures but only one
        +     * active and only one active parameter.
        +     */
        +    export interface SignatureHelp {
        +        /**
        +         * One or more signatures.
        +         */
        +        signatures: SignatureInformation[];
        +        /**
        +         * The active signature.
        +         */
        +        activeSignature: number;
        +        /**
        +         * The active parameter of the active signature.
        +         */
        +        activeParameter: number;
        +    }
        +
        +    export interface SignatureHelpResult extends IDisposable {
        +        value: SignatureHelp;
        +    }
        +
        +    export enum SignatureHelpTriggerKind {
        +        Invoke = 1,
        +        TriggerCharacter = 2,
        +        ContentChange = 3
        +    }
        +
        +    export interface SignatureHelpContext {
        +        readonly triggerKind: SignatureHelpTriggerKind;
        +        readonly triggerCharacter?: string;
        +        readonly isRetrigger: boolean;
        +        readonly activeSignatureHelp?: SignatureHelp;
        +    }
        +
        +    /**
        +     * The signature help provider interface defines the contract between extensions and
        +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
        +     */
        +    export interface SignatureHelpProvider {
        +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
        +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
        +        /**
        +         * Provide help for the signature at the given position and document.
        +         */
        +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
        +    }
        +
        +    /**
        +     * A document highlight kind.
        +     */
        +    export enum DocumentHighlightKind {
        +        /**
        +         * A textual occurrence.
        +         */
        +        Text = 0,
        +        /**
        +         * Read-access of a symbol, like reading a variable.
        +         */
        +        Read = 1,
        +        /**
        +         * Write-access of a symbol, like writing to a variable.
        +         */
        +        Write = 2
        +    }
        +
        +    /**
        +     * A document highlight is a range inside a text document which deserves
        +     * special attention. Usually a document highlight is visualized by changing
        +     * the background color of its range.
        +     */
        +    export interface DocumentHighlight {
        +        /**
        +         * The range this highlight applies to.
        +         */
        +        range: IRange;
        +        /**
        +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
        +         */
        +        kind?: DocumentHighlightKind;
        +    }
        +
        +    /**
        +     * The document highlight provider interface defines the contract between extensions and
        +     * the word-highlight-feature.
        +     */
        +    export interface DocumentHighlightProvider {
        +        /**
        +         * Provide a set of document highlights, like all occurrences of a variable or
        +         * all exit-points of a function.
        +         */
        +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
        +    }
        +
        +    /**
        +     * The linked editing range provider interface defines the contract between extensions and
        +     * the linked editing feature.
        +     */
        +    export interface LinkedEditingRangeProvider {
        +        /**
        +         * Provide a list of ranges that can be edited together.
        +         */
        +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
        +    }
        +
        +    /**
        +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
        +     */
        +    export interface LinkedEditingRanges {
        +        /**
        +         * A list of ranges that can be edited together. The ranges must have
        +         * identical length and text content. The ranges cannot overlap
        +         */
        +        ranges: IRange[];
        +        /**
        +         * An optional word pattern that describes valid contents for the given ranges.
        +         * If no pattern is provided, the language configuration's word pattern will be used.
        +         */
        +        wordPattern?: RegExp;
        +    }
        +
        +    /**
        +     * Value-object that contains additional information when
        +     * requesting references.
        +     */
        +    export interface ReferenceContext {
        +        /**
        +         * Include the declaration of the current symbol.
        +         */
        +        includeDeclaration: boolean;
        +    }
        +
        +    /**
        +     * The reference provider interface defines the contract between extensions and
        +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
        +     */
        +    export interface ReferenceProvider {
        +        /**
        +         * Provide a set of project-wide references for the given position and document.
        +         */
        +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
        +    }
        +
        +    /**
        +     * Represents a location inside a resource, such as a line
        +     * inside a text file.
        +     */
        +    export interface Location {
        +        /**
        +         * The resource identifier of this location.
        +         */
        +        uri: Uri;
        +        /**
        +         * The document range of this locations.
        +         */
        +        range: IRange;
        +    }
        +
        +    export interface LocationLink {
        +        /**
        +         * A range to select where this link originates from.
        +         */
        +        originSelectionRange?: IRange;
        +        /**
        +         * The target uri this link points to.
        +         */
        +        uri: Uri;
        +        /**
        +         * The full range this link points to.
        +         */
        +        range: IRange;
        +        /**
        +         * A range to select this link points to. Must be contained
        +         * in `LocationLink.range`.
        +         */
        +        targetSelectionRange?: IRange;
        +    }
        +
        +    export type Definition = Location | Location[] | LocationLink[];
        +
        +    /**
        +     * The definition provider interface defines the contract between extensions and
        +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
        +     * and peek definition features.
        +     */
        +    export interface DefinitionProvider {
        +        /**
        +         * Provide the definition of the symbol at the given position and document.
        +         */
        +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
        +    }
        +
        +    /**
        +     * The definition provider interface defines the contract between extensions and
        +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
        +     * and peek definition features.
        +     */
        +    export interface DeclarationProvider {
        +        /**
        +         * Provide the declaration of the symbol at the given position and document.
        +         */
        +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
        +    }
        +
        +    /**
        +     * The implementation provider interface defines the contract between extensions and
        +     * the go to implementation feature.
        +     */
        +    export interface ImplementationProvider {
        +        /**
        +         * Provide the implementation of the symbol at the given position and document.
        +         */
        +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
        +    }
        +
        +    /**
        +     * The type definition provider interface defines the contract between extensions and
        +     * the go to type definition feature.
        +     */
        +    export interface TypeDefinitionProvider {
        +        /**
        +         * Provide the type definition of the symbol at the given position and document.
        +         */
        +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
        +    }
        +
        +    /**
        +     * A symbol kind.
        +     */
        +    export enum SymbolKind {
        +        File = 0,
        +        Module = 1,
        +        Namespace = 2,
        +        Package = 3,
        +        Class = 4,
        +        Method = 5,
        +        Property = 6,
        +        Field = 7,
        +        Constructor = 8,
        +        Enum = 9,
        +        Interface = 10,
        +        Function = 11,
        +        Variable = 12,
        +        Constant = 13,
        +        String = 14,
        +        Number = 15,
        +        Boolean = 16,
        +        Array = 17,
        +        Object = 18,
        +        Key = 19,
        +        Null = 20,
        +        EnumMember = 21,
        +        Struct = 22,
        +        Event = 23,
        +        Operator = 24,
        +        TypeParameter = 25
        +    }
        +
        +    export enum SymbolTag {
        +        Deprecated = 1
        +    }
        +
        +    export interface DocumentSymbol {
        +        name: string;
        +        detail: string;
        +        kind: SymbolKind;
        +        tags: ReadonlyArray<SymbolTag>;
        +        containerName?: string;
        +        range: IRange;
        +        selectionRange: IRange;
        +        children?: DocumentSymbol[];
        +    }
        +
        +    /**
        +     * The document symbol provider interface defines the contract between extensions and
        +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
        +     */
        +    export interface DocumentSymbolProvider {
        +        displayName?: string;
        +        /**
        +         * Provide symbol information for the given document.
        +         */
        +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
        +    }
        +
        +    export type TextEdit = {
        +        range: IRange;
        +        text: string;
        +        eol?: editor.EndOfLineSequence;
        +    };
        +
        +    /**
        +     * Interface used to format a model
        +     */
        +    export interface FormattingOptions {
        +        /**
        +         * Size of a tab in spaces.
        +         */
        +        tabSize: number;
        +        /**
        +         * Prefer spaces over tabs.
        +         */
        +        insertSpaces: boolean;
        +    }
        +
        +    /**
        +     * The document formatting provider interface defines the contract between extensions and
        +     * the formatting-feature.
        +     */
        +    export interface DocumentFormattingEditProvider {
        +        readonly displayName?: string;
        +        /**
        +         * Provide formatting edits for a whole document.
        +         */
        +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
        +    }
        +
        +    /**
        +     * The document formatting provider interface defines the contract between extensions and
        +     * the formatting-feature.
        +     */
        +    export interface DocumentRangeFormattingEditProvider {
        +        readonly displayName?: string;
        +        /**
        +         * Provide formatting edits for a range in a document.
        +         *
        +         * The given range is a hint and providers can decide to format a smaller
        +         * or larger range. Often this is done by adjusting the start and end
        +         * of the range to full syntax nodes.
        +         */
        +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
        +    }
        +
        +    /**
        +     * The document formatting provider interface defines the contract between extensions and
        +     * the formatting-feature.
        +     */
        +    export interface OnTypeFormattingEditProvider {
        +        autoFormatTriggerCharacters: string[];
        +        /**
        +         * Provide formatting edits after a character has been typed.
        +         *
        +         * The given position and character should hint to the provider
        +         * what range the position to expand to, like find the matching `{`
        +         * when `}` has been entered.
        +         */
        +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
        +    }
        +
        +    /**
        +     * A link inside the editor.
        +     */
        +    export interface ILink {
        +        range: IRange;
        +        url?: Uri | string;
        +        tooltip?: string;
        +    }
        +
        +    export interface ILinksList {
        +        links: ILink[];
        +        dispose?(): void;
        +    }
        +
        +    /**
        +     * A provider of links.
        +     */
        +    export interface LinkProvider {
        +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
        +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
        +    }
        +
        +    /**
        +     * A color in RGBA format.
        +     */
        +    export interface IColor {
        +        /**
        +         * The red component in the range [0-1].
        +         */
        +        readonly red: number;
        +        /**
        +         * The green component in the range [0-1].
        +         */
        +        readonly green: number;
        +        /**
        +         * The blue component in the range [0-1].
        +         */
        +        readonly blue: number;
        +        /**
        +         * The alpha component in the range [0-1].
        +         */
        +        readonly alpha: number;
        +    }
        +
        +    /**
        +     * String representations for a color
        +     */
        +    export interface IColorPresentation {
        +        /**
        +         * The label of this color presentation. It will be shown on the color
        +         * picker header. By default this is also the text that is inserted when selecting
        +         * this color presentation.
        +         */
        +        label: string;
        +        /**
        +         * An {@link TextEdit edit} which is applied to a document when selecting
        +         * this presentation for the color.
        +         */
        +        textEdit?: TextEdit;
        +        /**
        +         * An optional array of additional {@link TextEdit text edits} that are applied when
        +         * selecting this color presentation.
        +         */
        +        additionalTextEdits?: TextEdit[];
        +    }
        +
        +    /**
        +     * A color range is a range in a text model which represents a color.
        +     */
        +    export interface IColorInformation {
        +        /**
        +         * The range within the model.
        +         */
        +        range: IRange;
        +        /**
        +         * The color represented in this range.
        +         */
        +        color: IColor;
        +    }
        +
        +    /**
        +     * A provider of colors for editor models.
        +     */
        +    export interface DocumentColorProvider {
        +        /**
        +         * Provides the color ranges for a specific model.
        +         */
        +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
        +        /**
        +         * Provide the string representations for a color.
        +         */
        +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
        +    }
        +
        +    export interface SelectionRange {
        +        range: IRange;
        +    }
        +
        +    export interface SelectionRangeProvider {
        +        /**
        +         * Provide ranges that should be selected from the given position.
        +         */
        +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
        +    }
        +
        +    export interface FoldingContext {
        +    }
        +
        +    /**
        +     * A provider of folding ranges for editor models.
        +     */
        +    export interface FoldingRangeProvider {
        +        /**
        +         * An optional event to signal that the folding ranges from this provider have changed.
        +         */
        +        onDidChange?: IEvent<this>;
        +        /**
        +         * Provides the folding ranges for a specific model.
        +         */
        +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
        +    }
        +
        +    export interface FoldingRange {
        +        /**
        +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
        +         */
        +        start: number;
        +        /**
        +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
        +         */
        +        end: number;
        +        /**
        +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
        +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
        +         * like 'Fold all comments'. See
        +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
        +         */
        +        kind?: FoldingRangeKind;
        +    }
        +
        +    export class FoldingRangeKind {
        +        value: string;
        +        /**
        +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
        +         */
        +        static readonly Comment: FoldingRangeKind;
        +        /**
        +         * Kind for folding range representing a import. The value of the kind is 'imports'.
        +         */
        +        static readonly Imports: FoldingRangeKind;
        +        /**
        +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
        +         * The value of the kind is 'region'.
        +         */
        +        static readonly Region: FoldingRangeKind;
        +        /**
        +         * Creates a new {@link FoldingRangeKind}.
        +         *
        +         * @param value of the kind.
        +         */
        +        constructor(value: string);
        +    }
        +
        +    export interface WorkspaceEditMetadata {
        +        needsConfirmation: boolean;
        +        label: string;
        +        description?: string;
        +    }
        +
        +    export interface WorkspaceFileEditOptions {
        +        overwrite?: boolean;
        +        ignoreIfNotExists?: boolean;
        +        ignoreIfExists?: boolean;
        +        recursive?: boolean;
        +        copy?: boolean;
        +        folder?: boolean;
        +        skipTrashBin?: boolean;
        +        maxSize?: number;
        +    }
        +
        +    export interface WorkspaceFileEdit {
        +        oldUri?: Uri;
        +        newUri?: Uri;
        +        options?: WorkspaceFileEditOptions;
        +        metadata?: WorkspaceEditMetadata;
        +    }
        +
        +    export interface WorkspaceTextEdit {
        +        resource: Uri;
        +        edit: TextEdit;
        +        modelVersionId?: number;
        +        metadata?: WorkspaceEditMetadata;
        +    }
        +
        +    export interface WorkspaceEdit {
        +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
        +    }
        +
        +    export interface Rejection {
        +        rejectReason?: string;
        +    }
        +
        +    export interface RenameLocation {
        +        range: IRange;
        +        text: string;
        +    }
        +
        +    export interface RenameProvider {
        +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
        +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
        +    }
        +
        +    export interface Command {
        +        id: string;
        +        title: string;
        +        tooltip?: string;
        +        arguments?: any[];
        +    }
        +
        +    export interface CodeLens {
        +        range: IRange;
        +        id?: string;
        +        command?: Command;
        +    }
        +
        +    export interface CodeLensList {
        +        lenses: CodeLens[];
        +        dispose(): void;
        +    }
        +
        +    export interface CodeLensProvider {
        +        onDidChange?: IEvent<this>;
        +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
        +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
        +    }
        +
        +    export enum InlayHintKind {
        +        Other = 0,
        +        Type = 1,
        +        Parameter = 2
        +    }
        +
        +    export interface InlayHint {
        +        text: string;
        +        position: IPosition;
        +        kind: InlayHintKind;
        +        whitespaceBefore?: boolean;
        +        whitespaceAfter?: boolean;
        +    }
        +
        +    export interface InlayHintsProvider {
        +        onDidChangeInlayHints?: IEvent<void>;
        +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
        +    }
        +
        +    export interface SemanticTokensLegend {
        +        readonly tokenTypes: string[];
        +        readonly tokenModifiers: string[];
        +    }
        +
        +    export interface SemanticTokens {
        +        readonly resultId?: string;
        +        readonly data: Uint32Array;
        +    }
        +
        +    export interface SemanticTokensEdit {
        +        readonly start: number;
        +        readonly deleteCount: number;
        +        readonly data?: Uint32Array;
        +    }
        +
        +    export interface SemanticTokensEdits {
        +        readonly resultId?: string;
        +        readonly edits: SemanticTokensEdit[];
        +    }
        +
        +    export interface DocumentSemanticTokensProvider {
        +        onDidChange?: IEvent<void>;
        +        getLegend(): SemanticTokensLegend;
        +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
        +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
        +    }
        +
        +    export interface DocumentRangeSemanticTokensProvider {
        +        getLegend(): SemanticTokensLegend;
        +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
        +    }
        +
        +    export interface ILanguageExtensionPoint {
        +        id: string;
        +        extensions?: string[];
        +        filenames?: string[];
        +        filenamePatterns?: string[];
        +        firstLine?: string;
        +        aliases?: string[];
        +        mimetypes?: string[];
        +        configuration?: Uri;
        +    }
        +    /**
        +     * A Monarch language definition
        +     */
        +    export interface IMonarchLanguage {
        +        /**
        +         * map from string to ILanguageRule[]
        +         */
        +        tokenizer: {
        +            [name: string]: IMonarchLanguageRule[];
        +        };
        +        /**
        +         * is the language case insensitive?
        +         */
        +        ignoreCase?: boolean;
        +        /**
        +         * is the language unicode-aware? (i.e., /\u{1D306}/)
        +         */
        +        unicode?: boolean;
        +        /**
        +         * if no match in the tokenizer assign this token class (default 'source')
        +         */
        +        defaultToken?: string;
        +        /**
        +         * for example [['{','}','delimiter.curly']]
        +         */
        +        brackets?: IMonarchLanguageBracket[];
        +        /**
        +         * start symbol in the tokenizer (by default the first entry is used)
        +         */
        +        start?: string;
        +        /**
        +         * attach this to every token class (by default '.' + name)
        +         */
        +        tokenPostfix?: string;
        +        /**
        +         * include line feeds (in the form of a \n character) at the end of lines
        +         * Defaults to false
        +         */
        +        includeLF?: boolean;
        +        /**
        +         * Other keys that can be referred to by the tokenizer.
        +         */
        +        [key: string]: any;
        +    }
        +
        +    /**
        +     * A rule is either a regular expression and an action
        +     * 		shorthands: [reg,act] == { regex: reg, action: act}
        +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
        +     */
        +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
        +
        +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
        +
        +    export interface IExpandedMonarchLanguageRule {
        +        /**
        +         * match tokens
        +         */
        +        regex?: string | RegExp;
        +        /**
        +         * action to take on match
        +         */
        +        action?: IMonarchLanguageAction;
        +        /**
        +         * or an include rule. include all rules from the included state
        +         */
        +        include?: string;
        +    }
        +
        +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
        +
        +    /**
        +     * An action is either an array of actions...
        +     * ... or a case statement with guards...
        +     * ... or a basic action with a token value.
        +     */
        +    export type IShortMonarchLanguageAction = string;
        +
        +    export interface IExpandedMonarchLanguageAction {
        +        /**
        +         * array of actions for each parenthesized match group
        +         */
        +        group?: IMonarchLanguageAction[];
        +        /**
        +         * map from string to ILanguageAction
        +         */
        +        cases?: Object;
        +        /**
        +         * token class (ie. css class) (or "@brackets" or "@rematch")
        +         */
        +        token?: string;
        +        /**
        +         * the next state to push, or "@push", "@pop", "@popall"
        +         */
        +        next?: string;
        +        /**
        +         * switch to this state
        +         */
        +        switchTo?: string;
        +        /**
        +         * go back n characters in the stream
        +         */
        +        goBack?: number;
        +        /**
        +         * @open or @close
        +         */
        +        bracket?: string;
        +        /**
        +         * switch to embedded language (using the mimetype) or get out using "@pop"
        +         */
        +        nextEmbedded?: string;
        +        /**
        +         * log a message to the browser console window
        +         */
        +        log?: string;
        +    }
        +
        +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
        +
        +    /**
        +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
        +     */
        +    export interface IMonarchLanguageBracket {
        +        /**
        +         * open bracket
        +         */
        +        open: string;
        +        /**
        +         * closing bracket
        +         */
        +        close: string;
        +        /**
        +         * token class
        +         */
        +        token: string;
        +    }
        +
        +}
        +
        +declare namespace monaco.worker {
        +
        +
        +    export interface IMirrorTextModel {
        +        readonly version: number;
        +    }
        +
        +    export interface IMirrorModel extends IMirrorTextModel {
        +        readonly uri: Uri;
        +        readonly version: number;
        +        getValue(): string;
        +    }
        +
        +    export interface IWorkerContext<H = undefined> {
        +        /**
        +         * A proxy to the main thread host object.
        +         */
        +        host: H;
        +        /**
        +         * Get all available mirror models in this worker.
        +         */
        +        getMirrorModels(): IMirrorModel[];
        +    }
        +
        +}
        +
        +//dtsv=3
        +
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +declare namespace monaco.languages.typescript {
        +    export enum ModuleKind {
        +        None = 0,
        +        CommonJS = 1,
        +        AMD = 2,
        +        UMD = 3,
        +        System = 4,
        +        ES2015 = 5,
        +        ESNext = 99
        +    }
        +    export enum JsxEmit {
        +        None = 0,
        +        Preserve = 1,
        +        React = 2,
        +        ReactNative = 3,
        +        ReactJSX = 4,
        +        ReactJSXDev = 5
        +    }
        +    export enum NewLineKind {
        +        CarriageReturnLineFeed = 0,
        +        LineFeed = 1
        +    }
        +    export enum ScriptTarget {
        +        ES3 = 0,
        +        ES5 = 1,
        +        ES2015 = 2,
        +        ES2016 = 3,
        +        ES2017 = 4,
        +        ES2018 = 5,
        +        ES2019 = 6,
        +        ES2020 = 7,
        +        ESNext = 99,
        +        JSON = 100,
        +        Latest = 99
        +    }
        +    export enum ModuleResolutionKind {
        +        Classic = 1,
        +        NodeJs = 2
        +    }
        +    interface MapLike<T> {
        +        [index: string]: T;
        +    }
        +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
        +    interface CompilerOptions {
        +        allowJs?: boolean;
        +        allowSyntheticDefaultImports?: boolean;
        +        allowUmdGlobalAccess?: boolean;
        +        allowUnreachableCode?: boolean;
        +        allowUnusedLabels?: boolean;
        +        alwaysStrict?: boolean;
        +        baseUrl?: string;
        +        charset?: string;
        +        checkJs?: boolean;
        +        declaration?: boolean;
        +        declarationMap?: boolean;
        +        emitDeclarationOnly?: boolean;
        +        declarationDir?: string;
        +        disableSizeLimit?: boolean;
        +        disableSourceOfProjectReferenceRedirect?: boolean;
        +        downlevelIteration?: boolean;
        +        emitBOM?: boolean;
        +        emitDecoratorMetadata?: boolean;
        +        experimentalDecorators?: boolean;
        +        forceConsistentCasingInFileNames?: boolean;
        +        importHelpers?: boolean;
        +        inlineSourceMap?: boolean;
        +        inlineSources?: boolean;
        +        isolatedModules?: boolean;
        +        jsx?: JsxEmit;
        +        keyofStringsOnly?: boolean;
        +        lib?: string[];
        +        locale?: string;
        +        mapRoot?: string;
        +        maxNodeModuleJsDepth?: number;
        +        module?: ModuleKind;
        +        moduleResolution?: ModuleResolutionKind;
        +        newLine?: NewLineKind;
        +        noEmit?: boolean;
        +        noEmitHelpers?: boolean;
        +        noEmitOnError?: boolean;
        +        noErrorTruncation?: boolean;
        +        noFallthroughCasesInSwitch?: boolean;
        +        noImplicitAny?: boolean;
        +        noImplicitReturns?: boolean;
        +        noImplicitThis?: boolean;
        +        noStrictGenericChecks?: boolean;
        +        noUnusedLocals?: boolean;
        +        noUnusedParameters?: boolean;
        +        noImplicitUseStrict?: boolean;
        +        noLib?: boolean;
        +        noResolve?: boolean;
        +        out?: string;
        +        outDir?: string;
        +        outFile?: string;
        +        paths?: MapLike<string[]>;
        +        preserveConstEnums?: boolean;
        +        preserveSymlinks?: boolean;
        +        project?: string;
        +        reactNamespace?: string;
        +        jsxFactory?: string;
        +        composite?: boolean;
        +        removeComments?: boolean;
        +        rootDir?: string;
        +        rootDirs?: string[];
        +        skipLibCheck?: boolean;
        +        skipDefaultLibCheck?: boolean;
        +        sourceMap?: boolean;
        +        sourceRoot?: string;
        +        strict?: boolean;
        +        strictFunctionTypes?: boolean;
        +        strictBindCallApply?: boolean;
        +        strictNullChecks?: boolean;
        +        strictPropertyInitialization?: boolean;
        +        stripInternal?: boolean;
        +        suppressExcessPropertyErrors?: boolean;
        +        suppressImplicitAnyIndexErrors?: boolean;
        +        target?: ScriptTarget;
        +        traceResolution?: boolean;
        +        resolveJsonModule?: boolean;
        +        types?: string[];
        +        /** Paths used to compute primary types search locations */
        +        typeRoots?: string[];
        +        esModuleInterop?: boolean;
        +        useDefineForClassFields?: boolean;
        +        [option: string]: CompilerOptionsValue | undefined;
        +    }
        +    export interface DiagnosticsOptions {
        +        noSemanticValidation?: boolean;
        +        noSyntaxValidation?: boolean;
        +        noSuggestionDiagnostics?: boolean;
        +        /**
        +         * Limit diagnostic computation to only visible files.
        +         * Defaults to false.
        +         */
        +        onlyVisible?: boolean;
        +        diagnosticCodesToIgnore?: number[];
        +    }
        +    export interface WorkerOptions {
        +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
        +        customWorkerPath?: string;
        +    }
        +    interface InlayHintsOptions {
        +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
        +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
        +        readonly includeInlayFunctionParameterTypeHints?: boolean;
        +        readonly includeInlayVariableTypeHints?: boolean;
        +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
        +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
        +        readonly includeInlayEnumMemberValueHints?: boolean;
        +    }
        +    interface IExtraLib {
        +        content: string;
        +        version: number;
        +    }
        +    export interface IExtraLibs {
        +        [path: string]: IExtraLib;
        +    }
        +    /**
        +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
        +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
        +     */
        +    interface DiagnosticMessageChain {
        +        messageText: string;
        +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
        +        category: 0 | 1 | 2 | 3;
        +        code: number;
        +        next?: DiagnosticMessageChain[];
        +    }
        +    export interface Diagnostic extends DiagnosticRelatedInformation {
        +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
        +        reportsUnnecessary?: {};
        +        reportsDeprecated?: {};
        +        source?: string;
        +        relatedInformation?: DiagnosticRelatedInformation[];
        +    }
        +    export interface DiagnosticRelatedInformation {
        +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
        +        category: 0 | 1 | 2 | 3;
        +        code: number;
        +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
        +        file: {
        +            fileName: string;
        +        } | undefined;
        +        start: number | undefined;
        +        length: number | undefined;
        +        messageText: string | DiagnosticMessageChain;
        +    }
        +    interface EmitOutput {
        +        outputFiles: OutputFile[];
        +        emitSkipped: boolean;
        +    }
        +    interface OutputFile {
        +        name: string;
        +        writeByteOrderMark: boolean;
        +        text: string;
        +    }
        +    export interface LanguageServiceDefaults {
        +        /**
        +         * Event fired when compiler options or diagnostics options are changed.
        +         */
        +        readonly onDidChange: IEvent<void>;
        +        /**
        +         * Event fired when extra libraries registered with the language service change.
        +         */
        +        readonly onDidExtraLibsChange: IEvent<void>;
        +        readonly workerOptions: WorkerOptions;
        +        readonly inlayHintsOptions: InlayHintsOptions;
        +        /**
        +         * Get the current extra libs registered with the language service.
        +         */
        +        getExtraLibs(): IExtraLibs;
        +        /**
        +         * Add an additional source file to the language service. Use this
        +         * for typescript (definition) files that won't be loaded as editor
        +         * documents, like `jquery.d.ts`.
        +         *
        +         * @param content The file content
        +         * @param filePath An optional file path
        +         * @returns A disposable which will remove the file from the
        +         * language service upon disposal.
        +         */
        +        addExtraLib(content: string, filePath?: string): IDisposable;
        +        /**
        +         * Remove all existing extra libs and set the additional source
        +         * files to the language service. Use this for typescript definition
        +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
        +         * @param libs An array of entries to register.
        +         */
        +        setExtraLibs(libs: {
        +            content: string;
        +            filePath?: string;
        +        }[]): void;
        +        /**
        +         * Get current TypeScript compiler options for the language service.
        +         */
        +        getCompilerOptions(): CompilerOptions;
        +        /**
        +         * Set TypeScript compiler options.
        +         */
        +        setCompilerOptions(options: CompilerOptions): void;
        +        /**
        +         * Get the current diagnostics options for the language service.
        +         */
        +        getDiagnosticsOptions(): DiagnosticsOptions;
        +        /**
        +         * Configure whether syntactic and/or semantic validation should
        +         * be performed
        +         */
        +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
        +        /**
        +         * Configure webworker options
        +         */
        +        setWorkerOptions(options: WorkerOptions): void;
        +        /**
        +         * No-op.
        +         */
        +        setMaximumWorkerIdleTime(value: number): void;
        +        /**
        +         * Configure if all existing models should be eagerly sync'd
        +         * to the worker on start or restart.
        +         */
        +        setEagerModelSync(value: boolean): void;
        +        /**
        +         * Get the current setting for whether all existing models should be eagerly sync'd
        +         * to the worker on start or restart.
        +         */
        +        getEagerModelSync(): boolean;
        +        /**
        +         * Configure inlay hints options.
        +         */
        +        setInlayHintsOptions(options: InlayHintsOptions): void;
        +    }
        +    export interface TypeScriptWorker {
        +        /**
        +         * Get diagnostic messages for any syntax issues in the given file.
        +         */
        +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
        +        /**
        +         * Get diagnostic messages for any semantic issues in the given file.
        +         */
        +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
        +        /**
        +         * Get diagnostic messages for any suggestions related to the given file.
        +         */
        +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
        +        /**
        +         * Get the content of a given file.
        +         */
        +        getScriptText(fileName: string): Promise<string | undefined>;
        +        /**
        +         * Get diagnostic messages related to the current compiler options.
        +         * @param fileName Not used
        +         */
        +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
        +        /**
        +         * Get code completions for the given file and position.
        +         * @returns `Promise<typescript.CompletionInfo | undefined>`
        +         */
        +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
        +        /**
        +         * Get code completion details for the given file, position, and entry.
        +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
        +         */
        +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
        +        /**
        +         * Get signature help items for the item at the given file and position.
        +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
        +         */
        +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
        +        /**
        +         * Get quick info for the item at the given position in the file.
        +         * @returns `Promise<typescript.QuickInfo | undefined>`
        +         */
        +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
        +        /**
        +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
        +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
        +         */
        +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
        +        /**
        +         * Get the definition of the item at the given position in the file.
        +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
        +         */
        +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
        +        /**
        +         * Get references to the item at the given position in the file.
        +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
        +         */
        +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
        +        /**
        +         * Get outline entries for the item at the given position in the file.
        +         * @returns `Promise<typescript.NavigationBarItem[]>`
        +         */
        +        getNavigationBarItems(fileName: string): Promise<any[]>;
        +        /**
        +         * Get changes which should be applied to format the given file.
        +         * @param options `typescript.FormatCodeOptions`
        +         * @returns `Promise<typescript.TextChange[]>`
        +         */
        +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
        +        /**
        +         * Get changes which should be applied to format the given range in the file.
        +         * @param options `typescript.FormatCodeOptions`
        +         * @returns `Promise<typescript.TextChange[]>`
        +         */
        +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
        +        /**
        +         * Get formatting changes which should be applied after the given keystroke.
        +         * @param options `typescript.FormatCodeOptions`
        +         * @returns `Promise<typescript.TextChange[]>`
        +         */
        +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
        +        /**
        +         * Get other occurrences which should be updated when renaming the item at the given file and position.
        +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
        +         */
        +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
        +        /**
        +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
        +         * @param options `typescript.RenameInfoOptions`
        +         * @returns `Promise<typescript.RenameInfo>`
        +         */
        +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
        +        /**
        +         * Get transpiled output for the given file.
        +         * @returns `typescript.EmitOutput`
        +         */
        +        getEmitOutput(fileName: string): Promise<EmitOutput>;
        +        /**
        +         * Get possible code fixes at the given position in the file.
        +         * @param formatOptions `typescript.FormatCodeOptions`
        +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
        +         */
        +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
        +        /**
        +         * Get inlay hints in the range of the file.
        +         * @param fileName
        +         * @returns `Promise<typescript.InlayHint[]>`
        +         */
        +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
        +    }
        +    export const typescriptVersion: string;
        +    export const typescriptDefaults: LanguageServiceDefaults;
        +    export const javascriptDefaults: LanguageServiceDefaults;
        +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
        +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
        +}
        +
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +declare namespace monaco.languages.css {
        +    export interface Options {
        +        readonly validate?: boolean;
        +        readonly lint?: {
        +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
        +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
        +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
        +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
        +            readonly importStatement?: 'ignore' | 'warning' | 'error';
        +            readonly boxModel?: 'ignore' | 'warning' | 'error';
        +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
        +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
        +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
        +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
        +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
        +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
        +            readonly ieHack?: 'ignore' | 'warning' | 'error';
        +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
        +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
        +            readonly important?: 'ignore' | 'warning' | 'error';
        +            readonly float?: 'ignore' | 'warning' | 'error';
        +            readonly idSelector?: 'ignore' | 'warning' | 'error';
        +        };
        +        /**
        +         * Configures the CSS data types known by the langauge service.
        +         */
        +        readonly data?: CSSDataConfiguration;
        +    }
        +    export interface ModeConfiguration {
        +        /**
        +         * Defines whether the built-in completionItemProvider is enabled.
        +         */
        +        readonly completionItems?: boolean;
        +        /**
        +         * Defines whether the built-in hoverProvider is enabled.
        +         */
        +        readonly hovers?: boolean;
        +        /**
        +         * Defines whether the built-in documentSymbolProvider is enabled.
        +         */
        +        readonly documentSymbols?: boolean;
        +        /**
        +         * Defines whether the built-in definitions provider is enabled.
        +         */
        +        readonly definitions?: boolean;
        +        /**
        +         * Defines whether the built-in references provider is enabled.
        +         */
        +        readonly references?: boolean;
        +        /**
        +         * Defines whether the built-in references provider is enabled.
        +         */
        +        readonly documentHighlights?: boolean;
        +        /**
        +         * Defines whether the built-in rename provider is enabled.
        +         */
        +        readonly rename?: boolean;
        +        /**
        +         * Defines whether the built-in color provider is enabled.
        +         */
        +        readonly colors?: boolean;
        +        /**
        +         * Defines whether the built-in foldingRange provider is enabled.
        +         */
        +        readonly foldingRanges?: boolean;
        +        /**
        +         * Defines whether the built-in diagnostic provider is enabled.
        +         */
        +        readonly diagnostics?: boolean;
        +        /**
        +         * Defines whether the built-in selection range provider is enabled.
        +         */
        +        readonly selectionRanges?: boolean;
        +    }
        +    export interface LanguageServiceDefaults {
        +        readonly languageId: string;
        +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
        +        readonly modeConfiguration: ModeConfiguration;
        +        readonly options: Options;
        +        setOptions(options: Options): void;
        +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
        +        /** @deprecated Use options instead */
        +        readonly diagnosticsOptions: DiagnosticsOptions;
        +        /** @deprecated Use setOptions instead */
        +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
        +    }
        +    /** @deprecated Use Options instead */
        +    export type DiagnosticsOptions = Options;
        +    export const cssDefaults: LanguageServiceDefaults;
        +    export const scssDefaults: LanguageServiceDefaults;
        +    export const lessDefaults: LanguageServiceDefaults;
        +    export interface CSSDataConfiguration {
        +        /**
        +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
        +         */
        +        useDefaultDataProvider?: boolean;
        +        /**
        +         * Provides a set of custom data providers.
        +         */
        +        dataProviders?: {
        +            [providerId: string]: CSSDataV1;
        +        };
        +    }
        +    /**
        +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
        +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
        +     */
        +    export interface CSSDataV1 {
        +        version: 1 | 1.1;
        +        properties?: IPropertyData[];
        +        atDirectives?: IAtDirectiveData[];
        +        pseudoClasses?: IPseudoClassData[];
        +        pseudoElements?: IPseudoElementData[];
        +    }
        +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
        +    export interface IReference {
        +        name: string;
        +        url: string;
        +    }
        +    export interface IPropertyData {
        +        name: string;
        +        description?: string | MarkupContent;
        +        browsers?: string[];
        +        restrictions?: string[];
        +        status?: EntryStatus;
        +        syntax?: string;
        +        values?: IValueData[];
        +        references?: IReference[];
        +        relevance?: number;
        +    }
        +    export interface IAtDirectiveData {
        +        name: string;
        +        description?: string | MarkupContent;
        +        browsers?: string[];
        +        status?: EntryStatus;
        +        references?: IReference[];
        +    }
        +    export interface IPseudoClassData {
        +        name: string;
        +        description?: string | MarkupContent;
        +        browsers?: string[];
        +        status?: EntryStatus;
        +        references?: IReference[];
        +    }
        +    export interface IPseudoElementData {
        +        name: string;
        +        description?: string | MarkupContent;
        +        browsers?: string[];
        +        status?: EntryStatus;
        +        references?: IReference[];
        +    }
        +    export interface IValueData {
        +        name: string;
        +        description?: string | MarkupContent;
        +        browsers?: string[];
        +        status?: EntryStatus;
        +        references?: IReference[];
        +    }
        +    export interface MarkupContent {
        +        kind: MarkupKind;
        +        value: string;
        +    }
        +    export type MarkupKind = 'plaintext' | 'markdown';
        +}
        +
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +declare namespace monaco.languages.json {
        +    export interface DiagnosticsOptions {
        +        /**
        +         * If set, the validator will be enabled and perform syntax and schema based validation,
        +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
        +         */
        +        readonly validate?: boolean;
        +        /**
        +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
        +         * `DiagnosticsOptions.allowComments` will override this setting.
        +         */
        +        readonly allowComments?: boolean;
        +        /**
        +         * A list of known schemas and/or associations of schemas to file names.
        +         */
        +        readonly schemas?: {
        +            /**
        +             * The URI of the schema, which is also the identifier of the schema.
        +             */
        +            readonly uri: string;
        +            /**
        +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
        +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
        +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
        +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
        +             */
        +            readonly fileMatch?: string[];
        +            /**
        +             * The schema for the given URI.
        +             */
        +            readonly schema?: any;
        +        }[];
        +        /**
        +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
        +         */
        +        readonly enableSchemaRequest?: boolean;
        +        /**
        +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
        +         */
        +        readonly schemaValidation?: SeverityLevel;
        +        /**
        +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
        +         */
        +        readonly schemaRequest?: SeverityLevel;
        +        /**
        +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
        +         */
        +        readonly trailingCommas?: SeverityLevel;
        +        /**
        +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
        +         */
        +        readonly comments?: SeverityLevel;
        +    }
        +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
        +    export interface ModeConfiguration {
        +        /**
        +         * Defines whether the built-in documentFormattingEdit provider is enabled.
        +         */
        +        readonly documentFormattingEdits?: boolean;
        +        /**
        +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
        +         */
        +        readonly documentRangeFormattingEdits?: boolean;
        +        /**
        +         * Defines whether the built-in completionItemProvider is enabled.
        +         */
        +        readonly completionItems?: boolean;
        +        /**
        +         * Defines whether the built-in hoverProvider is enabled.
        +         */
        +        readonly hovers?: boolean;
        +        /**
        +         * Defines whether the built-in documentSymbolProvider is enabled.
        +         */
        +        readonly documentSymbols?: boolean;
        +        /**
        +         * Defines whether the built-in tokens provider is enabled.
        +         */
        +        readonly tokens?: boolean;
        +        /**
        +         * Defines whether the built-in color provider is enabled.
        +         */
        +        readonly colors?: boolean;
        +        /**
        +         * Defines whether the built-in foldingRange provider is enabled.
        +         */
        +        readonly foldingRanges?: boolean;
        +        /**
        +         * Defines whether the built-in diagnostic provider is enabled.
        +         */
        +        readonly diagnostics?: boolean;
        +        /**
        +         * Defines whether the built-in selection range provider is enabled.
        +         */
        +        readonly selectionRanges?: boolean;
        +    }
        +    export interface LanguageServiceDefaults {
        +        readonly languageId: string;
        +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
        +        readonly diagnosticsOptions: DiagnosticsOptions;
        +        readonly modeConfiguration: ModeConfiguration;
        +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
        +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
        +    }
        +    export const jsonDefaults: LanguageServiceDefaults;
        +}
        +
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +declare namespace monaco.languages.html {
        +    export interface HTMLFormatConfiguration {
        +        readonly tabSize: number;
        +        readonly insertSpaces: boolean;
        +        readonly wrapLineLength: number;
        +        readonly unformatted: string;
        +        readonly contentUnformatted: string;
        +        readonly indentInnerHtml: boolean;
        +        readonly preserveNewLines: boolean;
        +        readonly maxPreserveNewLines: number | undefined;
        +        readonly indentHandlebars: boolean;
        +        readonly endWithNewline: boolean;
        +        readonly extraLiners: string;
        +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
        +    }
        +    export interface CompletionConfiguration {
        +        readonly [providerId: string]: boolean;
        +    }
        +    export interface Options {
        +        /**
        +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
        +         */
        +        readonly format?: HTMLFormatConfiguration;
        +        /**
        +         * A list of known schemas and/or associations of schemas to file names.
        +         */
        +        readonly suggest?: CompletionConfiguration;
        +        /**
        +         * Configures the HTML data types known by the HTML langauge service.
        +         */
        +        readonly data?: HTMLDataConfiguration;
        +    }
        +    export interface ModeConfiguration {
        +        /**
        +         * Defines whether the built-in completionItemProvider is enabled.
        +         */
        +        readonly completionItems?: boolean;
        +        /**
        +         * Defines whether the built-in hoverProvider is enabled.
        +         */
        +        readonly hovers?: boolean;
        +        /**
        +         * Defines whether the built-in documentSymbolProvider is enabled.
        +         */
        +        readonly documentSymbols?: boolean;
        +        /**
        +         * Defines whether the built-in definitions provider is enabled.
        +         */
        +        readonly links?: boolean;
        +        /**
        +         * Defines whether the built-in references provider is enabled.
        +         */
        +        readonly documentHighlights?: boolean;
        +        /**
        +         * Defines whether the built-in rename provider is enabled.
        +         */
        +        readonly rename?: boolean;
        +        /**
        +         * Defines whether the built-in color provider is enabled.
        +         */
        +        readonly colors?: boolean;
        +        /**
        +         * Defines whether the built-in foldingRange provider is enabled.
        +         */
        +        readonly foldingRanges?: boolean;
        +        /**
        +         * Defines whether the built-in diagnostic provider is enabled.
        +         */
        +        readonly diagnostics?: boolean;
        +        /**
        +         * Defines whether the built-in selection range provider is enabled.
        +         */
        +        readonly selectionRanges?: boolean;
        +        /**
        +         * Defines whether the built-in documentFormattingEdit provider is enabled.
        +         */
        +        readonly documentFormattingEdits?: boolean;
        +        /**
        +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
        +         */
        +        readonly documentRangeFormattingEdits?: boolean;
        +    }
        +    export interface LanguageServiceDefaults {
        +        readonly languageId: string;
        +        readonly modeConfiguration: ModeConfiguration;
        +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
        +        readonly options: Options;
        +        setOptions(options: Options): void;
        +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
        +    }
        +    export const htmlLanguageService: LanguageServiceRegistration;
        +    export const htmlDefaults: LanguageServiceDefaults;
        +    export const handlebarLanguageService: LanguageServiceRegistration;
        +    export const handlebarDefaults: LanguageServiceDefaults;
        +    export const razorLanguageService: LanguageServiceRegistration;
        +    export const razorDefaults: LanguageServiceDefaults;
        +    export interface LanguageServiceRegistration extends IDisposable {
        +        readonly defaults: LanguageServiceDefaults;
        +    }
        +    /**
        +     * Registers a new HTML language service for the languageId.
        +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
        +     *
        +     * Use this method to register additional language ids with a HTML service.
        +     * The language server has to be registered before an editor model is opened.
        +     */
        +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
        +    export interface HTMLDataConfiguration {
        +        /**
        +         * Defines whether the standard HTML tags and attributes are shown
        +         */
        +        readonly useDefaultDataProvider?: boolean;
        +        /**
        +         * Provides a set of custom data providers.
        +         */
        +        readonly dataProviders?: {
        +            [providerId: string]: HTMLDataV1;
        +        };
        +    }
        +    /**
        +     * Custom HTML tags attributes and attribute values
        +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
        +     */
        +    export interface HTMLDataV1 {
        +        readonly version: 1 | 1.1;
        +        readonly tags?: ITagData[];
        +        readonly globalAttributes?: IAttributeData[];
        +        readonly valueSets?: IValueSet[];
        +    }
        +    export interface IReference {
        +        readonly name: string;
        +        readonly url: string;
        +    }
        +    export interface ITagData {
        +        readonly name: string;
        +        readonly description?: string | MarkupContent;
        +        readonly attributes: IAttributeData[];
        +        readonly references?: IReference[];
        +    }
        +    export interface IAttributeData {
        +        readonly name: string;
        +        readonly description?: string | MarkupContent;
        +        readonly valueSet?: string;
        +        readonly values?: IValueData[];
        +        readonly references?: IReference[];
        +    }
        +    export interface IValueData {
        +        readonly name: string;
        +        readonly description?: string | MarkupContent;
        +        readonly references?: IReference[];
        +    }
        +    export interface IValueSet {
        +        readonly name: string;
        +        readonly values: IValueData[];
        +    }
        +    export interface MarkupContent {
        +        readonly kind: MarkupKind;
        +        readonly value: string;
        +    }
        +    export type MarkupKind = 'plaintext' | 'markdown';
        +}
        +
        +
        +
        + + + + + + + + +
        +
        +

        results matching ""

        +
          +
          +
          +

          No results matching ""

          +
          +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/Position.html b/docs/api-reference/classes/Position.html new file mode 100644 index 00000000..e2f5b213 --- /dev/null +++ b/docs/api-reference/classes/Position.html @@ -0,0 +1,9129 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
          +
          + + +
          +
          + + + + + + + + + + + + + + + +
          +
          +

          +

          File

          +

          +

          + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

          + + +

          +

          Description

          +

          +

          +

          A position in the editor.

          + +

          + + + + +
          +

          Index

          + + + + + + + + + + + + + + + + + + + + + +
          +
          Properties
          +
          + +
          +
          Methods
          +
          + +
          +
          + +
          +

          Constructor

          + + + + + + + + + + + + + +
          +constructor(lineNumber: number, column: number) +
          + +
          +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          lineNumber + number + + No +
          column + number + + No +
          +
          +
          +
          + +
          + +

          + Properties +

          + + + + + + + + + + + + + + + + + +
          + + + Readonly + column + + +
          + Type : number + +
          + +
          +

          column (the first character in a line is between column 1 and column 2)

          +
          +
          + + + + + + + + + + + + + + + + + +
          + + + Readonly + lineNumber + + +
          + Type : number + +
          + +
          +

          line number (starts at 1)

          +
          +
          +
          + +
          + +

          + Methods +

          + + + + + + + + + + + + + + + + + + + +
          + + + clone + + +
          +clone() +
          + +
          +

          Clone this position.

          +
          + +
          + Returns : Position + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Static + compare + + +
          + + compare(a: IPosition, b: IPosition) +
          + +
          +

          A function that compares positions, useful for sorting

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          a + IPosition + + No +
          b + IPosition + + No +
          +
          +
          +
          +
          + Returns : number + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + delta + + +
          +delta(deltaLineNumber?: number, deltaColumn?: number) +
          + +
          +

          Derive a new position from this position.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptionalDescription
          deltaLineNumber + number + + Yes + +

          line number delta

          + +
          deltaColumn + number + + Yes + +

          column delta

          + +
          +
          +
          +
          +
          + Returns : Position + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + equals + + +
          +equals(other: IPosition) +
          + +
          +

          Test if this position equals other position

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          other + IPosition + + No +
          +
          +
          +
          +
          + Returns : boolean + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Static + equals + + +
          + + equals(a: IPosition | null, b: IPosition | null) +
          + +
          +

          Test if position a equals position b

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          a + IPosition | null + + No +
          b + IPosition | null + + No +
          +
          +
          +
          +
          + Returns : boolean + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + isBefore + + +
          +isBefore(other: IPosition) +
          + +
          +

          Test if this position is before other position. +If the two positions are equal, the result will be false.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          other + IPosition + + No +
          +
          +
          +
          +
          + Returns : boolean + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Static + isBefore + + +
          + + isBefore(a: IPosition, b: IPosition) +
          + +
          +

          Test if position a is before position b. +If the two positions are equal, the result will be false.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          a + IPosition + + No +
          b + IPosition + + No +
          +
          +
          +
          +
          + Returns : boolean + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + isBeforeOrEqual + + +
          +isBeforeOrEqual(other: IPosition) +
          + +
          +

          Test if this position is before other position. +If the two positions are equal, the result will be true.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          other + IPosition + + No +
          +
          +
          +
          +
          + Returns : boolean + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Static + isBeforeOrEqual + + +
          + + isBeforeOrEqual(a: IPosition, b: IPosition) +
          + +
          +

          Test if position a is before position b. +If the two positions are equal, the result will be true.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          a + IPosition + + No +
          b + IPosition + + No +
          +
          +
          +
          +
          + Returns : boolean + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Static + isIPosition + + +
          + + isIPosition(obj: any) +
          + +
          +

          Test if obj is an IPosition.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          obj + any + + No +
          +
          +
          +
          +
          + Returns : IPosition + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + Static + lift + + +
          + + lift(pos: IPosition) +
          + +
          +

          Create a Position from an IPosition.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + +
          NameTypeOptional
          pos + IPosition + + No +
          +
          +
          +
          +
          + Returns : Position + +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + toString + + +
          +toString() +
          + +
          +

          Convert to a human-readable representation.

          +
          + +
          + Returns : string + +
          +
          + + + + + + + + + + + + + + + + + + + +
          + + + with + + +
          +with(newLineNumber?: number, newColumn?: number) +
          + +
          +

          Create a new position from this position.

          +
          + +
          + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          NameTypeOptionalDescription
          newLineNumber + number + + Yes + +

          new line number

          + +
          newColumn + number + + Yes + +

          new column

          + +
          +
          +
          +
          +
          + Returns : Position + +
          +
          + +
          +
          +
          + + + + + +
          + + +
          +
          declare let MonacoEnvironment: monaco.Environment | undefined;
          +
          +interface Window {
          +    MonacoEnvironment?: monaco.Environment | undefined;
          +}
          +
          +declare namespace monaco {
          +
          +    export type Thenable<T> = PromiseLike<T>;
          +
          +    export interface Environment {
          +        globalAPI?: boolean;
          +        baseUrl?: string;
          +        getWorker?(workerId: string, label: string): Worker;
          +        getWorkerUrl?(workerId: string, label: string): string;
          +    }
          +
          +    export interface IDisposable {
          +        dispose(): void;
          +    }
          +
          +    export interface IEvent<T> {
          +        (listener: (e: T) => any, thisArg?: any): IDisposable;
          +    }
          +
          +    /**
          +     * A helper that allows to emit and listen to typed events
          +     */
          +    export class Emitter<T> {
          +        constructor();
          +        readonly event: IEvent<T>;
          +        fire(event: T): void;
          +        dispose(): void;
          +    }
          +
          +
          +    export enum MarkerTag {
          +        Unnecessary = 1,
          +        Deprecated = 2
          +    }
          +
          +    export enum MarkerSeverity {
          +        Hint = 1,
          +        Info = 2,
          +        Warning = 4,
          +        Error = 8
          +    }
          +
          +    export class CancellationTokenSource {
          +        constructor(parent?: CancellationToken);
          +        get token(): CancellationToken;
          +        cancel(): void;
          +        dispose(cancel?: boolean): void;
          +    }
          +
          +    export interface CancellationToken {
          +        /**
          +         * A flag signalling is cancellation has been requested.
          +         */
          +        readonly isCancellationRequested: boolean;
          +        /**
          +         * An event which fires when cancellation is requested. This event
          +         * only ever fires `once` as cancellation can only happen once. Listeners
          +         * that are registered after cancellation will be called (next event loop run),
          +         * but also only once.
          +         *
          +         * @event
          +         */
          +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
          +    }
          +    /**
          +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
          +     * This class is a simple parser which creates the basic component parts
          +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
          +     * and encoding.
          +     *
          +     * ```txt
          +     *       foo://example.com:8042/over/there?name=ferret#nose
          +     *       \_/   \______________/\_________/ \_________/ \__/
          +     *        |           |            |            |        |
          +     *     scheme     authority       path        query   fragment
          +     *        |   _____________________|__
          +     *       / \ /                        \
          +     *       urn:example:animal:ferret:nose
          +     * ```
          +     */
          +    export class Uri implements UriComponents {
          +        static isUri(thing: any): thing is Uri;
          +        /**
          +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
          +         * The part before the first colon.
          +         */
          +        readonly scheme: string;
          +        /**
          +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
          +         * The part between the first double slashes and the next slash.
          +         */
          +        readonly authority: string;
          +        /**
          +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
          +         */
          +        readonly path: string;
          +        /**
          +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
          +         */
          +        readonly query: string;
          +        /**
          +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
          +         */
          +        readonly fragment: string;
          +        /**
          +         * Returns a string representing the corresponding file system path of this Uri.
          +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
          +         * platform specific path separator.
          +         *
          +         * * Will *not* validate the path for invalid characters and semantics.
          +         * * Will *not* look at the scheme of this Uri.
          +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
          +         *
          +         *
          +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
          +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
          +         *
          +         * ```ts
          +            const u = Uri.parse('file://server/c$/folder/file.txt')
          +            u.authority === 'server'
          +            u.path === '/shares/c$/file.txt'
          +            u.fsPath === '\\server\c$\folder\file.txt'
          +        ```
          +         *
          +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
          +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
          +         * with URIs that represent files on disk (`file` scheme).
          +         */
          +        get fsPath(): string;
          +        with(change: {
          +            scheme?: string;
          +            authority?: string | null;
          +            path?: string | null;
          +            query?: string | null;
          +            fragment?: string | null;
          +        }): Uri;
          +        /**
          +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
          +         * `file:///usr/home`, or `scheme:with/path`.
          +         *
          +         * @param value A string which represents an Uri (see `Uri#toString`).
          +         */
          +        static parse(value: string, _strict?: boolean): Uri;
          +        /**
          +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
          +         * `/usr/home`, or `\\server\share\some\path`.
          +         *
          +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
          +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
          +         * `Uri.parse('file://' + path)` because the path might contain characters that are
          +         * interpreted (# and ?). See the following sample:
          +         * ```ts
          +        const good = Uri.file('/coding/c#/project1');
          +        good.scheme === 'file';
          +        good.path === '/coding/c#/project1';
          +        good.fragment === '';
          +        const bad = Uri.parse('file://' + '/coding/c#/project1');
          +        bad.scheme === 'file';
          +        bad.path === '/coding/c'; // path is now broken
          +        bad.fragment === '/project1';
          +        ```
          +         *
          +         * @param path A file system path (see `Uri#fsPath`)
          +         */
          +        static file(path: string): Uri;
          +        static from(components: {
          +            scheme: string;
          +            authority?: string;
          +            path?: string;
          +            query?: string;
          +            fragment?: string;
          +        }): Uri;
          +        /**
          +         * Join a Uri path with path fragments and normalizes the resulting path.
          +         *
          +         * @param uri The input Uri.
          +         * @param pathFragment The path fragment to add to the Uri path.
          +         * @returns The resulting Uri.
          +         */
          +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
          +        /**
          +         * Creates a string representation for this Uri. It's guaranteed that calling
          +         * `Uri.parse` with the result of this function creates an Uri which is equal
          +         * to this Uri.
          +         *
          +         * * The result shall *not* be used for display purposes but for externalization or transport.
          +         * * The result will be encoded using the percentage encoding and encoding happens mostly
          +         * ignore the scheme-specific encoding rules.
          +         *
          +         * @param skipEncoding Do not encode the result, default is `false`
          +         */
          +        toString(skipEncoding?: boolean): string;
          +        toJSON(): UriComponents;
          +        static revive(data: UriComponents | Uri): Uri;
          +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
          +        static revive(data: UriComponents | Uri | null): Uri | null;
          +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
          +    }
          +
          +    export interface UriComponents {
          +        scheme: string;
          +        authority: string;
          +        path: string;
          +        query: string;
          +        fragment: string;
          +    }
          +    /**
          +     * Virtual Key Codes, the value does not hold any inherent meaning.
          +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
          +     * But these are "more general", as they should work across browsers & OS`s.
          +     */
          +    export enum KeyCode {
          +        DependsOnKbLayout = -1,
          +        /**
          +         * Placed first to cover the 0 value of the enum.
          +         */
          +        Unknown = 0,
          +        Backspace = 1,
          +        Tab = 2,
          +        Enter = 3,
          +        Shift = 4,
          +        Ctrl = 5,
          +        Alt = 6,
          +        PauseBreak = 7,
          +        CapsLock = 8,
          +        Escape = 9,
          +        Space = 10,
          +        PageUp = 11,
          +        PageDown = 12,
          +        End = 13,
          +        Home = 14,
          +        LeftArrow = 15,
          +        UpArrow = 16,
          +        RightArrow = 17,
          +        DownArrow = 18,
          +        Insert = 19,
          +        Delete = 20,
          +        Digit0 = 21,
          +        Digit1 = 22,
          +        Digit2 = 23,
          +        Digit3 = 24,
          +        Digit4 = 25,
          +        Digit5 = 26,
          +        Digit6 = 27,
          +        Digit7 = 28,
          +        Digit8 = 29,
          +        Digit9 = 30,
          +        KeyA = 31,
          +        KeyB = 32,
          +        KeyC = 33,
          +        KeyD = 34,
          +        KeyE = 35,
          +        KeyF = 36,
          +        KeyG = 37,
          +        KeyH = 38,
          +        KeyI = 39,
          +        KeyJ = 40,
          +        KeyK = 41,
          +        KeyL = 42,
          +        KeyM = 43,
          +        KeyN = 44,
          +        KeyO = 45,
          +        KeyP = 46,
          +        KeyQ = 47,
          +        KeyR = 48,
          +        KeyS = 49,
          +        KeyT = 50,
          +        KeyU = 51,
          +        KeyV = 52,
          +        KeyW = 53,
          +        KeyX = 54,
          +        KeyY = 55,
          +        KeyZ = 56,
          +        Meta = 57,
          +        ContextMenu = 58,
          +        F1 = 59,
          +        F2 = 60,
          +        F3 = 61,
          +        F4 = 62,
          +        F5 = 63,
          +        F6 = 64,
          +        F7 = 65,
          +        F8 = 66,
          +        F9 = 67,
          +        F10 = 68,
          +        F11 = 69,
          +        F12 = 70,
          +        F13 = 71,
          +        F14 = 72,
          +        F15 = 73,
          +        F16 = 74,
          +        F17 = 75,
          +        F18 = 76,
          +        F19 = 77,
          +        NumLock = 78,
          +        ScrollLock = 79,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the ';:' key
          +         */
          +        Semicolon = 80,
          +        /**
          +         * For any country/region, the '+' key
          +         * For the US standard keyboard, the '=+' key
          +         */
          +        Equal = 81,
          +        /**
          +         * For any country/region, the ',' key
          +         * For the US standard keyboard, the ',<' key
          +         */
          +        Comma = 82,
          +        /**
          +         * For any country/region, the '-' key
          +         * For the US standard keyboard, the '-_' key
          +         */
          +        Minus = 83,
          +        /**
          +         * For any country/region, the '.' key
          +         * For the US standard keyboard, the '.>' key
          +         */
          +        Period = 84,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the '/?' key
          +         */
          +        Slash = 85,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the '`~' key
          +         */
          +        Backquote = 86,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the '[{' key
          +         */
          +        BracketLeft = 87,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the '\|' key
          +         */
          +        Backslash = 88,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the ']}' key
          +         */
          +        BracketRight = 89,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         * For the US standard keyboard, the ''"' key
          +         */
          +        Quote = 90,
          +        /**
          +         * Used for miscellaneous characters; it can vary by keyboard.
          +         */
          +        OEM_8 = 91,
          +        /**
          +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
          +         */
          +        IntlBackslash = 92,
          +        Numpad0 = 93,
          +        Numpad1 = 94,
          +        Numpad2 = 95,
          +        Numpad3 = 96,
          +        Numpad4 = 97,
          +        Numpad5 = 98,
          +        Numpad6 = 99,
          +        Numpad7 = 100,
          +        Numpad8 = 101,
          +        Numpad9 = 102,
          +        NumpadMultiply = 103,
          +        NumpadAdd = 104,
          +        NUMPAD_SEPARATOR = 105,
          +        NumpadSubtract = 106,
          +        NumpadDecimal = 107,
          +        NumpadDivide = 108,
          +        /**
          +         * Cover all key codes when IME is processing input.
          +         */
          +        KEY_IN_COMPOSITION = 109,
          +        ABNT_C1 = 110,
          +        ABNT_C2 = 111,
          +        AudioVolumeMute = 112,
          +        AudioVolumeUp = 113,
          +        AudioVolumeDown = 114,
          +        BrowserSearch = 115,
          +        BrowserHome = 116,
          +        BrowserBack = 117,
          +        BrowserForward = 118,
          +        MediaTrackNext = 119,
          +        MediaTrackPrevious = 120,
          +        MediaStop = 121,
          +        MediaPlayPause = 122,
          +        LaunchMediaPlayer = 123,
          +        LaunchMail = 124,
          +        LaunchApp2 = 125,
          +        /**
          +         * Placed last to cover the length of the enum.
          +         * Please do not depend on this value!
          +         */
          +        MAX_VALUE = 126
          +    }
          +    export class KeyMod {
          +        static readonly CtrlCmd: number;
          +        static readonly Shift: number;
          +        static readonly Alt: number;
          +        static readonly WinCtrl: number;
          +        static chord(firstPart: number, secondPart: number): number;
          +    }
          +
          +    export interface IMarkdownString {
          +        readonly value: string;
          +        readonly isTrusted?: boolean;
          +        readonly supportThemeIcons?: boolean;
          +        readonly supportHtml?: boolean;
          +        uris?: {
          +            [href: string]: UriComponents;
          +        };
          +    }
          +
          +    export interface IKeyboardEvent {
          +        readonly _standardKeyboardEventBrand: true;
          +        readonly browserEvent: KeyboardEvent;
          +        readonly target: HTMLElement;
          +        readonly ctrlKey: boolean;
          +        readonly shiftKey: boolean;
          +        readonly altKey: boolean;
          +        readonly metaKey: boolean;
          +        readonly keyCode: KeyCode;
          +        readonly code: string;
          +        equals(keybinding: number): boolean;
          +        preventDefault(): void;
          +        stopPropagation(): void;
          +    }
          +    export interface IMouseEvent {
          +        readonly browserEvent: MouseEvent;
          +        readonly leftButton: boolean;
          +        readonly middleButton: boolean;
          +        readonly rightButton: boolean;
          +        readonly buttons: number;
          +        readonly target: HTMLElement;
          +        readonly detail: number;
          +        readonly posx: number;
          +        readonly posy: number;
          +        readonly ctrlKey: boolean;
          +        readonly shiftKey: boolean;
          +        readonly altKey: boolean;
          +        readonly metaKey: boolean;
          +        readonly timestamp: number;
          +        preventDefault(): void;
          +        stopPropagation(): void;
          +    }
          +
          +    export interface IScrollEvent {
          +        readonly scrollTop: number;
          +        readonly scrollLeft: number;
          +        readonly scrollWidth: number;
          +        readonly scrollHeight: number;
          +        readonly scrollTopChanged: boolean;
          +        readonly scrollLeftChanged: boolean;
          +        readonly scrollWidthChanged: boolean;
          +        readonly scrollHeightChanged: boolean;
          +    }
          +    /**
          +     * A position in the editor. This interface is suitable for serialization.
          +     */
          +    export interface IPosition {
          +        /**
          +         * line number (starts at 1)
          +         */
          +        readonly lineNumber: number;
          +        /**
          +         * column (the first character in a line is between column 1 and column 2)
          +         */
          +        readonly column: number;
          +    }
          +
          +    /**
          +     * A position in the editor.
          +     */
          +    export class Position {
          +        /**
          +         * line number (starts at 1)
          +         */
          +        readonly lineNumber: number;
          +        /**
          +         * column (the first character in a line is between column 1 and column 2)
          +         */
          +        readonly column: number;
          +        constructor(lineNumber: number, column: number);
          +        /**
          +         * Create a new position from this position.
          +         *
          +         * @param newLineNumber new line number
          +         * @param newColumn new column
          +         */
          +        with(newLineNumber?: number, newColumn?: number): Position;
          +        /**
          +         * Derive a new position from this position.
          +         *
          +         * @param deltaLineNumber line number delta
          +         * @param deltaColumn column delta
          +         */
          +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
          +        /**
          +         * Test if this position equals other position
          +         */
          +        equals(other: IPosition): boolean;
          +        /**
          +         * Test if position `a` equals position `b`
          +         */
          +        static equals(a: IPosition | null, b: IPosition | null): boolean;
          +        /**
          +         * Test if this position is before other position.
          +         * If the two positions are equal, the result will be false.
          +         */
          +        isBefore(other: IPosition): boolean;
          +        /**
          +         * Test if position `a` is before position `b`.
          +         * If the two positions are equal, the result will be false.
          +         */
          +        static isBefore(a: IPosition, b: IPosition): boolean;
          +        /**
          +         * Test if this position is before other position.
          +         * If the two positions are equal, the result will be true.
          +         */
          +        isBeforeOrEqual(other: IPosition): boolean;
          +        /**
          +         * Test if position `a` is before position `b`.
          +         * If the two positions are equal, the result will be true.
          +         */
          +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
          +        /**
          +         * A function that compares positions, useful for sorting
          +         */
          +        static compare(a: IPosition, b: IPosition): number;
          +        /**
          +         * Clone this position.
          +         */
          +        clone(): Position;
          +        /**
          +         * Convert to a human-readable representation.
          +         */
          +        toString(): string;
          +        /**
          +         * Create a `Position` from an `IPosition`.
          +         */
          +        static lift(pos: IPosition): Position;
          +        /**
          +         * Test if `obj` is an `IPosition`.
          +         */
          +        static isIPosition(obj: any): obj is IPosition;
          +    }
          +
          +    /**
          +     * A range in the editor. This interface is suitable for serialization.
          +     */
          +    export interface IRange {
          +        /**
          +         * Line number on which the range starts (starts at 1).
          +         */
          +        readonly startLineNumber: number;
          +        /**
          +         * Column on which the range starts in line `startLineNumber` (starts at 1).
          +         */
          +        readonly startColumn: number;
          +        /**
          +         * Line number on which the range ends.
          +         */
          +        readonly endLineNumber: number;
          +        /**
          +         * Column on which the range ends in line `endLineNumber`.
          +         */
          +        readonly endColumn: number;
          +    }
          +
          +    /**
          +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
          +     */
          +    export class Range {
          +        /**
          +         * Line number on which the range starts (starts at 1).
          +         */
          +        readonly startLineNumber: number;
          +        /**
          +         * Column on which the range starts in line `startLineNumber` (starts at 1).
          +         */
          +        readonly startColumn: number;
          +        /**
          +         * Line number on which the range ends.
          +         */
          +        readonly endLineNumber: number;
          +        /**
          +         * Column on which the range ends in line `endLineNumber`.
          +         */
          +        readonly endColumn: number;
          +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
          +        /**
          +         * Test if this range is empty.
          +         */
          +        isEmpty(): boolean;
          +        /**
          +         * Test if `range` is empty.
          +         */
          +        static isEmpty(range: IRange): boolean;
          +        /**
          +         * Test if position is in this range. If the position is at the edges, will return true.
          +         */
          +        containsPosition(position: IPosition): boolean;
          +        /**
          +         * Test if `position` is in `range`. If the position is at the edges, will return true.
          +         */
          +        static containsPosition(range: IRange, position: IPosition): boolean;
          +        /**
          +         * Test if range is in this range. If the range is equal to this range, will return true.
          +         */
          +        containsRange(range: IRange): boolean;
          +        /**
          +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
          +         */
          +        static containsRange(range: IRange, otherRange: IRange): boolean;
          +        /**
          +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
          +         */
          +        strictContainsRange(range: IRange): boolean;
          +        /**
          +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
          +         */
          +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
          +        /**
          +         * A reunion of the two ranges.
          +         * The smallest position will be used as the start point, and the largest one as the end point.
          +         */
          +        plusRange(range: IRange): Range;
          +        /**
          +         * A reunion of the two ranges.
          +         * The smallest position will be used as the start point, and the largest one as the end point.
          +         */
          +        static plusRange(a: IRange, b: IRange): Range;
          +        /**
          +         * A intersection of the two ranges.
          +         */
          +        intersectRanges(range: IRange): Range | null;
          +        /**
          +         * A intersection of the two ranges.
          +         */
          +        static intersectRanges(a: IRange, b: IRange): Range | null;
          +        /**
          +         * Test if this range equals other.
          +         */
          +        equalsRange(other: IRange | null): boolean;
          +        /**
          +         * Test if range `a` equals `b`.
          +         */
          +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
          +        /**
          +         * Return the end position (which will be after or equal to the start position)
          +         */
          +        getEndPosition(): Position;
          +        /**
          +         * Return the end position (which will be after or equal to the start position)
          +         */
          +        static getEndPosition(range: IRange): Position;
          +        /**
          +         * Return the start position (which will be before or equal to the end position)
          +         */
          +        getStartPosition(): Position;
          +        /**
          +         * Return the start position (which will be before or equal to the end position)
          +         */
          +        static getStartPosition(range: IRange): Position;
          +        /**
          +         * Transform to a user presentable string representation.
          +         */
          +        toString(): string;
          +        /**
          +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
          +         */
          +        setEndPosition(endLineNumber: number, endColumn: number): Range;
          +        /**
          +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
          +         */
          +        setStartPosition(startLineNumber: number, startColumn: number): Range;
          +        /**
          +         * Create a new empty range using this range's start position.
          +         */
          +        collapseToStart(): Range;
          +        /**
          +         * Create a new empty range using this range's start position.
          +         */
          +        static collapseToStart(range: IRange): Range;
          +        static fromPositions(start: IPosition, end?: IPosition): Range;
          +        /**
          +         * Create a `Range` from an `IRange`.
          +         */
          +        static lift(range: undefined | null): null;
          +        static lift(range: IRange): Range;
          +        /**
          +         * Test if `obj` is an `IRange`.
          +         */
          +        static isIRange(obj: any): obj is IRange;
          +        /**
          +         * Test if the two ranges are touching in any way.
          +         */
          +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
          +        /**
          +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
          +         */
          +        static areIntersecting(a: IRange, b: IRange): boolean;
          +        /**
          +         * A function that compares ranges, useful for sorting ranges
          +         * It will first compare ranges on the startPosition and then on the endPosition
          +         */
          +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
          +        /**
          +         * A function that compares ranges, useful for sorting ranges
          +         * It will first compare ranges on the endPosition and then on the startPosition
          +         */
          +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
          +        /**
          +         * Test if the range spans multiple lines.
          +         */
          +        static spansMultipleLines(range: IRange): boolean;
          +    }
          +
          +    /**
          +     * A selection in the editor.
          +     * The selection is a range that has an orientation.
          +     */
          +    export interface ISelection {
          +        /**
          +         * The line number on which the selection has started.
          +         */
          +        readonly selectionStartLineNumber: number;
          +        /**
          +         * The column on `selectionStartLineNumber` where the selection has started.
          +         */
          +        readonly selectionStartColumn: number;
          +        /**
          +         * The line number on which the selection has ended.
          +         */
          +        readonly positionLineNumber: number;
          +        /**
          +         * The column on `positionLineNumber` where the selection has ended.
          +         */
          +        readonly positionColumn: number;
          +    }
          +
          +    /**
          +     * A selection in the editor.
          +     * The selection is a range that has an orientation.
          +     */
          +    export class Selection extends Range {
          +        /**
          +         * The line number on which the selection has started.
          +         */
          +        readonly selectionStartLineNumber: number;
          +        /**
          +         * The column on `selectionStartLineNumber` where the selection has started.
          +         */
          +        readonly selectionStartColumn: number;
          +        /**
          +         * The line number on which the selection has ended.
          +         */
          +        readonly positionLineNumber: number;
          +        /**
          +         * The column on `positionLineNumber` where the selection has ended.
          +         */
          +        readonly positionColumn: number;
          +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
          +        /**
          +         * Transform to a human-readable representation.
          +         */
          +        toString(): string;
          +        /**
          +         * Test if equals other selection.
          +         */
          +        equalsSelection(other: ISelection): boolean;
          +        /**
          +         * Test if the two selections are equal.
          +         */
          +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
          +        /**
          +         * Get directions (LTR or RTL).
          +         */
          +        getDirection(): SelectionDirection;
          +        /**
          +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
          +         */
          +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
          +        /**
          +         * Get the position at `positionLineNumber` and `positionColumn`.
          +         */
          +        getPosition(): Position;
          +        /**
          +         * Get the position at the start of the selection.
          +        */
          +        getSelectionStart(): Position;
          +        /**
          +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
          +         */
          +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
          +        /**
          +         * Create a `Selection` from one or two positions
          +         */
          +        static fromPositions(start: IPosition, end?: IPosition): Selection;
          +        /**
          +         * Creates a `Selection` from a range, given a direction.
          +         */
          +        static fromRange(range: Range, direction: SelectionDirection): Selection;
          +        /**
          +         * Create a `Selection` from an `ISelection`.
          +         */
          +        static liftSelection(sel: ISelection): Selection;
          +        /**
          +         * `a` equals `b`.
          +         */
          +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
          +        /**
          +         * Test if `obj` is an `ISelection`.
          +         */
          +        static isISelection(obj: any): obj is ISelection;
          +        /**
          +         * Create with a direction.
          +         */
          +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
          +    }
          +
          +    /**
          +     * The direction of a selection.
          +     */
          +    export enum SelectionDirection {
          +        /**
          +         * The selection starts above where it ends.
          +         */
          +        LTR = 0,
          +        /**
          +         * The selection starts below where it ends.
          +         */
          +        RTL = 1
          +    }
          +
          +    export class Token {
          +        _tokenBrand: void;
          +        readonly offset: number;
          +        readonly type: string;
          +        readonly language: string;
          +        constructor(offset: number, type: string, language: string);
          +        toString(): string;
          +    }
          +}
          +
          +declare namespace monaco.editor {
          +
          +    export interface IDiffNavigator {
          +        canNavigate(): boolean;
          +        next(): void;
          +        previous(): void;
          +        dispose(): void;
          +    }
          +
          +    /**
          +     * Create a new editor under `domElement`.
          +     * `domElement` should be empty (not contain other dom nodes).
          +     * The editor will read the size of `domElement`.
          +     */
          +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
          +
          +    /**
          +     * Emitted when an editor is created.
          +     * Creating a diff editor might cause this listener to be invoked with the two editors.
          +     * @event
          +     */
          +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
          +
          +    /**
          +     * Create a new diff editor under `domElement`.
          +     * `domElement` should be empty (not contain other dom nodes).
          +     * The editor will read the size of `domElement`.
          +     */
          +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
          +
          +    export interface IDiffNavigatorOptions {
          +        readonly followsCaret?: boolean;
          +        readonly ignoreCharChanges?: boolean;
          +        readonly alwaysRevealFirst?: boolean;
          +    }
          +
          +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
          +
          +    /**
          +     * Create a new editor model.
          +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
          +     */
          +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
          +
          +    /**
          +     * Change the language for a model.
          +     */
          +    export function setModelLanguage(model: ITextModel, languageId: string): void;
          +
          +    /**
          +     * Set the markers for a model.
          +     */
          +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
          +
          +    /**
          +     * Get markers for owner and/or resource
          +     *
          +     * @returns list of markers
          +     */
          +    export function getModelMarkers(filter: {
          +        owner?: string;
          +        resource?: Uri;
          +        take?: number;
          +    }): IMarker[];
          +
          +    /**
          +     * Emitted when markers change for a model.
          +     * @event
          +     */
          +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
          +
          +    /**
          +     * Get the model that has `uri` if it exists.
          +     */
          +    export function getModel(uri: Uri): ITextModel | null;
          +
          +    /**
          +     * Get all the created models.
          +     */
          +    export function getModels(): ITextModel[];
          +
          +    /**
          +     * Emitted when a model is created.
          +     * @event
          +     */
          +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
          +
          +    /**
          +     * Emitted right before a model is disposed.
          +     * @event
          +     */
          +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
          +
          +    /**
          +     * Emitted when a different language is set to a model.
          +     * @event
          +     */
          +    export function onDidChangeModelLanguage(listener: (e: {
          +        readonly model: ITextModel;
          +        readonly oldLanguage: string;
          +    }) => void): IDisposable;
          +
          +    /**
          +     * Create a new web worker that has model syncing capabilities built in.
          +     * Specify an AMD module to load that will `create` an object that will be proxied.
          +     */
          +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
          +
          +    /**
          +     * Colorize the contents of `domNode` using attribute `data-lang`.
          +     */
          +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
          +
          +    /**
          +     * Colorize `text` using language `languageId`.
          +     */
          +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
          +
          +    /**
          +     * Colorize a line in a model.
          +     */
          +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
          +
          +    /**
          +     * Tokenize `text` using language `languageId`
          +     */
          +    export function tokenize(text: string, languageId: string): Token[][];
          +
          +    /**
          +     * Define a new theme or update an existing theme.
          +     */
          +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
          +
          +    /**
          +     * Switches to a theme.
          +     */
          +    export function setTheme(themeName: string): void;
          +
          +    /**
          +     * Clears all cached font measurements and triggers re-measurement.
          +     */
          +    export function remeasureFonts(): void;
          +
          +    /**
          +     * Register a command.
          +     */
          +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
          +
          +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
          +
          +    export interface IStandaloneThemeData {
          +        base: BuiltinTheme;
          +        inherit: boolean;
          +        rules: ITokenThemeRule[];
          +        encodedTokensColors?: string[];
          +        colors: IColors;
          +    }
          +
          +    export type IColors = {
          +        [colorId: string]: string;
          +    };
          +
          +    export interface ITokenThemeRule {
          +        token: string;
          +        foreground?: string;
          +        background?: string;
          +        fontStyle?: string;
          +    }
          +
          +    /**
          +     * A web worker that can provide a proxy to an arbitrary file.
          +     */
          +    export interface MonacoWebWorker<T> {
          +        /**
          +         * Terminate the web worker, thus invalidating the returned proxy.
          +         */
          +        dispose(): void;
          +        /**
          +         * Get a proxy to the arbitrary loaded code.
          +         */
          +        getProxy(): Promise<T>;
          +        /**
          +         * Synchronize (send) the models at `resources` to the web worker,
          +         * making them available in the monaco.worker.getMirrorModels().
          +         */
          +        withSyncedResources(resources: Uri[]): Promise<T>;
          +    }
          +
          +    export interface IWebWorkerOptions {
          +        /**
          +         * The AMD moduleId to load.
          +         * It should export a function `create` that should return the exported proxy.
          +         */
          +        moduleId: string;
          +        /**
          +         * The data to send over when calling create on the module.
          +         */
          +        createData?: any;
          +        /**
          +         * A label to be used to identify the web worker for debugging purposes.
          +         */
          +        label?: string;
          +        /**
          +         * An object that can be used by the web worker to make calls back to the main thread.
          +         */
          +        host?: any;
          +        /**
          +         * Keep idle models.
          +         * Defaults to false, which means that idle models will stop syncing after a while.
          +         */
          +        keepIdleModels?: boolean;
          +    }
          +
          +    /**
          +     * Description of an action contribution
          +     */
          +    export interface IActionDescriptor {
          +        /**
          +         * An unique identifier of the contributed action.
          +         */
          +        id: string;
          +        /**
          +         * A label of the action that will be presented to the user.
          +         */
          +        label: string;
          +        /**
          +         * Precondition rule.
          +         */
          +        precondition?: string;
          +        /**
          +         * An array of keybindings for the action.
          +         */
          +        keybindings?: number[];
          +        /**
          +         * The keybinding rule (condition on top of precondition).
          +         */
          +        keybindingContext?: string;
          +        /**
          +         * Control if the action should show up in the context menu and where.
          +         * The context menu of the editor has these default:
          +         *   navigation - The navigation group comes first in all cases.
          +         *   1_modification - This group comes next and contains commands that modify your code.
          +         *   9_cutcopypaste - The last default group with the basic editing commands.
          +         * You can also create your own group.
          +         * Defaults to null (don't show in context menu).
          +         */
          +        contextMenuGroupId?: string;
          +        /**
          +         * Control the order in the context menu group.
          +         */
          +        contextMenuOrder?: number;
          +        /**
          +         * Method that will be executed when the action is triggered.
          +         * @param editor The editor instance is passed in as a convenience
          +         */
          +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
          +    }
          +
          +    /**
          +     * Options which apply for all editors.
          +     */
          +    export interface IGlobalEditorOptions {
          +        /**
          +         * The number of spaces a tab is equal to.
          +         * This setting is overridden based on the file contents when `detectIndentation` is on.
          +         * Defaults to 4.
          +         */
          +        tabSize?: number;
          +        /**
          +         * Insert spaces when pressing `Tab`.
          +         * This setting is overridden based on the file contents when `detectIndentation` is on.
          +         * Defaults to true.
          +         */
          +        insertSpaces?: boolean;
          +        /**
          +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
          +         * Defaults to true.
          +         */
          +        detectIndentation?: boolean;
          +        /**
          +         * Remove trailing auto inserted whitespace.
          +         * Defaults to true.
          +         */
          +        trimAutoWhitespace?: boolean;
          +        /**
          +         * Special handling for large files to disable certain memory intensive features.
          +         * Defaults to true.
          +         */
          +        largeFileOptimizations?: boolean;
          +        /**
          +         * Controls whether completions should be computed based on words in the document.
          +         * Defaults to true.
          +         */
          +        wordBasedSuggestions?: boolean;
          +        /**
          +         * Controls whether word based completions should be included from opened documents of the same language or any language.
          +         */
          +        wordBasedSuggestionsOnlySameLanguage?: boolean;
          +        /**
          +         * Controls whether the semanticHighlighting is shown for the languages that support it.
          +         * true: semanticHighlighting is enabled for all themes
          +         * false: semanticHighlighting is disabled for all themes
          +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
          +         * Defaults to 'byTheme'.
          +         */
          +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
          +        /**
          +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
          +         * Defaults to false.
          +         */
          +        stablePeek?: boolean;
          +        /**
          +         * Lines above this length will not be tokenized for performance reasons.
          +         * Defaults to 20000.
          +         */
          +        maxTokenizationLineLength?: number;
          +        /**
          +         * Theme to be used for rendering.
          +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          +         * You can create custom themes via `monaco.editor.defineTheme`.
          +         * To switch a theme, use `monaco.editor.setTheme`.
          +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          +         */
          +        theme?: string;
          +        /**
          +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
          +         * Defaults to true.
          +         */
          +        autoDetectHighContrast?: boolean;
          +    }
          +
          +    /**
          +     * The options to create an editor.
          +     */
          +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
          +        /**
          +         * The initial model associated with this code editor.
          +         */
          +        model?: ITextModel | null;
          +        /**
          +         * The initial value of the auto created model in the editor.
          +         * To not automatically create a model, use `model: null`.
          +         */
          +        value?: string;
          +        /**
          +         * The initial language of the auto created model in the editor.
          +         * To not automatically create a model, use `model: null`.
          +         */
          +        language?: string;
          +        /**
          +         * Initial theme to be used for rendering.
          +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          +         * You can create custom themes via `monaco.editor.defineTheme`.
          +         * To switch a theme, use `monaco.editor.setTheme`.
          +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          +         */
          +        theme?: string;
          +        /**
          +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
          +         * Defaults to true.
          +         */
          +        autoDetectHighContrast?: boolean;
          +        /**
          +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
          +         * the accessibility help dialog in the editor.
          +         *
          +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
          +         */
          +        accessibilityHelpUrl?: string;
          +        /**
          +         * Container element to use for ARIA messages.
          +         * Defaults to document.body.
          +         */
          +        ariaContainerElement?: HTMLElement;
          +    }
          +
          +    /**
          +     * The options to create a diff editor.
          +     */
          +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
          +        /**
          +         * Initial theme to be used for rendering.
          +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
          +         * You can create custom themes via `monaco.editor.defineTheme`.
          +         * To switch a theme, use `monaco.editor.setTheme`.
          +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
          +         */
          +        theme?: string;
          +        /**
          +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
          +         * Defaults to true.
          +         */
          +        autoDetectHighContrast?: boolean;
          +    }
          +
          +    export interface IStandaloneCodeEditor extends ICodeEditor {
          +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
          +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
          +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
          +        addAction(descriptor: IActionDescriptor): IDisposable;
          +    }
          +
          +    export interface IStandaloneDiffEditor extends IDiffEditor {
          +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
          +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
          +        addAction(descriptor: IActionDescriptor): IDisposable;
          +        getOriginalEditor(): IStandaloneCodeEditor;
          +        getModifiedEditor(): IStandaloneCodeEditor;
          +    }
          +    export interface ICommandHandler {
          +        (...args: any[]): void;
          +    }
          +
          +    export interface IContextKey<T> {
          +        set(value: T): void;
          +        reset(): void;
          +        get(): T | undefined;
          +    }
          +
          +    export interface IEditorOverrideServices {
          +        [index: string]: any;
          +    }
          +
          +    export interface IMarker {
          +        owner: string;
          +        resource: Uri;
          +        severity: MarkerSeverity;
          +        code?: string | {
          +            value: string;
          +            target: Uri;
          +        };
          +        message: string;
          +        source?: string;
          +        startLineNumber: number;
          +        startColumn: number;
          +        endLineNumber: number;
          +        endColumn: number;
          +        relatedInformation?: IRelatedInformation[];
          +        tags?: MarkerTag[];
          +    }
          +
          +    /**
          +     * A structure defining a problem/warning/etc.
          +     */
          +    export interface IMarkerData {
          +        code?: string | {
          +            value: string;
          +            target: Uri;
          +        };
          +        severity: MarkerSeverity;
          +        message: string;
          +        source?: string;
          +        startLineNumber: number;
          +        startColumn: number;
          +        endLineNumber: number;
          +        endColumn: number;
          +        relatedInformation?: IRelatedInformation[];
          +        tags?: MarkerTag[];
          +    }
          +
          +    /**
          +     *
          +     */
          +    export interface IRelatedInformation {
          +        resource: Uri;
          +        message: string;
          +        startLineNumber: number;
          +        startColumn: number;
          +        endLineNumber: number;
          +        endColumn: number;
          +    }
          +
          +    export interface IColorizerOptions {
          +        tabSize?: number;
          +    }
          +
          +    export interface IColorizerElementOptions extends IColorizerOptions {
          +        theme?: string;
          +        mimeType?: string;
          +    }
          +
          +    export enum ScrollbarVisibility {
          +        Auto = 1,
          +        Hidden = 2,
          +        Visible = 3
          +    }
          +
          +    export interface ThemeColor {
          +        id: string;
          +    }
          +
          +    /**
          +     * Vertical Lane in the overview ruler of the editor.
          +     */
          +    export enum OverviewRulerLane {
          +        Left = 1,
          +        Center = 2,
          +        Right = 4,
          +        Full = 7
          +    }
          +
          +    /**
          +     * Position in the minimap to render the decoration.
          +     */
          +    export enum MinimapPosition {
          +        Inline = 1,
          +        Gutter = 2
          +    }
          +
          +    export interface IDecorationOptions {
          +        /**
          +         * CSS color to render.
          +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
          +         */
          +        color: string | ThemeColor | undefined;
          +        /**
          +         * CSS color to render.
          +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
          +         */
          +        darkColor?: string | ThemeColor;
          +    }
          +
          +    /**
          +     * Options for rendering a model decoration in the overview ruler.
          +     */
          +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
          +        /**
          +         * The position in the overview ruler.
          +         */
          +        position: OverviewRulerLane;
          +    }
          +
          +    /**
          +     * Options for rendering a model decoration in the overview ruler.
          +     */
          +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
          +        /**
          +         * The position in the overview ruler.
          +         */
          +        position: MinimapPosition;
          +    }
          +
          +    /**
          +     * Options for a model decoration.
          +     */
          +    export interface IModelDecorationOptions {
          +        /**
          +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
          +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
          +         */
          +        stickiness?: TrackedRangeStickiness;
          +        /**
          +         * CSS class name describing the decoration.
          +         */
          +        className?: string | null;
          +        /**
          +         * Message to be rendered when hovering over the glyph margin decoration.
          +         */
          +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
          +        /**
          +         * Array of MarkdownString to render as the decoration message.
          +         */
          +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
          +        /**
          +         * Should the decoration expand to encompass a whole line.
          +         */
          +        isWholeLine?: boolean;
          +        /**
          +         * Specifies the stack order of a decoration.
          +         * A decoration with greater stack order is always in front of a decoration with
          +         * a lower stack order when the decorations are on the same line.
          +         */
          +        zIndex?: number;
          +        /**
          +         * If set, render this decoration in the overview ruler.
          +         */
          +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
          +        /**
          +         * If set, render this decoration in the minimap.
          +         */
          +        minimap?: IModelDecorationMinimapOptions | null;
          +        /**
          +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
          +         */
          +        glyphMarginClassName?: string | null;
          +        /**
          +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
          +         */
          +        linesDecorationsClassName?: string | null;
          +        /**
          +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
          +         */
          +        firstLineDecorationClassName?: string | null;
          +        /**
          +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
          +         */
          +        marginClassName?: string | null;
          +        /**
          +         * If set, the decoration will be rendered inline with the text with this CSS class name.
          +         * Please use this only for CSS rules that must impact the text. For example, use `className`
          +         * to have a background color decoration.
          +         */
          +        inlineClassName?: string | null;
          +        /**
          +         * If there is an `inlineClassName` which affects letter spacing.
          +         */
          +        inlineClassNameAffectsLetterSpacing?: boolean;
          +        /**
          +         * If set, the decoration will be rendered before the text with this CSS class name.
          +         */
          +        beforeContentClassName?: string | null;
          +        /**
          +         * If set, the decoration will be rendered after the text with this CSS class name.
          +         */
          +        afterContentClassName?: string | null;
          +        /**
          +         * If set, text will be injected in the view after the range.
          +         */
          +        after?: InjectedTextOptions | null;
          +        /**
          +         * If set, text will be injected in the view before the range.
          +         */
          +        before?: InjectedTextOptions | null;
          +    }
          +
          +    /**
          +     * Configures text that is injected into the view without changing the underlying document.
          +    */
          +    export interface InjectedTextOptions {
          +        /**
          +         * Sets the text to inject. Must be a single line.
          +         */
          +        readonly content: string;
          +        /**
          +         * If set, the decoration will be rendered inline with the text with this CSS class name.
          +         */
          +        readonly inlineClassName?: string | null;
          +        /**
          +         * If there is an `inlineClassName` which affects letter spacing.
          +         */
          +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
          +    }
          +
          +    /**
          +     * New model decorations.
          +     */
          +    export interface IModelDeltaDecoration {
          +        /**
          +         * Range that this decoration covers.
          +         */
          +        range: IRange;
          +        /**
          +         * Options associated with this decoration.
          +         */
          +        options: IModelDecorationOptions;
          +    }
          +
          +    /**
          +     * A decoration in the model.
          +     */
          +    export interface IModelDecoration {
          +        /**
          +         * Identifier for a decoration.
          +         */
          +        readonly id: string;
          +        /**
          +         * Identifier for a decoration's owner.
          +         */
          +        readonly ownerId: number;
          +        /**
          +         * Range that this decoration covers.
          +         */
          +        readonly range: Range;
          +        /**
          +         * Options associated with this decoration.
          +         */
          +        readonly options: IModelDecorationOptions;
          +    }
          +
          +    /**
          +     * Word inside a model.
          +     */
          +    export interface IWordAtPosition {
          +        /**
          +         * The word.
          +         */
          +        readonly word: string;
          +        /**
          +         * The column where the word starts.
          +         */
          +        readonly startColumn: number;
          +        /**
          +         * The column where the word ends.
          +         */
          +        readonly endColumn: number;
          +    }
          +
          +    /**
          +     * End of line character preference.
          +     */
          +    export enum EndOfLinePreference {
          +        /**
          +         * Use the end of line character identified in the text buffer.
          +         */
          +        TextDefined = 0,
          +        /**
          +         * Use line feed (\n) as the end of line character.
          +         */
          +        LF = 1,
          +        /**
          +         * Use carriage return and line feed (\r\n) as the end of line character.
          +         */
          +        CRLF = 2
          +    }
          +
          +    /**
          +     * The default end of line to use when instantiating models.
          +     */
          +    export enum DefaultEndOfLine {
          +        /**
          +         * Use line feed (\n) as the end of line character.
          +         */
          +        LF = 1,
          +        /**
          +         * Use carriage return and line feed (\r\n) as the end of line character.
          +         */
          +        CRLF = 2
          +    }
          +
          +    /**
          +     * End of line character preference.
          +     */
          +    export enum EndOfLineSequence {
          +        /**
          +         * Use line feed (\n) as the end of line character.
          +         */
          +        LF = 0,
          +        /**
          +         * Use carriage return and line feed (\r\n) as the end of line character.
          +         */
          +        CRLF = 1
          +    }
          +
          +    /**
          +     * A single edit operation, that acts as a simple replace.
          +     * i.e. Replace text at `range` with `text` in model.
          +     */
          +    export interface ISingleEditOperation {
          +        /**
          +         * The range to replace. This can be empty to emulate a simple insert.
          +         */
          +        range: IRange;
          +        /**
          +         * The text to replace with. This can be null to emulate a simple delete.
          +         */
          +        text: string | null;
          +        /**
          +         * This indicates that this operation has "insert" semantics.
          +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
          +         */
          +        forceMoveMarkers?: boolean;
          +    }
          +
          +    /**
          +     * A single edit operation, that has an identifier.
          +     */
          +    export interface IIdentifiedSingleEditOperation {
          +        /**
          +         * The range to replace. This can be empty to emulate a simple insert.
          +         */
          +        range: IRange;
          +        /**
          +         * The text to replace with. This can be null to emulate a simple delete.
          +         */
          +        text: string | null;
          +        /**
          +         * This indicates that this operation has "insert" semantics.
          +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
          +         */
          +        forceMoveMarkers?: boolean;
          +    }
          +
          +    export interface IValidEditOperation {
          +        /**
          +         * The range to replace. This can be empty to emulate a simple insert.
          +         */
          +        range: Range;
          +        /**
          +         * The text to replace with. This can be empty to emulate a simple delete.
          +         */
          +        text: string;
          +    }
          +
          +    /**
          +     * A callback that can compute the cursor state after applying a series of edit operations.
          +     */
          +    export interface ICursorStateComputer {
          +        /**
          +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
          +         */
          +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
          +    }
          +
          +    export class TextModelResolvedOptions {
          +        _textModelResolvedOptionsBrand: void;
          +        readonly tabSize: number;
          +        readonly indentSize: number;
          +        readonly insertSpaces: boolean;
          +        readonly defaultEOL: DefaultEndOfLine;
          +        readonly trimAutoWhitespace: boolean;
          +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
          +    }
          +
          +    export interface BracketPairColorizationOptions {
          +        enabled: boolean;
          +    }
          +
          +    export interface ITextModelUpdateOptions {
          +        tabSize?: number;
          +        indentSize?: number;
          +        insertSpaces?: boolean;
          +        trimAutoWhitespace?: boolean;
          +        bracketColorizationOptions?: BracketPairColorizationOptions;
          +    }
          +
          +    export class FindMatch {
          +        _findMatchBrand: void;
          +        readonly range: Range;
          +        readonly matches: string[] | null;
          +    }
          +
          +    /**
          +     * Describes the behavior of decorations when typing/editing near their edges.
          +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
          +     */
          +    export enum TrackedRangeStickiness {
          +        AlwaysGrowsWhenTypingAtEdges = 0,
          +        NeverGrowsWhenTypingAtEdges = 1,
          +        GrowsOnlyWhenTypingBefore = 2,
          +        GrowsOnlyWhenTypingAfter = 3
          +    }
          +
          +    /**
          +     * A model.
          +     */
          +    export interface ITextModel {
          +        /**
          +         * Gets the resource associated with this editor model.
          +         */
          +        readonly uri: Uri;
          +        /**
          +         * A unique identifier associated with this model.
          +         */
          +        readonly id: string;
          +        /**
          +         * Get the resolved options for this model.
          +         */
          +        getOptions(): TextModelResolvedOptions;
          +        /**
          +         * Get the current version id of the model.
          +         * Anytime a change happens to the model (even undo/redo),
          +         * the version id is incremented.
          +         */
          +        getVersionId(): number;
          +        /**
          +         * Get the alternative version id of the model.
          +         * This alternative version id is not always incremented,
          +         * it will return the same values in the case of undo-redo.
          +         */
          +        getAlternativeVersionId(): number;
          +        /**
          +         * Replace the entire text buffer value contained in this model.
          +         */
          +        setValue(newValue: string): void;
          +        /**
          +         * Get the text stored in this model.
          +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
          +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
          +         * @return The text.
          +         */
          +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
          +        /**
          +         * Get the length of the text stored in this model.
          +         */
          +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
          +        /**
          +         * Get the text in a certain range.
          +         * @param range The range describing what text to get.
          +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
          +         * @return The text.
          +         */
          +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
          +        /**
          +         * Get the length of text in a certain range.
          +         * @param range The range describing what text length to get.
          +         * @return The text length.
          +         */
          +        getValueLengthInRange(range: IRange): number;
          +        /**
          +         * Get the character count of text in a certain range.
          +         * @param range The range describing what text length to get.
          +         */
          +        getCharacterCountInRange(range: IRange): number;
          +        /**
          +         * Get the number of lines in the model.
          +         */
          +        getLineCount(): number;
          +        /**
          +         * Get the text for a certain line.
          +         */
          +        getLineContent(lineNumber: number): string;
          +        /**
          +         * Get the text length for a certain line.
          +         */
          +        getLineLength(lineNumber: number): number;
          +        /**
          +         * Get the text for all lines.
          +         */
          +        getLinesContent(): string[];
          +        /**
          +         * Get the end of line sequence predominantly used in the text buffer.
          +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
          +         */
          +        getEOL(): string;
          +        /**
          +         * Get the end of line sequence predominantly used in the text buffer.
          +         */
          +        getEndOfLineSequence(): EndOfLineSequence;
          +        /**
          +         * Get the minimum legal column for line at `lineNumber`
          +         */
          +        getLineMinColumn(lineNumber: number): number;
          +        /**
          +         * Get the maximum legal column for line at `lineNumber`
          +         */
          +        getLineMaxColumn(lineNumber: number): number;
          +        /**
          +         * Returns the column before the first non whitespace character for line at `lineNumber`.
          +         * Returns 0 if line is empty or contains only whitespace.
          +         */
          +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
          +        /**
          +         * Returns the column after the last non whitespace character for line at `lineNumber`.
          +         * Returns 0 if line is empty or contains only whitespace.
          +         */
          +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
          +        /**
          +         * Create a valid position.
          +         */
          +        validatePosition(position: IPosition): Position;
          +        /**
          +         * Advances the given position by the given offset (negative offsets are also accepted)
          +         * and returns it as a new valid position.
          +         *
          +         * If the offset and position are such that their combination goes beyond the beginning or
          +         * end of the model, throws an exception.
          +         *
          +         * If the offset is such that the new position would be in the middle of a multi-byte
          +         * line terminator, throws an exception.
          +         */
          +        modifyPosition(position: IPosition, offset: number): Position;
          +        /**
          +         * Create a valid range.
          +         */
          +        validateRange(range: IRange): Range;
          +        /**
          +         * Converts the position to a zero-based offset.
          +         *
          +         * The position will be [adjusted](#TextDocument.validatePosition).
          +         *
          +         * @param position A position.
          +         * @return A valid zero-based offset.
          +         */
          +        getOffsetAt(position: IPosition): number;
          +        /**
          +         * Converts a zero-based offset to a position.
          +         *
          +         * @param offset A zero-based offset.
          +         * @return A valid [position](#Position).
          +         */
          +        getPositionAt(offset: number): Position;
          +        /**
          +         * Get a range covering the entire model.
          +         */
          +        getFullModelRange(): Range;
          +        /**
          +         * Returns if the model was disposed or not.
          +         */
          +        isDisposed(): boolean;
          +        /**
          +         * Search the model.
          +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
          +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
          +         * @param isRegex Used to indicate that `searchString` is a regular expression.
          +         * @param matchCase Force the matching to match lower/upper case exactly.
          +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
          +         * @param captureMatches The result will contain the captured groups.
          +         * @param limitResultCount Limit the number of results
          +         * @return The ranges where the matches are. It is empty if not matches have been found.
          +         */
          +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
          +        /**
          +         * Search the model.
          +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
          +         * @param searchScope Limit the searching to only search inside these ranges.
          +         * @param isRegex Used to indicate that `searchString` is a regular expression.
          +         * @param matchCase Force the matching to match lower/upper case exactly.
          +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
          +         * @param captureMatches The result will contain the captured groups.
          +         * @param limitResultCount Limit the number of results
          +         * @return The ranges where the matches are. It is empty if no matches have been found.
          +         */
          +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
          +        /**
          +         * Search the model for the next match. Loops to the beginning of the model if needed.
          +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
          +         * @param searchStart Start the searching at the specified position.
          +         * @param isRegex Used to indicate that `searchString` is a regular expression.
          +         * @param matchCase Force the matching to match lower/upper case exactly.
          +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
          +         * @param captureMatches The result will contain the captured groups.
          +         * @return The range where the next match is. It is null if no next match has been found.
          +         */
          +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
          +        /**
          +         * Search the model for the previous match. Loops to the end of the model if needed.
          +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
          +         * @param searchStart Start the searching at the specified position.
          +         * @param isRegex Used to indicate that `searchString` is a regular expression.
          +         * @param matchCase Force the matching to match lower/upper case exactly.
          +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
          +         * @param captureMatches The result will contain the captured groups.
          +         * @return The range where the previous match is. It is null if no previous match has been found.
          +         */
          +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
          +        /**
          +         * Get the language associated with this model.
          +         */
          +        getLanguageId(): string;
          +        /**
          +         * Get the word under or besides `position`.
          +         * @param position The position to look for a word.
          +         * @return The word under or besides `position`. Might be null.
          +         */
          +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
          +        /**
          +         * Get the word under or besides `position` trimmed to `position`.column
          +         * @param position The position to look for a word.
          +         * @return The word under or besides `position`. Will never be null.
          +         */
          +        getWordUntilPosition(position: IPosition): IWordAtPosition;
          +        /**
          +         * Perform a minimum amount of operations, in order to transform the decorations
          +         * identified by `oldDecorations` to the decorations described by `newDecorations`
          +         * and returns the new identifiers associated with the resulting decorations.
          +         *
          +         * @param oldDecorations Array containing previous decorations identifiers.
          +         * @param newDecorations Array describing what decorations should result after the call.
          +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
          +         * @return An array containing the new decorations identifiers.
          +         */
          +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
          +        /**
          +         * Get the options associated with a decoration.
          +         * @param id The decoration id.
          +         * @return The decoration options or null if the decoration was not found.
          +         */
          +        getDecorationOptions(id: string): IModelDecorationOptions | null;
          +        /**
          +         * Get the range associated with a decoration.
          +         * @param id The decoration id.
          +         * @return The decoration range or null if the decoration was not found.
          +         */
          +        getDecorationRange(id: string): Range | null;
          +        /**
          +         * Gets all the decorations for the line `lineNumber` as an array.
          +         * @param lineNumber The line number
          +         * @param ownerId If set, it will ignore decorations belonging to other owners.
          +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
          +         * @return An array with the decorations
          +         */
          +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
          +        /**
          +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
          +         * @param startLineNumber The start line number
          +         * @param endLineNumber The end line number
          +         * @param ownerId If set, it will ignore decorations belonging to other owners.
          +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
          +         * @return An array with the decorations
          +         */
          +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
          +        /**
          +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
          +         * So for now it returns all the decorations on the same line as `range`.
          +         * @param range The range to search in
          +         * @param ownerId If set, it will ignore decorations belonging to other owners.
          +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
          +         * @return An array with the decorations
          +         */
          +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
          +        /**
          +         * Gets all the decorations as an array.
          +         * @param ownerId If set, it will ignore decorations belonging to other owners.
          +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
          +         */
          +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
          +        /**
          +         * Gets all the decorations that should be rendered in the overview ruler as an array.
          +         * @param ownerId If set, it will ignore decorations belonging to other owners.
          +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
          +         */
          +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
          +        /**
          +         * Gets all the decorations that contain injected text.
          +         * @param ownerId If set, it will ignore decorations belonging to other owners.
          +         */
          +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
          +        /**
          +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
          +         */
          +        normalizeIndentation(str: string): string;
          +        /**
          +         * Change the options of this model.
          +         */
          +        updateOptions(newOpts: ITextModelUpdateOptions): void;
          +        /**
          +         * Detect the indentation options for this model from its content.
          +         */
          +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
          +        /**
          +         * Close the current undo-redo element.
          +         * This offers a way to create an undo/redo stop point.
          +         */
          +        pushStackElement(): void;
          +        /**
          +         * Open the current undo-redo element.
          +         * This offers a way to remove the current undo/redo stop point.
          +         */
          +        popStackElement(): void;
          +        /**
          +         * Push edit operations, basically editing the model. This is the preferred way
          +         * of editing the model. The edit operations will land on the undo stack.
          +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
          +         * @param editOperations The edit operations.
          +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
          +         * @return The cursor state returned by the `cursorStateComputer`.
          +         */
          +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
          +        /**
          +         * Change the end of line sequence. This is the preferred way of
          +         * changing the eol sequence. This will land on the undo stack.
          +         */
          +        pushEOL(eol: EndOfLineSequence): void;
          +        /**
          +         * Edit the model without adding the edits to the undo stack.
          +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
          +         * @param operations The edit operations.
          +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
          +         */
          +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
          +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
          +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
          +        /**
          +         * Change the end of line sequence without recording in the undo stack.
          +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
          +         */
          +        setEOL(eol: EndOfLineSequence): void;
          +        /**
          +         * An event emitted when the contents of the model have changed.
          +         * @event
          +         */
          +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
          +        /**
          +         * An event emitted when decorations of the model have changed.
          +         * @event
          +         */
          +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
          +        /**
          +         * An event emitted when the model options have changed.
          +         * @event
          +         */
          +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
          +        /**
          +         * An event emitted when the language associated with the model has changed.
          +         * @event
          +         */
          +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
          +        /**
          +         * An event emitted when the language configuration associated with the model has changed.
          +         * @event
          +         */
          +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
          +        /**
          +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
          +         * @event
          +         */
          +        onDidChangeAttached(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted right before disposing the model.
          +         * @event
          +         */
          +        onWillDispose(listener: () => void): IDisposable;
          +        /**
          +         * Destroy this model.
          +         */
          +        dispose(): void;
          +        /**
          +         * Returns if this model is attached to an editor or not.
          +         */
          +        isAttachedToEditor(): boolean;
          +    }
          +
          +    /**
          +     * A builder and helper for edit operations for a command.
          +     */
          +    export interface IEditOperationBuilder {
          +        /**
          +         * Add a new edit operation (a replace operation).
          +         * @param range The range to replace (delete). May be empty to represent a simple insert.
          +         * @param text The text to replace with. May be null to represent a simple delete.
          +         */
          +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
          +        /**
          +         * Add a new edit operation (a replace operation).
          +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
          +         * @param range The range to replace (delete). May be empty to represent a simple insert.
          +         * @param text The text to replace with. May be null to represent a simple delete.
          +         */
          +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
          +        /**
          +         * Track `selection` when applying edit operations.
          +         * A best effort will be made to not grow/expand the selection.
          +         * An empty selection will clamp to a nearby character.
          +         * @param selection The selection to track.
          +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
          +         *           should clamp to the previous or the next character.
          +         * @return A unique identifier.
          +         */
          +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
          +    }
          +
          +    /**
          +     * A helper for computing cursor state after a command.
          +     */
          +    export interface ICursorStateComputerData {
          +        /**
          +         * Get the inverse edit operations of the added edit operations.
          +         */
          +        getInverseEditOperations(): IValidEditOperation[];
          +        /**
          +         * Get a previously tracked selection.
          +         * @param id The unique identifier returned by `trackSelection`.
          +         * @return The selection.
          +         */
          +        getTrackedSelection(id: string): Selection;
          +    }
          +
          +    /**
          +     * A command that modifies text / cursor state on a model.
          +     */
          +    export interface ICommand {
          +        /**
          +         * Get the edit operations needed to execute this command.
          +         * @param model The model the command will execute on.
          +         * @param builder A helper to collect the needed edit operations and to track selections.
          +         */
          +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
          +        /**
          +         * Compute the cursor state after the edit operations were applied.
          +         * @param model The model the command has executed on.
          +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
          +         * @return The cursor state after the command executed.
          +         */
          +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
          +    }
          +
          +    /**
          +     * A model for the diff editor.
          +     */
          +    export interface IDiffEditorModel {
          +        /**
          +         * Original model.
          +         */
          +        original: ITextModel;
          +        /**
          +         * Modified model.
          +         */
          +        modified: ITextModel;
          +    }
          +
          +    /**
          +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
          +     */
          +    export interface IModelChangedEvent {
          +        /**
          +         * The `uri` of the previous model or null.
          +         */
          +        readonly oldModelUrl: Uri | null;
          +        /**
          +         * The `uri` of the new model or null.
          +         */
          +        readonly newModelUrl: Uri | null;
          +    }
          +
          +    export interface IDimension {
          +        width: number;
          +        height: number;
          +    }
          +
          +    /**
          +     * A change
          +     */
          +    export interface IChange {
          +        readonly originalStartLineNumber: number;
          +        readonly originalEndLineNumber: number;
          +        readonly modifiedStartLineNumber: number;
          +        readonly modifiedEndLineNumber: number;
          +    }
          +
          +    /**
          +     * A character level change.
          +     */
          +    export interface ICharChange extends IChange {
          +        readonly originalStartColumn: number;
          +        readonly originalEndColumn: number;
          +        readonly modifiedStartColumn: number;
          +        readonly modifiedEndColumn: number;
          +    }
          +
          +    /**
          +     * A line change
          +     */
          +    export interface ILineChange extends IChange {
          +        readonly charChanges: ICharChange[] | undefined;
          +    }
          +
          +    export interface IContentSizeChangedEvent {
          +        readonly contentWidth: number;
          +        readonly contentHeight: number;
          +        readonly contentWidthChanged: boolean;
          +        readonly contentHeightChanged: boolean;
          +    }
          +
          +    export interface INewScrollPosition {
          +        scrollLeft?: number;
          +        scrollTop?: number;
          +    }
          +
          +    export interface IEditorAction {
          +        readonly id: string;
          +        readonly label: string;
          +        readonly alias: string;
          +        isSupported(): boolean;
          +        run(): Promise<void>;
          +    }
          +
          +    export type IEditorModel = ITextModel | IDiffEditorModel;
          +
          +    /**
          +     * A (serializable) state of the cursors.
          +     */
          +    export interface ICursorState {
          +        inSelectionMode: boolean;
          +        selectionStart: IPosition;
          +        position: IPosition;
          +    }
          +
          +    /**
          +     * A (serializable) state of the view.
          +     */
          +    export interface IViewState {
          +        /** written by previous versions */
          +        scrollTop?: number;
          +        /** written by previous versions */
          +        scrollTopWithoutViewZones?: number;
          +        scrollLeft: number;
          +        firstPosition: IPosition;
          +        firstPositionDeltaTop: number;
          +    }
          +
          +    /**
          +     * A (serializable) state of the code editor.
          +     */
          +    export interface ICodeEditorViewState {
          +        cursorState: ICursorState[];
          +        viewState: IViewState;
          +        contributionsState: {
          +            [id: string]: any;
          +        };
          +    }
          +
          +    /**
          +     * (Serializable) View state for the diff editor.
          +     */
          +    export interface IDiffEditorViewState {
          +        original: ICodeEditorViewState | null;
          +        modified: ICodeEditorViewState | null;
          +    }
          +
          +    /**
          +     * An editor view state.
          +     */
          +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
          +
          +    export enum ScrollType {
          +        Smooth = 0,
          +        Immediate = 1
          +    }
          +
          +    /**
          +     * An editor.
          +     */
          +    export interface IEditor {
          +        /**
          +         * An event emitted when the editor has been disposed.
          +         * @event
          +         */
          +        onDidDispose(listener: () => void): IDisposable;
          +        /**
          +         * Dispose the editor.
          +         */
          +        dispose(): void;
          +        /**
          +         * Get a unique id for this editor instance.
          +         */
          +        getId(): string;
          +        /**
          +         * Get the editor type. Please see `EditorType`.
          +         * This is to avoid an instanceof check
          +         */
          +        getEditorType(): string;
          +        /**
          +         * Update the editor's options after the editor has been created.
          +         */
          +        updateOptions(newOptions: IEditorOptions): void;
          +        /**
          +         * Instructs the editor to remeasure its container. This method should
          +         * be called when the container of the editor gets resized.
          +         *
          +         * If a dimension is passed in, the passed in value will be used.
          +         */
          +        layout(dimension?: IDimension): void;
          +        /**
          +         * Brings browser focus to the editor text
          +         */
          +        focus(): void;
          +        /**
          +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
          +         */
          +        hasTextFocus(): boolean;
          +        /**
          +         * Returns all actions associated with this editor.
          +         */
          +        getSupportedActions(): IEditorAction[];
          +        /**
          +         * Saves current view state of the editor in a serializable object.
          +         */
          +        saveViewState(): IEditorViewState | null;
          +        /**
          +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
          +         */
          +        restoreViewState(state: IEditorViewState): void;
          +        /**
          +         * Given a position, returns a column number that takes tab-widths into account.
          +         */
          +        getVisibleColumnFromPosition(position: IPosition): number;
          +        /**
          +         * Returns the primary position of the cursor.
          +         */
          +        getPosition(): Position | null;
          +        /**
          +         * Set the primary position of the cursor. This will remove any secondary cursors.
          +         * @param position New primary cursor's position
          +         */
          +        setPosition(position: IPosition): void;
          +        /**
          +         * Scroll vertically as necessary and reveal a line.
          +         */
          +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically as necessary and reveal a line centered vertically.
          +         */
          +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
          +         */
          +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
          +         * optimized for viewing a code definition.
          +         */
          +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a position.
          +         */
          +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
          +         */
          +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
          +         */
          +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
          +         * optimized for viewing a code definition.
          +         */
          +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
          +        /**
          +         * Returns the primary selection of the editor.
          +         */
          +        getSelection(): Selection | null;
          +        /**
          +         * Returns all the selections of the editor.
          +         */
          +        getSelections(): Selection[] | null;
          +        /**
          +         * Set the primary selection of the editor. This will remove any secondary cursors.
          +         * @param selection The new selection
          +         */
          +        setSelection(selection: IRange): void;
          +        /**
          +         * Set the primary selection of the editor. This will remove any secondary cursors.
          +         * @param selection The new selection
          +         */
          +        setSelection(selection: Range): void;
          +        /**
          +         * Set the primary selection of the editor. This will remove any secondary cursors.
          +         * @param selection The new selection
          +         */
          +        setSelection(selection: ISelection): void;
          +        /**
          +         * Set the primary selection of the editor. This will remove any secondary cursors.
          +         * @param selection The new selection
          +         */
          +        setSelection(selection: Selection): void;
          +        /**
          +         * Set the selections for all the cursors of the editor.
          +         * Cursors will be removed or added, as necessary.
          +         */
          +        setSelections(selections: readonly ISelection[]): void;
          +        /**
          +         * Scroll vertically as necessary and reveal lines.
          +         */
          +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically as necessary and reveal lines centered vertically.
          +         */
          +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
          +         */
          +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
          +         * optimized for viewing a code definition.
          +         */
          +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a range.
          +         */
          +        revealRange(range: IRange, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
          +         */
          +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
          +         */
          +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
          +         */
          +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
          +         * optimized for viewing a code definition.
          +         */
          +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
          +        /**
          +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
          +         * optimized for viewing a code definition. Only if it lies outside the viewport.
          +         */
          +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
          +        /**
          +         * Directly trigger a handler or an editor action.
          +         * @param source The source of the call.
          +         * @param handlerId The id of the handler or the id of a contribution.
          +         * @param payload Extra data to be sent to the handler.
          +         */
          +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
          +        /**
          +         * Gets the current model attached to this editor.
          +         */
          +        getModel(): IEditorModel | null;
          +        /**
          +         * Sets the current model attached to this editor.
          +         * If the previous model was created by the editor via the value key in the options
          +         * literal object, it will be destroyed. Otherwise, if the previous model was set
          +         * via setModel, or the model key in the options literal object, the previous model
          +         * will not be destroyed.
          +         * It is safe to call setModel(null) to simply detach the current model from the editor.
          +         */
          +        setModel(model: IEditorModel | null): void;
          +    }
          +
          +    /**
          +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
          +     */
          +    export interface IEditorContribution {
          +        /**
          +         * Dispose this contribution.
          +         */
          +        dispose(): void;
          +        /**
          +         * Store view state.
          +         */
          +        saveViewState?(): any;
          +        /**
          +         * Restore view state.
          +         */
          +        restoreViewState?(state: any): void;
          +    }
          +
          +    /**
          +     * The type of the `IEditor`.
          +     */
          +    export const EditorType: {
          +        ICodeEditor: string;
          +        IDiffEditor: string;
          +    };
          +
          +    /**
          +     * An event describing that the current language associated with a model has changed.
          +     */
          +    export interface IModelLanguageChangedEvent {
          +        /**
          +         * Previous language
          +         */
          +        readonly oldLanguage: string;
          +        /**
          +         * New language
          +         */
          +        readonly newLanguage: string;
          +    }
          +
          +    /**
          +     * An event describing that the language configuration associated with a model has changed.
          +     */
          +    export interface IModelLanguageConfigurationChangedEvent {
          +    }
          +
          +    export interface IModelContentChange {
          +        /**
          +         * The range that got replaced.
          +         */
          +        readonly range: IRange;
          +        /**
          +         * The offset of the range that got replaced.
          +         */
          +        readonly rangeOffset: number;
          +        /**
          +         * The length of the range that got replaced.
          +         */
          +        readonly rangeLength: number;
          +        /**
          +         * The new text for the range.
          +         */
          +        readonly text: string;
          +    }
          +
          +    /**
          +     * An event describing a change in the text of a model.
          +     */
          +    export interface IModelContentChangedEvent {
          +        readonly changes: IModelContentChange[];
          +        /**
          +         * The (new) end-of-line character.
          +         */
          +        readonly eol: string;
          +        /**
          +         * The new version id the model has transitioned to.
          +         */
          +        readonly versionId: number;
          +        /**
          +         * Flag that indicates that this event was generated while undoing.
          +         */
          +        readonly isUndoing: boolean;
          +        /**
          +         * Flag that indicates that this event was generated while redoing.
          +         */
          +        readonly isRedoing: boolean;
          +        /**
          +         * Flag that indicates that all decorations were lost with this edit.
          +         * The model has been reset to a new value.
          +         */
          +        readonly isFlush: boolean;
          +    }
          +
          +    /**
          +     * An event describing that model decorations have changed.
          +     */
          +    export interface IModelDecorationsChangedEvent {
          +        readonly affectsMinimap: boolean;
          +        readonly affectsOverviewRuler: boolean;
          +    }
          +
          +    export interface IModelOptionsChangedEvent {
          +        readonly tabSize: boolean;
          +        readonly indentSize: boolean;
          +        readonly insertSpaces: boolean;
          +        readonly trimAutoWhitespace: boolean;
          +    }
          +
          +    /**
          +     * Describes the reason the cursor has changed its position.
          +     */
          +    export enum CursorChangeReason {
          +        /**
          +         * Unknown or not set.
          +         */
          +        NotSet = 0,
          +        /**
          +         * A `model.setValue()` was called.
          +         */
          +        ContentFlush = 1,
          +        /**
          +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
          +         */
          +        RecoverFromMarkers = 2,
          +        /**
          +         * There was an explicit user gesture.
          +         */
          +        Explicit = 3,
          +        /**
          +         * There was a Paste.
          +         */
          +        Paste = 4,
          +        /**
          +         * There was an Undo.
          +         */
          +        Undo = 5,
          +        /**
          +         * There was a Redo.
          +         */
          +        Redo = 6
          +    }
          +
          +    /**
          +     * An event describing that the cursor position has changed.
          +     */
          +    export interface ICursorPositionChangedEvent {
          +        /**
          +         * Primary cursor's position.
          +         */
          +        readonly position: Position;
          +        /**
          +         * Secondary cursors' position.
          +         */
          +        readonly secondaryPositions: Position[];
          +        /**
          +         * Reason.
          +         */
          +        readonly reason: CursorChangeReason;
          +        /**
          +         * Source of the call that caused the event.
          +         */
          +        readonly source: string;
          +    }
          +
          +    /**
          +     * An event describing that the cursor selection has changed.
          +     */
          +    export interface ICursorSelectionChangedEvent {
          +        /**
          +         * The primary selection.
          +         */
          +        readonly selection: Selection;
          +        /**
          +         * The secondary selections.
          +         */
          +        readonly secondarySelections: Selection[];
          +        /**
          +         * The model version id.
          +         */
          +        readonly modelVersionId: number;
          +        /**
          +         * The old selections.
          +         */
          +        readonly oldSelections: Selection[] | null;
          +        /**
          +         * The model version id the that `oldSelections` refer to.
          +         */
          +        readonly oldModelVersionId: number;
          +        /**
          +         * Source of the call that caused the event.
          +         */
          +        readonly source: string;
          +        /**
          +         * Reason.
          +         */
          +        readonly reason: CursorChangeReason;
          +    }
          +
          +    export enum AccessibilitySupport {
          +        /**
          +         * This should be the browser case where it is not known if a screen reader is attached or no.
          +         */
          +        Unknown = 0,
          +        Disabled = 1,
          +        Enabled = 2
          +    }
          +
          +    /**
          +     * Configuration options for auto closing quotes and brackets
          +     */
          +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
          +
          +    /**
          +     * Configuration options for auto wrapping quotes and brackets
          +     */
          +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
          +
          +    /**
          +     * Configuration options for typing over closing quotes or brackets
          +     */
          +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
          +
          +    /**
          +     * Configuration options for auto indentation in the editor
          +     */
          +    export enum EditorAutoIndentStrategy {
          +        None = 0,
          +        Keep = 1,
          +        Brackets = 2,
          +        Advanced = 3,
          +        Full = 4
          +    }
          +
          +    /**
          +     * Configuration options for the editor.
          +     */
          +    export interface IEditorOptions {
          +        /**
          +         * This editor is used inside a diff editor.
          +         */
          +        inDiffEditor?: boolean;
          +        /**
          +         * The aria label for the editor's textarea (when it is focused).
          +         */
          +        ariaLabel?: string;
          +        /**
          +         * The `tabindex` property of the editor's textarea
          +         */
          +        tabIndex?: number;
          +        /**
          +         * Render vertical lines at the specified columns.
          +         * Defaults to empty array.
          +         */
          +        rulers?: (number | IRulerOption)[];
          +        /**
          +         * A string containing the word separators used when doing word navigation.
          +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
          +         */
          +        wordSeparators?: string;
          +        /**
          +         * Enable Linux primary clipboard.
          +         * Defaults to true.
          +         */
          +        selectionClipboard?: boolean;
          +        /**
          +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
          +         * Otherwise, line numbers will not be rendered.
          +         * Defaults to `on`.
          +         */
          +        lineNumbers?: LineNumbersType;
          +        /**
          +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
          +         * Defaults to 0.
          +        */
          +        cursorSurroundingLines?: number;
          +        /**
          +         * Controls when `cursorSurroundingLines` should be enforced
          +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
          +         * by mouse.
          +        */
          +        cursorSurroundingLinesStyle?: 'default' | 'all';
          +        /**
          +         * Render last line number when the file ends with a newline.
          +         * Defaults to true.
          +        */
          +        renderFinalNewline?: boolean;
          +        /**
          +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
          +         * Defaults to 'prompt'.
          +         */
          +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
          +        /**
          +         * Should the corresponding line be selected when clicking on the line number?
          +         * Defaults to true.
          +         */
          +        selectOnLineNumbers?: boolean;
          +        /**
          +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
          +         * Defaults to 5.
          +         */
          +        lineNumbersMinChars?: number;
          +        /**
          +         * Enable the rendering of the glyph margin.
          +         * Defaults to true in vscode and to false in monaco-editor.
          +         */
          +        glyphMargin?: boolean;
          +        /**
          +         * The width reserved for line decorations (in px).
          +         * Line decorations are placed between line numbers and the editor content.
          +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
          +         * Defaults to 10.
          +         */
          +        lineDecorationsWidth?: number | string;
          +        /**
          +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
          +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
          +         * Defaults to 30 (px).
          +         */
          +        revealHorizontalRightPadding?: number;
          +        /**
          +         * Render the editor selection with rounded borders.
          +         * Defaults to true.
          +         */
          +        roundedSelection?: boolean;
          +        /**
          +         * Class name to be added to the editor.
          +         */
          +        extraEditorClassName?: string;
          +        /**
          +         * Should the editor be read only. See also `domReadOnly`.
          +         * Defaults to false.
          +         */
          +        readOnly?: boolean;
          +        /**
          +         * Should the textarea used for input use the DOM `readonly` attribute.
          +         * Defaults to false.
          +         */
          +        domReadOnly?: boolean;
          +        /**
          +         * Enable linked editing.
          +         * Defaults to false.
          +         */
          +        linkedEditing?: boolean;
          +        /**
          +         * deprecated, use linkedEditing instead
          +         */
          +        renameOnType?: boolean;
          +        /**
          +         * Should the editor render validation decorations.
          +         * Defaults to editable.
          +         */
          +        renderValidationDecorations?: 'editable' | 'on' | 'off';
          +        /**
          +         * Control the behavior and rendering of the scrollbars.
          +         */
          +        scrollbar?: IEditorScrollbarOptions;
          +        /**
          +         * Control the behavior and rendering of the minimap.
          +         */
          +        minimap?: IEditorMinimapOptions;
          +        /**
          +         * Control the behavior of the find widget.
          +         */
          +        find?: IEditorFindOptions;
          +        /**
          +         * Display overflow widgets as `fixed`.
          +         * Defaults to `false`.
          +         */
          +        fixedOverflowWidgets?: boolean;
          +        /**
          +         * The number of vertical lanes the overview ruler should render.
          +         * Defaults to 3.
          +         */
          +        overviewRulerLanes?: number;
          +        /**
          +         * Controls if a border should be drawn around the overview ruler.
          +         * Defaults to `true`.
          +         */
          +        overviewRulerBorder?: boolean;
          +        /**
          +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
          +         * Defaults to 'blink'.
          +         */
          +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
          +        /**
          +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
          +         * Defaults to false.
          +         */
          +        mouseWheelZoom?: boolean;
          +        /**
          +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
          +         * Defaults to 'text'
          +         */
          +        mouseStyle?: 'text' | 'default' | 'copy';
          +        /**
          +         * Enable smooth caret animation.
          +         * Defaults to false.
          +         */
          +        cursorSmoothCaretAnimation?: boolean;
          +        /**
          +         * Control the cursor style, either 'block' or 'line'.
          +         * Defaults to 'line'.
          +         */
          +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
          +        /**
          +         * Control the width of the cursor when cursorStyle is set to 'line'
          +         */
          +        cursorWidth?: number;
          +        /**
          +         * Enable font ligatures.
          +         * Defaults to false.
          +         */
          +        fontLigatures?: boolean | string;
          +        /**
          +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
          +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
          +         * Defaults to false.
          +         */
          +        disableLayerHinting?: boolean;
          +        /**
          +         * Disable the optimizations for monospace fonts.
          +         * Defaults to false.
          +         */
          +        disableMonospaceOptimizations?: boolean;
          +        /**
          +         * Should the cursor be hidden in the overview ruler.
          +         * Defaults to false.
          +         */
          +        hideCursorInOverviewRuler?: boolean;
          +        /**
          +         * Enable that scrolling can go one screen size after the last line.
          +         * Defaults to true.
          +         */
          +        scrollBeyondLastLine?: boolean;
          +        /**
          +         * Enable that scrolling can go beyond the last column by a number of columns.
          +         * Defaults to 5.
          +         */
          +        scrollBeyondLastColumn?: number;
          +        /**
          +         * Enable that the editor animates scrolling to a position.
          +         * Defaults to false.
          +         */
          +        smoothScrolling?: boolean;
          +        /**
          +         * Enable that the editor will install an interval to check if its container dom node size has changed.
          +         * Enabling this might have a severe performance impact.
          +         * Defaults to false.
          +         */
          +        automaticLayout?: boolean;
          +        /**
          +         * Control the wrapping of the editor.
          +         * When `wordWrap` = "off", the lines will never wrap.
          +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
          +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
          +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
          +         * Defaults to "off".
          +         */
          +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
          +        /**
          +         * Override the `wordWrap` setting.
          +         */
          +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
          +        /**
          +         * Override the `wordWrapOverride1` setting.
          +         */
          +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
          +        /**
          +         * Control the wrapping of the editor.
          +         * When `wordWrap` = "off", the lines will never wrap.
          +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
          +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
          +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
          +         * Defaults to 80.
          +         */
          +        wordWrapColumn?: number;
          +        /**
          +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
          +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
          +         */
          +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
          +        /**
          +         * Controls the wrapping strategy to use.
          +         * Defaults to 'simple'.
          +         */
          +        wrappingStrategy?: 'simple' | 'advanced';
          +        /**
          +         * Configure word wrapping characters. A break will be introduced before these characters.
          +         */
          +        wordWrapBreakBeforeCharacters?: string;
          +        /**
          +         * Configure word wrapping characters. A break will be introduced after these characters.
          +         */
          +        wordWrapBreakAfterCharacters?: string;
          +        /**
          +         * Performance guard: Stop rendering a line after x characters.
          +         * Defaults to 10000.
          +         * Use -1 to never stop rendering
          +         */
          +        stopRenderingLineAfter?: number;
          +        /**
          +         * Configure the editor's hover.
          +         */
          +        hover?: IEditorHoverOptions;
          +        /**
          +         * Enable detecting links and making them clickable.
          +         * Defaults to true.
          +         */
          +        links?: boolean;
          +        /**
          +         * Enable inline color decorators and color picker rendering.
          +         */
          +        colorDecorators?: boolean;
          +        /**
          +         * Control the behaviour of comments in the editor.
          +         */
          +        comments?: IEditorCommentsOptions;
          +        /**
          +         * Enable custom contextmenu.
          +         * Defaults to true.
          +         */
          +        contextmenu?: boolean;
          +        /**
          +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
          +         * Defaults to 1.
          +         */
          +        mouseWheelScrollSensitivity?: number;
          +        /**
          +         * FastScrolling mulitplier speed when pressing `Alt`
          +         * Defaults to 5.
          +         */
          +        fastScrollSensitivity?: number;
          +        /**
          +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
          +         * Defaults to true.
          +         */
          +        scrollPredominantAxis?: boolean;
          +        /**
          +         * Enable that the selection with the mouse and keys is doing column selection.
          +         * Defaults to false.
          +         */
          +        columnSelection?: boolean;
          +        /**
          +         * The modifier to be used to add multiple cursors with the mouse.
          +         * Defaults to 'alt'
          +         */
          +        multiCursorModifier?: 'ctrlCmd' | 'alt';
          +        /**
          +         * Merge overlapping selections.
          +         * Defaults to true
          +         */
          +        multiCursorMergeOverlapping?: boolean;
          +        /**
          +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
          +         * Defaults to 'spread'.
          +         */
          +        multiCursorPaste?: 'spread' | 'full';
          +        /**
          +         * Configure the editor's accessibility support.
          +         * Defaults to 'auto'. It is best to leave this to 'auto'.
          +         */
          +        accessibilitySupport?: 'auto' | 'off' | 'on';
          +        /**
          +         * Controls the number of lines in the editor that can be read out by a screen reader
          +         */
          +        accessibilityPageSize?: number;
          +        /**
          +         * Suggest options.
          +         */
          +        suggest?: ISuggestOptions;
          +        inlineSuggest?: IInlineSuggestOptions;
          +        /**
          +         * Smart select options.
          +         */
          +        smartSelect?: ISmartSelectOptions;
          +        /**
          +         *
          +         */
          +        gotoLocation?: IGotoLocationOptions;
          +        /**
          +         * Enable quick suggestions (shadow suggestions)
          +         * Defaults to true.
          +         */
          +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
          +        /**
          +         * Quick suggestions show delay (in ms)
          +         * Defaults to 10 (ms)
          +         */
          +        quickSuggestionsDelay?: number;
          +        /**
          +         * Controls the spacing around the editor.
          +         */
          +        padding?: IEditorPaddingOptions;
          +        /**
          +         * Parameter hint options.
          +         */
          +        parameterHints?: IEditorParameterHintOptions;
          +        /**
          +         * Options for auto closing brackets.
          +         * Defaults to language defined behavior.
          +         */
          +        autoClosingBrackets?: EditorAutoClosingStrategy;
          +        /**
          +         * Options for auto closing quotes.
          +         * Defaults to language defined behavior.
          +         */
          +        autoClosingQuotes?: EditorAutoClosingStrategy;
          +        /**
          +         * Options for pressing backspace near quotes or bracket pairs.
          +         */
          +        autoClosingDelete?: EditorAutoClosingEditStrategy;
          +        /**
          +         * Options for typing over closing quotes or brackets.
          +         */
          +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
          +        /**
          +         * Options for auto surrounding.
          +         * Defaults to always allowing auto surrounding.
          +         */
          +        autoSurround?: EditorAutoSurroundStrategy;
          +        /**
          +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
          +         * Defaults to advanced.
          +         */
          +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
          +        /**
          +         * Emulate selection behaviour of tab characters when using spaces for indentation.
          +         * This means selection will stick to tab stops.
          +         */
          +        stickyTabStops?: boolean;
          +        /**
          +         * Enable format on type.
          +         * Defaults to false.
          +         */
          +        formatOnType?: boolean;
          +        /**
          +         * Enable format on paste.
          +         * Defaults to false.
          +         */
          +        formatOnPaste?: boolean;
          +        /**
          +         * Controls if the editor should allow to move selections via drag and drop.
          +         * Defaults to false.
          +         */
          +        dragAndDrop?: boolean;
          +        /**
          +         * Enable the suggestion box to pop-up on trigger characters.
          +         * Defaults to true.
          +         */
          +        suggestOnTriggerCharacters?: boolean;
          +        /**
          +         * Accept suggestions on ENTER.
          +         * Defaults to 'on'.
          +         */
          +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
          +        /**
          +         * Accept suggestions on provider defined characters.
          +         * Defaults to true.
          +         */
          +        acceptSuggestionOnCommitCharacter?: boolean;
          +        /**
          +         * Enable snippet suggestions. Default to 'true'.
          +         */
          +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
          +        /**
          +         * Copying without a selection copies the current line.
          +         */
          +        emptySelectionClipboard?: boolean;
          +        /**
          +         * Syntax highlighting is copied.
          +         */
          +        copyWithSyntaxHighlighting?: boolean;
          +        /**
          +         * The history mode for suggestions.
          +         */
          +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
          +        /**
          +         * The font size for the suggest widget.
          +         * Defaults to the editor font size.
          +         */
          +        suggestFontSize?: number;
          +        /**
          +         * The line height for the suggest widget.
          +         * Defaults to the editor line height.
          +         */
          +        suggestLineHeight?: number;
          +        /**
          +         * Enable tab completion.
          +         */
          +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
          +        /**
          +         * Enable selection highlight.
          +         * Defaults to true.
          +         */
          +        selectionHighlight?: boolean;
          +        /**
          +         * Enable semantic occurrences highlight.
          +         * Defaults to true.
          +         */
          +        occurrencesHighlight?: boolean;
          +        /**
          +         * Show code lens
          +         * Defaults to true.
          +         */
          +        codeLens?: boolean;
          +        /**
          +         * Code lens font family. Defaults to editor font family.
          +         */
          +        codeLensFontFamily?: string;
          +        /**
          +         * Code lens font size. Default to 90% of the editor font size
          +         */
          +        codeLensFontSize?: number;
          +        /**
          +         * Control the behavior and rendering of the code action lightbulb.
          +         */
          +        lightbulb?: IEditorLightbulbOptions;
          +        /**
          +         * Timeout for running code actions on save.
          +         */
          +        codeActionsOnSaveTimeout?: number;
          +        /**
          +         * Enable code folding.
          +         * Defaults to true.
          +         */
          +        folding?: boolean;
          +        /**
          +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
          +         * Defaults to 'auto'.
          +         */
          +        foldingStrategy?: 'auto' | 'indentation';
          +        /**
          +         * Enable highlight for folded regions.
          +         * 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'.
          +         */
          +        showFoldingControls?: 'always' | 'mouseover';
          +        /**
          +         * Controls whether clicking on the empty content after a folded line will unfold the line.
          +         * Defaults to false.
          +         */
          +        unfoldOnClickAfterEndOfLine?: boolean;
          +        /**
          +         * Enable highlighting of matching brackets.
          +         * Defaults to 'always'.
          +         */
          +        matchBrackets?: 'never' | 'near' | 'always';
          +        /**
          +         * Enable rendering of whitespace.
          +         * Defaults to 'selection'.
          +         */
          +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
          +        /**
          +         * Enable rendering of control characters.
          +         * Defaults to true.
          +         */
          +        renderControlCharacters?: boolean;
          +        /**
          +         * Enable rendering of current line highlight.
          +         * Defaults to all.
          +         */
          +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
          +        /**
          +         * Control if the current line highlight should be rendered only the editor is focused.
          +         * Defaults to false.
          +         */
          +        renderLineHighlightOnlyWhenFocus?: boolean;
          +        /**
          +         * Inserting and deleting whitespace follows tab stops.
          +         */
          +        useTabStops?: boolean;
          +        /**
          +         * The font family
          +         */
          +        fontFamily?: string;
          +        /**
          +         * The font weight
          +         */
          +        fontWeight?: string;
          +        /**
          +         * The font size
          +         */
          +        fontSize?: number;
          +        /**
          +         * The line height
          +         */
          +        lineHeight?: number;
          +        /**
          +         * The letter spacing
          +         */
          +        letterSpacing?: number;
          +        /**
          +         * Controls fading out of unused variables.
          +         */
          +        showUnused?: boolean;
          +        /**
          +         * Controls whether to focus the inline editor in the peek widget by default.
          +         * Defaults to false.
          +         */
          +        peekWidgetDefaultFocus?: 'tree' | 'editor';
          +        /**
          +         * Controls whether the definition link opens element in the peek widget.
          +         * Defaults to false.
          +         */
          +        definitionLinkOpensInPeek?: boolean;
          +        /**
          +         * Controls strikethrough deprecated variables.
          +         */
          +        showDeprecated?: boolean;
          +        /**
          +         * Control the behavior and rendering of the inline hints.
          +         */
          +        inlayHints?: IEditorInlayHintsOptions;
          +        /**
          +         * Control if the editor should use shadow DOM.
          +         */
          +        useShadowDOM?: boolean;
          +        /**
          +         * Controls the behavior of editor guides.
          +        */
          +        guides?: IGuidesOptions;
          +        unicodeHighlight?: IUnicodeHighlightOptions;
          +    }
          +
          +    export interface IDiffEditorBaseOptions {
          +        /**
          +         * Allow the user to resize the diff editor split view.
          +         * Defaults to true.
          +         */
          +        enableSplitViewResizing?: boolean;
          +        /**
          +         * Render the differences in two side-by-side editors.
          +         * Defaults to true.
          +         */
          +        renderSideBySide?: boolean;
          +        /**
          +         * Timeout in milliseconds after which diff computation is cancelled.
          +         * Defaults to 5000.
          +         */
          +        maxComputationTime?: number;
          +        /**
          +         * Maximum supported file size in MB.
          +         * Defaults to 50.
          +         */
          +        maxFileSize?: number;
          +        /**
          +         * Compute the diff by ignoring leading/trailing whitespace
          +         * Defaults to true.
          +         */
          +        ignoreTrimWhitespace?: boolean;
          +        /**
          +         * Render +/- indicators for added/deleted changes.
          +         * Defaults to true.
          +         */
          +        renderIndicators?: boolean;
          +        /**
          +         * Original model should be editable?
          +         * Defaults to false.
          +         */
          +        originalEditable?: boolean;
          +        /**
          +         * Should the diff editor enable code lens?
          +         * Defaults to false.
          +         */
          +        diffCodeLens?: boolean;
          +        /**
          +         * Is the diff editor should render overview ruler
          +         * Defaults to true
          +         */
          +        renderOverviewRuler?: boolean;
          +        /**
          +         * Control the wrapping of the diff editor.
          +         */
          +        diffWordWrap?: 'off' | 'on' | 'inherit';
          +    }
          +
          +    /**
          +     * Configuration options for the diff editor.
          +     */
          +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
          +    }
          +
          +    /**
          +     * An event describing that the configuration of the editor has changed.
          +     */
          +    export class ConfigurationChangedEvent {
          +        hasChanged(id: EditorOption): boolean;
          +    }
          +
          +    /**
          +     * All computed editor options.
          +     */
          +    export interface IComputedEditorOptions {
          +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
          +    }
          +
          +    export interface IEditorOption<K1 extends EditorOption, V> {
          +        readonly id: K1;
          +        readonly name: string;
          +        defaultValue: V;
          +        /**
          +         * Might modify `value`.
          +        */
          +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
          +    }
          +
          +    export class ApplyUpdateResult<T> {
          +        readonly newValue: T;
          +        readonly didChange: boolean;
          +        constructor(newValue: T, didChange: boolean);
          +    }
          +
          +    /**
          +     * Configuration options for editor comments
          +     */
          +    export interface IEditorCommentsOptions {
          +        /**
          +         * Insert a space after the line comment token and inside the block comments tokens.
          +         * Defaults to true.
          +         */
          +        insertSpace?: boolean;
          +        /**
          +         * Ignore empty lines when inserting line comments.
          +         * Defaults to true.
          +         */
          +        ignoreEmptyLines?: boolean;
          +    }
          +
          +    /**
          +     * The kind of animation in which the editor's cursor should be rendered.
          +     */
          +    export enum TextEditorCursorBlinkingStyle {
          +        /**
          +         * Hidden
          +         */
          +        Hidden = 0,
          +        /**
          +         * Blinking
          +         */
          +        Blink = 1,
          +        /**
          +         * Blinking with smooth fading
          +         */
          +        Smooth = 2,
          +        /**
          +         * Blinking with prolonged filled state and smooth fading
          +         */
          +        Phase = 3,
          +        /**
          +         * Expand collapse animation on the y axis
          +         */
          +        Expand = 4,
          +        /**
          +         * No-Blinking
          +         */
          +        Solid = 5
          +    }
          +
          +    /**
          +     * The style in which the editor's cursor should be rendered.
          +     */
          +    export enum TextEditorCursorStyle {
          +        /**
          +         * As a vertical line (sitting between two characters).
          +         */
          +        Line = 1,
          +        /**
          +         * As a block (sitting on top of a character).
          +         */
          +        Block = 2,
          +        /**
          +         * As a horizontal line (sitting under a character).
          +         */
          +        Underline = 3,
          +        /**
          +         * As a thin vertical line (sitting between two characters).
          +         */
          +        LineThin = 4,
          +        /**
          +         * As an outlined block (sitting on top of a character).
          +         */
          +        BlockOutline = 5,
          +        /**
          +         * As a thin horizontal line (sitting under a character).
          +         */
          +        UnderlineThin = 6
          +    }
          +
          +    /**
          +     * Configuration options for editor find widget
          +     */
          +    export interface IEditorFindOptions {
          +        /**
          +        * Controls whether the cursor should move to find matches while typing.
          +        */
          +        cursorMoveOnType?: boolean;
          +        /**
          +         * Controls if we seed search string in the Find Widget with editor selection.
          +         */
          +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
          +        /**
          +         * Controls if Find in Selection flag is turned on in the editor.
          +         */
          +        autoFindInSelection?: 'never' | 'always' | 'multiline';
          +        addExtraSpaceOnTop?: boolean;
          +        /**
          +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
          +         */
          +        loop?: boolean;
          +    }
          +
          +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
          +
          +    /**
          +     * Configuration options for go to location
          +     */
          +    export interface IGotoLocationOptions {
          +        multiple?: GoToLocationValues;
          +        multipleDefinitions?: GoToLocationValues;
          +        multipleTypeDefinitions?: GoToLocationValues;
          +        multipleDeclarations?: GoToLocationValues;
          +        multipleImplementations?: GoToLocationValues;
          +        multipleReferences?: GoToLocationValues;
          +        alternativeDefinitionCommand?: string;
          +        alternativeTypeDefinitionCommand?: string;
          +        alternativeDeclarationCommand?: string;
          +        alternativeImplementationCommand?: string;
          +        alternativeReferenceCommand?: string;
          +    }
          +
          +    /**
          +     * Configuration options for editor hover
          +     */
          +    export interface IEditorHoverOptions {
          +        /**
          +         * Enable the hover.
          +         * Defaults to true.
          +         */
          +        enabled?: boolean;
          +        /**
          +         * Delay for showing the hover.
          +         * Defaults to 300.
          +         */
          +        delay?: number;
          +        /**
          +         * Is the hover sticky such that it can be clicked and its contents selected?
          +         * Defaults to true.
          +         */
          +        sticky?: boolean;
          +        /**
          +         * Should the hover be shown above the line if possible?
          +         * Defaults to false.
          +         */
          +        above?: boolean;
          +    }
          +
          +    /**
          +     * A description for the overview ruler position.
          +     */
          +    export interface OverviewRulerPosition {
          +        /**
          +         * Width of the overview ruler
          +         */
          +        readonly width: number;
          +        /**
          +         * Height of the overview ruler
          +         */
          +        readonly height: number;
          +        /**
          +         * Top position for the overview ruler
          +         */
          +        readonly top: number;
          +        /**
          +         * Right position for the overview ruler
          +         */
          +        readonly right: number;
          +    }
          +
          +    export enum RenderMinimap {
          +        None = 0,
          +        Text = 1,
          +        Blocks = 2
          +    }
          +
          +    /**
          +     * The internal layout details of the editor.
          +     */
          +    export interface EditorLayoutInfo {
          +        /**
          +         * Full editor width.
          +         */
          +        readonly width: number;
          +        /**
          +         * Full editor height.
          +         */
          +        readonly height: number;
          +        /**
          +         * Left position for the glyph margin.
          +         */
          +        readonly glyphMarginLeft: number;
          +        /**
          +         * The width of the glyph margin.
          +         */
          +        readonly glyphMarginWidth: number;
          +        /**
          +         * Left position for the line numbers.
          +         */
          +        readonly lineNumbersLeft: number;
          +        /**
          +         * The width of the line numbers.
          +         */
          +        readonly lineNumbersWidth: number;
          +        /**
          +         * Left position for the line decorations.
          +         */
          +        readonly decorationsLeft: number;
          +        /**
          +         * The width of the line decorations.
          +         */
          +        readonly decorationsWidth: number;
          +        /**
          +         * Left position for the content (actual text)
          +         */
          +        readonly contentLeft: number;
          +        /**
          +         * The width of the content (actual text)
          +         */
          +        readonly contentWidth: number;
          +        /**
          +         * Layout information for the minimap
          +         */
          +        readonly minimap: EditorMinimapLayoutInfo;
          +        /**
          +         * The number of columns (of typical characters) fitting on a viewport line.
          +         */
          +        readonly viewportColumn: number;
          +        readonly isWordWrapMinified: boolean;
          +        readonly isViewportWrapping: boolean;
          +        readonly wrappingColumn: number;
          +        /**
          +         * The width of the vertical scrollbar.
          +         */
          +        readonly verticalScrollbarWidth: number;
          +        /**
          +         * The height of the horizontal scrollbar.
          +         */
          +        readonly horizontalScrollbarHeight: number;
          +        /**
          +         * The position of the overview ruler.
          +         */
          +        readonly overviewRuler: OverviewRulerPosition;
          +    }
          +
          +    /**
          +     * The internal layout details of the editor.
          +     */
          +    export interface EditorMinimapLayoutInfo {
          +        readonly renderMinimap: RenderMinimap;
          +        readonly minimapLeft: number;
          +        readonly minimapWidth: number;
          +        readonly minimapHeightIsEditorHeight: boolean;
          +        readonly minimapIsSampling: boolean;
          +        readonly minimapScale: number;
          +        readonly minimapLineHeight: number;
          +        readonly minimapCanvasInnerWidth: number;
          +        readonly minimapCanvasInnerHeight: number;
          +        readonly minimapCanvasOuterWidth: number;
          +        readonly minimapCanvasOuterHeight: number;
          +    }
          +
          +    /**
          +     * Configuration options for editor lightbulb
          +     */
          +    export interface IEditorLightbulbOptions {
          +        /**
          +         * Enable the lightbulb code action.
          +         * Defaults to true.
          +         */
          +        enabled?: boolean;
          +    }
          +
          +    /**
          +     * Configuration options for editor inlayHints
          +     */
          +    export interface IEditorInlayHintsOptions {
          +        /**
          +         * Enable the inline hints.
          +         * Defaults to true.
          +         */
          +        enabled?: boolean;
          +        /**
          +         * Font size of inline hints.
          +         * Default to 90% of the editor font size.
          +         */
          +        fontSize?: number;
          +        /**
          +         * Font family of inline hints.
          +         * Defaults to editor font family.
          +         */
          +        fontFamily?: string;
          +    }
          +
          +    /**
          +     * Configuration options for editor minimap
          +     */
          +    export interface IEditorMinimapOptions {
          +        /**
          +         * Enable the rendering of the minimap.
          +         * Defaults to true.
          +         */
          +        enabled?: boolean;
          +        /**
          +         * Control the side of the minimap in editor.
          +         * Defaults to 'right'.
          +         */
          +        side?: 'right' | 'left';
          +        /**
          +         * Control the minimap rendering mode.
          +         * Defaults to 'actual'.
          +         */
          +        size?: 'proportional' | 'fill' | 'fit';
          +        /**
          +         * Control the rendering of the minimap slider.
          +         * Defaults to 'mouseover'.
          +         */
          +        showSlider?: 'always' | 'mouseover';
          +        /**
          +         * Render the actual text on a line (as opposed to color blocks).
          +         * Defaults to true.
          +         */
          +        renderCharacters?: boolean;
          +        /**
          +         * Limit the width of the minimap to render at most a certain number of columns.
          +         * Defaults to 120.
          +         */
          +        maxColumn?: number;
          +        /**
          +         * Relative size of the font in the minimap. Defaults to 1.
          +         */
          +        scale?: number;
          +    }
          +
          +    /**
          +     * Configuration options for editor padding
          +     */
          +    export interface IEditorPaddingOptions {
          +        /**
          +         * Spacing between top edge of editor and first line.
          +         */
          +        top?: number;
          +        /**
          +         * Spacing between bottom edge of editor and last line.
          +         */
          +        bottom?: number;
          +    }
          +
          +    /**
          +     * Configuration options for parameter hints
          +     */
          +    export interface IEditorParameterHintOptions {
          +        /**
          +         * Enable parameter hints.
          +         * Defaults to true.
          +         */
          +        enabled?: boolean;
          +        /**
          +         * Enable cycling of parameter hints.
          +         * Defaults to false.
          +         */
          +        cycle?: boolean;
          +    }
          +
          +    /**
          +     * Configuration options for quick suggestions
          +     */
          +    export interface IQuickSuggestionsOptions {
          +        other?: boolean;
          +        comments?: boolean;
          +        strings?: boolean;
          +    }
          +
          +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
          +
          +    export enum RenderLineNumbersType {
          +        Off = 0,
          +        On = 1,
          +        Relative = 2,
          +        Interval = 3,
          +        Custom = 4
          +    }
          +
          +    export interface InternalEditorRenderLineNumbersOptions {
          +        readonly renderType: RenderLineNumbersType;
          +        readonly renderFn: ((lineNumber: number) => string) | null;
          +    }
          +
          +    export interface IRulerOption {
          +        readonly column: number;
          +        readonly color: string | null;
          +    }
          +
          +    /**
          +     * Configuration options for editor scrollbars
          +     */
          +    export interface IEditorScrollbarOptions {
          +        /**
          +         * The size of arrows (if displayed).
          +         * Defaults to 11.
          +         * **NOTE**: This option cannot be updated using `updateOptions()`
          +         */
          +        arrowSize?: number;
          +        /**
          +         * Render vertical scrollbar.
          +         * Defaults to 'auto'.
          +         */
          +        vertical?: 'auto' | 'visible' | 'hidden';
          +        /**
          +         * Render horizontal scrollbar.
          +         * Defaults to 'auto'.
          +         */
          +        horizontal?: 'auto' | 'visible' | 'hidden';
          +        /**
          +         * 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;
          +        /**
          +         * Listen to mouse wheel events and react to them by scrolling.
          +         * Defaults to true.
          +         */
          +        handleMouseWheel?: boolean;
          +        /**
          +         * 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;
          +        /**
          +         * Height in pixels for the horizontal scrollbar.
          +         * Defaults to 10 (px).
          +         */
          +        horizontalScrollbarSize?: number;
          +        /**
          +         * Width in pixels for the vertical scrollbar.
          +         * Defaults to 10 (px).
          +         */
          +        verticalScrollbarSize?: number;
          +        /**
          +         * 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;
          +        /**
          +         * Scroll gutter clicks move by page vs jump to position.
          +         * Defaults to false.
          +         */
          +        scrollByPage?: boolean;
          +    }
          +
          +    export interface InternalEditorScrollbarOptions {
          +        readonly arrowSize: number;
          +        readonly vertical: ScrollbarVisibility;
          +        readonly horizontal: ScrollbarVisibility;
          +        readonly useShadows: boolean;
          +        readonly verticalHasArrows: boolean;
          +        readonly horizontalHasArrows: boolean;
          +        readonly handleMouseWheel: boolean;
          +        readonly alwaysConsumeMouseWheel: boolean;
          +        readonly horizontalScrollbarSize: number;
          +        readonly horizontalSliderSize: number;
          +        readonly verticalScrollbarSize: number;
          +        readonly verticalSliderSize: number;
          +        readonly scrollByPage: boolean;
          +    }
          +
          +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
          +
          +    /**
          +     * Configuration options for unicode highlighting.
          +     */
          +    export interface IUnicodeHighlightOptions {
          +        nonBasicASCII?: boolean | InUntrustedWorkspace;
          +        invisibleCharacters?: boolean;
          +        ambiguousCharacters?: boolean;
          +        includeComments?: boolean | InUntrustedWorkspace;
          +        /**
          +         * A map of allowed characters (true: allowed).
          +        */
          +        allowedCharacters?: Record<string, true>;
          +    }
          +
          +    export interface IInlineSuggestOptions {
          +        /**
          +         * Enable or disable the rendering of automatic inline completions.
          +        */
          +        enabled?: boolean;
          +        /**
          +         * Configures the mode.
          +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
          +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
          +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
          +         * Defaults to `prefix`.
          +        */
          +        mode?: 'prefix' | 'subword' | 'subwordSmart';
          +    }
          +
          +    export interface IBracketPairColorizationOptions {
          +        /**
          +         * Enable or disable bracket pair colorization.
          +        */
          +        enabled?: boolean;
          +    }
          +
          +    export interface IGuidesOptions {
          +        /**
          +         * Enable rendering of bracket pair guides.
          +         * Defaults to false.
          +        */
          +        bracketPairs?: boolean | 'active';
          +        /**
          +         * Enable rendering of vertical bracket pair guides.
          +         * Defaults to 'active'.
          +         */
          +        bracketPairsHorizontal?: boolean | 'active';
          +        /**
          +         * Enable highlighting of the active bracket pair.
          +         * Defaults to true.
          +        */
          +        highlightActiveBracketPair?: boolean;
          +        /**
          +         * Enable rendering of indent guides.
          +         * Defaults to true.
          +         */
          +        indentation?: boolean;
          +        /**
          +         * Enable highlighting of the active indent guide.
          +         * Defaults to true.
          +         */
          +        highlightActiveIndentation?: boolean;
          +    }
          +
          +    /**
          +     * Configuration options for editor suggest widget
          +     */
          +    export interface ISuggestOptions {
          +        /**
          +         * Overwrite word ends on accept. Default to false.
          +         */
          +        insertMode?: 'insert' | 'replace';
          +        /**
          +         * Enable graceful matching. Defaults to true.
          +         */
          +        filterGraceful?: boolean;
          +        /**
          +         * Prevent quick suggestions when a snippet is active. Defaults to true.
          +         */
          +        snippetsPreventQuickSuggestions?: boolean;
          +        /**
          +         * Favors words that appear close to the cursor.
          +         */
          +        localityBonus?: boolean;
          +        /**
          +         * Enable using global storage for remembering suggestions.
          +         */
          +        shareSuggestSelections?: boolean;
          +        /**
          +         * Enable or disable icons in suggestions. Defaults to true.
          +         */
          +        showIcons?: boolean;
          +        /**
          +         * 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.
          +         */
          +        showInlineDetails?: boolean;
          +        /**
          +         * Show method-suggestions.
          +         */
          +        showMethods?: boolean;
          +        /**
          +         * Show function-suggestions.
          +         */
          +        showFunctions?: boolean;
          +        /**
          +         * Show constructor-suggestions.
          +         */
          +        showConstructors?: boolean;
          +        /**
          +         * Show deprecated-suggestions.
          +         */
          +        showDeprecated?: boolean;
          +        /**
          +         * Show field-suggestions.
          +         */
          +        showFields?: boolean;
          +        /**
          +         * Show variable-suggestions.
          +         */
          +        showVariables?: boolean;
          +        /**
          +         * Show class-suggestions.
          +         */
          +        showClasses?: boolean;
          +        /**
          +         * Show struct-suggestions.
          +         */
          +        showStructs?: boolean;
          +        /**
          +         * Show interface-suggestions.
          +         */
          +        showInterfaces?: boolean;
          +        /**
          +         * Show module-suggestions.
          +         */
          +        showModules?: boolean;
          +        /**
          +         * Show property-suggestions.
          +         */
          +        showProperties?: boolean;
          +        /**
          +         * Show event-suggestions.
          +         */
          +        showEvents?: boolean;
          +        /**
          +         * Show operator-suggestions.
          +         */
          +        showOperators?: boolean;
          +        /**
          +         * Show unit-suggestions.
          +         */
          +        showUnits?: boolean;
          +        /**
          +         * Show value-suggestions.
          +         */
          +        showValues?: boolean;
          +        /**
          +         * Show constant-suggestions.
          +         */
          +        showConstants?: boolean;
          +        /**
          +         * Show enum-suggestions.
          +         */
          +        showEnums?: boolean;
          +        /**
          +         * Show enumMember-suggestions.
          +         */
          +        showEnumMembers?: boolean;
          +        /**
          +         * Show keyword-suggestions.
          +         */
          +        showKeywords?: boolean;
          +        /**
          +         * Show text-suggestions.
          +         */
          +        showWords?: boolean;
          +        /**
          +         * Show color-suggestions.
          +         */
          +        showColors?: boolean;
          +        /**
          +         * Show file-suggestions.
          +         */
          +        showFiles?: boolean;
          +        /**
          +         * Show reference-suggestions.
          +         */
          +        showReferences?: boolean;
          +        /**
          +         * Show folder-suggestions.
          +         */
          +        showFolders?: boolean;
          +        /**
          +         * Show typeParameter-suggestions.
          +         */
          +        showTypeParameters?: boolean;
          +        /**
          +         * Show issue-suggestions.
          +         */
          +        showIssues?: boolean;
          +        /**
          +         * Show user-suggestions.
          +         */
          +        showUsers?: boolean;
          +        /**
          +         * Show snippet-suggestions.
          +         */
          +        showSnippets?: boolean;
          +    }
          +
          +    export interface ISmartSelectOptions {
          +        selectLeadingAndTrailingWhitespace?: boolean;
          +    }
          +
          +    /**
          +     * Describes how to indent wrapped lines.
          +     */
          +    export enum WrappingIndent {
          +        /**
          +         * No indentation => wrapped lines begin at column 1.
          +         */
          +        None = 0,
          +        /**
          +         * Same => wrapped lines get the same indentation as the parent.
          +         */
          +        Same = 1,
          +        /**
          +         * Indent => wrapped lines get +1 indentation toward the parent.
          +         */
          +        Indent = 2,
          +        /**
          +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
          +         */
          +        DeepIndent = 3
          +    }
          +
          +    export interface EditorWrappingInfo {
          +        readonly isDominatedByLongLines: boolean;
          +        readonly isWordWrapMinified: boolean;
          +        readonly isViewportWrapping: boolean;
          +        readonly wrappingColumn: number;
          +    }
          +
          +    export enum EditorOption {
          +        acceptSuggestionOnCommitCharacter = 0,
          +        acceptSuggestionOnEnter = 1,
          +        accessibilitySupport = 2,
          +        accessibilityPageSize = 3,
          +        ariaLabel = 4,
          +        autoClosingBrackets = 5,
          +        autoClosingDelete = 6,
          +        autoClosingOvertype = 7,
          +        autoClosingQuotes = 8,
          +        autoIndent = 9,
          +        automaticLayout = 10,
          +        autoSurround = 11,
          +        bracketPairColorization = 12,
          +        guides = 13,
          +        codeLens = 14,
          +        codeLensFontFamily = 15,
          +        codeLensFontSize = 16,
          +        colorDecorators = 17,
          +        columnSelection = 18,
          +        comments = 19,
          +        contextmenu = 20,
          +        copyWithSyntaxHighlighting = 21,
          +        cursorBlinking = 22,
          +        cursorSmoothCaretAnimation = 23,
          +        cursorStyle = 24,
          +        cursorSurroundingLines = 25,
          +        cursorSurroundingLinesStyle = 26,
          +        cursorWidth = 27,
          +        disableLayerHinting = 28,
          +        disableMonospaceOptimizations = 29,
          +        domReadOnly = 30,
          +        dragAndDrop = 31,
          +        emptySelectionClipboard = 32,
          +        extraEditorClassName = 33,
          +        fastScrollSensitivity = 34,
          +        find = 35,
          +        fixedOverflowWidgets = 36,
          +        folding = 37,
          +        foldingStrategy = 38,
          +        foldingHighlight = 39,
          +        foldingImportsByDefault = 40,
          +        unfoldOnClickAfterEndOfLine = 41,
          +        fontFamily = 42,
          +        fontInfo = 43,
          +        fontLigatures = 44,
          +        fontSize = 45,
          +        fontWeight = 46,
          +        formatOnPaste = 47,
          +        formatOnType = 48,
          +        glyphMargin = 49,
          +        gotoLocation = 50,
          +        hideCursorInOverviewRuler = 51,
          +        hover = 52,
          +        inDiffEditor = 53,
          +        inlineSuggest = 54,
          +        letterSpacing = 55,
          +        lightbulb = 56,
          +        lineDecorationsWidth = 57,
          +        lineHeight = 58,
          +        lineNumbers = 59,
          +        lineNumbersMinChars = 60,
          +        linkedEditing = 61,
          +        links = 62,
          +        matchBrackets = 63,
          +        minimap = 64,
          +        mouseStyle = 65,
          +        mouseWheelScrollSensitivity = 66,
          +        mouseWheelZoom = 67,
          +        multiCursorMergeOverlapping = 68,
          +        multiCursorModifier = 69,
          +        multiCursorPaste = 70,
          +        occurrencesHighlight = 71,
          +        overviewRulerBorder = 72,
          +        overviewRulerLanes = 73,
          +        padding = 74,
          +        parameterHints = 75,
          +        peekWidgetDefaultFocus = 76,
          +        definitionLinkOpensInPeek = 77,
          +        quickSuggestions = 78,
          +        quickSuggestionsDelay = 79,
          +        readOnly = 80,
          +        renameOnType = 81,
          +        renderControlCharacters = 82,
          +        renderFinalNewline = 83,
          +        renderLineHighlight = 84,
          +        renderLineHighlightOnlyWhenFocus = 85,
          +        renderValidationDecorations = 86,
          +        renderWhitespace = 87,
          +        revealHorizontalRightPadding = 88,
          +        roundedSelection = 89,
          +        rulers = 90,
          +        scrollbar = 91,
          +        scrollBeyondLastColumn = 92,
          +        scrollBeyondLastLine = 93,
          +        scrollPredominantAxis = 94,
          +        selectionClipboard = 95,
          +        selectionHighlight = 96,
          +        selectOnLineNumbers = 97,
          +        showFoldingControls = 98,
          +        showUnused = 99,
          +        snippetSuggestions = 100,
          +        smartSelect = 101,
          +        smoothScrolling = 102,
          +        stickyTabStops = 103,
          +        stopRenderingLineAfter = 104,
          +        suggest = 105,
          +        suggestFontSize = 106,
          +        suggestLineHeight = 107,
          +        suggestOnTriggerCharacters = 108,
          +        suggestSelection = 109,
          +        tabCompletion = 110,
          +        tabIndex = 111,
          +        unicodeHighlighting = 112,
          +        unusualLineTerminators = 113,
          +        useShadowDOM = 114,
          +        useTabStops = 115,
          +        wordSeparators = 116,
          +        wordWrap = 117,
          +        wordWrapBreakAfterCharacters = 118,
          +        wordWrapBreakBeforeCharacters = 119,
          +        wordWrapColumn = 120,
          +        wordWrapOverride1 = 121,
          +        wordWrapOverride2 = 122,
          +        wrappingIndent = 123,
          +        wrappingStrategy = 124,
          +        showDeprecated = 125,
          +        inlayHints = 126,
          +        editorClassName = 127,
          +        pixelRatio = 128,
          +        tabFocusMode = 129,
          +        layoutInfo = 130,
          +        wrappingInfo = 131
          +    }
          +
          +    export const EditorOptions: {
          +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
          +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
          +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
          +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
          +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
          +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
          +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
          +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
          +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
          +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
          +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
          +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
          +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
          +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
          +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
          +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
          +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
          +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
          +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
          +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
          +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
          +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
          +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
          +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
          +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
          +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
          +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
          +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
          +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
          +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
          +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
          +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
          +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
          +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
          +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
          +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
          +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
          +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
          +        folding: IEditorOption<EditorOption.folding, boolean>;
          +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
          +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
          +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
          +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
          +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
          +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
          +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
          +        fontSize: IEditorOption<EditorOption.fontSize, number>;
          +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
          +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
          +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
          +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
          +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
          +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
          +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
          +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
          +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
          +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
          +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
          +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
          +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
          +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
          +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
          +        links: IEditorOption<EditorOption.links, boolean>;
          +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
          +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
          +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
          +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
          +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
          +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
          +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
          +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
          +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
          +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
          +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
          +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
          +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
          +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
          +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
          +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
          +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
          +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
          +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
          +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
          +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
          +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
          +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
          +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
          +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
          +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
          +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
          +        rulers: IEditorOption<EditorOption.rulers, {}>;
          +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
          +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
          +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
          +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
          +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
          +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
          +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
          +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
          +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
          +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
          +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
          +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
          +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
          +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
          +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
          +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
          +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
          +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
          +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
          +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
          +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
          +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
          +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
          +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
          +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
          +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
          +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
          +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
          +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
          +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
          +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
          +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
          +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
          +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
          +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
          +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
          +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
          +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
          +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
          +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
          +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
          +    };
          +
          +    type EditorOptionsType = typeof EditorOptions;
          +
          +    type FindEditorOptionsKeyById<T extends EditorOption> = {
          +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
          +    }[keyof EditorOptionsType];
          +
          +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
          +
          +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
          +
          +    /**
          +     * A view zone is a full horizontal rectangle that 'pushes' text down.
          +     * The editor reserves space for view zones when rendering.
          +     */
          +    export interface IViewZone {
          +        /**
          +         * The line number after which this zone should appear.
          +         * Use 0 to place a view zone before the first line number.
          +         */
          +        afterLineNumber: number;
          +        /**
          +         * The column after which this zone should appear.
          +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
          +         */
          +        afterColumn?: number;
          +        /**
          +         * Suppress mouse down events.
          +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
          +         * Defaults to false
          +         */
          +        suppressMouseDown?: boolean;
          +        /**
          +         * The height in lines of the view zone.
          +         * If specified, `heightInPx` will be used instead of this.
          +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
          +         */
          +        heightInLines?: number;
          +        /**
          +         * The height in px of the view zone.
          +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
          +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
          +         */
          +        heightInPx?: number;
          +        /**
          +         * The minimum width in px of the view zone.
          +         * If this is set, the editor will ensure that the scroll width is >= than this value.
          +         */
          +        minWidthInPx?: number;
          +        /**
          +         * The dom node of the view zone
          +         */
          +        domNode: HTMLElement;
          +        /**
          +         * An optional dom node for the view zone that will be placed in the margin area.
          +         */
          +        marginDomNode?: HTMLElement | null;
          +        /**
          +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
          +         */
          +        onDomNodeTop?: (top: number) => void;
          +        /**
          +         * Callback which gives the height in pixels of the view zone.
          +         */
          +        onComputedHeight?: (height: number) => void;
          +    }
          +
          +    /**
          +     * An accessor that allows for zones to be added or removed.
          +     */
          +    export interface IViewZoneChangeAccessor {
          +        /**
          +         * Create a new view zone.
          +         * @param zone Zone to create
          +         * @return A unique identifier to the view zone.
          +         */
          +        addZone(zone: IViewZone): string;
          +        /**
          +         * Remove a zone
          +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
          +         */
          +        removeZone(id: string): void;
          +        /**
          +         * Change a zone's position.
          +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
          +         */
          +        layoutZone(id: string): void;
          +    }
          +
          +    /**
          +     * A positioning preference for rendering content widgets.
          +     */
          +    export enum ContentWidgetPositionPreference {
          +        /**
          +         * Place the content widget exactly at a position
          +         */
          +        EXACT = 0,
          +        /**
          +         * Place the content widget above a position
          +         */
          +        ABOVE = 1,
          +        /**
          +         * Place the content widget below a position
          +         */
          +        BELOW = 2
          +    }
          +
          +    /**
          +     * A position for rendering content widgets.
          +     */
          +    export interface IContentWidgetPosition {
          +        /**
          +         * Desired position for the content widget.
          +         * `preference` will also affect the placement.
          +         */
          +        position: IPosition | null;
          +        /**
          +         * Optionally, a range can be provided to further
          +         * define the position of the content widget.
          +         */
          +        range?: IRange | null;
          +        /**
          +         * Placement preference for position, in order of preference.
          +         */
          +        preference: ContentWidgetPositionPreference[];
          +    }
          +
          +    /**
          +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
          +     */
          +    export interface IContentWidget {
          +        /**
          +         * Render this content widget in a location where it could overflow the editor's view dom node.
          +         */
          +        allowEditorOverflow?: boolean;
          +        suppressMouseDown?: boolean;
          +        /**
          +         * Get a unique identifier of the content widget.
          +         */
          +        getId(): string;
          +        /**
          +         * Get the dom node of the content widget.
          +         */
          +        getDomNode(): HTMLElement;
          +        /**
          +         * Get the placement of the content widget.
          +         * If null is returned, the content widget will be placed off screen.
          +         */
          +        getPosition(): IContentWidgetPosition | null;
          +        /**
          +         * Optional function that is invoked before rendering
          +         * the content widget. If a dimension is returned the editor will
          +         * attempt to use it.
          +         */
          +        beforeRender?(): IDimension | null;
          +        /**
          +         * Optional function that is invoked after rendering the content
          +         * widget. Is being invoked with the selected position preference
          +         * or `null` if not rendered.
          +         */
          +        afterRender?(position: ContentWidgetPositionPreference | null): void;
          +    }
          +
          +    /**
          +     * A positioning preference for rendering overlay widgets.
          +     */
          +    export enum OverlayWidgetPositionPreference {
          +        /**
          +         * Position the overlay widget in the top right corner
          +         */
          +        TOP_RIGHT_CORNER = 0,
          +        /**
          +         * Position the overlay widget in the bottom right corner
          +         */
          +        BOTTOM_RIGHT_CORNER = 1,
          +        /**
          +         * Position the overlay widget in the top center
          +         */
          +        TOP_CENTER = 2
          +    }
          +
          +    /**
          +     * A position for rendering overlay widgets.
          +     */
          +    export interface IOverlayWidgetPosition {
          +        /**
          +         * The position preference for the overlay widget.
          +         */
          +        preference: OverlayWidgetPositionPreference | null;
          +    }
          +
          +    /**
          +     * An overlay widgets renders on top of the text.
          +     */
          +    export interface IOverlayWidget {
          +        /**
          +         * Get a unique identifier of the overlay widget.
          +         */
          +        getId(): string;
          +        /**
          +         * Get the dom node of the overlay widget.
          +         */
          +        getDomNode(): HTMLElement;
          +        /**
          +         * Get the placement of the overlay widget.
          +         * If null is returned, the overlay widget is responsible to place itself.
          +         */
          +        getPosition(): IOverlayWidgetPosition | null;
          +    }
          +
          +    /**
          +     * Type of hit element with the mouse in the editor.
          +     */
          +    export enum MouseTargetType {
          +        /**
          +         * Mouse is on top of an unknown element.
          +         */
          +        UNKNOWN = 0,
          +        /**
          +         * Mouse is on top of the textarea used for input.
          +         */
          +        TEXTAREA = 1,
          +        /**
          +         * Mouse is on top of the glyph margin
          +         */
          +        GUTTER_GLYPH_MARGIN = 2,
          +        /**
          +         * Mouse is on top of the line numbers
          +         */
          +        GUTTER_LINE_NUMBERS = 3,
          +        /**
          +         * Mouse is on top of the line decorations
          +         */
          +        GUTTER_LINE_DECORATIONS = 4,
          +        /**
          +         * Mouse is on top of the whitespace left in the gutter by a view zone.
          +         */
          +        GUTTER_VIEW_ZONE = 5,
          +        /**
          +         * Mouse is on top of text in the content.
          +         */
          +        CONTENT_TEXT = 6,
          +        /**
          +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
          +         */
          +        CONTENT_EMPTY = 7,
          +        /**
          +         * Mouse is on top of a view zone in the content.
          +         */
          +        CONTENT_VIEW_ZONE = 8,
          +        /**
          +         * Mouse is on top of a content widget.
          +         */
          +        CONTENT_WIDGET = 9,
          +        /**
          +         * Mouse is on top of the decorations overview ruler.
          +         */
          +        OVERVIEW_RULER = 10,
          +        /**
          +         * Mouse is on top of a scrollbar.
          +         */
          +        SCROLLBAR = 11,
          +        /**
          +         * Mouse is on top of an overlay widget.
          +         */
          +        OVERLAY_WIDGET = 12,
          +        /**
          +         * Mouse is outside of the editor.
          +         */
          +        OUTSIDE_EDITOR = 13
          +    }
          +
          +    /**
          +     * Target hit with the mouse in the editor.
          +     */
          +    export interface IMouseTarget {
          +        /**
          +         * The target element
          +         */
          +        readonly element: Element | null;
          +        /**
          +         * The target type
          +         */
          +        readonly type: MouseTargetType;
          +        /**
          +         * The 'approximate' editor position
          +         */
          +        readonly position: Position | null;
          +        /**
          +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
          +         */
          +        readonly mouseColumn: number;
          +        /**
          +         * The 'approximate' editor range
          +         */
          +        readonly range: Range | null;
          +        /**
          +         * Some extra detail.
          +         */
          +        readonly detail: any;
          +    }
          +
          +    /**
          +     * A mouse event originating from the editor.
          +     */
          +    export interface IEditorMouseEvent {
          +        readonly event: IMouseEvent;
          +        readonly target: IMouseTarget;
          +    }
          +
          +    export interface IPartialEditorMouseEvent {
          +        readonly event: IMouseEvent;
          +        readonly target: IMouseTarget | null;
          +    }
          +
          +    /**
          +     * A paste event originating from the editor.
          +     */
          +    export interface IPasteEvent {
          +        readonly range: Range;
          +        readonly languageId: string | null;
          +    }
          +
          +    export interface IEditorConstructionOptions extends IEditorOptions {
          +        /**
          +         * The initial editor dimension (to avoid measuring the container).
          +         */
          +        dimension?: IDimension;
          +        /**
          +         * Place overflow widgets inside an external DOM node.
          +         * Defaults to an internal DOM node.
          +         */
          +        overflowWidgetsDomNode?: HTMLElement;
          +    }
          +
          +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
          +        /**
          +         * The initial editor dimension (to avoid measuring the container).
          +         */
          +        dimension?: IDimension;
          +        /**
          +         * Place overflow widgets inside an external DOM node.
          +         * Defaults to an internal DOM node.
          +         */
          +        overflowWidgetsDomNode?: HTMLElement;
          +        /**
          +         * Aria label for original editor.
          +         */
          +        originalAriaLabel?: string;
          +        /**
          +         * Aria label for modified editor.
          +         */
          +        modifiedAriaLabel?: string;
          +        /**
          +         * Is the diff editor inside another editor
          +         * Defaults to false
          +         */
          +        isInEmbeddedEditor?: boolean;
          +    }
          +
          +    /**
          +     * A rich code editor.
          +     */
          +    export interface ICodeEditor extends IEditor {
          +        /**
          +         * An event emitted when the content of the current model has changed.
          +         * @event
          +         */
          +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
          +        /**
          +         * An event emitted when the language of the current model has changed.
          +         * @event
          +         */
          +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
          +        /**
          +         * An event emitted when the language configuration of the current model has changed.
          +         * @event
          +         */
          +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
          +        /**
          +         * An event emitted when the options of the current model has changed.
          +         * @event
          +         */
          +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
          +        /**
          +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
          +         * @event
          +         */
          +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
          +        /**
          +         * An event emitted when the cursor position has changed.
          +         * @event
          +         */
          +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
          +        /**
          +         * An event emitted when the cursor selection has changed.
          +         * @event
          +         */
          +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
          +        /**
          +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
          +         * @event
          +         */
          +        onDidChangeModel: IEvent<IModelChangedEvent>;
          +        /**
          +         * An event emitted when the decorations of the current model have changed.
          +         * @event
          +         */
          +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
          +        /**
          +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
          +         * @event
          +         */
          +        onDidFocusEditorText(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
          +         * @event
          +         */
          +        onDidBlurEditorText(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted when the text inside this editor or an editor widget gained focus.
          +         * @event
          +         */
          +        onDidFocusEditorWidget(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted when the text inside this editor or an editor widget lost focus.
          +         * @event
          +         */
          +        onDidBlurEditorWidget(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted after composition has started.
          +         */
          +        onDidCompositionStart(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted after composition has ended.
          +         */
          +        onDidCompositionEnd(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted when editing failed because the editor is read-only.
          +         * @event
          +         */
          +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
          +        /**
          +         * An event emitted when users paste text in the editor.
          +         * @event
          +         */
          +        onDidPaste: IEvent<IPasteEvent>;
          +        /**
          +         * An event emitted on a "mouseup".
          +         * @event
          +         */
          +        onMouseUp: IEvent<IEditorMouseEvent>;
          +        /**
          +         * An event emitted on a "mousedown".
          +         * @event
          +         */
          +        onMouseDown: IEvent<IEditorMouseEvent>;
          +        /**
          +         * An event emitted on a "contextmenu".
          +         * @event
          +         */
          +        onContextMenu: IEvent<IEditorMouseEvent>;
          +        /**
          +         * An event emitted on a "mousemove".
          +         * @event
          +         */
          +        onMouseMove: IEvent<IEditorMouseEvent>;
          +        /**
          +         * An event emitted on a "mouseleave".
          +         * @event
          +         */
          +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
          +        /**
          +         * An event emitted on a "keyup".
          +         * @event
          +         */
          +        onKeyUp: IEvent<IKeyboardEvent>;
          +        /**
          +         * An event emitted on a "keydown".
          +         * @event
          +         */
          +        onKeyDown: IEvent<IKeyboardEvent>;
          +        /**
          +         * An event emitted when the layout of the editor has changed.
          +         * @event
          +         */
          +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
          +        /**
          +         * An event emitted when the content width or content height in the editor has changed.
          +         * @event
          +         */
          +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
          +        /**
          +         * An event emitted when the scroll in the editor has changed.
          +         * @event
          +         */
          +        onDidScrollChange: IEvent<IScrollEvent>;
          +        /**
          +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
          +         * @event
          +         */
          +        onDidChangeHiddenAreas: IEvent<void>;
          +        /**
          +         * Saves current view state of the editor in a serializable object.
          +         */
          +        saveViewState(): ICodeEditorViewState | null;
          +        /**
          +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
          +         */
          +        restoreViewState(state: ICodeEditorViewState): void;
          +        /**
          +         * Returns true if the text inside this editor or an editor widget has focus.
          +         */
          +        hasWidgetFocus(): boolean;
          +        /**
          +         * Get a contribution of this editor.
          +         * @id Unique identifier of the contribution.
          +         * @return The contribution or null if contribution not found.
          +         */
          +        getContribution<T extends IEditorContribution>(id: string): T;
          +        /**
          +         * Type the getModel() of IEditor.
          +         */
          +        getModel(): ITextModel | null;
          +        /**
          +         * Sets the current model attached to this editor.
          +         * If the previous model was created by the editor via the value key in the options
          +         * literal object, it will be destroyed. Otherwise, if the previous model was set
          +         * via setModel, or the model key in the options literal object, the previous model
          +         * will not be destroyed.
          +         * It is safe to call setModel(null) to simply detach the current model from the editor.
          +         */
          +        setModel(model: ITextModel | null): void;
          +        /**
          +         * Gets all the editor computed options.
          +         */
          +        getOptions(): IComputedEditorOptions;
          +        /**
          +         * Gets a specific editor option.
          +         */
          +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
          +        /**
          +         * Returns the editor's configuration (without any validation or defaults).
          +         */
          +        getRawOptions(): IEditorOptions;
          +        /**
          +         * Get value of the current model attached to this editor.
          +         * @see {@link ITextModel.getValue}
          +         */
          +        getValue(options?: {
          +            preserveBOM: boolean;
          +            lineEnding: string;
          +        }): string;
          +        /**
          +         * Set the value of the current model attached to this editor.
          +         * @see {@link ITextModel.setValue}
          +         */
          +        setValue(newValue: string): void;
          +        /**
          +         * Get the width of the editor's content.
          +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
          +         */
          +        getContentWidth(): number;
          +        /**
          +         * Get the scrollWidth of the editor's viewport.
          +         */
          +        getScrollWidth(): number;
          +        /**
          +         * Get the scrollLeft of the editor's viewport.
          +         */
          +        getScrollLeft(): number;
          +        /**
          +         * Get the height of the editor's content.
          +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
          +         */
          +        getContentHeight(): number;
          +        /**
          +         * Get the scrollHeight of the editor's viewport.
          +         */
          +        getScrollHeight(): number;
          +        /**
          +         * Get the scrollTop of the editor's viewport.
          +         */
          +        getScrollTop(): number;
          +        /**
          +         * Change the scrollLeft of the editor's viewport.
          +         */
          +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
          +        /**
          +         * Change the scrollTop of the editor's viewport.
          +         */
          +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
          +        /**
          +         * Change the scroll position of the editor's viewport.
          +         */
          +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
          +        /**
          +         * Get an action that is a contribution to this editor.
          +         * @id Unique identifier of the contribution.
          +         * @return The action or null if action not found.
          +         */
          +        getAction(id: string): IEditorAction;
          +        /**
          +         * Execute a command on the editor.
          +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
          +         * @param source The source of the call.
          +         * @param command The command to execute
          +         */
          +        executeCommand(source: string | null | undefined, command: ICommand): void;
          +        /**
          +         * Create an "undo stop" in the undo-redo stack.
          +         */
          +        pushUndoStop(): boolean;
          +        /**
          +         * Remove the "undo stop" in the undo-redo stack.
          +         */
          +        popUndoStop(): boolean;
          +        /**
          +         * Execute edits on the editor.
          +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
          +         * @param source The source of the call.
          +         * @param edits The edits to execute.
          +         * @param endCursorState Cursor state after the edits were applied.
          +         */
          +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
          +        /**
          +         * Execute multiple (concomitant) commands on the editor.
          +         * @param source The source of the call.
          +         * @param command The commands to execute
          +         */
          +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
          +        /**
          +         * Get all the decorations on a line (filtering out decorations from other editors).
          +         */
          +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
          +        /**
          +         * All decorations added through this call will get the ownerId of this editor.
          +         * @see {@link ITextModel.deltaDecorations}
          +         */
          +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
          +        /**
          +         * Get the layout info for the editor.
          +         */
          +        getLayoutInfo(): EditorLayoutInfo;
          +        /**
          +         * Returns the ranges that are currently visible.
          +         * Does not account for horizontal scrolling.
          +         */
          +        getVisibleRanges(): Range[];
          +        /**
          +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
          +         */
          +        getTopForLineNumber(lineNumber: number): number;
          +        /**
          +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
          +         */
          +        getTopForPosition(lineNumber: number, column: number): number;
          +        /**
          +         * Returns the editor's container dom node
          +         */
          +        getContainerDomNode(): HTMLElement;
          +        /**
          +         * Returns the editor's dom node
          +         */
          +        getDomNode(): HTMLElement | null;
          +        /**
          +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
          +         */
          +        addContentWidget(widget: IContentWidget): void;
          +        /**
          +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
          +         * and update appropriately.
          +         */
          +        layoutContentWidget(widget: IContentWidget): void;
          +        /**
          +         * Remove a content widget.
          +         */
          +        removeContentWidget(widget: IContentWidget): void;
          +        /**
          +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
          +         */
          +        addOverlayWidget(widget: IOverlayWidget): void;
          +        /**
          +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
          +         * and update appropriately.
          +         */
          +        layoutOverlayWidget(widget: IOverlayWidget): void;
          +        /**
          +         * Remove an overlay widget.
          +         */
          +        removeOverlayWidget(widget: IOverlayWidget): void;
          +        /**
          +         * Change the view zones. View zones are lost when a new model is attached to the editor.
          +         */
          +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
          +        /**
          +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
          +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
          +         * Use this method with caution.
          +         */
          +        getOffsetForColumn(lineNumber: number, column: number): number;
          +        /**
          +         * Force an editor render now.
          +         */
          +        render(forceRedraw?: boolean): void;
          +        /**
          +         * Get the hit test target at coordinates `clientX` and `clientY`.
          +         * The coordinates are relative to the top-left of the viewport.
          +         *
          +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
          +         */
          +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
          +        /**
          +         * Get the visible position for `position`.
          +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
          +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
          +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
          +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
          +         */
          +        getScrolledVisiblePosition(position: IPosition): {
          +            top: number;
          +            left: number;
          +            height: number;
          +        } | null;
          +        /**
          +         * Apply the same font settings as the editor to `target`.
          +         */
          +        applyFontInfo(target: HTMLElement): void;
          +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
          +    }
          +
          +    /**
          +     * Information about a line in the diff editor
          +     */
          +    export interface IDiffLineInformation {
          +        readonly equivalentLineNumber: number;
          +    }
          +
          +    /**
          +     * A rich diff editor.
          +     */
          +    export interface IDiffEditor extends IEditor {
          +        /**
          +         * @see {@link ICodeEditor.getDomNode}
          +         */
          +        getDomNode(): HTMLElement;
          +        /**
          +         * An event emitted when the diff information computed by this diff editor has been updated.
          +         * @event
          +         */
          +        onDidUpdateDiff(listener: () => void): IDisposable;
          +        /**
          +         * Saves current view state of the editor in a serializable object.
          +         */
          +        saveViewState(): IDiffEditorViewState | null;
          +        /**
          +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
          +         */
          +        restoreViewState(state: IDiffEditorViewState): void;
          +        /**
          +         * Type the getModel() of IEditor.
          +         */
          +        getModel(): IDiffEditorModel | null;
          +        /**
          +         * Sets the current model attached to this editor.
          +         * If the previous model was created by the editor via the value key in the options
          +         * literal object, it will be destroyed. Otherwise, if the previous model was set
          +         * via setModel, or the model key in the options literal object, the previous model
          +         * will not be destroyed.
          +         * It is safe to call setModel(null) to simply detach the current model from the editor.
          +         */
          +        setModel(model: IDiffEditorModel | null): void;
          +        /**
          +         * Get the `original` editor.
          +         */
          +        getOriginalEditor(): ICodeEditor;
          +        /**
          +         * Get the `modified` editor.
          +         */
          +        getModifiedEditor(): ICodeEditor;
          +        /**
          +         * Get the computed diff information.
          +         */
          +        getLineChanges(): ILineChange[] | null;
          +        /**
          +         * Get information based on computed diff about a line number from the original model.
          +         * If the diff computation is not finished or the model is missing, will return null.
          +         */
          +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
          +        /**
          +         * Get information based on computed diff about a line number from the modified model.
          +         * If the diff computation is not finished or the model is missing, will return null.
          +         */
          +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
          +        /**
          +         * Update the editor's options after the editor has been created.
          +         */
          +        updateOptions(newOptions: IDiffEditorOptions): void;
          +    }
          +
          +    export class FontInfo extends BareFontInfo {
          +        readonly _editorStylingBrand: void;
          +        readonly version: number;
          +        readonly isTrusted: boolean;
          +        readonly isMonospace: boolean;
          +        readonly typicalHalfwidthCharacterWidth: number;
          +        readonly typicalFullwidthCharacterWidth: number;
          +        readonly canUseHalfwidthRightwardsArrow: boolean;
          +        readonly spaceWidth: number;
          +        readonly middotWidth: number;
          +        readonly wsmiddotWidth: number;
          +        readonly maxDigitWidth: number;
          +    }
          +
          +    export class BareFontInfo {
          +        readonly _bareFontInfoBrand: void;
          +        readonly zoomLevel: number;
          +        readonly pixelRatio: number;
          +        readonly fontFamily: string;
          +        readonly fontWeight: string;
          +        readonly fontSize: number;
          +        readonly fontFeatureSettings: string;
          +        readonly lineHeight: number;
          +        readonly letterSpacing: number;
          +    }
          +
          +    //compatibility:
          +    export type IReadOnlyModel = ITextModel;
          +    export type IModel = ITextModel;
          +}
          +
          +declare namespace monaco.languages {
          +
          +
          +    /**
          +     * Register information about a new language.
          +     */
          +    export function register(language: ILanguageExtensionPoint): void;
          +
          +    /**
          +     * Get the information of all the registered languages.
          +     */
          +    export function getLanguages(): ILanguageExtensionPoint[];
          +
          +    export function getEncodedLanguageId(languageId: string): number;
          +
          +    /**
          +     * An event emitted when a language is first time needed (e.g. a model has it set).
          +     * @event
          +     */
          +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
          +
          +    /**
          +     * Set the editing configuration for a language.
          +     */
          +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
          +
          +    /**
          +     * A token.
          +     */
          +    export interface IToken {
          +        startIndex: number;
          +        scopes: string;
          +    }
          +
          +    /**
          +     * The result of a line tokenization.
          +     */
          +    export interface ILineTokens {
          +        /**
          +         * The list of tokens on the line.
          +         */
          +        tokens: IToken[];
          +        /**
          +         * The tokenization end state.
          +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
          +         */
          +        endState: IState;
          +    }
          +
          +    /**
          +     * The result of a line tokenization.
          +     */
          +    export interface IEncodedLineTokens {
          +        /**
          +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
          +         *  - at offset 2*i => startIndex
          +         *  - at offset 2*i + 1 => metadata
          +         * Meta data is in binary format:
          +         * - -------------------------------------------
          +         *     3322 2222 2222 1111 1111 1100 0000 0000
          +         *     1098 7654 3210 9876 5432 1098 7654 3210
          +         * - -------------------------------------------
          +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
          +         * - -------------------------------------------
          +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
          +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
          +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
          +         *  - f = foreground ColorId (9 bits)
          +         *  - b = background ColorId (9 bits)
          +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
          +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
          +         * id = 1 is for the default foreground color, id = 2 for the default background.
          +         */
          +        tokens: Uint32Array;
          +        /**
          +         * The tokenization end state.
          +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
          +         */
          +        endState: IState;
          +    }
          +
          +    /**
          +     * A "manual" provider of tokens.
          +     */
          +    export interface TokensProvider {
          +        /**
          +         * The initial state of a language. Will be the state passed in to tokenize the first line.
          +         */
          +        getInitialState(): IState;
          +        /**
          +         * Tokenize a line given the state at the beginning of the line.
          +         */
          +        tokenize(line: string, state: IState): ILineTokens;
          +    }
          +
          +    /**
          +     * A "manual" provider of tokens, returning tokens in a binary form.
          +     */
          +    export interface EncodedTokensProvider {
          +        /**
          +         * The initial state of a language. Will be the state passed in to tokenize the first line.
          +         */
          +        getInitialState(): IState;
          +        /**
          +         * Tokenize a line given the state at the beginning of the line.
          +         */
          +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
          +        /**
          +         * Tokenize a line given the state at the beginning of the line.
          +         */
          +        tokenize?(line: string, state: IState): ILineTokens;
          +    }
          +
          +    /**
          +     * Change the color map that is used for token colors.
          +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
          +     */
          +    export function setColorMap(colorMap: string[] | null): void;
          +
          +    /**
          +     * Set the tokens provider for a language (manual implementation).
          +     */
          +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
          +
          +    /**
          +     * Set the tokens provider for a language (monarch implementation).
          +     */
          +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
          +
          +    /**
          +     * Register a reference provider (used by e.g. reference search).
          +     */
          +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
          +
          +    /**
          +     * Register a rename provider (used by e.g. rename symbol).
          +     */
          +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
          +
          +    /**
          +     * Register a signature help provider (used by e.g. parameter hints).
          +     */
          +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
          +
          +    /**
          +     * Register a hover provider (used by e.g. editor hover).
          +     */
          +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
          +
          +    /**
          +     * Register a document symbol provider (used by e.g. outline).
          +     */
          +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
          +
          +    /**
          +     * Register a document highlight provider (used by e.g. highlight occurrences).
          +     */
          +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
          +
          +    /**
          +     * Register an linked editing range provider.
          +     */
          +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
          +
          +    /**
          +     * Register a definition provider (used by e.g. go to definition).
          +     */
          +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
          +
          +    /**
          +     * Register a implementation provider (used by e.g. go to implementation).
          +     */
          +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
          +
          +    /**
          +     * Register a type definition provider (used by e.g. go to type definition).
          +     */
          +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
          +
          +    /**
          +     * Register a code lens provider (used by e.g. inline code lenses).
          +     */
          +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
          +
          +    /**
          +     * Register a code action provider (used by e.g. quick fix).
          +     */
          +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
          +
          +    /**
          +     * Register a formatter that can handle only entire models.
          +     */
          +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
          +
          +    /**
          +     * Register a formatter that can handle a range inside a model.
          +     */
          +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
          +
          +    /**
          +     * Register a formatter than can do formatting as the user types.
          +     */
          +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
          +
          +    /**
          +     * Register a link provider that can find links in text.
          +     */
          +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
          +
          +    /**
          +     * Register a completion item provider (use by e.g. suggestions).
          +     */
          +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
          +
          +    /**
          +     * Register a document color provider (used by Color Picker, Color Decorator).
          +     */
          +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
          +
          +    /**
          +     * Register a folding range provider
          +     */
          +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
          +
          +    /**
          +     * Register a declaration provider
          +     */
          +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
          +
          +    /**
          +     * Register a selection range provider
          +     */
          +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
          +
          +    /**
          +     * Register a document semantic tokens provider
          +     */
          +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
          +
          +    /**
          +     * Register a document range semantic tokens provider
          +     */
          +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
          +
          +    /**
          +     * Register an inline completions provider.
          +     */
          +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
          +
          +    /**
          +     * Register an inlay hints provider.
          +     */
          +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
          +
          +    /**
          +     * Contains additional diagnostic information about the context in which
          +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
          +     */
          +    export interface CodeActionContext {
          +        /**
          +         * An array of diagnostics.
          +         */
          +        readonly markers: editor.IMarkerData[];
          +        /**
          +         * Requested kind of actions to return.
          +         */
          +        readonly only?: string;
          +    }
          +
          +    /**
          +     * The code action interface defines the contract between extensions and
          +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
          +     */
          +    export interface CodeActionProvider {
          +        /**
          +         * Provide commands for the given document and range.
          +         */
          +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
          +        /**
          +         * Given a code action fill in the edit. Will only invoked when missing.
          +         */
          +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
          +    }
          +
          +    /**
          +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
          +     */
          +    export interface CodeActionProviderMetadata {
          +        /**
          +         * List of code action kinds that a {@link CodeActionProvider} may return.
          +         *
          +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
          +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
          +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
          +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
          +         */
          +        readonly providedCodeActionKinds?: readonly string[];
          +    }
          +
          +    /**
          +     * Describes how comments for a language work.
          +     */
          +    export interface CommentRule {
          +        /**
          +         * The line comment token, like `// this is a comment`
          +         */
          +        lineComment?: string | null;
          +        /**
          +         * The block comment character pair, like `/* block comment *&#47;`
          +         */
          +        blockComment?: CharacterPair | null;
          +    }
          +
          +    /**
          +     * The language configuration interface defines the contract between extensions and
          +     * various editor features, like automatic bracket insertion, automatic indentation etc.
          +     */
          +    export interface LanguageConfiguration {
          +        /**
          +         * The language's comment settings.
          +         */
          +        comments?: CommentRule;
          +        /**
          +         * The language's brackets.
          +         * This configuration implicitly affects pressing Enter around these brackets.
          +         */
          +        brackets?: CharacterPair[];
          +        /**
          +         * The language's word definition.
          +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
          +         * to provide a word definition that uses exclusion of known separators.
          +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
          +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
          +         */
          +        wordPattern?: RegExp;
          +        /**
          +         * The language's indentation settings.
          +         */
          +        indentationRules?: IndentationRule;
          +        /**
          +         * The language's rules to be evaluated when pressing Enter.
          +         */
          +        onEnterRules?: OnEnterRule[];
          +        /**
          +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
          +         * 'open' character is typed. If not set, the configured brackets will be used.
          +         */
          +        autoClosingPairs?: IAutoClosingPairConditional[];
          +        /**
          +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
          +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
          +         * settings will be used.
          +         */
          +        surroundingPairs?: IAutoClosingPair[];
          +        /**
          +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
          +         * If not set, the configured brackets will be used.
          +        */
          +        colorizedBracketPairs?: CharacterPair[];
          +        /**
          +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
          +         *
          +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
          +         */
          +        autoCloseBefore?: string;
          +        /**
          +         * The language's folding rules.
          +         */
          +        folding?: FoldingRules;
          +        /**
          +         * **Deprecated** Do not use.
          +         *
          +         * @deprecated Will be replaced by a better API soon.
          +         */
          +        __electricCharacterSupport?: {
          +            docComment?: IDocComment;
          +        };
          +    }
          +
          +    /**
          +     * Describes indentation rules for a language.
          +     */
          +    export interface IndentationRule {
          +        /**
          +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
          +         */
          +        decreaseIndentPattern: RegExp;
          +        /**
          +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
          +         */
          +        increaseIndentPattern: RegExp;
          +        /**
          +         * If a line matches this pattern, then **only the next line** after it should be indented once.
          +         */
          +        indentNextLinePattern?: RegExp | null;
          +        /**
          +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
          +         */
          +        unIndentedLinePattern?: RegExp | null;
          +    }
          +
          +    /**
          +     * Describes language specific folding markers such as '#region' and '#endregion'.
          +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
          +     * - the regex should start with '^'
          +     * - regexp flags (i, g) are ignored
          +     */
          +    export interface FoldingMarkers {
          +        start: RegExp;
          +        end: RegExp;
          +    }
          +
          +    /**
          +     * Describes folding rules for a language.
          +     */
          +    export interface FoldingRules {
          +        /**
          +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
          +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
          +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
          +         * If not set, `false` is used and empty lines belong to the previous block.
          +         */
          +        offSide?: boolean;
          +        /**
          +         * Region markers used by the language.
          +         */
          +        markers?: FoldingMarkers;
          +    }
          +
          +    /**
          +     * Describes a rule to be evaluated when pressing Enter.
          +     */
          +    export interface OnEnterRule {
          +        /**
          +         * This rule will only execute if the text before the cursor matches this regular expression.
          +         */
          +        beforeText: RegExp;
          +        /**
          +         * This rule will only execute if the text after the cursor matches this regular expression.
          +         */
          +        afterText?: RegExp;
          +        /**
          +         * This rule will only execute if the text above the this line matches this regular expression.
          +         */
          +        previousLineText?: RegExp;
          +        /**
          +         * The action to execute.
          +         */
          +        action: EnterAction;
          +    }
          +
          +    /**
          +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
          +     */
          +    export interface IDocComment {
          +        /**
          +         * The string that starts a doc comment (e.g. '/**')
          +         */
          +        open: string;
          +        /**
          +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
          +         */
          +        close?: string;
          +    }
          +
          +    /**
          +     * A tuple of two characters, like a pair of
          +     * opening and closing brackets.
          +     */
          +    export type CharacterPair = [string, string];
          +
          +    export interface IAutoClosingPair {
          +        open: string;
          +        close: string;
          +    }
          +
          +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
          +        notIn?: string[];
          +    }
          +
          +    /**
          +     * Describes what to do with the indentation when pressing Enter.
          +     */
          +    export enum IndentAction {
          +        /**
          +         * Insert new line and copy the previous line's indentation.
          +         */
          +        None = 0,
          +        /**
          +         * Insert new line and indent once (relative to the previous line's indentation).
          +         */
          +        Indent = 1,
          +        /**
          +         * Insert two new lines:
          +         *  - the first one indented which will hold the cursor
          +         *  - the second one at the same indentation level
          +         */
          +        IndentOutdent = 2,
          +        /**
          +         * Insert new line and outdent once (relative to the previous line's indentation).
          +         */
          +        Outdent = 3
          +    }
          +
          +    /**
          +     * Describes what to do when pressing Enter.
          +     */
          +    export interface EnterAction {
          +        /**
          +         * Describe what to do with the indentation.
          +         */
          +        indentAction: IndentAction;
          +        /**
          +         * Describes text to be appended after the new line and after the indentation.
          +         */
          +        appendText?: string;
          +        /**
          +         * Describes the number of characters to remove from the new line's indentation.
          +         */
          +        removeText?: number;
          +    }
          +
          +    /**
          +     * The state of the tokenizer between two lines.
          +     * It is useful to store flags such as in multiline comment, etc.
          +     * The model will clone the previous line's state and pass it in to tokenize the next line.
          +     */
          +    export interface IState {
          +        clone(): IState;
          +        equals(other: IState): boolean;
          +    }
          +
          +    /**
          +     * A provider result represents the values a provider, like the {@link HoverProvider},
          +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
          +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
          +     * thenable.
          +     */
          +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
          +
          +    /**
          +     * A hover represents additional information for a symbol or word. Hovers are
          +     * rendered in a tooltip-like widget.
          +     */
          +    export interface Hover {
          +        /**
          +         * The contents of this hover.
          +         */
          +        contents: IMarkdownString[];
          +        /**
          +         * The range to which this hover applies. When missing, the
          +         * editor will use the range at the current position or the
          +         * current position itself.
          +         */
          +        range?: IRange;
          +    }
          +
          +    /**
          +     * The hover provider interface defines the contract between extensions and
          +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
          +     */
          +    export interface HoverProvider {
          +        /**
          +         * Provide a hover for the given position and document. Multiple hovers at the same
          +         * position will be merged by the editor. A hover can have a range which defaults
          +         * to the word range at the position when omitted.
          +         */
          +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
          +    }
          +
          +    export enum CompletionItemKind {
          +        Method = 0,
          +        Function = 1,
          +        Constructor = 2,
          +        Field = 3,
          +        Variable = 4,
          +        Class = 5,
          +        Struct = 6,
          +        Interface = 7,
          +        Module = 8,
          +        Property = 9,
          +        Event = 10,
          +        Operator = 11,
          +        Unit = 12,
          +        Value = 13,
          +        Constant = 14,
          +        Enum = 15,
          +        EnumMember = 16,
          +        Keyword = 17,
          +        Text = 18,
          +        Color = 19,
          +        File = 20,
          +        Reference = 21,
          +        Customcolor = 22,
          +        Folder = 23,
          +        TypeParameter = 24,
          +        User = 25,
          +        Issue = 26,
          +        Snippet = 27
          +    }
          +
          +    export interface CompletionItemLabel {
          +        label: string;
          +        detail?: string;
          +        description?: string;
          +    }
          +
          +    export enum CompletionItemTag {
          +        Deprecated = 1
          +    }
          +
          +    export enum CompletionItemInsertTextRule {
          +        /**
          +         * Adjust whitespace/indentation of multiline insert texts to
          +         * match the current line indentation.
          +         */
          +        KeepWhitespace = 1,
          +        /**
          +         * `insertText` is a snippet.
          +         */
          +        InsertAsSnippet = 4
          +    }
          +
          +    export interface CompletionItemRanges {
          +        insert: IRange;
          +        replace: IRange;
          +    }
          +
          +    /**
          +     * A completion item represents a text snippet that is
          +     * proposed to complete text that is being typed.
          +     */
          +    export interface CompletionItem {
          +        /**
          +         * The label of this completion item. By default
          +         * this is also the text that is inserted when selecting
          +         * this completion.
          +         */
          +        label: string | CompletionItemLabel;
          +        /**
          +         * The kind of this completion item. Based on the kind
          +         * an icon is chosen by the editor.
          +         */
          +        kind: CompletionItemKind;
          +        /**
          +         * A modifier to the `kind` which affect how the item
          +         * is rendered, e.g. Deprecated is rendered with a strikeout
          +         */
          +        tags?: ReadonlyArray<CompletionItemTag>;
          +        /**
          +         * A human-readable string with additional information
          +         * about this item, like type or symbol information.
          +         */
          +        detail?: string;
          +        /**
          +         * A human-readable string that represents a doc-comment.
          +         */
          +        documentation?: string | IMarkdownString;
          +        /**
          +         * A string that should be used when comparing this item
          +         * with other items. When `falsy` the {@link CompletionItem.label label}
          +         * is used.
          +         */
          +        sortText?: string;
          +        /**
          +         * A string that should be used when filtering a set of
          +         * completion items. When `falsy` the {@link CompletionItem.label label}
          +         * is used.
          +         */
          +        filterText?: string;
          +        /**
          +         * Select this item when showing. *Note* that only one completion item can be selected and
          +         * that the editor decides which item that is. The rule is that the *first* item of those
          +         * that match best is selected.
          +         */
          +        preselect?: boolean;
          +        /**
          +         * A string or snippet that should be inserted in a document when selecting
          +         * this completion.
          +         */
          +        insertText: string;
          +        /**
          +         * Additional rules (as bitmask) that should be applied when inserting
          +         * this completion.
          +         */
          +        insertTextRules?: CompletionItemInsertTextRule;
          +        /**
          +         * A range of text that should be replaced by this completion item.
          +         *
          +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
          +         * current position.
          +         *
          +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
          +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
          +         */
          +        range: IRange | CompletionItemRanges;
          +        /**
          +         * An optional set of characters that when pressed while this completion is active will accept it first and
          +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
          +         * characters will be ignored.
          +         */
          +        commitCharacters?: string[];
          +        /**
          +         * An optional array of additional text edits that are applied when
          +         * selecting this completion. Edits must not overlap with the main edit
          +         * nor with themselves.
          +         */
          +        additionalTextEdits?: editor.ISingleEditOperation[];
          +        /**
          +         * A command that should be run upon acceptance of this item.
          +         */
          +        command?: Command;
          +    }
          +
          +    export interface CompletionList {
          +        suggestions: CompletionItem[];
          +        incomplete?: boolean;
          +        dispose?(): void;
          +    }
          +
          +    /**
          +     * How a suggest provider was triggered.
          +     */
          +    export enum CompletionTriggerKind {
          +        Invoke = 0,
          +        TriggerCharacter = 1,
          +        TriggerForIncompleteCompletions = 2
          +    }
          +
          +    /**
          +     * Contains additional information about the context in which
          +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
          +     */
          +    export interface CompletionContext {
          +        /**
          +         * How the completion was triggered.
          +         */
          +        triggerKind: CompletionTriggerKind;
          +        /**
          +         * Character that triggered the completion item provider.
          +         *
          +         * `undefined` if provider was not triggered by a character.
          +         */
          +        triggerCharacter?: string;
          +    }
          +
          +    /**
          +     * The completion item provider interface defines the contract between extensions and
          +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
          +     *
          +     * When computing *complete* completion items is expensive, providers can optionally implement
          +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
          +     * items with a {@link CompletionItem.label label} from the
          +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
          +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
          +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
          +     */
          +    export interface CompletionItemProvider {
          +        triggerCharacters?: string[];
          +        /**
          +         * Provide completion items for the given position and document.
          +         */
          +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
          +        /**
          +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
          +         * or {@link CompletionItem.detail details}.
          +         *
          +         * The editor will only resolve a completion item once.
          +         */
          +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
          +    }
          +
          +    /**
          +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
          +     */
          +    export enum InlineCompletionTriggerKind {
          +        /**
          +         * Completion was triggered automatically while editing.
          +         * It is sufficient to return a single completion item in this case.
          +         */
          +        Automatic = 0,
          +        /**
          +         * Completion was triggered explicitly by a user gesture.
          +         * Return multiple completion items to enable cycling through them.
          +         */
          +        Explicit = 1
          +    }
          +
          +    export interface InlineCompletionContext {
          +        /**
          +         * How the completion was triggered.
          +         */
          +        readonly triggerKind: InlineCompletionTriggerKind;
          +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
          +    }
          +
          +    export interface SelectedSuggestionInfo {
          +        range: IRange;
          +        text: string;
          +        isSnippetText: boolean;
          +        completionKind: CompletionItemKind;
          +    }
          +
          +    export interface InlineCompletion {
          +        /**
          +         * The text to insert.
          +         * If the text contains a line break, the range must end at the end of a line.
          +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
          +        */
          +        readonly text: string;
          +        /**
          +         * The range to replace.
          +         * Must begin and end on the same line.
          +        */
          +        readonly range?: IRange;
          +        readonly command?: Command;
          +    }
          +
          +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
          +        readonly items: readonly TItem[];
          +    }
          +
          +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
          +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
          +        /**
          +         * Will be called when an item is shown.
          +        */
          +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
          +        /**
          +         * Will be called when a completions list is no longer in use and can be garbage-collected.
          +        */
          +        freeInlineCompletions(completions: T): void;
          +    }
          +
          +    export interface CodeAction {
          +        title: string;
          +        command?: Command;
          +        edit?: WorkspaceEdit;
          +        diagnostics?: editor.IMarkerData[];
          +        kind?: string;
          +        isPreferred?: boolean;
          +        disabled?: string;
          +    }
          +
          +    export interface CodeActionList extends IDisposable {
          +        readonly actions: ReadonlyArray<CodeAction>;
          +    }
          +
          +    /**
          +     * Represents a parameter of a callable-signature. A parameter can
          +     * have a label and a doc-comment.
          +     */
          +    export interface ParameterInformation {
          +        /**
          +         * The label of this signature. Will be shown in
          +         * the UI.
          +         */
          +        label: string | [number, number];
          +        /**
          +         * The human-readable doc-comment of this signature. Will be shown
          +         * in the UI but can be omitted.
          +         */
          +        documentation?: string | IMarkdownString;
          +    }
          +
          +    /**
          +     * Represents the signature of something callable. A signature
          +     * can have a label, like a function-name, a doc-comment, and
          +     * a set of parameters.
          +     */
          +    export interface SignatureInformation {
          +        /**
          +         * The label of this signature. Will be shown in
          +         * the UI.
          +         */
          +        label: string;
          +        /**
          +         * The human-readable doc-comment of this signature. Will be shown
          +         * in the UI but can be omitted.
          +         */
          +        documentation?: string | IMarkdownString;
          +        /**
          +         * The parameters of this signature.
          +         */
          +        parameters: ParameterInformation[];
          +        /**
          +         * Index of the active parameter.
          +         *
          +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
          +         */
          +        activeParameter?: number;
          +    }
          +
          +    /**
          +     * Signature help represents the signature of something
          +     * callable. There can be multiple signatures but only one
          +     * active and only one active parameter.
          +     */
          +    export interface SignatureHelp {
          +        /**
          +         * One or more signatures.
          +         */
          +        signatures: SignatureInformation[];
          +        /**
          +         * The active signature.
          +         */
          +        activeSignature: number;
          +        /**
          +         * The active parameter of the active signature.
          +         */
          +        activeParameter: number;
          +    }
          +
          +    export interface SignatureHelpResult extends IDisposable {
          +        value: SignatureHelp;
          +    }
          +
          +    export enum SignatureHelpTriggerKind {
          +        Invoke = 1,
          +        TriggerCharacter = 2,
          +        ContentChange = 3
          +    }
          +
          +    export interface SignatureHelpContext {
          +        readonly triggerKind: SignatureHelpTriggerKind;
          +        readonly triggerCharacter?: string;
          +        readonly isRetrigger: boolean;
          +        readonly activeSignatureHelp?: SignatureHelp;
          +    }
          +
          +    /**
          +     * The signature help provider interface defines the contract between extensions and
          +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
          +     */
          +    export interface SignatureHelpProvider {
          +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
          +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
          +        /**
          +         * Provide help for the signature at the given position and document.
          +         */
          +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
          +    }
          +
          +    /**
          +     * A document highlight kind.
          +     */
          +    export enum DocumentHighlightKind {
          +        /**
          +         * A textual occurrence.
          +         */
          +        Text = 0,
          +        /**
          +         * Read-access of a symbol, like reading a variable.
          +         */
          +        Read = 1,
          +        /**
          +         * Write-access of a symbol, like writing to a variable.
          +         */
          +        Write = 2
          +    }
          +
          +    /**
          +     * A document highlight is a range inside a text document which deserves
          +     * special attention. Usually a document highlight is visualized by changing
          +     * the background color of its range.
          +     */
          +    export interface DocumentHighlight {
          +        /**
          +         * The range this highlight applies to.
          +         */
          +        range: IRange;
          +        /**
          +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
          +         */
          +        kind?: DocumentHighlightKind;
          +    }
          +
          +    /**
          +     * The document highlight provider interface defines the contract between extensions and
          +     * the word-highlight-feature.
          +     */
          +    export interface DocumentHighlightProvider {
          +        /**
          +         * Provide a set of document highlights, like all occurrences of a variable or
          +         * all exit-points of a function.
          +         */
          +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
          +    }
          +
          +    /**
          +     * The linked editing range provider interface defines the contract between extensions and
          +     * the linked editing feature.
          +     */
          +    export interface LinkedEditingRangeProvider {
          +        /**
          +         * Provide a list of ranges that can be edited together.
          +         */
          +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
          +    }
          +
          +    /**
          +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
          +     */
          +    export interface LinkedEditingRanges {
          +        /**
          +         * A list of ranges that can be edited together. The ranges must have
          +         * identical length and text content. The ranges cannot overlap
          +         */
          +        ranges: IRange[];
          +        /**
          +         * An optional word pattern that describes valid contents for the given ranges.
          +         * If no pattern is provided, the language configuration's word pattern will be used.
          +         */
          +        wordPattern?: RegExp;
          +    }
          +
          +    /**
          +     * Value-object that contains additional information when
          +     * requesting references.
          +     */
          +    export interface ReferenceContext {
          +        /**
          +         * Include the declaration of the current symbol.
          +         */
          +        includeDeclaration: boolean;
          +    }
          +
          +    /**
          +     * The reference provider interface defines the contract between extensions and
          +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
          +     */
          +    export interface ReferenceProvider {
          +        /**
          +         * Provide a set of project-wide references for the given position and document.
          +         */
          +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
          +    }
          +
          +    /**
          +     * Represents a location inside a resource, such as a line
          +     * inside a text file.
          +     */
          +    export interface Location {
          +        /**
          +         * The resource identifier of this location.
          +         */
          +        uri: Uri;
          +        /**
          +         * The document range of this locations.
          +         */
          +        range: IRange;
          +    }
          +
          +    export interface LocationLink {
          +        /**
          +         * A range to select where this link originates from.
          +         */
          +        originSelectionRange?: IRange;
          +        /**
          +         * The target uri this link points to.
          +         */
          +        uri: Uri;
          +        /**
          +         * The full range this link points to.
          +         */
          +        range: IRange;
          +        /**
          +         * A range to select this link points to. Must be contained
          +         * in `LocationLink.range`.
          +         */
          +        targetSelectionRange?: IRange;
          +    }
          +
          +    export type Definition = Location | Location[] | LocationLink[];
          +
          +    /**
          +     * The definition provider interface defines the contract between extensions and
          +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
          +     * and peek definition features.
          +     */
          +    export interface DefinitionProvider {
          +        /**
          +         * Provide the definition of the symbol at the given position and document.
          +         */
          +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
          +    }
          +
          +    /**
          +     * The definition provider interface defines the contract between extensions and
          +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
          +     * and peek definition features.
          +     */
          +    export interface DeclarationProvider {
          +        /**
          +         * Provide the declaration of the symbol at the given position and document.
          +         */
          +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
          +    }
          +
          +    /**
          +     * The implementation provider interface defines the contract between extensions and
          +     * the go to implementation feature.
          +     */
          +    export interface ImplementationProvider {
          +        /**
          +         * Provide the implementation of the symbol at the given position and document.
          +         */
          +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
          +    }
          +
          +    /**
          +     * The type definition provider interface defines the contract between extensions and
          +     * the go to type definition feature.
          +     */
          +    export interface TypeDefinitionProvider {
          +        /**
          +         * Provide the type definition of the symbol at the given position and document.
          +         */
          +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
          +    }
          +
          +    /**
          +     * A symbol kind.
          +     */
          +    export enum SymbolKind {
          +        File = 0,
          +        Module = 1,
          +        Namespace = 2,
          +        Package = 3,
          +        Class = 4,
          +        Method = 5,
          +        Property = 6,
          +        Field = 7,
          +        Constructor = 8,
          +        Enum = 9,
          +        Interface = 10,
          +        Function = 11,
          +        Variable = 12,
          +        Constant = 13,
          +        String = 14,
          +        Number = 15,
          +        Boolean = 16,
          +        Array = 17,
          +        Object = 18,
          +        Key = 19,
          +        Null = 20,
          +        EnumMember = 21,
          +        Struct = 22,
          +        Event = 23,
          +        Operator = 24,
          +        TypeParameter = 25
          +    }
          +
          +    export enum SymbolTag {
          +        Deprecated = 1
          +    }
          +
          +    export interface DocumentSymbol {
          +        name: string;
          +        detail: string;
          +        kind: SymbolKind;
          +        tags: ReadonlyArray<SymbolTag>;
          +        containerName?: string;
          +        range: IRange;
          +        selectionRange: IRange;
          +        children?: DocumentSymbol[];
          +    }
          +
          +    /**
          +     * The document symbol provider interface defines the contract between extensions and
          +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
          +     */
          +    export interface DocumentSymbolProvider {
          +        displayName?: string;
          +        /**
          +         * Provide symbol information for the given document.
          +         */
          +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
          +    }
          +
          +    export type TextEdit = {
          +        range: IRange;
          +        text: string;
          +        eol?: editor.EndOfLineSequence;
          +    };
          +
          +    /**
          +     * Interface used to format a model
          +     */
          +    export interface FormattingOptions {
          +        /**
          +         * Size of a tab in spaces.
          +         */
          +        tabSize: number;
          +        /**
          +         * Prefer spaces over tabs.
          +         */
          +        insertSpaces: boolean;
          +    }
          +
          +    /**
          +     * The document formatting provider interface defines the contract between extensions and
          +     * the formatting-feature.
          +     */
          +    export interface DocumentFormattingEditProvider {
          +        readonly displayName?: string;
          +        /**
          +         * Provide formatting edits for a whole document.
          +         */
          +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
          +    }
          +
          +    /**
          +     * The document formatting provider interface defines the contract between extensions and
          +     * the formatting-feature.
          +     */
          +    export interface DocumentRangeFormattingEditProvider {
          +        readonly displayName?: string;
          +        /**
          +         * Provide formatting edits for a range in a document.
          +         *
          +         * The given range is a hint and providers can decide to format a smaller
          +         * or larger range. Often this is done by adjusting the start and end
          +         * of the range to full syntax nodes.
          +         */
          +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
          +    }
          +
          +    /**
          +     * The document formatting provider interface defines the contract between extensions and
          +     * the formatting-feature.
          +     */
          +    export interface OnTypeFormattingEditProvider {
          +        autoFormatTriggerCharacters: string[];
          +        /**
          +         * Provide formatting edits after a character has been typed.
          +         *
          +         * The given position and character should hint to the provider
          +         * what range the position to expand to, like find the matching `{`
          +         * when `}` has been entered.
          +         */
          +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
          +    }
          +
          +    /**
          +     * A link inside the editor.
          +     */
          +    export interface ILink {
          +        range: IRange;
          +        url?: Uri | string;
          +        tooltip?: string;
          +    }
          +
          +    export interface ILinksList {
          +        links: ILink[];
          +        dispose?(): void;
          +    }
          +
          +    /**
          +     * A provider of links.
          +     */
          +    export interface LinkProvider {
          +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
          +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
          +    }
          +
          +    /**
          +     * A color in RGBA format.
          +     */
          +    export interface IColor {
          +        /**
          +         * The red component in the range [0-1].
          +         */
          +        readonly red: number;
          +        /**
          +         * The green component in the range [0-1].
          +         */
          +        readonly green: number;
          +        /**
          +         * The blue component in the range [0-1].
          +         */
          +        readonly blue: number;
          +        /**
          +         * The alpha component in the range [0-1].
          +         */
          +        readonly alpha: number;
          +    }
          +
          +    /**
          +     * String representations for a color
          +     */
          +    export interface IColorPresentation {
          +        /**
          +         * The label of this color presentation. It will be shown on the color
          +         * picker header. By default this is also the text that is inserted when selecting
          +         * this color presentation.
          +         */
          +        label: string;
          +        /**
          +         * An {@link TextEdit edit} which is applied to a document when selecting
          +         * this presentation for the color.
          +         */
          +        textEdit?: TextEdit;
          +        /**
          +         * An optional array of additional {@link TextEdit text edits} that are applied when
          +         * selecting this color presentation.
          +         */
          +        additionalTextEdits?: TextEdit[];
          +    }
          +
          +    /**
          +     * A color range is a range in a text model which represents a color.
          +     */
          +    export interface IColorInformation {
          +        /**
          +         * The range within the model.
          +         */
          +        range: IRange;
          +        /**
          +         * The color represented in this range.
          +         */
          +        color: IColor;
          +    }
          +
          +    /**
          +     * A provider of colors for editor models.
          +     */
          +    export interface DocumentColorProvider {
          +        /**
          +         * Provides the color ranges for a specific model.
          +         */
          +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
          +        /**
          +         * Provide the string representations for a color.
          +         */
          +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
          +    }
          +
          +    export interface SelectionRange {
          +        range: IRange;
          +    }
          +
          +    export interface SelectionRangeProvider {
          +        /**
          +         * Provide ranges that should be selected from the given position.
          +         */
          +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
          +    }
          +
          +    export interface FoldingContext {
          +    }
          +
          +    /**
          +     * A provider of folding ranges for editor models.
          +     */
          +    export interface FoldingRangeProvider {
          +        /**
          +         * An optional event to signal that the folding ranges from this provider have changed.
          +         */
          +        onDidChange?: IEvent<this>;
          +        /**
          +         * Provides the folding ranges for a specific model.
          +         */
          +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
          +    }
          +
          +    export interface FoldingRange {
          +        /**
          +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
          +         */
          +        start: number;
          +        /**
          +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
          +         */
          +        end: number;
          +        /**
          +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
          +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
          +         * like 'Fold all comments'. See
          +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
          +         */
          +        kind?: FoldingRangeKind;
          +    }
          +
          +    export class FoldingRangeKind {
          +        value: string;
          +        /**
          +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
          +         */
          +        static readonly Comment: FoldingRangeKind;
          +        /**
          +         * Kind for folding range representing a import. The value of the kind is 'imports'.
          +         */
          +        static readonly Imports: FoldingRangeKind;
          +        /**
          +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
          +         * The value of the kind is 'region'.
          +         */
          +        static readonly Region: FoldingRangeKind;
          +        /**
          +         * Creates a new {@link FoldingRangeKind}.
          +         *
          +         * @param value of the kind.
          +         */
          +        constructor(value: string);
          +    }
          +
          +    export interface WorkspaceEditMetadata {
          +        needsConfirmation: boolean;
          +        label: string;
          +        description?: string;
          +    }
          +
          +    export interface WorkspaceFileEditOptions {
          +        overwrite?: boolean;
          +        ignoreIfNotExists?: boolean;
          +        ignoreIfExists?: boolean;
          +        recursive?: boolean;
          +        copy?: boolean;
          +        folder?: boolean;
          +        skipTrashBin?: boolean;
          +        maxSize?: number;
          +    }
          +
          +    export interface WorkspaceFileEdit {
          +        oldUri?: Uri;
          +        newUri?: Uri;
          +        options?: WorkspaceFileEditOptions;
          +        metadata?: WorkspaceEditMetadata;
          +    }
          +
          +    export interface WorkspaceTextEdit {
          +        resource: Uri;
          +        edit: TextEdit;
          +        modelVersionId?: number;
          +        metadata?: WorkspaceEditMetadata;
          +    }
          +
          +    export interface WorkspaceEdit {
          +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
          +    }
          +
          +    export interface Rejection {
          +        rejectReason?: string;
          +    }
          +
          +    export interface RenameLocation {
          +        range: IRange;
          +        text: string;
          +    }
          +
          +    export interface RenameProvider {
          +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
          +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
          +    }
          +
          +    export interface Command {
          +        id: string;
          +        title: string;
          +        tooltip?: string;
          +        arguments?: any[];
          +    }
          +
          +    export interface CodeLens {
          +        range: IRange;
          +        id?: string;
          +        command?: Command;
          +    }
          +
          +    export interface CodeLensList {
          +        lenses: CodeLens[];
          +        dispose(): void;
          +    }
          +
          +    export interface CodeLensProvider {
          +        onDidChange?: IEvent<this>;
          +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
          +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
          +    }
          +
          +    export enum InlayHintKind {
          +        Other = 0,
          +        Type = 1,
          +        Parameter = 2
          +    }
          +
          +    export interface InlayHint {
          +        text: string;
          +        position: IPosition;
          +        kind: InlayHintKind;
          +        whitespaceBefore?: boolean;
          +        whitespaceAfter?: boolean;
          +    }
          +
          +    export interface InlayHintsProvider {
          +        onDidChangeInlayHints?: IEvent<void>;
          +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
          +    }
          +
          +    export interface SemanticTokensLegend {
          +        readonly tokenTypes: string[];
          +        readonly tokenModifiers: string[];
          +    }
          +
          +    export interface SemanticTokens {
          +        readonly resultId?: string;
          +        readonly data: Uint32Array;
          +    }
          +
          +    export interface SemanticTokensEdit {
          +        readonly start: number;
          +        readonly deleteCount: number;
          +        readonly data?: Uint32Array;
          +    }
          +
          +    export interface SemanticTokensEdits {
          +        readonly resultId?: string;
          +        readonly edits: SemanticTokensEdit[];
          +    }
          +
          +    export interface DocumentSemanticTokensProvider {
          +        onDidChange?: IEvent<void>;
          +        getLegend(): SemanticTokensLegend;
          +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
          +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
          +    }
          +
          +    export interface DocumentRangeSemanticTokensProvider {
          +        getLegend(): SemanticTokensLegend;
          +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
          +    }
          +
          +    export interface ILanguageExtensionPoint {
          +        id: string;
          +        extensions?: string[];
          +        filenames?: string[];
          +        filenamePatterns?: string[];
          +        firstLine?: string;
          +        aliases?: string[];
          +        mimetypes?: string[];
          +        configuration?: Uri;
          +    }
          +    /**
          +     * A Monarch language definition
          +     */
          +    export interface IMonarchLanguage {
          +        /**
          +         * map from string to ILanguageRule[]
          +         */
          +        tokenizer: {
          +            [name: string]: IMonarchLanguageRule[];
          +        };
          +        /**
          +         * is the language case insensitive?
          +         */
          +        ignoreCase?: boolean;
          +        /**
          +         * is the language unicode-aware? (i.e., /\u{1D306}/)
          +         */
          +        unicode?: boolean;
          +        /**
          +         * if no match in the tokenizer assign this token class (default 'source')
          +         */
          +        defaultToken?: string;
          +        /**
          +         * for example [['{','}','delimiter.curly']]
          +         */
          +        brackets?: IMonarchLanguageBracket[];
          +        /**
          +         * start symbol in the tokenizer (by default the first entry is used)
          +         */
          +        start?: string;
          +        /**
          +         * attach this to every token class (by default '.' + name)
          +         */
          +        tokenPostfix?: string;
          +        /**
          +         * include line feeds (in the form of a \n character) at the end of lines
          +         * Defaults to false
          +         */
          +        includeLF?: boolean;
          +        /**
          +         * Other keys that can be referred to by the tokenizer.
          +         */
          +        [key: string]: any;
          +    }
          +
          +    /**
          +     * A rule is either a regular expression and an action
          +     * 		shorthands: [reg,act] == { regex: reg, action: act}
          +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
          +     */
          +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
          +
          +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
          +
          +    export interface IExpandedMonarchLanguageRule {
          +        /**
          +         * match tokens
          +         */
          +        regex?: string | RegExp;
          +        /**
          +         * action to take on match
          +         */
          +        action?: IMonarchLanguageAction;
          +        /**
          +         * or an include rule. include all rules from the included state
          +         */
          +        include?: string;
          +    }
          +
          +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
          +
          +    /**
          +     * An action is either an array of actions...
          +     * ... or a case statement with guards...
          +     * ... or a basic action with a token value.
          +     */
          +    export type IShortMonarchLanguageAction = string;
          +
          +    export interface IExpandedMonarchLanguageAction {
          +        /**
          +         * array of actions for each parenthesized match group
          +         */
          +        group?: IMonarchLanguageAction[];
          +        /**
          +         * map from string to ILanguageAction
          +         */
          +        cases?: Object;
          +        /**
          +         * token class (ie. css class) (or "@brackets" or "@rematch")
          +         */
          +        token?: string;
          +        /**
          +         * the next state to push, or "@push", "@pop", "@popall"
          +         */
          +        next?: string;
          +        /**
          +         * switch to this state
          +         */
          +        switchTo?: string;
          +        /**
          +         * go back n characters in the stream
          +         */
          +        goBack?: number;
          +        /**
          +         * @open or @close
          +         */
          +        bracket?: string;
          +        /**
          +         * switch to embedded language (using the mimetype) or get out using "@pop"
          +         */
          +        nextEmbedded?: string;
          +        /**
          +         * log a message to the browser console window
          +         */
          +        log?: string;
          +    }
          +
          +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
          +
          +    /**
          +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
          +     */
          +    export interface IMonarchLanguageBracket {
          +        /**
          +         * open bracket
          +         */
          +        open: string;
          +        /**
          +         * closing bracket
          +         */
          +        close: string;
          +        /**
          +         * token class
          +         */
          +        token: string;
          +    }
          +
          +}
          +
          +declare namespace monaco.worker {
          +
          +
          +    export interface IMirrorTextModel {
          +        readonly version: number;
          +    }
          +
          +    export interface IMirrorModel extends IMirrorTextModel {
          +        readonly uri: Uri;
          +        readonly version: number;
          +        getValue(): string;
          +    }
          +
          +    export interface IWorkerContext<H = undefined> {
          +        /**
          +         * A proxy to the main thread host object.
          +         */
          +        host: H;
          +        /**
          +         * Get all available mirror models in this worker.
          +         */
          +        getMirrorModels(): IMirrorModel[];
          +    }
          +
          +}
          +
          +//dtsv=3
          +
          +/*---------------------------------------------------------------------------------------------
          + *  Copyright (c) Microsoft Corporation. All rights reserved.
          + *  Licensed under the MIT License. See License.txt in the project root for license information.
          + *--------------------------------------------------------------------------------------------*/
          +
          +declare namespace monaco.languages.typescript {
          +    export enum ModuleKind {
          +        None = 0,
          +        CommonJS = 1,
          +        AMD = 2,
          +        UMD = 3,
          +        System = 4,
          +        ES2015 = 5,
          +        ESNext = 99
          +    }
          +    export enum JsxEmit {
          +        None = 0,
          +        Preserve = 1,
          +        React = 2,
          +        ReactNative = 3,
          +        ReactJSX = 4,
          +        ReactJSXDev = 5
          +    }
          +    export enum NewLineKind {
          +        CarriageReturnLineFeed = 0,
          +        LineFeed = 1
          +    }
          +    export enum ScriptTarget {
          +        ES3 = 0,
          +        ES5 = 1,
          +        ES2015 = 2,
          +        ES2016 = 3,
          +        ES2017 = 4,
          +        ES2018 = 5,
          +        ES2019 = 6,
          +        ES2020 = 7,
          +        ESNext = 99,
          +        JSON = 100,
          +        Latest = 99
          +    }
          +    export enum ModuleResolutionKind {
          +        Classic = 1,
          +        NodeJs = 2
          +    }
          +    interface MapLike<T> {
          +        [index: string]: T;
          +    }
          +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
          +    interface CompilerOptions {
          +        allowJs?: boolean;
          +        allowSyntheticDefaultImports?: boolean;
          +        allowUmdGlobalAccess?: boolean;
          +        allowUnreachableCode?: boolean;
          +        allowUnusedLabels?: boolean;
          +        alwaysStrict?: boolean;
          +        baseUrl?: string;
          +        charset?: string;
          +        checkJs?: boolean;
          +        declaration?: boolean;
          +        declarationMap?: boolean;
          +        emitDeclarationOnly?: boolean;
          +        declarationDir?: string;
          +        disableSizeLimit?: boolean;
          +        disableSourceOfProjectReferenceRedirect?: boolean;
          +        downlevelIteration?: boolean;
          +        emitBOM?: boolean;
          +        emitDecoratorMetadata?: boolean;
          +        experimentalDecorators?: boolean;
          +        forceConsistentCasingInFileNames?: boolean;
          +        importHelpers?: boolean;
          +        inlineSourceMap?: boolean;
          +        inlineSources?: boolean;
          +        isolatedModules?: boolean;
          +        jsx?: JsxEmit;
          +        keyofStringsOnly?: boolean;
          +        lib?: string[];
          +        locale?: string;
          +        mapRoot?: string;
          +        maxNodeModuleJsDepth?: number;
          +        module?: ModuleKind;
          +        moduleResolution?: ModuleResolutionKind;
          +        newLine?: NewLineKind;
          +        noEmit?: boolean;
          +        noEmitHelpers?: boolean;
          +        noEmitOnError?: boolean;
          +        noErrorTruncation?: boolean;
          +        noFallthroughCasesInSwitch?: boolean;
          +        noImplicitAny?: boolean;
          +        noImplicitReturns?: boolean;
          +        noImplicitThis?: boolean;
          +        noStrictGenericChecks?: boolean;
          +        noUnusedLocals?: boolean;
          +        noUnusedParameters?: boolean;
          +        noImplicitUseStrict?: boolean;
          +        noLib?: boolean;
          +        noResolve?: boolean;
          +        out?: string;
          +        outDir?: string;
          +        outFile?: string;
          +        paths?: MapLike<string[]>;
          +        preserveConstEnums?: boolean;
          +        preserveSymlinks?: boolean;
          +        project?: string;
          +        reactNamespace?: string;
          +        jsxFactory?: string;
          +        composite?: boolean;
          +        removeComments?: boolean;
          +        rootDir?: string;
          +        rootDirs?: string[];
          +        skipLibCheck?: boolean;
          +        skipDefaultLibCheck?: boolean;
          +        sourceMap?: boolean;
          +        sourceRoot?: string;
          +        strict?: boolean;
          +        strictFunctionTypes?: boolean;
          +        strictBindCallApply?: boolean;
          +        strictNullChecks?: boolean;
          +        strictPropertyInitialization?: boolean;
          +        stripInternal?: boolean;
          +        suppressExcessPropertyErrors?: boolean;
          +        suppressImplicitAnyIndexErrors?: boolean;
          +        target?: ScriptTarget;
          +        traceResolution?: boolean;
          +        resolveJsonModule?: boolean;
          +        types?: string[];
          +        /** Paths used to compute primary types search locations */
          +        typeRoots?: string[];
          +        esModuleInterop?: boolean;
          +        useDefineForClassFields?: boolean;
          +        [option: string]: CompilerOptionsValue | undefined;
          +    }
          +    export interface DiagnosticsOptions {
          +        noSemanticValidation?: boolean;
          +        noSyntaxValidation?: boolean;
          +        noSuggestionDiagnostics?: boolean;
          +        /**
          +         * Limit diagnostic computation to only visible files.
          +         * Defaults to false.
          +         */
          +        onlyVisible?: boolean;
          +        diagnosticCodesToIgnore?: number[];
          +    }
          +    export interface WorkerOptions {
          +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
          +        customWorkerPath?: string;
          +    }
          +    interface InlayHintsOptions {
          +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
          +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
          +        readonly includeInlayFunctionParameterTypeHints?: boolean;
          +        readonly includeInlayVariableTypeHints?: boolean;
          +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
          +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
          +        readonly includeInlayEnumMemberValueHints?: boolean;
          +    }
          +    interface IExtraLib {
          +        content: string;
          +        version: number;
          +    }
          +    export interface IExtraLibs {
          +        [path: string]: IExtraLib;
          +    }
          +    /**
          +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
          +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
          +     */
          +    interface DiagnosticMessageChain {
          +        messageText: string;
          +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
          +        category: 0 | 1 | 2 | 3;
          +        code: number;
          +        next?: DiagnosticMessageChain[];
          +    }
          +    export interface Diagnostic extends DiagnosticRelatedInformation {
          +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
          +        reportsUnnecessary?: {};
          +        reportsDeprecated?: {};
          +        source?: string;
          +        relatedInformation?: DiagnosticRelatedInformation[];
          +    }
          +    export interface DiagnosticRelatedInformation {
          +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
          +        category: 0 | 1 | 2 | 3;
          +        code: number;
          +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
          +        file: {
          +            fileName: string;
          +        } | undefined;
          +        start: number | undefined;
          +        length: number | undefined;
          +        messageText: string | DiagnosticMessageChain;
          +    }
          +    interface EmitOutput {
          +        outputFiles: OutputFile[];
          +        emitSkipped: boolean;
          +    }
          +    interface OutputFile {
          +        name: string;
          +        writeByteOrderMark: boolean;
          +        text: string;
          +    }
          +    export interface LanguageServiceDefaults {
          +        /**
          +         * Event fired when compiler options or diagnostics options are changed.
          +         */
          +        readonly onDidChange: IEvent<void>;
          +        /**
          +         * Event fired when extra libraries registered with the language service change.
          +         */
          +        readonly onDidExtraLibsChange: IEvent<void>;
          +        readonly workerOptions: WorkerOptions;
          +        readonly inlayHintsOptions: InlayHintsOptions;
          +        /**
          +         * Get the current extra libs registered with the language service.
          +         */
          +        getExtraLibs(): IExtraLibs;
          +        /**
          +         * Add an additional source file to the language service. Use this
          +         * for typescript (definition) files that won't be loaded as editor
          +         * documents, like `jquery.d.ts`.
          +         *
          +         * @param content The file content
          +         * @param filePath An optional file path
          +         * @returns A disposable which will remove the file from the
          +         * language service upon disposal.
          +         */
          +        addExtraLib(content: string, filePath?: string): IDisposable;
          +        /**
          +         * Remove all existing extra libs and set the additional source
          +         * files to the language service. Use this for typescript definition
          +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
          +         * @param libs An array of entries to register.
          +         */
          +        setExtraLibs(libs: {
          +            content: string;
          +            filePath?: string;
          +        }[]): void;
          +        /**
          +         * Get current TypeScript compiler options for the language service.
          +         */
          +        getCompilerOptions(): CompilerOptions;
          +        /**
          +         * Set TypeScript compiler options.
          +         */
          +        setCompilerOptions(options: CompilerOptions): void;
          +        /**
          +         * Get the current diagnostics options for the language service.
          +         */
          +        getDiagnosticsOptions(): DiagnosticsOptions;
          +        /**
          +         * Configure whether syntactic and/or semantic validation should
          +         * be performed
          +         */
          +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
          +        /**
          +         * Configure webworker options
          +         */
          +        setWorkerOptions(options: WorkerOptions): void;
          +        /**
          +         * No-op.
          +         */
          +        setMaximumWorkerIdleTime(value: number): void;
          +        /**
          +         * Configure if all existing models should be eagerly sync'd
          +         * to the worker on start or restart.
          +         */
          +        setEagerModelSync(value: boolean): void;
          +        /**
          +         * Get the current setting for whether all existing models should be eagerly sync'd
          +         * to the worker on start or restart.
          +         */
          +        getEagerModelSync(): boolean;
          +        /**
          +         * Configure inlay hints options.
          +         */
          +        setInlayHintsOptions(options: InlayHintsOptions): void;
          +    }
          +    export interface TypeScriptWorker {
          +        /**
          +         * Get diagnostic messages for any syntax issues in the given file.
          +         */
          +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
          +        /**
          +         * Get diagnostic messages for any semantic issues in the given file.
          +         */
          +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
          +        /**
          +         * Get diagnostic messages for any suggestions related to the given file.
          +         */
          +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
          +        /**
          +         * Get the content of a given file.
          +         */
          +        getScriptText(fileName: string): Promise<string | undefined>;
          +        /**
          +         * Get diagnostic messages related to the current compiler options.
          +         * @param fileName Not used
          +         */
          +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
          +        /**
          +         * Get code completions for the given file and position.
          +         * @returns `Promise<typescript.CompletionInfo | undefined>`
          +         */
          +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
          +        /**
          +         * Get code completion details for the given file, position, and entry.
          +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
          +         */
          +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
          +        /**
          +         * Get signature help items for the item at the given file and position.
          +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
          +         */
          +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
          +        /**
          +         * Get quick info for the item at the given position in the file.
          +         * @returns `Promise<typescript.QuickInfo | undefined>`
          +         */
          +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
          +        /**
          +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
          +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
          +         */
          +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
          +        /**
          +         * Get the definition of the item at the given position in the file.
          +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
          +         */
          +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
          +        /**
          +         * Get references to the item at the given position in the file.
          +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
          +         */
          +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
          +        /**
          +         * Get outline entries for the item at the given position in the file.
          +         * @returns `Promise<typescript.NavigationBarItem[]>`
          +         */
          +        getNavigationBarItems(fileName: string): Promise<any[]>;
          +        /**
          +         * Get changes which should be applied to format the given file.
          +         * @param options `typescript.FormatCodeOptions`
          +         * @returns `Promise<typescript.TextChange[]>`
          +         */
          +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
          +        /**
          +         * Get changes which should be applied to format the given range in the file.
          +         * @param options `typescript.FormatCodeOptions`
          +         * @returns `Promise<typescript.TextChange[]>`
          +         */
          +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
          +        /**
          +         * Get formatting changes which should be applied after the given keystroke.
          +         * @param options `typescript.FormatCodeOptions`
          +         * @returns `Promise<typescript.TextChange[]>`
          +         */
          +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
          +        /**
          +         * Get other occurrences which should be updated when renaming the item at the given file and position.
          +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
          +         */
          +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
          +        /**
          +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
          +         * @param options `typescript.RenameInfoOptions`
          +         * @returns `Promise<typescript.RenameInfo>`
          +         */
          +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
          +        /**
          +         * Get transpiled output for the given file.
          +         * @returns `typescript.EmitOutput`
          +         */
          +        getEmitOutput(fileName: string): Promise<EmitOutput>;
          +        /**
          +         * Get possible code fixes at the given position in the file.
          +         * @param formatOptions `typescript.FormatCodeOptions`
          +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
          +         */
          +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
          +        /**
          +         * Get inlay hints in the range of the file.
          +         * @param fileName
          +         * @returns `Promise<typescript.InlayHint[]>`
          +         */
          +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
          +    }
          +    export const typescriptVersion: string;
          +    export const typescriptDefaults: LanguageServiceDefaults;
          +    export const javascriptDefaults: LanguageServiceDefaults;
          +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
          +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
          +}
          +
          +/*---------------------------------------------------------------------------------------------
          + *  Copyright (c) Microsoft Corporation. All rights reserved.
          + *  Licensed under the MIT License. See License.txt in the project root for license information.
          + *--------------------------------------------------------------------------------------------*/
          +
          +declare namespace monaco.languages.css {
          +    export interface Options {
          +        readonly validate?: boolean;
          +        readonly lint?: {
          +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
          +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
          +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
          +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
          +            readonly importStatement?: 'ignore' | 'warning' | 'error';
          +            readonly boxModel?: 'ignore' | 'warning' | 'error';
          +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
          +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
          +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
          +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
          +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
          +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
          +            readonly ieHack?: 'ignore' | 'warning' | 'error';
          +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
          +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
          +            readonly important?: 'ignore' | 'warning' | 'error';
          +            readonly float?: 'ignore' | 'warning' | 'error';
          +            readonly idSelector?: 'ignore' | 'warning' | 'error';
          +        };
          +        /**
          +         * Configures the CSS data types known by the langauge service.
          +         */
          +        readonly data?: CSSDataConfiguration;
          +    }
          +    export interface ModeConfiguration {
          +        /**
          +         * Defines whether the built-in completionItemProvider is enabled.
          +         */
          +        readonly completionItems?: boolean;
          +        /**
          +         * Defines whether the built-in hoverProvider is enabled.
          +         */
          +        readonly hovers?: boolean;
          +        /**
          +         * Defines whether the built-in documentSymbolProvider is enabled.
          +         */
          +        readonly documentSymbols?: boolean;
          +        /**
          +         * Defines whether the built-in definitions provider is enabled.
          +         */
          +        readonly definitions?: boolean;
          +        /**
          +         * Defines whether the built-in references provider is enabled.
          +         */
          +        readonly references?: boolean;
          +        /**
          +         * Defines whether the built-in references provider is enabled.
          +         */
          +        readonly documentHighlights?: boolean;
          +        /**
          +         * Defines whether the built-in rename provider is enabled.
          +         */
          +        readonly rename?: boolean;
          +        /**
          +         * Defines whether the built-in color provider is enabled.
          +         */
          +        readonly colors?: boolean;
          +        /**
          +         * Defines whether the built-in foldingRange provider is enabled.
          +         */
          +        readonly foldingRanges?: boolean;
          +        /**
          +         * Defines whether the built-in diagnostic provider is enabled.
          +         */
          +        readonly diagnostics?: boolean;
          +        /**
          +         * Defines whether the built-in selection range provider is enabled.
          +         */
          +        readonly selectionRanges?: boolean;
          +    }
          +    export interface LanguageServiceDefaults {
          +        readonly languageId: string;
          +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
          +        readonly modeConfiguration: ModeConfiguration;
          +        readonly options: Options;
          +        setOptions(options: Options): void;
          +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
          +        /** @deprecated Use options instead */
          +        readonly diagnosticsOptions: DiagnosticsOptions;
          +        /** @deprecated Use setOptions instead */
          +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
          +    }
          +    /** @deprecated Use Options instead */
          +    export type DiagnosticsOptions = Options;
          +    export const cssDefaults: LanguageServiceDefaults;
          +    export const scssDefaults: LanguageServiceDefaults;
          +    export const lessDefaults: LanguageServiceDefaults;
          +    export interface CSSDataConfiguration {
          +        /**
          +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
          +         */
          +        useDefaultDataProvider?: boolean;
          +        /**
          +         * Provides a set of custom data providers.
          +         */
          +        dataProviders?: {
          +            [providerId: string]: CSSDataV1;
          +        };
          +    }
          +    /**
          +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
          +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
          +     */
          +    export interface CSSDataV1 {
          +        version: 1 | 1.1;
          +        properties?: IPropertyData[];
          +        atDirectives?: IAtDirectiveData[];
          +        pseudoClasses?: IPseudoClassData[];
          +        pseudoElements?: IPseudoElementData[];
          +    }
          +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
          +    export interface IReference {
          +        name: string;
          +        url: string;
          +    }
          +    export interface IPropertyData {
          +        name: string;
          +        description?: string | MarkupContent;
          +        browsers?: string[];
          +        restrictions?: string[];
          +        status?: EntryStatus;
          +        syntax?: string;
          +        values?: IValueData[];
          +        references?: IReference[];
          +        relevance?: number;
          +    }
          +    export interface IAtDirectiveData {
          +        name: string;
          +        description?: string | MarkupContent;
          +        browsers?: string[];
          +        status?: EntryStatus;
          +        references?: IReference[];
          +    }
          +    export interface IPseudoClassData {
          +        name: string;
          +        description?: string | MarkupContent;
          +        browsers?: string[];
          +        status?: EntryStatus;
          +        references?: IReference[];
          +    }
          +    export interface IPseudoElementData {
          +        name: string;
          +        description?: string | MarkupContent;
          +        browsers?: string[];
          +        status?: EntryStatus;
          +        references?: IReference[];
          +    }
          +    export interface IValueData {
          +        name: string;
          +        description?: string | MarkupContent;
          +        browsers?: string[];
          +        status?: EntryStatus;
          +        references?: IReference[];
          +    }
          +    export interface MarkupContent {
          +        kind: MarkupKind;
          +        value: string;
          +    }
          +    export type MarkupKind = 'plaintext' | 'markdown';
          +}
          +
          +/*---------------------------------------------------------------------------------------------
          + *  Copyright (c) Microsoft Corporation. All rights reserved.
          + *  Licensed under the MIT License. See License.txt in the project root for license information.
          + *--------------------------------------------------------------------------------------------*/
          +
          +declare namespace monaco.languages.json {
          +    export interface DiagnosticsOptions {
          +        /**
          +         * If set, the validator will be enabled and perform syntax and schema based validation,
          +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
          +         */
          +        readonly validate?: boolean;
          +        /**
          +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
          +         * `DiagnosticsOptions.allowComments` will override this setting.
          +         */
          +        readonly allowComments?: boolean;
          +        /**
          +         * A list of known schemas and/or associations of schemas to file names.
          +         */
          +        readonly schemas?: {
          +            /**
          +             * The URI of the schema, which is also the identifier of the schema.
          +             */
          +            readonly uri: string;
          +            /**
          +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
          +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
          +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
          +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
          +             */
          +            readonly fileMatch?: string[];
          +            /**
          +             * The schema for the given URI.
          +             */
          +            readonly schema?: any;
          +        }[];
          +        /**
          +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
          +         */
          +        readonly enableSchemaRequest?: boolean;
          +        /**
          +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
          +         */
          +        readonly schemaValidation?: SeverityLevel;
          +        /**
          +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
          +         */
          +        readonly schemaRequest?: SeverityLevel;
          +        /**
          +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
          +         */
          +        readonly trailingCommas?: SeverityLevel;
          +        /**
          +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
          +         */
          +        readonly comments?: SeverityLevel;
          +    }
          +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
          +    export interface ModeConfiguration {
          +        /**
          +         * Defines whether the built-in documentFormattingEdit provider is enabled.
          +         */
          +        readonly documentFormattingEdits?: boolean;
          +        /**
          +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
          +         */
          +        readonly documentRangeFormattingEdits?: boolean;
          +        /**
          +         * Defines whether the built-in completionItemProvider is enabled.
          +         */
          +        readonly completionItems?: boolean;
          +        /**
          +         * Defines whether the built-in hoverProvider is enabled.
          +         */
          +        readonly hovers?: boolean;
          +        /**
          +         * Defines whether the built-in documentSymbolProvider is enabled.
          +         */
          +        readonly documentSymbols?: boolean;
          +        /**
          +         * Defines whether the built-in tokens provider is enabled.
          +         */
          +        readonly tokens?: boolean;
          +        /**
          +         * Defines whether the built-in color provider is enabled.
          +         */
          +        readonly colors?: boolean;
          +        /**
          +         * Defines whether the built-in foldingRange provider is enabled.
          +         */
          +        readonly foldingRanges?: boolean;
          +        /**
          +         * Defines whether the built-in diagnostic provider is enabled.
          +         */
          +        readonly diagnostics?: boolean;
          +        /**
          +         * Defines whether the built-in selection range provider is enabled.
          +         */
          +        readonly selectionRanges?: boolean;
          +    }
          +    export interface LanguageServiceDefaults {
          +        readonly languageId: string;
          +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
          +        readonly diagnosticsOptions: DiagnosticsOptions;
          +        readonly modeConfiguration: ModeConfiguration;
          +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
          +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
          +    }
          +    export const jsonDefaults: LanguageServiceDefaults;
          +}
          +
          +/*---------------------------------------------------------------------------------------------
          + *  Copyright (c) Microsoft Corporation. All rights reserved.
          + *  Licensed under the MIT License. See License.txt in the project root for license information.
          + *--------------------------------------------------------------------------------------------*/
          +
          +declare namespace monaco.languages.html {
          +    export interface HTMLFormatConfiguration {
          +        readonly tabSize: number;
          +        readonly insertSpaces: boolean;
          +        readonly wrapLineLength: number;
          +        readonly unformatted: string;
          +        readonly contentUnformatted: string;
          +        readonly indentInnerHtml: boolean;
          +        readonly preserveNewLines: boolean;
          +        readonly maxPreserveNewLines: number | undefined;
          +        readonly indentHandlebars: boolean;
          +        readonly endWithNewline: boolean;
          +        readonly extraLiners: string;
          +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
          +    }
          +    export interface CompletionConfiguration {
          +        readonly [providerId: string]: boolean;
          +    }
          +    export interface Options {
          +        /**
          +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
          +         */
          +        readonly format?: HTMLFormatConfiguration;
          +        /**
          +         * A list of known schemas and/or associations of schemas to file names.
          +         */
          +        readonly suggest?: CompletionConfiguration;
          +        /**
          +         * Configures the HTML data types known by the HTML langauge service.
          +         */
          +        readonly data?: HTMLDataConfiguration;
          +    }
          +    export interface ModeConfiguration {
          +        /**
          +         * Defines whether the built-in completionItemProvider is enabled.
          +         */
          +        readonly completionItems?: boolean;
          +        /**
          +         * Defines whether the built-in hoverProvider is enabled.
          +         */
          +        readonly hovers?: boolean;
          +        /**
          +         * Defines whether the built-in documentSymbolProvider is enabled.
          +         */
          +        readonly documentSymbols?: boolean;
          +        /**
          +         * Defines whether the built-in definitions provider is enabled.
          +         */
          +        readonly links?: boolean;
          +        /**
          +         * Defines whether the built-in references provider is enabled.
          +         */
          +        readonly documentHighlights?: boolean;
          +        /**
          +         * Defines whether the built-in rename provider is enabled.
          +         */
          +        readonly rename?: boolean;
          +        /**
          +         * Defines whether the built-in color provider is enabled.
          +         */
          +        readonly colors?: boolean;
          +        /**
          +         * Defines whether the built-in foldingRange provider is enabled.
          +         */
          +        readonly foldingRanges?: boolean;
          +        /**
          +         * Defines whether the built-in diagnostic provider is enabled.
          +         */
          +        readonly diagnostics?: boolean;
          +        /**
          +         * Defines whether the built-in selection range provider is enabled.
          +         */
          +        readonly selectionRanges?: boolean;
          +        /**
          +         * Defines whether the built-in documentFormattingEdit provider is enabled.
          +         */
          +        readonly documentFormattingEdits?: boolean;
          +        /**
          +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
          +         */
          +        readonly documentRangeFormattingEdits?: boolean;
          +    }
          +    export interface LanguageServiceDefaults {
          +        readonly languageId: string;
          +        readonly modeConfiguration: ModeConfiguration;
          +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
          +        readonly options: Options;
          +        setOptions(options: Options): void;
          +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
          +    }
          +    export const htmlLanguageService: LanguageServiceRegistration;
          +    export const htmlDefaults: LanguageServiceDefaults;
          +    export const handlebarLanguageService: LanguageServiceRegistration;
          +    export const handlebarDefaults: LanguageServiceDefaults;
          +    export const razorLanguageService: LanguageServiceRegistration;
          +    export const razorDefaults: LanguageServiceDefaults;
          +    export interface LanguageServiceRegistration extends IDisposable {
          +        readonly defaults: LanguageServiceDefaults;
          +    }
          +    /**
          +     * Registers a new HTML language service for the languageId.
          +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
          +     *
          +     * Use this method to register additional language ids with a HTML service.
          +     * The language server has to be registered before an editor model is opened.
          +     */
          +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
          +    export interface HTMLDataConfiguration {
          +        /**
          +         * Defines whether the standard HTML tags and attributes are shown
          +         */
          +        readonly useDefaultDataProvider?: boolean;
          +        /**
          +         * Provides a set of custom data providers.
          +         */
          +        readonly dataProviders?: {
          +            [providerId: string]: HTMLDataV1;
          +        };
          +    }
          +    /**
          +     * Custom HTML tags attributes and attribute values
          +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
          +     */
          +    export interface HTMLDataV1 {
          +        readonly version: 1 | 1.1;
          +        readonly tags?: ITagData[];
          +        readonly globalAttributes?: IAttributeData[];
          +        readonly valueSets?: IValueSet[];
          +    }
          +    export interface IReference {
          +        readonly name: string;
          +        readonly url: string;
          +    }
          +    export interface ITagData {
          +        readonly name: string;
          +        readonly description?: string | MarkupContent;
          +        readonly attributes: IAttributeData[];
          +        readonly references?: IReference[];
          +    }
          +    export interface IAttributeData {
          +        readonly name: string;
          +        readonly description?: string | MarkupContent;
          +        readonly valueSet?: string;
          +        readonly values?: IValueData[];
          +        readonly references?: IReference[];
          +    }
          +    export interface IValueData {
          +        readonly name: string;
          +        readonly description?: string | MarkupContent;
          +        readonly references?: IReference[];
          +    }
          +    export interface IValueSet {
          +        readonly name: string;
          +        readonly values: IValueData[];
          +    }
          +    export interface MarkupContent {
          +        readonly kind: MarkupKind;
          +        readonly value: string;
          +    }
          +    export type MarkupKind = 'plaintext' | 'markdown';
          +}
          +
          +
          +
          + + + + + + + + +
          +
          +

          results matching ""

          +
            +
            +
            +

            No results matching ""

            +
            +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/Range.html b/docs/api-reference/classes/Range.html new file mode 100644 index 00000000..ef7360bf --- /dev/null +++ b/docs/api-reference/classes/Range.html @@ -0,0 +1,10631 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
            +
            + + +
            +
            + + + + + + + + + + + + + + + +
            +
            +

            +

            File

            +

            +

            + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

            + + +

            +

            Description

            +

            +

            +

            A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)

            + +

            + + + + +
            +

            Index

            + + + + + + + + + + + + + + + + + + + + + +
            +
            Properties
            +
            + +
            +
            Methods
            +
            + +
            +
            + +
            +

            Constructor

            + + + + + + + + + + + + + +
            +constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number) +
            + +
            +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            startLineNumber + number + + No +
            startColumn + number + + No +
            endLineNumber + number + + No +
            endColumn + number + + No +
            +
            +
            +
            + +
            + +

            + Properties +

            + + + + + + + + + + + + + + + + + +
            + + + Readonly + endColumn + + +
            + Type : number + +
            + +
            +

            Column on which the range ends in line endLineNumber.

            +
            +
            + + + + + + + + + + + + + + + + + +
            + + + Readonly + endLineNumber + + +
            + Type : number + +
            + +
            +

            Line number on which the range ends.

            +
            +
            + + + + + + + + + + + + + + + + + +
            + + + Readonly + startColumn + + +
            + Type : number + +
            + +
            +

            Column on which the range starts in line startLineNumber (starts at 1).

            +
            +
            + + + + + + + + + + + + + + + + + +
            + + + Readonly + startLineNumber + + +
            + Type : number + +
            + +
            +

            Line number on which the range starts (starts at 1).

            +
            +
            +
            + +
            + +

            + Methods +

            + + + + + + + + + + + + + + + + + + + +
            + + + Static + areIntersecting + + +
            + + areIntersecting(a: IRange, b: IRange) +
            + +
            +

            Test if the two ranges are intersecting. If the ranges are touching it returns true.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange + + No +
            b + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + areIntersectingOrTouching + + +
            + + areIntersectingOrTouching(a: IRange, b: IRange) +
            + +
            +

            Test if the two ranges are touching in any way.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange + + No +
            b + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + collapseToStart + + +
            +collapseToStart() +
            + +
            +

            Create a new empty range using this range's start position.

            +
            + +
            + Returns : Range + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + collapseToStart + + +
            + + collapseToStart(range: IRange) +
            + +
            +

            Create a new empty range using this range's start position.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + compareRangesUsingEnds + + +
            + + compareRangesUsingEnds(a: IRange, b: IRange) +
            + +
            +

            A function that compares ranges, useful for sorting ranges +It will first compare ranges on the endPosition and then on the startPosition

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange + + No +
            b + IRange + + No +
            +
            +
            +
            +
            + Returns : number + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + compareRangesUsingStarts + + +
            + + compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined) +
            + +
            +

            A function that compares ranges, useful for sorting ranges +It will first compare ranges on the startPosition and then on the endPosition

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange | null | undefined + + No +
            b + IRange | null | undefined + + No +
            +
            +
            +
            +
            + Returns : number + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + containsPosition + + +
            +containsPosition(position: IPosition) +
            + +
            +

            Test if position is in this range. If the position is at the edges, will return true.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            position + IPosition + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + containsPosition + + +
            + + containsPosition(range: IRange, position: IPosition) +
            + +
            +

            Test if position is in range. If the position is at the edges, will return true.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            position + IPosition + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + containsRange + + +
            +containsRange(range: IRange) +
            + +
            +

            Test if range is in this range. If the range is equal to this range, will return true.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + containsRange + + +
            + + containsRange(range: IRange, otherRange: IRange) +
            + +
            +

            Test if otherRange is in range. If the ranges are equal, will return true.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            otherRange + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + equalsRange + + +
            +equalsRange(other: IRange | null) +
            + +
            +

            Test if this range equals other.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            other + IRange | null + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + equalsRange + + +
            + + equalsRange(a: IRange | null, b: IRange | null) +
            + +
            +

            Test if range a equals b.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange | null + + No +
            b + IRange | null + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + fromPositions + + +
            + + fromPositions(start: IPosition, end?: IPosition) +
            + +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            start + IPosition + + No +
            end + IPosition + + Yes +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + getEndPosition + + +
            +getEndPosition() +
            + +
            +

            Return the end position (which will be after or equal to the start position)

            +
            + +
            + Returns : Position + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + getEndPosition + + +
            + + getEndPosition(range: IRange) +
            + +
            +

            Return the end position (which will be after or equal to the start position)

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : Position + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + getStartPosition + + +
            +getStartPosition() +
            + +
            +

            Return the start position (which will be before or equal to the end position)

            +
            + +
            + Returns : Position + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + getStartPosition + + +
            + + getStartPosition(range: IRange) +
            + +
            +

            Return the start position (which will be before or equal to the end position)

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : Position + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + intersectRanges + + +
            +intersectRanges(range: IRange) +
            + +
            +

            A intersection of the two ranges.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : Range | null + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + intersectRanges + + +
            + + intersectRanges(a: IRange, b: IRange) +
            + +
            +

            A intersection of the two ranges.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange + + No +
            b + IRange + + No +
            +
            +
            +
            +
            + Returns : Range | null + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + isEmpty + + +
            +isEmpty() +
            + +
            +

            Test if this range is empty.

            +
            + +
            + Returns : boolean + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + isEmpty + + +
            + + isEmpty(range: IRange) +
            + +
            +

            Test if range is empty.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + isIRange + + +
            + + isIRange(obj: any) +
            + +
            +

            Test if obj is an IRange.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            obj + any + + No +
            +
            +
            +
            +
            + Returns : IRange + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + lift + + +
            + + lift(range: undefined | null) +
            + +
            +

            Create a Range from an IRange.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + undefined | null + + No +
            +
            +
            +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + lift + + +
            + + lift(range: IRange) +
            + +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + plusRange + + +
            +plusRange(range: IRange) +
            + +
            +

            A reunion of the two ranges. +The smallest position will be used as the start point, and the largest one as the end point.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + plusRange + + +
            + + plusRange(a: IRange, b: IRange) +
            + +
            +

            A reunion of the two ranges. +The smallest position will be used as the start point, and the largest one as the end point.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            a + IRange + + No +
            b + IRange + + No +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + setEndPosition + + +
            +setEndPosition(endLineNumber: number, endColumn: number) +
            + +
            +

            Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            endLineNumber + number + + No +
            endColumn + number + + No +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + setStartPosition + + +
            +setStartPosition(startLineNumber: number, startColumn: number) +
            + +
            +

            Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            startLineNumber + number + + No +
            startColumn + number + + No +
            +
            +
            +
            +
            + Returns : Range + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + spansMultipleLines + + +
            + + spansMultipleLines(range: IRange) +
            + +
            +

            Test if the range spans multiple lines.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + strictContainsRange + + +
            +strictContainsRange(range: IRange) +
            + +
            +

            Test if range is strictly in this range. range must start after and end before this range for the result to be true.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + Static + strictContainsRange + + +
            + + strictContainsRange(range: IRange, otherRange: IRange) +
            + +
            +

            Test if otherRange is strictly in range (must start after, and end before). If the ranges are equal, will return false.

            +
            + +
            + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            NameTypeOptional
            range + IRange + + No +
            otherRange + IRange + + No +
            +
            +
            +
            +
            + Returns : boolean + +
            +
            + +
            +
            + + + + + + + + + + + + + + + + + + + +
            + + + toString + + +
            +toString() +
            + +
            +

            Transform to a user presentable string representation.

            +
            + +
            + Returns : string + +
            +
            +
            + + + + + +
            + + +
            +
            declare let MonacoEnvironment: monaco.Environment | undefined;
            +
            +interface Window {
            +    MonacoEnvironment?: monaco.Environment | undefined;
            +}
            +
            +declare namespace monaco {
            +
            +    export type Thenable<T> = PromiseLike<T>;
            +
            +    export interface Environment {
            +        globalAPI?: boolean;
            +        baseUrl?: string;
            +        getWorker?(workerId: string, label: string): Worker;
            +        getWorkerUrl?(workerId: string, label: string): string;
            +    }
            +
            +    export interface IDisposable {
            +        dispose(): void;
            +    }
            +
            +    export interface IEvent<T> {
            +        (listener: (e: T) => any, thisArg?: any): IDisposable;
            +    }
            +
            +    /**
            +     * A helper that allows to emit and listen to typed events
            +     */
            +    export class Emitter<T> {
            +        constructor();
            +        readonly event: IEvent<T>;
            +        fire(event: T): void;
            +        dispose(): void;
            +    }
            +
            +
            +    export enum MarkerTag {
            +        Unnecessary = 1,
            +        Deprecated = 2
            +    }
            +
            +    export enum MarkerSeverity {
            +        Hint = 1,
            +        Info = 2,
            +        Warning = 4,
            +        Error = 8
            +    }
            +
            +    export class CancellationTokenSource {
            +        constructor(parent?: CancellationToken);
            +        get token(): CancellationToken;
            +        cancel(): void;
            +        dispose(cancel?: boolean): void;
            +    }
            +
            +    export interface CancellationToken {
            +        /**
            +         * A flag signalling is cancellation has been requested.
            +         */
            +        readonly isCancellationRequested: boolean;
            +        /**
            +         * An event which fires when cancellation is requested. This event
            +         * only ever fires `once` as cancellation can only happen once. Listeners
            +         * that are registered after cancellation will be called (next event loop run),
            +         * but also only once.
            +         *
            +         * @event
            +         */
            +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
            +    }
            +    /**
            +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
            +     * This class is a simple parser which creates the basic component parts
            +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
            +     * and encoding.
            +     *
            +     * ```txt
            +     *       foo://example.com:8042/over/there?name=ferret#nose
            +     *       \_/   \______________/\_________/ \_________/ \__/
            +     *        |           |            |            |        |
            +     *     scheme     authority       path        query   fragment
            +     *        |   _____________________|__
            +     *       / \ /                        \
            +     *       urn:example:animal:ferret:nose
            +     * ```
            +     */
            +    export class Uri implements UriComponents {
            +        static isUri(thing: any): thing is Uri;
            +        /**
            +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
            +         * The part before the first colon.
            +         */
            +        readonly scheme: string;
            +        /**
            +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
            +         * The part between the first double slashes and the next slash.
            +         */
            +        readonly authority: string;
            +        /**
            +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
            +         */
            +        readonly path: string;
            +        /**
            +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
            +         */
            +        readonly query: string;
            +        /**
            +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
            +         */
            +        readonly fragment: string;
            +        /**
            +         * Returns a string representing the corresponding file system path of this Uri.
            +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
            +         * platform specific path separator.
            +         *
            +         * * Will *not* validate the path for invalid characters and semantics.
            +         * * Will *not* look at the scheme of this Uri.
            +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
            +         *
            +         *
            +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
            +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
            +         *
            +         * ```ts
            +            const u = Uri.parse('file://server/c$/folder/file.txt')
            +            u.authority === 'server'
            +            u.path === '/shares/c$/file.txt'
            +            u.fsPath === '\\server\c$\folder\file.txt'
            +        ```
            +         *
            +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
            +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
            +         * with URIs that represent files on disk (`file` scheme).
            +         */
            +        get fsPath(): string;
            +        with(change: {
            +            scheme?: string;
            +            authority?: string | null;
            +            path?: string | null;
            +            query?: string | null;
            +            fragment?: string | null;
            +        }): Uri;
            +        /**
            +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
            +         * `file:///usr/home`, or `scheme:with/path`.
            +         *
            +         * @param value A string which represents an Uri (see `Uri#toString`).
            +         */
            +        static parse(value: string, _strict?: boolean): Uri;
            +        /**
            +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
            +         * `/usr/home`, or `\\server\share\some\path`.
            +         *
            +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
            +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
            +         * `Uri.parse('file://' + path)` because the path might contain characters that are
            +         * interpreted (# and ?). See the following sample:
            +         * ```ts
            +        const good = Uri.file('/coding/c#/project1');
            +        good.scheme === 'file';
            +        good.path === '/coding/c#/project1';
            +        good.fragment === '';
            +        const bad = Uri.parse('file://' + '/coding/c#/project1');
            +        bad.scheme === 'file';
            +        bad.path === '/coding/c'; // path is now broken
            +        bad.fragment === '/project1';
            +        ```
            +         *
            +         * @param path A file system path (see `Uri#fsPath`)
            +         */
            +        static file(path: string): Uri;
            +        static from(components: {
            +            scheme: string;
            +            authority?: string;
            +            path?: string;
            +            query?: string;
            +            fragment?: string;
            +        }): Uri;
            +        /**
            +         * Join a Uri path with path fragments and normalizes the resulting path.
            +         *
            +         * @param uri The input Uri.
            +         * @param pathFragment The path fragment to add to the Uri path.
            +         * @returns The resulting Uri.
            +         */
            +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
            +        /**
            +         * Creates a string representation for this Uri. It's guaranteed that calling
            +         * `Uri.parse` with the result of this function creates an Uri which is equal
            +         * to this Uri.
            +         *
            +         * * The result shall *not* be used for display purposes but for externalization or transport.
            +         * * The result will be encoded using the percentage encoding and encoding happens mostly
            +         * ignore the scheme-specific encoding rules.
            +         *
            +         * @param skipEncoding Do not encode the result, default is `false`
            +         */
            +        toString(skipEncoding?: boolean): string;
            +        toJSON(): UriComponents;
            +        static revive(data: UriComponents | Uri): Uri;
            +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
            +        static revive(data: UriComponents | Uri | null): Uri | null;
            +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
            +    }
            +
            +    export interface UriComponents {
            +        scheme: string;
            +        authority: string;
            +        path: string;
            +        query: string;
            +        fragment: string;
            +    }
            +    /**
            +     * Virtual Key Codes, the value does not hold any inherent meaning.
            +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
            +     * But these are "more general", as they should work across browsers & OS`s.
            +     */
            +    export enum KeyCode {
            +        DependsOnKbLayout = -1,
            +        /**
            +         * Placed first to cover the 0 value of the enum.
            +         */
            +        Unknown = 0,
            +        Backspace = 1,
            +        Tab = 2,
            +        Enter = 3,
            +        Shift = 4,
            +        Ctrl = 5,
            +        Alt = 6,
            +        PauseBreak = 7,
            +        CapsLock = 8,
            +        Escape = 9,
            +        Space = 10,
            +        PageUp = 11,
            +        PageDown = 12,
            +        End = 13,
            +        Home = 14,
            +        LeftArrow = 15,
            +        UpArrow = 16,
            +        RightArrow = 17,
            +        DownArrow = 18,
            +        Insert = 19,
            +        Delete = 20,
            +        Digit0 = 21,
            +        Digit1 = 22,
            +        Digit2 = 23,
            +        Digit3 = 24,
            +        Digit4 = 25,
            +        Digit5 = 26,
            +        Digit6 = 27,
            +        Digit7 = 28,
            +        Digit8 = 29,
            +        Digit9 = 30,
            +        KeyA = 31,
            +        KeyB = 32,
            +        KeyC = 33,
            +        KeyD = 34,
            +        KeyE = 35,
            +        KeyF = 36,
            +        KeyG = 37,
            +        KeyH = 38,
            +        KeyI = 39,
            +        KeyJ = 40,
            +        KeyK = 41,
            +        KeyL = 42,
            +        KeyM = 43,
            +        KeyN = 44,
            +        KeyO = 45,
            +        KeyP = 46,
            +        KeyQ = 47,
            +        KeyR = 48,
            +        KeyS = 49,
            +        KeyT = 50,
            +        KeyU = 51,
            +        KeyV = 52,
            +        KeyW = 53,
            +        KeyX = 54,
            +        KeyY = 55,
            +        KeyZ = 56,
            +        Meta = 57,
            +        ContextMenu = 58,
            +        F1 = 59,
            +        F2 = 60,
            +        F3 = 61,
            +        F4 = 62,
            +        F5 = 63,
            +        F6 = 64,
            +        F7 = 65,
            +        F8 = 66,
            +        F9 = 67,
            +        F10 = 68,
            +        F11 = 69,
            +        F12 = 70,
            +        F13 = 71,
            +        F14 = 72,
            +        F15 = 73,
            +        F16 = 74,
            +        F17 = 75,
            +        F18 = 76,
            +        F19 = 77,
            +        NumLock = 78,
            +        ScrollLock = 79,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the ';:' key
            +         */
            +        Semicolon = 80,
            +        /**
            +         * For any country/region, the '+' key
            +         * For the US standard keyboard, the '=+' key
            +         */
            +        Equal = 81,
            +        /**
            +         * For any country/region, the ',' key
            +         * For the US standard keyboard, the ',<' key
            +         */
            +        Comma = 82,
            +        /**
            +         * For any country/region, the '-' key
            +         * For the US standard keyboard, the '-_' key
            +         */
            +        Minus = 83,
            +        /**
            +         * For any country/region, the '.' key
            +         * For the US standard keyboard, the '.>' key
            +         */
            +        Period = 84,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the '/?' key
            +         */
            +        Slash = 85,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the '`~' key
            +         */
            +        Backquote = 86,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the '[{' key
            +         */
            +        BracketLeft = 87,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the '\|' key
            +         */
            +        Backslash = 88,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the ']}' key
            +         */
            +        BracketRight = 89,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         * For the US standard keyboard, the ''"' key
            +         */
            +        Quote = 90,
            +        /**
            +         * Used for miscellaneous characters; it can vary by keyboard.
            +         */
            +        OEM_8 = 91,
            +        /**
            +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
            +         */
            +        IntlBackslash = 92,
            +        Numpad0 = 93,
            +        Numpad1 = 94,
            +        Numpad2 = 95,
            +        Numpad3 = 96,
            +        Numpad4 = 97,
            +        Numpad5 = 98,
            +        Numpad6 = 99,
            +        Numpad7 = 100,
            +        Numpad8 = 101,
            +        Numpad9 = 102,
            +        NumpadMultiply = 103,
            +        NumpadAdd = 104,
            +        NUMPAD_SEPARATOR = 105,
            +        NumpadSubtract = 106,
            +        NumpadDecimal = 107,
            +        NumpadDivide = 108,
            +        /**
            +         * Cover all key codes when IME is processing input.
            +         */
            +        KEY_IN_COMPOSITION = 109,
            +        ABNT_C1 = 110,
            +        ABNT_C2 = 111,
            +        AudioVolumeMute = 112,
            +        AudioVolumeUp = 113,
            +        AudioVolumeDown = 114,
            +        BrowserSearch = 115,
            +        BrowserHome = 116,
            +        BrowserBack = 117,
            +        BrowserForward = 118,
            +        MediaTrackNext = 119,
            +        MediaTrackPrevious = 120,
            +        MediaStop = 121,
            +        MediaPlayPause = 122,
            +        LaunchMediaPlayer = 123,
            +        LaunchMail = 124,
            +        LaunchApp2 = 125,
            +        /**
            +         * Placed last to cover the length of the enum.
            +         * Please do not depend on this value!
            +         */
            +        MAX_VALUE = 126
            +    }
            +    export class KeyMod {
            +        static readonly CtrlCmd: number;
            +        static readonly Shift: number;
            +        static readonly Alt: number;
            +        static readonly WinCtrl: number;
            +        static chord(firstPart: number, secondPart: number): number;
            +    }
            +
            +    export interface IMarkdownString {
            +        readonly value: string;
            +        readonly isTrusted?: boolean;
            +        readonly supportThemeIcons?: boolean;
            +        readonly supportHtml?: boolean;
            +        uris?: {
            +            [href: string]: UriComponents;
            +        };
            +    }
            +
            +    export interface IKeyboardEvent {
            +        readonly _standardKeyboardEventBrand: true;
            +        readonly browserEvent: KeyboardEvent;
            +        readonly target: HTMLElement;
            +        readonly ctrlKey: boolean;
            +        readonly shiftKey: boolean;
            +        readonly altKey: boolean;
            +        readonly metaKey: boolean;
            +        readonly keyCode: KeyCode;
            +        readonly code: string;
            +        equals(keybinding: number): boolean;
            +        preventDefault(): void;
            +        stopPropagation(): void;
            +    }
            +    export interface IMouseEvent {
            +        readonly browserEvent: MouseEvent;
            +        readonly leftButton: boolean;
            +        readonly middleButton: boolean;
            +        readonly rightButton: boolean;
            +        readonly buttons: number;
            +        readonly target: HTMLElement;
            +        readonly detail: number;
            +        readonly posx: number;
            +        readonly posy: number;
            +        readonly ctrlKey: boolean;
            +        readonly shiftKey: boolean;
            +        readonly altKey: boolean;
            +        readonly metaKey: boolean;
            +        readonly timestamp: number;
            +        preventDefault(): void;
            +        stopPropagation(): void;
            +    }
            +
            +    export interface IScrollEvent {
            +        readonly scrollTop: number;
            +        readonly scrollLeft: number;
            +        readonly scrollWidth: number;
            +        readonly scrollHeight: number;
            +        readonly scrollTopChanged: boolean;
            +        readonly scrollLeftChanged: boolean;
            +        readonly scrollWidthChanged: boolean;
            +        readonly scrollHeightChanged: boolean;
            +    }
            +    /**
            +     * A position in the editor. This interface is suitable for serialization.
            +     */
            +    export interface IPosition {
            +        /**
            +         * line number (starts at 1)
            +         */
            +        readonly lineNumber: number;
            +        /**
            +         * column (the first character in a line is between column 1 and column 2)
            +         */
            +        readonly column: number;
            +    }
            +
            +    /**
            +     * A position in the editor.
            +     */
            +    export class Position {
            +        /**
            +         * line number (starts at 1)
            +         */
            +        readonly lineNumber: number;
            +        /**
            +         * column (the first character in a line is between column 1 and column 2)
            +         */
            +        readonly column: number;
            +        constructor(lineNumber: number, column: number);
            +        /**
            +         * Create a new position from this position.
            +         *
            +         * @param newLineNumber new line number
            +         * @param newColumn new column
            +         */
            +        with(newLineNumber?: number, newColumn?: number): Position;
            +        /**
            +         * Derive a new position from this position.
            +         *
            +         * @param deltaLineNumber line number delta
            +         * @param deltaColumn column delta
            +         */
            +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
            +        /**
            +         * Test if this position equals other position
            +         */
            +        equals(other: IPosition): boolean;
            +        /**
            +         * Test if position `a` equals position `b`
            +         */
            +        static equals(a: IPosition | null, b: IPosition | null): boolean;
            +        /**
            +         * Test if this position is before other position.
            +         * If the two positions are equal, the result will be false.
            +         */
            +        isBefore(other: IPosition): boolean;
            +        /**
            +         * Test if position `a` is before position `b`.
            +         * If the two positions are equal, the result will be false.
            +         */
            +        static isBefore(a: IPosition, b: IPosition): boolean;
            +        /**
            +         * Test if this position is before other position.
            +         * If the two positions are equal, the result will be true.
            +         */
            +        isBeforeOrEqual(other: IPosition): boolean;
            +        /**
            +         * Test if position `a` is before position `b`.
            +         * If the two positions are equal, the result will be true.
            +         */
            +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
            +        /**
            +         * A function that compares positions, useful for sorting
            +         */
            +        static compare(a: IPosition, b: IPosition): number;
            +        /**
            +         * Clone this position.
            +         */
            +        clone(): Position;
            +        /**
            +         * Convert to a human-readable representation.
            +         */
            +        toString(): string;
            +        /**
            +         * Create a `Position` from an `IPosition`.
            +         */
            +        static lift(pos: IPosition): Position;
            +        /**
            +         * Test if `obj` is an `IPosition`.
            +         */
            +        static isIPosition(obj: any): obj is IPosition;
            +    }
            +
            +    /**
            +     * A range in the editor. This interface is suitable for serialization.
            +     */
            +    export interface IRange {
            +        /**
            +         * Line number on which the range starts (starts at 1).
            +         */
            +        readonly startLineNumber: number;
            +        /**
            +         * Column on which the range starts in line `startLineNumber` (starts at 1).
            +         */
            +        readonly startColumn: number;
            +        /**
            +         * Line number on which the range ends.
            +         */
            +        readonly endLineNumber: number;
            +        /**
            +         * Column on which the range ends in line `endLineNumber`.
            +         */
            +        readonly endColumn: number;
            +    }
            +
            +    /**
            +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
            +     */
            +    export class Range {
            +        /**
            +         * Line number on which the range starts (starts at 1).
            +         */
            +        readonly startLineNumber: number;
            +        /**
            +         * Column on which the range starts in line `startLineNumber` (starts at 1).
            +         */
            +        readonly startColumn: number;
            +        /**
            +         * Line number on which the range ends.
            +         */
            +        readonly endLineNumber: number;
            +        /**
            +         * Column on which the range ends in line `endLineNumber`.
            +         */
            +        readonly endColumn: number;
            +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
            +        /**
            +         * Test if this range is empty.
            +         */
            +        isEmpty(): boolean;
            +        /**
            +         * Test if `range` is empty.
            +         */
            +        static isEmpty(range: IRange): boolean;
            +        /**
            +         * Test if position is in this range. If the position is at the edges, will return true.
            +         */
            +        containsPosition(position: IPosition): boolean;
            +        /**
            +         * Test if `position` is in `range`. If the position is at the edges, will return true.
            +         */
            +        static containsPosition(range: IRange, position: IPosition): boolean;
            +        /**
            +         * Test if range is in this range. If the range is equal to this range, will return true.
            +         */
            +        containsRange(range: IRange): boolean;
            +        /**
            +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
            +         */
            +        static containsRange(range: IRange, otherRange: IRange): boolean;
            +        /**
            +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
            +         */
            +        strictContainsRange(range: IRange): boolean;
            +        /**
            +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
            +         */
            +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
            +        /**
            +         * A reunion of the two ranges.
            +         * The smallest position will be used as the start point, and the largest one as the end point.
            +         */
            +        plusRange(range: IRange): Range;
            +        /**
            +         * A reunion of the two ranges.
            +         * The smallest position will be used as the start point, and the largest one as the end point.
            +         */
            +        static plusRange(a: IRange, b: IRange): Range;
            +        /**
            +         * A intersection of the two ranges.
            +         */
            +        intersectRanges(range: IRange): Range | null;
            +        /**
            +         * A intersection of the two ranges.
            +         */
            +        static intersectRanges(a: IRange, b: IRange): Range | null;
            +        /**
            +         * Test if this range equals other.
            +         */
            +        equalsRange(other: IRange | null): boolean;
            +        /**
            +         * Test if range `a` equals `b`.
            +         */
            +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
            +        /**
            +         * Return the end position (which will be after or equal to the start position)
            +         */
            +        getEndPosition(): Position;
            +        /**
            +         * Return the end position (which will be after or equal to the start position)
            +         */
            +        static getEndPosition(range: IRange): Position;
            +        /**
            +         * Return the start position (which will be before or equal to the end position)
            +         */
            +        getStartPosition(): Position;
            +        /**
            +         * Return the start position (which will be before or equal to the end position)
            +         */
            +        static getStartPosition(range: IRange): Position;
            +        /**
            +         * Transform to a user presentable string representation.
            +         */
            +        toString(): string;
            +        /**
            +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
            +         */
            +        setEndPosition(endLineNumber: number, endColumn: number): Range;
            +        /**
            +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
            +         */
            +        setStartPosition(startLineNumber: number, startColumn: number): Range;
            +        /**
            +         * Create a new empty range using this range's start position.
            +         */
            +        collapseToStart(): Range;
            +        /**
            +         * Create a new empty range using this range's start position.
            +         */
            +        static collapseToStart(range: IRange): Range;
            +        static fromPositions(start: IPosition, end?: IPosition): Range;
            +        /**
            +         * Create a `Range` from an `IRange`.
            +         */
            +        static lift(range: undefined | null): null;
            +        static lift(range: IRange): Range;
            +        /**
            +         * Test if `obj` is an `IRange`.
            +         */
            +        static isIRange(obj: any): obj is IRange;
            +        /**
            +         * Test if the two ranges are touching in any way.
            +         */
            +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
            +        /**
            +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
            +         */
            +        static areIntersecting(a: IRange, b: IRange): boolean;
            +        /**
            +         * A function that compares ranges, useful for sorting ranges
            +         * It will first compare ranges on the startPosition and then on the endPosition
            +         */
            +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
            +        /**
            +         * A function that compares ranges, useful for sorting ranges
            +         * It will first compare ranges on the endPosition and then on the startPosition
            +         */
            +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
            +        /**
            +         * Test if the range spans multiple lines.
            +         */
            +        static spansMultipleLines(range: IRange): boolean;
            +    }
            +
            +    /**
            +     * A selection in the editor.
            +     * The selection is a range that has an orientation.
            +     */
            +    export interface ISelection {
            +        /**
            +         * The line number on which the selection has started.
            +         */
            +        readonly selectionStartLineNumber: number;
            +        /**
            +         * The column on `selectionStartLineNumber` where the selection has started.
            +         */
            +        readonly selectionStartColumn: number;
            +        /**
            +         * The line number on which the selection has ended.
            +         */
            +        readonly positionLineNumber: number;
            +        /**
            +         * The column on `positionLineNumber` where the selection has ended.
            +         */
            +        readonly positionColumn: number;
            +    }
            +
            +    /**
            +     * A selection in the editor.
            +     * The selection is a range that has an orientation.
            +     */
            +    export class Selection extends Range {
            +        /**
            +         * The line number on which the selection has started.
            +         */
            +        readonly selectionStartLineNumber: number;
            +        /**
            +         * The column on `selectionStartLineNumber` where the selection has started.
            +         */
            +        readonly selectionStartColumn: number;
            +        /**
            +         * The line number on which the selection has ended.
            +         */
            +        readonly positionLineNumber: number;
            +        /**
            +         * The column on `positionLineNumber` where the selection has ended.
            +         */
            +        readonly positionColumn: number;
            +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
            +        /**
            +         * Transform to a human-readable representation.
            +         */
            +        toString(): string;
            +        /**
            +         * Test if equals other selection.
            +         */
            +        equalsSelection(other: ISelection): boolean;
            +        /**
            +         * Test if the two selections are equal.
            +         */
            +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
            +        /**
            +         * Get directions (LTR or RTL).
            +         */
            +        getDirection(): SelectionDirection;
            +        /**
            +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
            +         */
            +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
            +        /**
            +         * Get the position at `positionLineNumber` and `positionColumn`.
            +         */
            +        getPosition(): Position;
            +        /**
            +         * Get the position at the start of the selection.
            +        */
            +        getSelectionStart(): Position;
            +        /**
            +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
            +         */
            +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
            +        /**
            +         * Create a `Selection` from one or two positions
            +         */
            +        static fromPositions(start: IPosition, end?: IPosition): Selection;
            +        /**
            +         * Creates a `Selection` from a range, given a direction.
            +         */
            +        static fromRange(range: Range, direction: SelectionDirection): Selection;
            +        /**
            +         * Create a `Selection` from an `ISelection`.
            +         */
            +        static liftSelection(sel: ISelection): Selection;
            +        /**
            +         * `a` equals `b`.
            +         */
            +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
            +        /**
            +         * Test if `obj` is an `ISelection`.
            +         */
            +        static isISelection(obj: any): obj is ISelection;
            +        /**
            +         * Create with a direction.
            +         */
            +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
            +    }
            +
            +    /**
            +     * The direction of a selection.
            +     */
            +    export enum SelectionDirection {
            +        /**
            +         * The selection starts above where it ends.
            +         */
            +        LTR = 0,
            +        /**
            +         * The selection starts below where it ends.
            +         */
            +        RTL = 1
            +    }
            +
            +    export class Token {
            +        _tokenBrand: void;
            +        readonly offset: number;
            +        readonly type: string;
            +        readonly language: string;
            +        constructor(offset: number, type: string, language: string);
            +        toString(): string;
            +    }
            +}
            +
            +declare namespace monaco.editor {
            +
            +    export interface IDiffNavigator {
            +        canNavigate(): boolean;
            +        next(): void;
            +        previous(): void;
            +        dispose(): void;
            +    }
            +
            +    /**
            +     * Create a new editor under `domElement`.
            +     * `domElement` should be empty (not contain other dom nodes).
            +     * The editor will read the size of `domElement`.
            +     */
            +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
            +
            +    /**
            +     * Emitted when an editor is created.
            +     * Creating a diff editor might cause this listener to be invoked with the two editors.
            +     * @event
            +     */
            +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
            +
            +    /**
            +     * Create a new diff editor under `domElement`.
            +     * `domElement` should be empty (not contain other dom nodes).
            +     * The editor will read the size of `domElement`.
            +     */
            +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
            +
            +    export interface IDiffNavigatorOptions {
            +        readonly followsCaret?: boolean;
            +        readonly ignoreCharChanges?: boolean;
            +        readonly alwaysRevealFirst?: boolean;
            +    }
            +
            +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
            +
            +    /**
            +     * Create a new editor model.
            +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
            +     */
            +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
            +
            +    /**
            +     * Change the language for a model.
            +     */
            +    export function setModelLanguage(model: ITextModel, languageId: string): void;
            +
            +    /**
            +     * Set the markers for a model.
            +     */
            +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
            +
            +    /**
            +     * Get markers for owner and/or resource
            +     *
            +     * @returns list of markers
            +     */
            +    export function getModelMarkers(filter: {
            +        owner?: string;
            +        resource?: Uri;
            +        take?: number;
            +    }): IMarker[];
            +
            +    /**
            +     * Emitted when markers change for a model.
            +     * @event
            +     */
            +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
            +
            +    /**
            +     * Get the model that has `uri` if it exists.
            +     */
            +    export function getModel(uri: Uri): ITextModel | null;
            +
            +    /**
            +     * Get all the created models.
            +     */
            +    export function getModels(): ITextModel[];
            +
            +    /**
            +     * Emitted when a model is created.
            +     * @event
            +     */
            +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
            +
            +    /**
            +     * Emitted right before a model is disposed.
            +     * @event
            +     */
            +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
            +
            +    /**
            +     * Emitted when a different language is set to a model.
            +     * @event
            +     */
            +    export function onDidChangeModelLanguage(listener: (e: {
            +        readonly model: ITextModel;
            +        readonly oldLanguage: string;
            +    }) => void): IDisposable;
            +
            +    /**
            +     * Create a new web worker that has model syncing capabilities built in.
            +     * Specify an AMD module to load that will `create` an object that will be proxied.
            +     */
            +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
            +
            +    /**
            +     * Colorize the contents of `domNode` using attribute `data-lang`.
            +     */
            +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
            +
            +    /**
            +     * Colorize `text` using language `languageId`.
            +     */
            +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
            +
            +    /**
            +     * Colorize a line in a model.
            +     */
            +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
            +
            +    /**
            +     * Tokenize `text` using language `languageId`
            +     */
            +    export function tokenize(text: string, languageId: string): Token[][];
            +
            +    /**
            +     * Define a new theme or update an existing theme.
            +     */
            +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
            +
            +    /**
            +     * Switches to a theme.
            +     */
            +    export function setTheme(themeName: string): void;
            +
            +    /**
            +     * Clears all cached font measurements and triggers re-measurement.
            +     */
            +    export function remeasureFonts(): void;
            +
            +    /**
            +     * Register a command.
            +     */
            +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
            +
            +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
            +
            +    export interface IStandaloneThemeData {
            +        base: BuiltinTheme;
            +        inherit: boolean;
            +        rules: ITokenThemeRule[];
            +        encodedTokensColors?: string[];
            +        colors: IColors;
            +    }
            +
            +    export type IColors = {
            +        [colorId: string]: string;
            +    };
            +
            +    export interface ITokenThemeRule {
            +        token: string;
            +        foreground?: string;
            +        background?: string;
            +        fontStyle?: string;
            +    }
            +
            +    /**
            +     * A web worker that can provide a proxy to an arbitrary file.
            +     */
            +    export interface MonacoWebWorker<T> {
            +        /**
            +         * Terminate the web worker, thus invalidating the returned proxy.
            +         */
            +        dispose(): void;
            +        /**
            +         * Get a proxy to the arbitrary loaded code.
            +         */
            +        getProxy(): Promise<T>;
            +        /**
            +         * Synchronize (send) the models at `resources` to the web worker,
            +         * making them available in the monaco.worker.getMirrorModels().
            +         */
            +        withSyncedResources(resources: Uri[]): Promise<T>;
            +    }
            +
            +    export interface IWebWorkerOptions {
            +        /**
            +         * The AMD moduleId to load.
            +         * It should export a function `create` that should return the exported proxy.
            +         */
            +        moduleId: string;
            +        /**
            +         * The data to send over when calling create on the module.
            +         */
            +        createData?: any;
            +        /**
            +         * A label to be used to identify the web worker for debugging purposes.
            +         */
            +        label?: string;
            +        /**
            +         * An object that can be used by the web worker to make calls back to the main thread.
            +         */
            +        host?: any;
            +        /**
            +         * Keep idle models.
            +         * Defaults to false, which means that idle models will stop syncing after a while.
            +         */
            +        keepIdleModels?: boolean;
            +    }
            +
            +    /**
            +     * Description of an action contribution
            +     */
            +    export interface IActionDescriptor {
            +        /**
            +         * An unique identifier of the contributed action.
            +         */
            +        id: string;
            +        /**
            +         * A label of the action that will be presented to the user.
            +         */
            +        label: string;
            +        /**
            +         * Precondition rule.
            +         */
            +        precondition?: string;
            +        /**
            +         * An array of keybindings for the action.
            +         */
            +        keybindings?: number[];
            +        /**
            +         * The keybinding rule (condition on top of precondition).
            +         */
            +        keybindingContext?: string;
            +        /**
            +         * Control if the action should show up in the context menu and where.
            +         * The context menu of the editor has these default:
            +         *   navigation - The navigation group comes first in all cases.
            +         *   1_modification - This group comes next and contains commands that modify your code.
            +         *   9_cutcopypaste - The last default group with the basic editing commands.
            +         * You can also create your own group.
            +         * Defaults to null (don't show in context menu).
            +         */
            +        contextMenuGroupId?: string;
            +        /**
            +         * Control the order in the context menu group.
            +         */
            +        contextMenuOrder?: number;
            +        /**
            +         * Method that will be executed when the action is triggered.
            +         * @param editor The editor instance is passed in as a convenience
            +         */
            +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
            +    }
            +
            +    /**
            +     * Options which apply for all editors.
            +     */
            +    export interface IGlobalEditorOptions {
            +        /**
            +         * The number of spaces a tab is equal to.
            +         * This setting is overridden based on the file contents when `detectIndentation` is on.
            +         * Defaults to 4.
            +         */
            +        tabSize?: number;
            +        /**
            +         * Insert spaces when pressing `Tab`.
            +         * This setting is overridden based on the file contents when `detectIndentation` is on.
            +         * Defaults to true.
            +         */
            +        insertSpaces?: boolean;
            +        /**
            +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
            +         * Defaults to true.
            +         */
            +        detectIndentation?: boolean;
            +        /**
            +         * Remove trailing auto inserted whitespace.
            +         * Defaults to true.
            +         */
            +        trimAutoWhitespace?: boolean;
            +        /**
            +         * Special handling for large files to disable certain memory intensive features.
            +         * Defaults to true.
            +         */
            +        largeFileOptimizations?: boolean;
            +        /**
            +         * Controls whether completions should be computed based on words in the document.
            +         * Defaults to true.
            +         */
            +        wordBasedSuggestions?: boolean;
            +        /**
            +         * Controls whether word based completions should be included from opened documents of the same language or any language.
            +         */
            +        wordBasedSuggestionsOnlySameLanguage?: boolean;
            +        /**
            +         * Controls whether the semanticHighlighting is shown for the languages that support it.
            +         * true: semanticHighlighting is enabled for all themes
            +         * false: semanticHighlighting is disabled for all themes
            +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
            +         * Defaults to 'byTheme'.
            +         */
            +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
            +        /**
            +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
            +         * Defaults to false.
            +         */
            +        stablePeek?: boolean;
            +        /**
            +         * Lines above this length will not be tokenized for performance reasons.
            +         * Defaults to 20000.
            +         */
            +        maxTokenizationLineLength?: number;
            +        /**
            +         * Theme to be used for rendering.
            +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
            +         * You can create custom themes via `monaco.editor.defineTheme`.
            +         * To switch a theme, use `monaco.editor.setTheme`.
            +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
            +         */
            +        theme?: string;
            +        /**
            +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
            +         * Defaults to true.
            +         */
            +        autoDetectHighContrast?: boolean;
            +    }
            +
            +    /**
            +     * The options to create an editor.
            +     */
            +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
            +        /**
            +         * The initial model associated with this code editor.
            +         */
            +        model?: ITextModel | null;
            +        /**
            +         * The initial value of the auto created model in the editor.
            +         * To not automatically create a model, use `model: null`.
            +         */
            +        value?: string;
            +        /**
            +         * The initial language of the auto created model in the editor.
            +         * To not automatically create a model, use `model: null`.
            +         */
            +        language?: string;
            +        /**
            +         * Initial theme to be used for rendering.
            +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
            +         * You can create custom themes via `monaco.editor.defineTheme`.
            +         * To switch a theme, use `monaco.editor.setTheme`.
            +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
            +         */
            +        theme?: string;
            +        /**
            +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
            +         * Defaults to true.
            +         */
            +        autoDetectHighContrast?: boolean;
            +        /**
            +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
            +         * the accessibility help dialog in the editor.
            +         *
            +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
            +         */
            +        accessibilityHelpUrl?: string;
            +        /**
            +         * Container element to use for ARIA messages.
            +         * Defaults to document.body.
            +         */
            +        ariaContainerElement?: HTMLElement;
            +    }
            +
            +    /**
            +     * The options to create a diff editor.
            +     */
            +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
            +        /**
            +         * Initial theme to be used for rendering.
            +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
            +         * You can create custom themes via `monaco.editor.defineTheme`.
            +         * To switch a theme, use `monaco.editor.setTheme`.
            +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
            +         */
            +        theme?: string;
            +        /**
            +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
            +         * Defaults to true.
            +         */
            +        autoDetectHighContrast?: boolean;
            +    }
            +
            +    export interface IStandaloneCodeEditor extends ICodeEditor {
            +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
            +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
            +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
            +        addAction(descriptor: IActionDescriptor): IDisposable;
            +    }
            +
            +    export interface IStandaloneDiffEditor extends IDiffEditor {
            +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
            +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
            +        addAction(descriptor: IActionDescriptor): IDisposable;
            +        getOriginalEditor(): IStandaloneCodeEditor;
            +        getModifiedEditor(): IStandaloneCodeEditor;
            +    }
            +    export interface ICommandHandler {
            +        (...args: any[]): void;
            +    }
            +
            +    export interface IContextKey<T> {
            +        set(value: T): void;
            +        reset(): void;
            +        get(): T | undefined;
            +    }
            +
            +    export interface IEditorOverrideServices {
            +        [index: string]: any;
            +    }
            +
            +    export interface IMarker {
            +        owner: string;
            +        resource: Uri;
            +        severity: MarkerSeverity;
            +        code?: string | {
            +            value: string;
            +            target: Uri;
            +        };
            +        message: string;
            +        source?: string;
            +        startLineNumber: number;
            +        startColumn: number;
            +        endLineNumber: number;
            +        endColumn: number;
            +        relatedInformation?: IRelatedInformation[];
            +        tags?: MarkerTag[];
            +    }
            +
            +    /**
            +     * A structure defining a problem/warning/etc.
            +     */
            +    export interface IMarkerData {
            +        code?: string | {
            +            value: string;
            +            target: Uri;
            +        };
            +        severity: MarkerSeverity;
            +        message: string;
            +        source?: string;
            +        startLineNumber: number;
            +        startColumn: number;
            +        endLineNumber: number;
            +        endColumn: number;
            +        relatedInformation?: IRelatedInformation[];
            +        tags?: MarkerTag[];
            +    }
            +
            +    /**
            +     *
            +     */
            +    export interface IRelatedInformation {
            +        resource: Uri;
            +        message: string;
            +        startLineNumber: number;
            +        startColumn: number;
            +        endLineNumber: number;
            +        endColumn: number;
            +    }
            +
            +    export interface IColorizerOptions {
            +        tabSize?: number;
            +    }
            +
            +    export interface IColorizerElementOptions extends IColorizerOptions {
            +        theme?: string;
            +        mimeType?: string;
            +    }
            +
            +    export enum ScrollbarVisibility {
            +        Auto = 1,
            +        Hidden = 2,
            +        Visible = 3
            +    }
            +
            +    export interface ThemeColor {
            +        id: string;
            +    }
            +
            +    /**
            +     * Vertical Lane in the overview ruler of the editor.
            +     */
            +    export enum OverviewRulerLane {
            +        Left = 1,
            +        Center = 2,
            +        Right = 4,
            +        Full = 7
            +    }
            +
            +    /**
            +     * Position in the minimap to render the decoration.
            +     */
            +    export enum MinimapPosition {
            +        Inline = 1,
            +        Gutter = 2
            +    }
            +
            +    export interface IDecorationOptions {
            +        /**
            +         * CSS color to render.
            +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
            +         */
            +        color: string | ThemeColor | undefined;
            +        /**
            +         * CSS color to render.
            +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
            +         */
            +        darkColor?: string | ThemeColor;
            +    }
            +
            +    /**
            +     * Options for rendering a model decoration in the overview ruler.
            +     */
            +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
            +        /**
            +         * The position in the overview ruler.
            +         */
            +        position: OverviewRulerLane;
            +    }
            +
            +    /**
            +     * Options for rendering a model decoration in the overview ruler.
            +     */
            +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
            +        /**
            +         * The position in the overview ruler.
            +         */
            +        position: MinimapPosition;
            +    }
            +
            +    /**
            +     * Options for a model decoration.
            +     */
            +    export interface IModelDecorationOptions {
            +        /**
            +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
            +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
            +         */
            +        stickiness?: TrackedRangeStickiness;
            +        /**
            +         * CSS class name describing the decoration.
            +         */
            +        className?: string | null;
            +        /**
            +         * Message to be rendered when hovering over the glyph margin decoration.
            +         */
            +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
            +        /**
            +         * Array of MarkdownString to render as the decoration message.
            +         */
            +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
            +        /**
            +         * Should the decoration expand to encompass a whole line.
            +         */
            +        isWholeLine?: boolean;
            +        /**
            +         * Specifies the stack order of a decoration.
            +         * A decoration with greater stack order is always in front of a decoration with
            +         * a lower stack order when the decorations are on the same line.
            +         */
            +        zIndex?: number;
            +        /**
            +         * If set, render this decoration in the overview ruler.
            +         */
            +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
            +        /**
            +         * If set, render this decoration in the minimap.
            +         */
            +        minimap?: IModelDecorationMinimapOptions | null;
            +        /**
            +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
            +         */
            +        glyphMarginClassName?: string | null;
            +        /**
            +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
            +         */
            +        linesDecorationsClassName?: string | null;
            +        /**
            +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
            +         */
            +        firstLineDecorationClassName?: string | null;
            +        /**
            +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
            +         */
            +        marginClassName?: string | null;
            +        /**
            +         * If set, the decoration will be rendered inline with the text with this CSS class name.
            +         * Please use this only for CSS rules that must impact the text. For example, use `className`
            +         * to have a background color decoration.
            +         */
            +        inlineClassName?: string | null;
            +        /**
            +         * If there is an `inlineClassName` which affects letter spacing.
            +         */
            +        inlineClassNameAffectsLetterSpacing?: boolean;
            +        /**
            +         * If set, the decoration will be rendered before the text with this CSS class name.
            +         */
            +        beforeContentClassName?: string | null;
            +        /**
            +         * If set, the decoration will be rendered after the text with this CSS class name.
            +         */
            +        afterContentClassName?: string | null;
            +        /**
            +         * If set, text will be injected in the view after the range.
            +         */
            +        after?: InjectedTextOptions | null;
            +        /**
            +         * If set, text will be injected in the view before the range.
            +         */
            +        before?: InjectedTextOptions | null;
            +    }
            +
            +    /**
            +     * Configures text that is injected into the view without changing the underlying document.
            +    */
            +    export interface InjectedTextOptions {
            +        /**
            +         * Sets the text to inject. Must be a single line.
            +         */
            +        readonly content: string;
            +        /**
            +         * If set, the decoration will be rendered inline with the text with this CSS class name.
            +         */
            +        readonly inlineClassName?: string | null;
            +        /**
            +         * If there is an `inlineClassName` which affects letter spacing.
            +         */
            +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
            +    }
            +
            +    /**
            +     * New model decorations.
            +     */
            +    export interface IModelDeltaDecoration {
            +        /**
            +         * Range that this decoration covers.
            +         */
            +        range: IRange;
            +        /**
            +         * Options associated with this decoration.
            +         */
            +        options: IModelDecorationOptions;
            +    }
            +
            +    /**
            +     * A decoration in the model.
            +     */
            +    export interface IModelDecoration {
            +        /**
            +         * Identifier for a decoration.
            +         */
            +        readonly id: string;
            +        /**
            +         * Identifier for a decoration's owner.
            +         */
            +        readonly ownerId: number;
            +        /**
            +         * Range that this decoration covers.
            +         */
            +        readonly range: Range;
            +        /**
            +         * Options associated with this decoration.
            +         */
            +        readonly options: IModelDecorationOptions;
            +    }
            +
            +    /**
            +     * Word inside a model.
            +     */
            +    export interface IWordAtPosition {
            +        /**
            +         * The word.
            +         */
            +        readonly word: string;
            +        /**
            +         * The column where the word starts.
            +         */
            +        readonly startColumn: number;
            +        /**
            +         * The column where the word ends.
            +         */
            +        readonly endColumn: number;
            +    }
            +
            +    /**
            +     * End of line character preference.
            +     */
            +    export enum EndOfLinePreference {
            +        /**
            +         * Use the end of line character identified in the text buffer.
            +         */
            +        TextDefined = 0,
            +        /**
            +         * Use line feed (\n) as the end of line character.
            +         */
            +        LF = 1,
            +        /**
            +         * Use carriage return and line feed (\r\n) as the end of line character.
            +         */
            +        CRLF = 2
            +    }
            +
            +    /**
            +     * The default end of line to use when instantiating models.
            +     */
            +    export enum DefaultEndOfLine {
            +        /**
            +         * Use line feed (\n) as the end of line character.
            +         */
            +        LF = 1,
            +        /**
            +         * Use carriage return and line feed (\r\n) as the end of line character.
            +         */
            +        CRLF = 2
            +    }
            +
            +    /**
            +     * End of line character preference.
            +     */
            +    export enum EndOfLineSequence {
            +        /**
            +         * Use line feed (\n) as the end of line character.
            +         */
            +        LF = 0,
            +        /**
            +         * Use carriage return and line feed (\r\n) as the end of line character.
            +         */
            +        CRLF = 1
            +    }
            +
            +    /**
            +     * A single edit operation, that acts as a simple replace.
            +     * i.e. Replace text at `range` with `text` in model.
            +     */
            +    export interface ISingleEditOperation {
            +        /**
            +         * The range to replace. This can be empty to emulate a simple insert.
            +         */
            +        range: IRange;
            +        /**
            +         * The text to replace with. This can be null to emulate a simple delete.
            +         */
            +        text: string | null;
            +        /**
            +         * This indicates that this operation has "insert" semantics.
            +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
            +         */
            +        forceMoveMarkers?: boolean;
            +    }
            +
            +    /**
            +     * A single edit operation, that has an identifier.
            +     */
            +    export interface IIdentifiedSingleEditOperation {
            +        /**
            +         * The range to replace. This can be empty to emulate a simple insert.
            +         */
            +        range: IRange;
            +        /**
            +         * The text to replace with. This can be null to emulate a simple delete.
            +         */
            +        text: string | null;
            +        /**
            +         * This indicates that this operation has "insert" semantics.
            +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
            +         */
            +        forceMoveMarkers?: boolean;
            +    }
            +
            +    export interface IValidEditOperation {
            +        /**
            +         * The range to replace. This can be empty to emulate a simple insert.
            +         */
            +        range: Range;
            +        /**
            +         * The text to replace with. This can be empty to emulate a simple delete.
            +         */
            +        text: string;
            +    }
            +
            +    /**
            +     * A callback that can compute the cursor state after applying a series of edit operations.
            +     */
            +    export interface ICursorStateComputer {
            +        /**
            +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
            +         */
            +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
            +    }
            +
            +    export class TextModelResolvedOptions {
            +        _textModelResolvedOptionsBrand: void;
            +        readonly tabSize: number;
            +        readonly indentSize: number;
            +        readonly insertSpaces: boolean;
            +        readonly defaultEOL: DefaultEndOfLine;
            +        readonly trimAutoWhitespace: boolean;
            +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
            +    }
            +
            +    export interface BracketPairColorizationOptions {
            +        enabled: boolean;
            +    }
            +
            +    export interface ITextModelUpdateOptions {
            +        tabSize?: number;
            +        indentSize?: number;
            +        insertSpaces?: boolean;
            +        trimAutoWhitespace?: boolean;
            +        bracketColorizationOptions?: BracketPairColorizationOptions;
            +    }
            +
            +    export class FindMatch {
            +        _findMatchBrand: void;
            +        readonly range: Range;
            +        readonly matches: string[] | null;
            +    }
            +
            +    /**
            +     * Describes the behavior of decorations when typing/editing near their edges.
            +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
            +     */
            +    export enum TrackedRangeStickiness {
            +        AlwaysGrowsWhenTypingAtEdges = 0,
            +        NeverGrowsWhenTypingAtEdges = 1,
            +        GrowsOnlyWhenTypingBefore = 2,
            +        GrowsOnlyWhenTypingAfter = 3
            +    }
            +
            +    /**
            +     * A model.
            +     */
            +    export interface ITextModel {
            +        /**
            +         * Gets the resource associated with this editor model.
            +         */
            +        readonly uri: Uri;
            +        /**
            +         * A unique identifier associated with this model.
            +         */
            +        readonly id: string;
            +        /**
            +         * Get the resolved options for this model.
            +         */
            +        getOptions(): TextModelResolvedOptions;
            +        /**
            +         * Get the current version id of the model.
            +         * Anytime a change happens to the model (even undo/redo),
            +         * the version id is incremented.
            +         */
            +        getVersionId(): number;
            +        /**
            +         * Get the alternative version id of the model.
            +         * This alternative version id is not always incremented,
            +         * it will return the same values in the case of undo-redo.
            +         */
            +        getAlternativeVersionId(): number;
            +        /**
            +         * Replace the entire text buffer value contained in this model.
            +         */
            +        setValue(newValue: string): void;
            +        /**
            +         * Get the text stored in this model.
            +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
            +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
            +         * @return The text.
            +         */
            +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
            +        /**
            +         * Get the length of the text stored in this model.
            +         */
            +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
            +        /**
            +         * Get the text in a certain range.
            +         * @param range The range describing what text to get.
            +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
            +         * @return The text.
            +         */
            +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
            +        /**
            +         * Get the length of text in a certain range.
            +         * @param range The range describing what text length to get.
            +         * @return The text length.
            +         */
            +        getValueLengthInRange(range: IRange): number;
            +        /**
            +         * Get the character count of text in a certain range.
            +         * @param range The range describing what text length to get.
            +         */
            +        getCharacterCountInRange(range: IRange): number;
            +        /**
            +         * Get the number of lines in the model.
            +         */
            +        getLineCount(): number;
            +        /**
            +         * Get the text for a certain line.
            +         */
            +        getLineContent(lineNumber: number): string;
            +        /**
            +         * Get the text length for a certain line.
            +         */
            +        getLineLength(lineNumber: number): number;
            +        /**
            +         * Get the text for all lines.
            +         */
            +        getLinesContent(): string[];
            +        /**
            +         * Get the end of line sequence predominantly used in the text buffer.
            +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
            +         */
            +        getEOL(): string;
            +        /**
            +         * Get the end of line sequence predominantly used in the text buffer.
            +         */
            +        getEndOfLineSequence(): EndOfLineSequence;
            +        /**
            +         * Get the minimum legal column for line at `lineNumber`
            +         */
            +        getLineMinColumn(lineNumber: number): number;
            +        /**
            +         * Get the maximum legal column for line at `lineNumber`
            +         */
            +        getLineMaxColumn(lineNumber: number): number;
            +        /**
            +         * Returns the column before the first non whitespace character for line at `lineNumber`.
            +         * Returns 0 if line is empty or contains only whitespace.
            +         */
            +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
            +        /**
            +         * Returns the column after the last non whitespace character for line at `lineNumber`.
            +         * Returns 0 if line is empty or contains only whitespace.
            +         */
            +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
            +        /**
            +         * Create a valid position.
            +         */
            +        validatePosition(position: IPosition): Position;
            +        /**
            +         * Advances the given position by the given offset (negative offsets are also accepted)
            +         * and returns it as a new valid position.
            +         *
            +         * If the offset and position are such that their combination goes beyond the beginning or
            +         * end of the model, throws an exception.
            +         *
            +         * If the offset is such that the new position would be in the middle of a multi-byte
            +         * line terminator, throws an exception.
            +         */
            +        modifyPosition(position: IPosition, offset: number): Position;
            +        /**
            +         * Create a valid range.
            +         */
            +        validateRange(range: IRange): Range;
            +        /**
            +         * Converts the position to a zero-based offset.
            +         *
            +         * The position will be [adjusted](#TextDocument.validatePosition).
            +         *
            +         * @param position A position.
            +         * @return A valid zero-based offset.
            +         */
            +        getOffsetAt(position: IPosition): number;
            +        /**
            +         * Converts a zero-based offset to a position.
            +         *
            +         * @param offset A zero-based offset.
            +         * @return A valid [position](#Position).
            +         */
            +        getPositionAt(offset: number): Position;
            +        /**
            +         * Get a range covering the entire model.
            +         */
            +        getFullModelRange(): Range;
            +        /**
            +         * Returns if the model was disposed or not.
            +         */
            +        isDisposed(): boolean;
            +        /**
            +         * Search the model.
            +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
            +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
            +         * @param isRegex Used to indicate that `searchString` is a regular expression.
            +         * @param matchCase Force the matching to match lower/upper case exactly.
            +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
            +         * @param captureMatches The result will contain the captured groups.
            +         * @param limitResultCount Limit the number of results
            +         * @return The ranges where the matches are. It is empty if not matches have been found.
            +         */
            +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
            +        /**
            +         * Search the model.
            +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
            +         * @param searchScope Limit the searching to only search inside these ranges.
            +         * @param isRegex Used to indicate that `searchString` is a regular expression.
            +         * @param matchCase Force the matching to match lower/upper case exactly.
            +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
            +         * @param captureMatches The result will contain the captured groups.
            +         * @param limitResultCount Limit the number of results
            +         * @return The ranges where the matches are. It is empty if no matches have been found.
            +         */
            +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
            +        /**
            +         * Search the model for the next match. Loops to the beginning of the model if needed.
            +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
            +         * @param searchStart Start the searching at the specified position.
            +         * @param isRegex Used to indicate that `searchString` is a regular expression.
            +         * @param matchCase Force the matching to match lower/upper case exactly.
            +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
            +         * @param captureMatches The result will contain the captured groups.
            +         * @return The range where the next match is. It is null if no next match has been found.
            +         */
            +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
            +        /**
            +         * Search the model for the previous match. Loops to the end of the model if needed.
            +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
            +         * @param searchStart Start the searching at the specified position.
            +         * @param isRegex Used to indicate that `searchString` is a regular expression.
            +         * @param matchCase Force the matching to match lower/upper case exactly.
            +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
            +         * @param captureMatches The result will contain the captured groups.
            +         * @return The range where the previous match is. It is null if no previous match has been found.
            +         */
            +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
            +        /**
            +         * Get the language associated with this model.
            +         */
            +        getLanguageId(): string;
            +        /**
            +         * Get the word under or besides `position`.
            +         * @param position The position to look for a word.
            +         * @return The word under or besides `position`. Might be null.
            +         */
            +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
            +        /**
            +         * Get the word under or besides `position` trimmed to `position`.column
            +         * @param position The position to look for a word.
            +         * @return The word under or besides `position`. Will never be null.
            +         */
            +        getWordUntilPosition(position: IPosition): IWordAtPosition;
            +        /**
            +         * Perform a minimum amount of operations, in order to transform the decorations
            +         * identified by `oldDecorations` to the decorations described by `newDecorations`
            +         * and returns the new identifiers associated with the resulting decorations.
            +         *
            +         * @param oldDecorations Array containing previous decorations identifiers.
            +         * @param newDecorations Array describing what decorations should result after the call.
            +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
            +         * @return An array containing the new decorations identifiers.
            +         */
            +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
            +        /**
            +         * Get the options associated with a decoration.
            +         * @param id The decoration id.
            +         * @return The decoration options or null if the decoration was not found.
            +         */
            +        getDecorationOptions(id: string): IModelDecorationOptions | null;
            +        /**
            +         * Get the range associated with a decoration.
            +         * @param id The decoration id.
            +         * @return The decoration range or null if the decoration was not found.
            +         */
            +        getDecorationRange(id: string): Range | null;
            +        /**
            +         * Gets all the decorations for the line `lineNumber` as an array.
            +         * @param lineNumber The line number
            +         * @param ownerId If set, it will ignore decorations belonging to other owners.
            +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
            +         * @return An array with the decorations
            +         */
            +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
            +        /**
            +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
            +         * @param startLineNumber The start line number
            +         * @param endLineNumber The end line number
            +         * @param ownerId If set, it will ignore decorations belonging to other owners.
            +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
            +         * @return An array with the decorations
            +         */
            +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
            +        /**
            +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
            +         * So for now it returns all the decorations on the same line as `range`.
            +         * @param range The range to search in
            +         * @param ownerId If set, it will ignore decorations belonging to other owners.
            +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
            +         * @return An array with the decorations
            +         */
            +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
            +        /**
            +         * Gets all the decorations as an array.
            +         * @param ownerId If set, it will ignore decorations belonging to other owners.
            +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
            +         */
            +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
            +        /**
            +         * Gets all the decorations that should be rendered in the overview ruler as an array.
            +         * @param ownerId If set, it will ignore decorations belonging to other owners.
            +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
            +         */
            +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
            +        /**
            +         * Gets all the decorations that contain injected text.
            +         * @param ownerId If set, it will ignore decorations belonging to other owners.
            +         */
            +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
            +        /**
            +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
            +         */
            +        normalizeIndentation(str: string): string;
            +        /**
            +         * Change the options of this model.
            +         */
            +        updateOptions(newOpts: ITextModelUpdateOptions): void;
            +        /**
            +         * Detect the indentation options for this model from its content.
            +         */
            +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
            +        /**
            +         * Close the current undo-redo element.
            +         * This offers a way to create an undo/redo stop point.
            +         */
            +        pushStackElement(): void;
            +        /**
            +         * Open the current undo-redo element.
            +         * This offers a way to remove the current undo/redo stop point.
            +         */
            +        popStackElement(): void;
            +        /**
            +         * Push edit operations, basically editing the model. This is the preferred way
            +         * of editing the model. The edit operations will land on the undo stack.
            +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
            +         * @param editOperations The edit operations.
            +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
            +         * @return The cursor state returned by the `cursorStateComputer`.
            +         */
            +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
            +        /**
            +         * Change the end of line sequence. This is the preferred way of
            +         * changing the eol sequence. This will land on the undo stack.
            +         */
            +        pushEOL(eol: EndOfLineSequence): void;
            +        /**
            +         * Edit the model without adding the edits to the undo stack.
            +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
            +         * @param operations The edit operations.
            +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
            +         */
            +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
            +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
            +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
            +        /**
            +         * Change the end of line sequence without recording in the undo stack.
            +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
            +         */
            +        setEOL(eol: EndOfLineSequence): void;
            +        /**
            +         * An event emitted when the contents of the model have changed.
            +         * @event
            +         */
            +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
            +        /**
            +         * An event emitted when decorations of the model have changed.
            +         * @event
            +         */
            +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
            +        /**
            +         * An event emitted when the model options have changed.
            +         * @event
            +         */
            +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
            +        /**
            +         * An event emitted when the language associated with the model has changed.
            +         * @event
            +         */
            +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
            +        /**
            +         * An event emitted when the language configuration associated with the model has changed.
            +         * @event
            +         */
            +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
            +        /**
            +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
            +         * @event
            +         */
            +        onDidChangeAttached(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted right before disposing the model.
            +         * @event
            +         */
            +        onWillDispose(listener: () => void): IDisposable;
            +        /**
            +         * Destroy this model.
            +         */
            +        dispose(): void;
            +        /**
            +         * Returns if this model is attached to an editor or not.
            +         */
            +        isAttachedToEditor(): boolean;
            +    }
            +
            +    /**
            +     * A builder and helper for edit operations for a command.
            +     */
            +    export interface IEditOperationBuilder {
            +        /**
            +         * Add a new edit operation (a replace operation).
            +         * @param range The range to replace (delete). May be empty to represent a simple insert.
            +         * @param text The text to replace with. May be null to represent a simple delete.
            +         */
            +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
            +        /**
            +         * Add a new edit operation (a replace operation).
            +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
            +         * @param range The range to replace (delete). May be empty to represent a simple insert.
            +         * @param text The text to replace with. May be null to represent a simple delete.
            +         */
            +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
            +        /**
            +         * Track `selection` when applying edit operations.
            +         * A best effort will be made to not grow/expand the selection.
            +         * An empty selection will clamp to a nearby character.
            +         * @param selection The selection to track.
            +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
            +         *           should clamp to the previous or the next character.
            +         * @return A unique identifier.
            +         */
            +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
            +    }
            +
            +    /**
            +     * A helper for computing cursor state after a command.
            +     */
            +    export interface ICursorStateComputerData {
            +        /**
            +         * Get the inverse edit operations of the added edit operations.
            +         */
            +        getInverseEditOperations(): IValidEditOperation[];
            +        /**
            +         * Get a previously tracked selection.
            +         * @param id The unique identifier returned by `trackSelection`.
            +         * @return The selection.
            +         */
            +        getTrackedSelection(id: string): Selection;
            +    }
            +
            +    /**
            +     * A command that modifies text / cursor state on a model.
            +     */
            +    export interface ICommand {
            +        /**
            +         * Get the edit operations needed to execute this command.
            +         * @param model The model the command will execute on.
            +         * @param builder A helper to collect the needed edit operations and to track selections.
            +         */
            +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
            +        /**
            +         * Compute the cursor state after the edit operations were applied.
            +         * @param model The model the command has executed on.
            +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
            +         * @return The cursor state after the command executed.
            +         */
            +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
            +    }
            +
            +    /**
            +     * A model for the diff editor.
            +     */
            +    export interface IDiffEditorModel {
            +        /**
            +         * Original model.
            +         */
            +        original: ITextModel;
            +        /**
            +         * Modified model.
            +         */
            +        modified: ITextModel;
            +    }
            +
            +    /**
            +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
            +     */
            +    export interface IModelChangedEvent {
            +        /**
            +         * The `uri` of the previous model or null.
            +         */
            +        readonly oldModelUrl: Uri | null;
            +        /**
            +         * The `uri` of the new model or null.
            +         */
            +        readonly newModelUrl: Uri | null;
            +    }
            +
            +    export interface IDimension {
            +        width: number;
            +        height: number;
            +    }
            +
            +    /**
            +     * A change
            +     */
            +    export interface IChange {
            +        readonly originalStartLineNumber: number;
            +        readonly originalEndLineNumber: number;
            +        readonly modifiedStartLineNumber: number;
            +        readonly modifiedEndLineNumber: number;
            +    }
            +
            +    /**
            +     * A character level change.
            +     */
            +    export interface ICharChange extends IChange {
            +        readonly originalStartColumn: number;
            +        readonly originalEndColumn: number;
            +        readonly modifiedStartColumn: number;
            +        readonly modifiedEndColumn: number;
            +    }
            +
            +    /**
            +     * A line change
            +     */
            +    export interface ILineChange extends IChange {
            +        readonly charChanges: ICharChange[] | undefined;
            +    }
            +
            +    export interface IContentSizeChangedEvent {
            +        readonly contentWidth: number;
            +        readonly contentHeight: number;
            +        readonly contentWidthChanged: boolean;
            +        readonly contentHeightChanged: boolean;
            +    }
            +
            +    export interface INewScrollPosition {
            +        scrollLeft?: number;
            +        scrollTop?: number;
            +    }
            +
            +    export interface IEditorAction {
            +        readonly id: string;
            +        readonly label: string;
            +        readonly alias: string;
            +        isSupported(): boolean;
            +        run(): Promise<void>;
            +    }
            +
            +    export type IEditorModel = ITextModel | IDiffEditorModel;
            +
            +    /**
            +     * A (serializable) state of the cursors.
            +     */
            +    export interface ICursorState {
            +        inSelectionMode: boolean;
            +        selectionStart: IPosition;
            +        position: IPosition;
            +    }
            +
            +    /**
            +     * A (serializable) state of the view.
            +     */
            +    export interface IViewState {
            +        /** written by previous versions */
            +        scrollTop?: number;
            +        /** written by previous versions */
            +        scrollTopWithoutViewZones?: number;
            +        scrollLeft: number;
            +        firstPosition: IPosition;
            +        firstPositionDeltaTop: number;
            +    }
            +
            +    /**
            +     * A (serializable) state of the code editor.
            +     */
            +    export interface ICodeEditorViewState {
            +        cursorState: ICursorState[];
            +        viewState: IViewState;
            +        contributionsState: {
            +            [id: string]: any;
            +        };
            +    }
            +
            +    /**
            +     * (Serializable) View state for the diff editor.
            +     */
            +    export interface IDiffEditorViewState {
            +        original: ICodeEditorViewState | null;
            +        modified: ICodeEditorViewState | null;
            +    }
            +
            +    /**
            +     * An editor view state.
            +     */
            +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
            +
            +    export enum ScrollType {
            +        Smooth = 0,
            +        Immediate = 1
            +    }
            +
            +    /**
            +     * An editor.
            +     */
            +    export interface IEditor {
            +        /**
            +         * An event emitted when the editor has been disposed.
            +         * @event
            +         */
            +        onDidDispose(listener: () => void): IDisposable;
            +        /**
            +         * Dispose the editor.
            +         */
            +        dispose(): void;
            +        /**
            +         * Get a unique id for this editor instance.
            +         */
            +        getId(): string;
            +        /**
            +         * Get the editor type. Please see `EditorType`.
            +         * This is to avoid an instanceof check
            +         */
            +        getEditorType(): string;
            +        /**
            +         * Update the editor's options after the editor has been created.
            +         */
            +        updateOptions(newOptions: IEditorOptions): void;
            +        /**
            +         * Instructs the editor to remeasure its container. This method should
            +         * be called when the container of the editor gets resized.
            +         *
            +         * If a dimension is passed in, the passed in value will be used.
            +         */
            +        layout(dimension?: IDimension): void;
            +        /**
            +         * Brings browser focus to the editor text
            +         */
            +        focus(): void;
            +        /**
            +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
            +         */
            +        hasTextFocus(): boolean;
            +        /**
            +         * Returns all actions associated with this editor.
            +         */
            +        getSupportedActions(): IEditorAction[];
            +        /**
            +         * Saves current view state of the editor in a serializable object.
            +         */
            +        saveViewState(): IEditorViewState | null;
            +        /**
            +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
            +         */
            +        restoreViewState(state: IEditorViewState): void;
            +        /**
            +         * Given a position, returns a column number that takes tab-widths into account.
            +         */
            +        getVisibleColumnFromPosition(position: IPosition): number;
            +        /**
            +         * Returns the primary position of the cursor.
            +         */
            +        getPosition(): Position | null;
            +        /**
            +         * Set the primary position of the cursor. This will remove any secondary cursors.
            +         * @param position New primary cursor's position
            +         */
            +        setPosition(position: IPosition): void;
            +        /**
            +         * Scroll vertically as necessary and reveal a line.
            +         */
            +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically as necessary and reveal a line centered vertically.
            +         */
            +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
            +         */
            +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
            +         * optimized for viewing a code definition.
            +         */
            +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a position.
            +         */
            +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
            +         */
            +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
            +         */
            +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
            +         * optimized for viewing a code definition.
            +         */
            +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
            +        /**
            +         * Returns the primary selection of the editor.
            +         */
            +        getSelection(): Selection | null;
            +        /**
            +         * Returns all the selections of the editor.
            +         */
            +        getSelections(): Selection[] | null;
            +        /**
            +         * Set the primary selection of the editor. This will remove any secondary cursors.
            +         * @param selection The new selection
            +         */
            +        setSelection(selection: IRange): void;
            +        /**
            +         * Set the primary selection of the editor. This will remove any secondary cursors.
            +         * @param selection The new selection
            +         */
            +        setSelection(selection: Range): void;
            +        /**
            +         * Set the primary selection of the editor. This will remove any secondary cursors.
            +         * @param selection The new selection
            +         */
            +        setSelection(selection: ISelection): void;
            +        /**
            +         * Set the primary selection of the editor. This will remove any secondary cursors.
            +         * @param selection The new selection
            +         */
            +        setSelection(selection: Selection): void;
            +        /**
            +         * Set the selections for all the cursors of the editor.
            +         * Cursors will be removed or added, as necessary.
            +         */
            +        setSelections(selections: readonly ISelection[]): void;
            +        /**
            +         * Scroll vertically as necessary and reveal lines.
            +         */
            +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically as necessary and reveal lines centered vertically.
            +         */
            +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
            +         */
            +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
            +         * optimized for viewing a code definition.
            +         */
            +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a range.
            +         */
            +        revealRange(range: IRange, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
            +         */
            +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
            +         */
            +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
            +         */
            +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
            +         * optimized for viewing a code definition.
            +         */
            +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
            +        /**
            +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
            +         * optimized for viewing a code definition. Only if it lies outside the viewport.
            +         */
            +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
            +        /**
            +         * Directly trigger a handler or an editor action.
            +         * @param source The source of the call.
            +         * @param handlerId The id of the handler or the id of a contribution.
            +         * @param payload Extra data to be sent to the handler.
            +         */
            +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
            +        /**
            +         * Gets the current model attached to this editor.
            +         */
            +        getModel(): IEditorModel | null;
            +        /**
            +         * Sets the current model attached to this editor.
            +         * If the previous model was created by the editor via the value key in the options
            +         * literal object, it will be destroyed. Otherwise, if the previous model was set
            +         * via setModel, or the model key in the options literal object, the previous model
            +         * will not be destroyed.
            +         * It is safe to call setModel(null) to simply detach the current model from the editor.
            +         */
            +        setModel(model: IEditorModel | null): void;
            +    }
            +
            +    /**
            +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
            +     */
            +    export interface IEditorContribution {
            +        /**
            +         * Dispose this contribution.
            +         */
            +        dispose(): void;
            +        /**
            +         * Store view state.
            +         */
            +        saveViewState?(): any;
            +        /**
            +         * Restore view state.
            +         */
            +        restoreViewState?(state: any): void;
            +    }
            +
            +    /**
            +     * The type of the `IEditor`.
            +     */
            +    export const EditorType: {
            +        ICodeEditor: string;
            +        IDiffEditor: string;
            +    };
            +
            +    /**
            +     * An event describing that the current language associated with a model has changed.
            +     */
            +    export interface IModelLanguageChangedEvent {
            +        /**
            +         * Previous language
            +         */
            +        readonly oldLanguage: string;
            +        /**
            +         * New language
            +         */
            +        readonly newLanguage: string;
            +    }
            +
            +    /**
            +     * An event describing that the language configuration associated with a model has changed.
            +     */
            +    export interface IModelLanguageConfigurationChangedEvent {
            +    }
            +
            +    export interface IModelContentChange {
            +        /**
            +         * The range that got replaced.
            +         */
            +        readonly range: IRange;
            +        /**
            +         * The offset of the range that got replaced.
            +         */
            +        readonly rangeOffset: number;
            +        /**
            +         * The length of the range that got replaced.
            +         */
            +        readonly rangeLength: number;
            +        /**
            +         * The new text for the range.
            +         */
            +        readonly text: string;
            +    }
            +
            +    /**
            +     * An event describing a change in the text of a model.
            +     */
            +    export interface IModelContentChangedEvent {
            +        readonly changes: IModelContentChange[];
            +        /**
            +         * The (new) end-of-line character.
            +         */
            +        readonly eol: string;
            +        /**
            +         * The new version id the model has transitioned to.
            +         */
            +        readonly versionId: number;
            +        /**
            +         * Flag that indicates that this event was generated while undoing.
            +         */
            +        readonly isUndoing: boolean;
            +        /**
            +         * Flag that indicates that this event was generated while redoing.
            +         */
            +        readonly isRedoing: boolean;
            +        /**
            +         * Flag that indicates that all decorations were lost with this edit.
            +         * The model has been reset to a new value.
            +         */
            +        readonly isFlush: boolean;
            +    }
            +
            +    /**
            +     * An event describing that model decorations have changed.
            +     */
            +    export interface IModelDecorationsChangedEvent {
            +        readonly affectsMinimap: boolean;
            +        readonly affectsOverviewRuler: boolean;
            +    }
            +
            +    export interface IModelOptionsChangedEvent {
            +        readonly tabSize: boolean;
            +        readonly indentSize: boolean;
            +        readonly insertSpaces: boolean;
            +        readonly trimAutoWhitespace: boolean;
            +    }
            +
            +    /**
            +     * Describes the reason the cursor has changed its position.
            +     */
            +    export enum CursorChangeReason {
            +        /**
            +         * Unknown or not set.
            +         */
            +        NotSet = 0,
            +        /**
            +         * A `model.setValue()` was called.
            +         */
            +        ContentFlush = 1,
            +        /**
            +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
            +         */
            +        RecoverFromMarkers = 2,
            +        /**
            +         * There was an explicit user gesture.
            +         */
            +        Explicit = 3,
            +        /**
            +         * There was a Paste.
            +         */
            +        Paste = 4,
            +        /**
            +         * There was an Undo.
            +         */
            +        Undo = 5,
            +        /**
            +         * There was a Redo.
            +         */
            +        Redo = 6
            +    }
            +
            +    /**
            +     * An event describing that the cursor position has changed.
            +     */
            +    export interface ICursorPositionChangedEvent {
            +        /**
            +         * Primary cursor's position.
            +         */
            +        readonly position: Position;
            +        /**
            +         * Secondary cursors' position.
            +         */
            +        readonly secondaryPositions: Position[];
            +        /**
            +         * Reason.
            +         */
            +        readonly reason: CursorChangeReason;
            +        /**
            +         * Source of the call that caused the event.
            +         */
            +        readonly source: string;
            +    }
            +
            +    /**
            +     * An event describing that the cursor selection has changed.
            +     */
            +    export interface ICursorSelectionChangedEvent {
            +        /**
            +         * The primary selection.
            +         */
            +        readonly selection: Selection;
            +        /**
            +         * The secondary selections.
            +         */
            +        readonly secondarySelections: Selection[];
            +        /**
            +         * The model version id.
            +         */
            +        readonly modelVersionId: number;
            +        /**
            +         * The old selections.
            +         */
            +        readonly oldSelections: Selection[] | null;
            +        /**
            +         * The model version id the that `oldSelections` refer to.
            +         */
            +        readonly oldModelVersionId: number;
            +        /**
            +         * Source of the call that caused the event.
            +         */
            +        readonly source: string;
            +        /**
            +         * Reason.
            +         */
            +        readonly reason: CursorChangeReason;
            +    }
            +
            +    export enum AccessibilitySupport {
            +        /**
            +         * This should be the browser case where it is not known if a screen reader is attached or no.
            +         */
            +        Unknown = 0,
            +        Disabled = 1,
            +        Enabled = 2
            +    }
            +
            +    /**
            +     * Configuration options for auto closing quotes and brackets
            +     */
            +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
            +
            +    /**
            +     * Configuration options for auto wrapping quotes and brackets
            +     */
            +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
            +
            +    /**
            +     * Configuration options for typing over closing quotes or brackets
            +     */
            +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
            +
            +    /**
            +     * Configuration options for auto indentation in the editor
            +     */
            +    export enum EditorAutoIndentStrategy {
            +        None = 0,
            +        Keep = 1,
            +        Brackets = 2,
            +        Advanced = 3,
            +        Full = 4
            +    }
            +
            +    /**
            +     * Configuration options for the editor.
            +     */
            +    export interface IEditorOptions {
            +        /**
            +         * This editor is used inside a diff editor.
            +         */
            +        inDiffEditor?: boolean;
            +        /**
            +         * The aria label for the editor's textarea (when it is focused).
            +         */
            +        ariaLabel?: string;
            +        /**
            +         * The `tabindex` property of the editor's textarea
            +         */
            +        tabIndex?: number;
            +        /**
            +         * Render vertical lines at the specified columns.
            +         * Defaults to empty array.
            +         */
            +        rulers?: (number | IRulerOption)[];
            +        /**
            +         * A string containing the word separators used when doing word navigation.
            +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
            +         */
            +        wordSeparators?: string;
            +        /**
            +         * Enable Linux primary clipboard.
            +         * Defaults to true.
            +         */
            +        selectionClipboard?: boolean;
            +        /**
            +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
            +         * Otherwise, line numbers will not be rendered.
            +         * Defaults to `on`.
            +         */
            +        lineNumbers?: LineNumbersType;
            +        /**
            +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
            +         * Defaults to 0.
            +        */
            +        cursorSurroundingLines?: number;
            +        /**
            +         * Controls when `cursorSurroundingLines` should be enforced
            +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
            +         * by mouse.
            +        */
            +        cursorSurroundingLinesStyle?: 'default' | 'all';
            +        /**
            +         * Render last line number when the file ends with a newline.
            +         * Defaults to true.
            +        */
            +        renderFinalNewline?: boolean;
            +        /**
            +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
            +         * Defaults to 'prompt'.
            +         */
            +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
            +        /**
            +         * Should the corresponding line be selected when clicking on the line number?
            +         * Defaults to true.
            +         */
            +        selectOnLineNumbers?: boolean;
            +        /**
            +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
            +         * Defaults to 5.
            +         */
            +        lineNumbersMinChars?: number;
            +        /**
            +         * Enable the rendering of the glyph margin.
            +         * Defaults to true in vscode and to false in monaco-editor.
            +         */
            +        glyphMargin?: boolean;
            +        /**
            +         * The width reserved for line decorations (in px).
            +         * Line decorations are placed between line numbers and the editor content.
            +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
            +         * Defaults to 10.
            +         */
            +        lineDecorationsWidth?: number | string;
            +        /**
            +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
            +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
            +         * Defaults to 30 (px).
            +         */
            +        revealHorizontalRightPadding?: number;
            +        /**
            +         * Render the editor selection with rounded borders.
            +         * Defaults to true.
            +         */
            +        roundedSelection?: boolean;
            +        /**
            +         * Class name to be added to the editor.
            +         */
            +        extraEditorClassName?: string;
            +        /**
            +         * Should the editor be read only. See also `domReadOnly`.
            +         * Defaults to false.
            +         */
            +        readOnly?: boolean;
            +        /**
            +         * Should the textarea used for input use the DOM `readonly` attribute.
            +         * Defaults to false.
            +         */
            +        domReadOnly?: boolean;
            +        /**
            +         * Enable linked editing.
            +         * Defaults to false.
            +         */
            +        linkedEditing?: boolean;
            +        /**
            +         * deprecated, use linkedEditing instead
            +         */
            +        renameOnType?: boolean;
            +        /**
            +         * Should the editor render validation decorations.
            +         * Defaults to editable.
            +         */
            +        renderValidationDecorations?: 'editable' | 'on' | 'off';
            +        /**
            +         * Control the behavior and rendering of the scrollbars.
            +         */
            +        scrollbar?: IEditorScrollbarOptions;
            +        /**
            +         * Control the behavior and rendering of the minimap.
            +         */
            +        minimap?: IEditorMinimapOptions;
            +        /**
            +         * Control the behavior of the find widget.
            +         */
            +        find?: IEditorFindOptions;
            +        /**
            +         * Display overflow widgets as `fixed`.
            +         * Defaults to `false`.
            +         */
            +        fixedOverflowWidgets?: boolean;
            +        /**
            +         * The number of vertical lanes the overview ruler should render.
            +         * Defaults to 3.
            +         */
            +        overviewRulerLanes?: number;
            +        /**
            +         * Controls if a border should be drawn around the overview ruler.
            +         * Defaults to `true`.
            +         */
            +        overviewRulerBorder?: boolean;
            +        /**
            +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
            +         * Defaults to 'blink'.
            +         */
            +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
            +        /**
            +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
            +         * Defaults to false.
            +         */
            +        mouseWheelZoom?: boolean;
            +        /**
            +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
            +         * Defaults to 'text'
            +         */
            +        mouseStyle?: 'text' | 'default' | 'copy';
            +        /**
            +         * Enable smooth caret animation.
            +         * Defaults to false.
            +         */
            +        cursorSmoothCaretAnimation?: boolean;
            +        /**
            +         * Control the cursor style, either 'block' or 'line'.
            +         * Defaults to 'line'.
            +         */
            +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
            +        /**
            +         * Control the width of the cursor when cursorStyle is set to 'line'
            +         */
            +        cursorWidth?: number;
            +        /**
            +         * Enable font ligatures.
            +         * Defaults to false.
            +         */
            +        fontLigatures?: boolean | string;
            +        /**
            +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
            +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
            +         * Defaults to false.
            +         */
            +        disableLayerHinting?: boolean;
            +        /**
            +         * Disable the optimizations for monospace fonts.
            +         * Defaults to false.
            +         */
            +        disableMonospaceOptimizations?: boolean;
            +        /**
            +         * Should the cursor be hidden in the overview ruler.
            +         * Defaults to false.
            +         */
            +        hideCursorInOverviewRuler?: boolean;
            +        /**
            +         * Enable that scrolling can go one screen size after the last line.
            +         * Defaults to true.
            +         */
            +        scrollBeyondLastLine?: boolean;
            +        /**
            +         * Enable that scrolling can go beyond the last column by a number of columns.
            +         * Defaults to 5.
            +         */
            +        scrollBeyondLastColumn?: number;
            +        /**
            +         * Enable that the editor animates scrolling to a position.
            +         * Defaults to false.
            +         */
            +        smoothScrolling?: boolean;
            +        /**
            +         * Enable that the editor will install an interval to check if its container dom node size has changed.
            +         * Enabling this might have a severe performance impact.
            +         * Defaults to false.
            +         */
            +        automaticLayout?: boolean;
            +        /**
            +         * Control the wrapping of the editor.
            +         * When `wordWrap` = "off", the lines will never wrap.
            +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
            +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
            +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
            +         * Defaults to "off".
            +         */
            +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
            +        /**
            +         * Override the `wordWrap` setting.
            +         */
            +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
            +        /**
            +         * Override the `wordWrapOverride1` setting.
            +         */
            +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
            +        /**
            +         * Control the wrapping of the editor.
            +         * When `wordWrap` = "off", the lines will never wrap.
            +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
            +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
            +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
            +         * Defaults to 80.
            +         */
            +        wordWrapColumn?: number;
            +        /**
            +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
            +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
            +         */
            +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
            +        /**
            +         * Controls the wrapping strategy to use.
            +         * Defaults to 'simple'.
            +         */
            +        wrappingStrategy?: 'simple' | 'advanced';
            +        /**
            +         * Configure word wrapping characters. A break will be introduced before these characters.
            +         */
            +        wordWrapBreakBeforeCharacters?: string;
            +        /**
            +         * Configure word wrapping characters. A break will be introduced after these characters.
            +         */
            +        wordWrapBreakAfterCharacters?: string;
            +        /**
            +         * Performance guard: Stop rendering a line after x characters.
            +         * Defaults to 10000.
            +         * Use -1 to never stop rendering
            +         */
            +        stopRenderingLineAfter?: number;
            +        /**
            +         * Configure the editor's hover.
            +         */
            +        hover?: IEditorHoverOptions;
            +        /**
            +         * Enable detecting links and making them clickable.
            +         * Defaults to true.
            +         */
            +        links?: boolean;
            +        /**
            +         * Enable inline color decorators and color picker rendering.
            +         */
            +        colorDecorators?: boolean;
            +        /**
            +         * Control the behaviour of comments in the editor.
            +         */
            +        comments?: IEditorCommentsOptions;
            +        /**
            +         * Enable custom contextmenu.
            +         * Defaults to true.
            +         */
            +        contextmenu?: boolean;
            +        /**
            +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
            +         * Defaults to 1.
            +         */
            +        mouseWheelScrollSensitivity?: number;
            +        /**
            +         * FastScrolling mulitplier speed when pressing `Alt`
            +         * Defaults to 5.
            +         */
            +        fastScrollSensitivity?: number;
            +        /**
            +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
            +         * Defaults to true.
            +         */
            +        scrollPredominantAxis?: boolean;
            +        /**
            +         * Enable that the selection with the mouse and keys is doing column selection.
            +         * Defaults to false.
            +         */
            +        columnSelection?: boolean;
            +        /**
            +         * The modifier to be used to add multiple cursors with the mouse.
            +         * Defaults to 'alt'
            +         */
            +        multiCursorModifier?: 'ctrlCmd' | 'alt';
            +        /**
            +         * Merge overlapping selections.
            +         * Defaults to true
            +         */
            +        multiCursorMergeOverlapping?: boolean;
            +        /**
            +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
            +         * Defaults to 'spread'.
            +         */
            +        multiCursorPaste?: 'spread' | 'full';
            +        /**
            +         * Configure the editor's accessibility support.
            +         * Defaults to 'auto'. It is best to leave this to 'auto'.
            +         */
            +        accessibilitySupport?: 'auto' | 'off' | 'on';
            +        /**
            +         * Controls the number of lines in the editor that can be read out by a screen reader
            +         */
            +        accessibilityPageSize?: number;
            +        /**
            +         * Suggest options.
            +         */
            +        suggest?: ISuggestOptions;
            +        inlineSuggest?: IInlineSuggestOptions;
            +        /**
            +         * Smart select options.
            +         */
            +        smartSelect?: ISmartSelectOptions;
            +        /**
            +         *
            +         */
            +        gotoLocation?: IGotoLocationOptions;
            +        /**
            +         * Enable quick suggestions (shadow suggestions)
            +         * Defaults to true.
            +         */
            +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
            +        /**
            +         * Quick suggestions show delay (in ms)
            +         * Defaults to 10 (ms)
            +         */
            +        quickSuggestionsDelay?: number;
            +        /**
            +         * Controls the spacing around the editor.
            +         */
            +        padding?: IEditorPaddingOptions;
            +        /**
            +         * Parameter hint options.
            +         */
            +        parameterHints?: IEditorParameterHintOptions;
            +        /**
            +         * Options for auto closing brackets.
            +         * Defaults to language defined behavior.
            +         */
            +        autoClosingBrackets?: EditorAutoClosingStrategy;
            +        /**
            +         * Options for auto closing quotes.
            +         * Defaults to language defined behavior.
            +         */
            +        autoClosingQuotes?: EditorAutoClosingStrategy;
            +        /**
            +         * Options for pressing backspace near quotes or bracket pairs.
            +         */
            +        autoClosingDelete?: EditorAutoClosingEditStrategy;
            +        /**
            +         * Options for typing over closing quotes or brackets.
            +         */
            +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
            +        /**
            +         * Options for auto surrounding.
            +         * Defaults to always allowing auto surrounding.
            +         */
            +        autoSurround?: EditorAutoSurroundStrategy;
            +        /**
            +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
            +         * Defaults to advanced.
            +         */
            +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
            +        /**
            +         * Emulate selection behaviour of tab characters when using spaces for indentation.
            +         * This means selection will stick to tab stops.
            +         */
            +        stickyTabStops?: boolean;
            +        /**
            +         * Enable format on type.
            +         * Defaults to false.
            +         */
            +        formatOnType?: boolean;
            +        /**
            +         * Enable format on paste.
            +         * Defaults to false.
            +         */
            +        formatOnPaste?: boolean;
            +        /**
            +         * Controls if the editor should allow to move selections via drag and drop.
            +         * Defaults to false.
            +         */
            +        dragAndDrop?: boolean;
            +        /**
            +         * Enable the suggestion box to pop-up on trigger characters.
            +         * Defaults to true.
            +         */
            +        suggestOnTriggerCharacters?: boolean;
            +        /**
            +         * Accept suggestions on ENTER.
            +         * Defaults to 'on'.
            +         */
            +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
            +        /**
            +         * Accept suggestions on provider defined characters.
            +         * Defaults to true.
            +         */
            +        acceptSuggestionOnCommitCharacter?: boolean;
            +        /**
            +         * Enable snippet suggestions. Default to 'true'.
            +         */
            +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
            +        /**
            +         * Copying without a selection copies the current line.
            +         */
            +        emptySelectionClipboard?: boolean;
            +        /**
            +         * Syntax highlighting is copied.
            +         */
            +        copyWithSyntaxHighlighting?: boolean;
            +        /**
            +         * The history mode for suggestions.
            +         */
            +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
            +        /**
            +         * The font size for the suggest widget.
            +         * Defaults to the editor font size.
            +         */
            +        suggestFontSize?: number;
            +        /**
            +         * The line height for the suggest widget.
            +         * Defaults to the editor line height.
            +         */
            +        suggestLineHeight?: number;
            +        /**
            +         * Enable tab completion.
            +         */
            +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
            +        /**
            +         * Enable selection highlight.
            +         * Defaults to true.
            +         */
            +        selectionHighlight?: boolean;
            +        /**
            +         * Enable semantic occurrences highlight.
            +         * Defaults to true.
            +         */
            +        occurrencesHighlight?: boolean;
            +        /**
            +         * Show code lens
            +         * Defaults to true.
            +         */
            +        codeLens?: boolean;
            +        /**
            +         * Code lens font family. Defaults to editor font family.
            +         */
            +        codeLensFontFamily?: string;
            +        /**
            +         * Code lens font size. Default to 90% of the editor font size
            +         */
            +        codeLensFontSize?: number;
            +        /**
            +         * Control the behavior and rendering of the code action lightbulb.
            +         */
            +        lightbulb?: IEditorLightbulbOptions;
            +        /**
            +         * Timeout for running code actions on save.
            +         */
            +        codeActionsOnSaveTimeout?: number;
            +        /**
            +         * Enable code folding.
            +         * Defaults to true.
            +         */
            +        folding?: boolean;
            +        /**
            +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
            +         * Defaults to 'auto'.
            +         */
            +        foldingStrategy?: 'auto' | 'indentation';
            +        /**
            +         * Enable highlight for folded regions.
            +         * 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'.
            +         */
            +        showFoldingControls?: 'always' | 'mouseover';
            +        /**
            +         * Controls whether clicking on the empty content after a folded line will unfold the line.
            +         * Defaults to false.
            +         */
            +        unfoldOnClickAfterEndOfLine?: boolean;
            +        /**
            +         * Enable highlighting of matching brackets.
            +         * Defaults to 'always'.
            +         */
            +        matchBrackets?: 'never' | 'near' | 'always';
            +        /**
            +         * Enable rendering of whitespace.
            +         * Defaults to 'selection'.
            +         */
            +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
            +        /**
            +         * Enable rendering of control characters.
            +         * Defaults to true.
            +         */
            +        renderControlCharacters?: boolean;
            +        /**
            +         * Enable rendering of current line highlight.
            +         * Defaults to all.
            +         */
            +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
            +        /**
            +         * Control if the current line highlight should be rendered only the editor is focused.
            +         * Defaults to false.
            +         */
            +        renderLineHighlightOnlyWhenFocus?: boolean;
            +        /**
            +         * Inserting and deleting whitespace follows tab stops.
            +         */
            +        useTabStops?: boolean;
            +        /**
            +         * The font family
            +         */
            +        fontFamily?: string;
            +        /**
            +         * The font weight
            +         */
            +        fontWeight?: string;
            +        /**
            +         * The font size
            +         */
            +        fontSize?: number;
            +        /**
            +         * The line height
            +         */
            +        lineHeight?: number;
            +        /**
            +         * The letter spacing
            +         */
            +        letterSpacing?: number;
            +        /**
            +         * Controls fading out of unused variables.
            +         */
            +        showUnused?: boolean;
            +        /**
            +         * Controls whether to focus the inline editor in the peek widget by default.
            +         * Defaults to false.
            +         */
            +        peekWidgetDefaultFocus?: 'tree' | 'editor';
            +        /**
            +         * Controls whether the definition link opens element in the peek widget.
            +         * Defaults to false.
            +         */
            +        definitionLinkOpensInPeek?: boolean;
            +        /**
            +         * Controls strikethrough deprecated variables.
            +         */
            +        showDeprecated?: boolean;
            +        /**
            +         * Control the behavior and rendering of the inline hints.
            +         */
            +        inlayHints?: IEditorInlayHintsOptions;
            +        /**
            +         * Control if the editor should use shadow DOM.
            +         */
            +        useShadowDOM?: boolean;
            +        /**
            +         * Controls the behavior of editor guides.
            +        */
            +        guides?: IGuidesOptions;
            +        unicodeHighlight?: IUnicodeHighlightOptions;
            +    }
            +
            +    export interface IDiffEditorBaseOptions {
            +        /**
            +         * Allow the user to resize the diff editor split view.
            +         * Defaults to true.
            +         */
            +        enableSplitViewResizing?: boolean;
            +        /**
            +         * Render the differences in two side-by-side editors.
            +         * Defaults to true.
            +         */
            +        renderSideBySide?: boolean;
            +        /**
            +         * Timeout in milliseconds after which diff computation is cancelled.
            +         * Defaults to 5000.
            +         */
            +        maxComputationTime?: number;
            +        /**
            +         * Maximum supported file size in MB.
            +         * Defaults to 50.
            +         */
            +        maxFileSize?: number;
            +        /**
            +         * Compute the diff by ignoring leading/trailing whitespace
            +         * Defaults to true.
            +         */
            +        ignoreTrimWhitespace?: boolean;
            +        /**
            +         * Render +/- indicators for added/deleted changes.
            +         * Defaults to true.
            +         */
            +        renderIndicators?: boolean;
            +        /**
            +         * Original model should be editable?
            +         * Defaults to false.
            +         */
            +        originalEditable?: boolean;
            +        /**
            +         * Should the diff editor enable code lens?
            +         * Defaults to false.
            +         */
            +        diffCodeLens?: boolean;
            +        /**
            +         * Is the diff editor should render overview ruler
            +         * Defaults to true
            +         */
            +        renderOverviewRuler?: boolean;
            +        /**
            +         * Control the wrapping of the diff editor.
            +         */
            +        diffWordWrap?: 'off' | 'on' | 'inherit';
            +    }
            +
            +    /**
            +     * Configuration options for the diff editor.
            +     */
            +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
            +    }
            +
            +    /**
            +     * An event describing that the configuration of the editor has changed.
            +     */
            +    export class ConfigurationChangedEvent {
            +        hasChanged(id: EditorOption): boolean;
            +    }
            +
            +    /**
            +     * All computed editor options.
            +     */
            +    export interface IComputedEditorOptions {
            +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
            +    }
            +
            +    export interface IEditorOption<K1 extends EditorOption, V> {
            +        readonly id: K1;
            +        readonly name: string;
            +        defaultValue: V;
            +        /**
            +         * Might modify `value`.
            +        */
            +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
            +    }
            +
            +    export class ApplyUpdateResult<T> {
            +        readonly newValue: T;
            +        readonly didChange: boolean;
            +        constructor(newValue: T, didChange: boolean);
            +    }
            +
            +    /**
            +     * Configuration options for editor comments
            +     */
            +    export interface IEditorCommentsOptions {
            +        /**
            +         * Insert a space after the line comment token and inside the block comments tokens.
            +         * Defaults to true.
            +         */
            +        insertSpace?: boolean;
            +        /**
            +         * Ignore empty lines when inserting line comments.
            +         * Defaults to true.
            +         */
            +        ignoreEmptyLines?: boolean;
            +    }
            +
            +    /**
            +     * The kind of animation in which the editor's cursor should be rendered.
            +     */
            +    export enum TextEditorCursorBlinkingStyle {
            +        /**
            +         * Hidden
            +         */
            +        Hidden = 0,
            +        /**
            +         * Blinking
            +         */
            +        Blink = 1,
            +        /**
            +         * Blinking with smooth fading
            +         */
            +        Smooth = 2,
            +        /**
            +         * Blinking with prolonged filled state and smooth fading
            +         */
            +        Phase = 3,
            +        /**
            +         * Expand collapse animation on the y axis
            +         */
            +        Expand = 4,
            +        /**
            +         * No-Blinking
            +         */
            +        Solid = 5
            +    }
            +
            +    /**
            +     * The style in which the editor's cursor should be rendered.
            +     */
            +    export enum TextEditorCursorStyle {
            +        /**
            +         * As a vertical line (sitting between two characters).
            +         */
            +        Line = 1,
            +        /**
            +         * As a block (sitting on top of a character).
            +         */
            +        Block = 2,
            +        /**
            +         * As a horizontal line (sitting under a character).
            +         */
            +        Underline = 3,
            +        /**
            +         * As a thin vertical line (sitting between two characters).
            +         */
            +        LineThin = 4,
            +        /**
            +         * As an outlined block (sitting on top of a character).
            +         */
            +        BlockOutline = 5,
            +        /**
            +         * As a thin horizontal line (sitting under a character).
            +         */
            +        UnderlineThin = 6
            +    }
            +
            +    /**
            +     * Configuration options for editor find widget
            +     */
            +    export interface IEditorFindOptions {
            +        /**
            +        * Controls whether the cursor should move to find matches while typing.
            +        */
            +        cursorMoveOnType?: boolean;
            +        /**
            +         * Controls if we seed search string in the Find Widget with editor selection.
            +         */
            +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
            +        /**
            +         * Controls if Find in Selection flag is turned on in the editor.
            +         */
            +        autoFindInSelection?: 'never' | 'always' | 'multiline';
            +        addExtraSpaceOnTop?: boolean;
            +        /**
            +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
            +         */
            +        loop?: boolean;
            +    }
            +
            +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
            +
            +    /**
            +     * Configuration options for go to location
            +     */
            +    export interface IGotoLocationOptions {
            +        multiple?: GoToLocationValues;
            +        multipleDefinitions?: GoToLocationValues;
            +        multipleTypeDefinitions?: GoToLocationValues;
            +        multipleDeclarations?: GoToLocationValues;
            +        multipleImplementations?: GoToLocationValues;
            +        multipleReferences?: GoToLocationValues;
            +        alternativeDefinitionCommand?: string;
            +        alternativeTypeDefinitionCommand?: string;
            +        alternativeDeclarationCommand?: string;
            +        alternativeImplementationCommand?: string;
            +        alternativeReferenceCommand?: string;
            +    }
            +
            +    /**
            +     * Configuration options for editor hover
            +     */
            +    export interface IEditorHoverOptions {
            +        /**
            +         * Enable the hover.
            +         * Defaults to true.
            +         */
            +        enabled?: boolean;
            +        /**
            +         * Delay for showing the hover.
            +         * Defaults to 300.
            +         */
            +        delay?: number;
            +        /**
            +         * Is the hover sticky such that it can be clicked and its contents selected?
            +         * Defaults to true.
            +         */
            +        sticky?: boolean;
            +        /**
            +         * Should the hover be shown above the line if possible?
            +         * Defaults to false.
            +         */
            +        above?: boolean;
            +    }
            +
            +    /**
            +     * A description for the overview ruler position.
            +     */
            +    export interface OverviewRulerPosition {
            +        /**
            +         * Width of the overview ruler
            +         */
            +        readonly width: number;
            +        /**
            +         * Height of the overview ruler
            +         */
            +        readonly height: number;
            +        /**
            +         * Top position for the overview ruler
            +         */
            +        readonly top: number;
            +        /**
            +         * Right position for the overview ruler
            +         */
            +        readonly right: number;
            +    }
            +
            +    export enum RenderMinimap {
            +        None = 0,
            +        Text = 1,
            +        Blocks = 2
            +    }
            +
            +    /**
            +     * The internal layout details of the editor.
            +     */
            +    export interface EditorLayoutInfo {
            +        /**
            +         * Full editor width.
            +         */
            +        readonly width: number;
            +        /**
            +         * Full editor height.
            +         */
            +        readonly height: number;
            +        /**
            +         * Left position for the glyph margin.
            +         */
            +        readonly glyphMarginLeft: number;
            +        /**
            +         * The width of the glyph margin.
            +         */
            +        readonly glyphMarginWidth: number;
            +        /**
            +         * Left position for the line numbers.
            +         */
            +        readonly lineNumbersLeft: number;
            +        /**
            +         * The width of the line numbers.
            +         */
            +        readonly lineNumbersWidth: number;
            +        /**
            +         * Left position for the line decorations.
            +         */
            +        readonly decorationsLeft: number;
            +        /**
            +         * The width of the line decorations.
            +         */
            +        readonly decorationsWidth: number;
            +        /**
            +         * Left position for the content (actual text)
            +         */
            +        readonly contentLeft: number;
            +        /**
            +         * The width of the content (actual text)
            +         */
            +        readonly contentWidth: number;
            +        /**
            +         * Layout information for the minimap
            +         */
            +        readonly minimap: EditorMinimapLayoutInfo;
            +        /**
            +         * The number of columns (of typical characters) fitting on a viewport line.
            +         */
            +        readonly viewportColumn: number;
            +        readonly isWordWrapMinified: boolean;
            +        readonly isViewportWrapping: boolean;
            +        readonly wrappingColumn: number;
            +        /**
            +         * The width of the vertical scrollbar.
            +         */
            +        readonly verticalScrollbarWidth: number;
            +        /**
            +         * The height of the horizontal scrollbar.
            +         */
            +        readonly horizontalScrollbarHeight: number;
            +        /**
            +         * The position of the overview ruler.
            +         */
            +        readonly overviewRuler: OverviewRulerPosition;
            +    }
            +
            +    /**
            +     * The internal layout details of the editor.
            +     */
            +    export interface EditorMinimapLayoutInfo {
            +        readonly renderMinimap: RenderMinimap;
            +        readonly minimapLeft: number;
            +        readonly minimapWidth: number;
            +        readonly minimapHeightIsEditorHeight: boolean;
            +        readonly minimapIsSampling: boolean;
            +        readonly minimapScale: number;
            +        readonly minimapLineHeight: number;
            +        readonly minimapCanvasInnerWidth: number;
            +        readonly minimapCanvasInnerHeight: number;
            +        readonly minimapCanvasOuterWidth: number;
            +        readonly minimapCanvasOuterHeight: number;
            +    }
            +
            +    /**
            +     * Configuration options for editor lightbulb
            +     */
            +    export interface IEditorLightbulbOptions {
            +        /**
            +         * Enable the lightbulb code action.
            +         * Defaults to true.
            +         */
            +        enabled?: boolean;
            +    }
            +
            +    /**
            +     * Configuration options for editor inlayHints
            +     */
            +    export interface IEditorInlayHintsOptions {
            +        /**
            +         * Enable the inline hints.
            +         * Defaults to true.
            +         */
            +        enabled?: boolean;
            +        /**
            +         * Font size of inline hints.
            +         * Default to 90% of the editor font size.
            +         */
            +        fontSize?: number;
            +        /**
            +         * Font family of inline hints.
            +         * Defaults to editor font family.
            +         */
            +        fontFamily?: string;
            +    }
            +
            +    /**
            +     * Configuration options for editor minimap
            +     */
            +    export interface IEditorMinimapOptions {
            +        /**
            +         * Enable the rendering of the minimap.
            +         * Defaults to true.
            +         */
            +        enabled?: boolean;
            +        /**
            +         * Control the side of the minimap in editor.
            +         * Defaults to 'right'.
            +         */
            +        side?: 'right' | 'left';
            +        /**
            +         * Control the minimap rendering mode.
            +         * Defaults to 'actual'.
            +         */
            +        size?: 'proportional' | 'fill' | 'fit';
            +        /**
            +         * Control the rendering of the minimap slider.
            +         * Defaults to 'mouseover'.
            +         */
            +        showSlider?: 'always' | 'mouseover';
            +        /**
            +         * Render the actual text on a line (as opposed to color blocks).
            +         * Defaults to true.
            +         */
            +        renderCharacters?: boolean;
            +        /**
            +         * Limit the width of the minimap to render at most a certain number of columns.
            +         * Defaults to 120.
            +         */
            +        maxColumn?: number;
            +        /**
            +         * Relative size of the font in the minimap. Defaults to 1.
            +         */
            +        scale?: number;
            +    }
            +
            +    /**
            +     * Configuration options for editor padding
            +     */
            +    export interface IEditorPaddingOptions {
            +        /**
            +         * Spacing between top edge of editor and first line.
            +         */
            +        top?: number;
            +        /**
            +         * Spacing between bottom edge of editor and last line.
            +         */
            +        bottom?: number;
            +    }
            +
            +    /**
            +     * Configuration options for parameter hints
            +     */
            +    export interface IEditorParameterHintOptions {
            +        /**
            +         * Enable parameter hints.
            +         * Defaults to true.
            +         */
            +        enabled?: boolean;
            +        /**
            +         * Enable cycling of parameter hints.
            +         * Defaults to false.
            +         */
            +        cycle?: boolean;
            +    }
            +
            +    /**
            +     * Configuration options for quick suggestions
            +     */
            +    export interface IQuickSuggestionsOptions {
            +        other?: boolean;
            +        comments?: boolean;
            +        strings?: boolean;
            +    }
            +
            +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
            +
            +    export enum RenderLineNumbersType {
            +        Off = 0,
            +        On = 1,
            +        Relative = 2,
            +        Interval = 3,
            +        Custom = 4
            +    }
            +
            +    export interface InternalEditorRenderLineNumbersOptions {
            +        readonly renderType: RenderLineNumbersType;
            +        readonly renderFn: ((lineNumber: number) => string) | null;
            +    }
            +
            +    export interface IRulerOption {
            +        readonly column: number;
            +        readonly color: string | null;
            +    }
            +
            +    /**
            +     * Configuration options for editor scrollbars
            +     */
            +    export interface IEditorScrollbarOptions {
            +        /**
            +         * The size of arrows (if displayed).
            +         * Defaults to 11.
            +         * **NOTE**: This option cannot be updated using `updateOptions()`
            +         */
            +        arrowSize?: number;
            +        /**
            +         * Render vertical scrollbar.
            +         * Defaults to 'auto'.
            +         */
            +        vertical?: 'auto' | 'visible' | 'hidden';
            +        /**
            +         * Render horizontal scrollbar.
            +         * Defaults to 'auto'.
            +         */
            +        horizontal?: 'auto' | 'visible' | 'hidden';
            +        /**
            +         * 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;
            +        /**
            +         * Listen to mouse wheel events and react to them by scrolling.
            +         * Defaults to true.
            +         */
            +        handleMouseWheel?: boolean;
            +        /**
            +         * 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;
            +        /**
            +         * Height in pixels for the horizontal scrollbar.
            +         * Defaults to 10 (px).
            +         */
            +        horizontalScrollbarSize?: number;
            +        /**
            +         * Width in pixels for the vertical scrollbar.
            +         * Defaults to 10 (px).
            +         */
            +        verticalScrollbarSize?: number;
            +        /**
            +         * 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;
            +        /**
            +         * Scroll gutter clicks move by page vs jump to position.
            +         * Defaults to false.
            +         */
            +        scrollByPage?: boolean;
            +    }
            +
            +    export interface InternalEditorScrollbarOptions {
            +        readonly arrowSize: number;
            +        readonly vertical: ScrollbarVisibility;
            +        readonly horizontal: ScrollbarVisibility;
            +        readonly useShadows: boolean;
            +        readonly verticalHasArrows: boolean;
            +        readonly horizontalHasArrows: boolean;
            +        readonly handleMouseWheel: boolean;
            +        readonly alwaysConsumeMouseWheel: boolean;
            +        readonly horizontalScrollbarSize: number;
            +        readonly horizontalSliderSize: number;
            +        readonly verticalScrollbarSize: number;
            +        readonly verticalSliderSize: number;
            +        readonly scrollByPage: boolean;
            +    }
            +
            +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
            +
            +    /**
            +     * Configuration options for unicode highlighting.
            +     */
            +    export interface IUnicodeHighlightOptions {
            +        nonBasicASCII?: boolean | InUntrustedWorkspace;
            +        invisibleCharacters?: boolean;
            +        ambiguousCharacters?: boolean;
            +        includeComments?: boolean | InUntrustedWorkspace;
            +        /**
            +         * A map of allowed characters (true: allowed).
            +        */
            +        allowedCharacters?: Record<string, true>;
            +    }
            +
            +    export interface IInlineSuggestOptions {
            +        /**
            +         * Enable or disable the rendering of automatic inline completions.
            +        */
            +        enabled?: boolean;
            +        /**
            +         * Configures the mode.
            +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
            +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
            +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
            +         * Defaults to `prefix`.
            +        */
            +        mode?: 'prefix' | 'subword' | 'subwordSmart';
            +    }
            +
            +    export interface IBracketPairColorizationOptions {
            +        /**
            +         * Enable or disable bracket pair colorization.
            +        */
            +        enabled?: boolean;
            +    }
            +
            +    export interface IGuidesOptions {
            +        /**
            +         * Enable rendering of bracket pair guides.
            +         * Defaults to false.
            +        */
            +        bracketPairs?: boolean | 'active';
            +        /**
            +         * Enable rendering of vertical bracket pair guides.
            +         * Defaults to 'active'.
            +         */
            +        bracketPairsHorizontal?: boolean | 'active';
            +        /**
            +         * Enable highlighting of the active bracket pair.
            +         * Defaults to true.
            +        */
            +        highlightActiveBracketPair?: boolean;
            +        /**
            +         * Enable rendering of indent guides.
            +         * Defaults to true.
            +         */
            +        indentation?: boolean;
            +        /**
            +         * Enable highlighting of the active indent guide.
            +         * Defaults to true.
            +         */
            +        highlightActiveIndentation?: boolean;
            +    }
            +
            +    /**
            +     * Configuration options for editor suggest widget
            +     */
            +    export interface ISuggestOptions {
            +        /**
            +         * Overwrite word ends on accept. Default to false.
            +         */
            +        insertMode?: 'insert' | 'replace';
            +        /**
            +         * Enable graceful matching. Defaults to true.
            +         */
            +        filterGraceful?: boolean;
            +        /**
            +         * Prevent quick suggestions when a snippet is active. Defaults to true.
            +         */
            +        snippetsPreventQuickSuggestions?: boolean;
            +        /**
            +         * Favors words that appear close to the cursor.
            +         */
            +        localityBonus?: boolean;
            +        /**
            +         * Enable using global storage for remembering suggestions.
            +         */
            +        shareSuggestSelections?: boolean;
            +        /**
            +         * Enable or disable icons in suggestions. Defaults to true.
            +         */
            +        showIcons?: boolean;
            +        /**
            +         * 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.
            +         */
            +        showInlineDetails?: boolean;
            +        /**
            +         * Show method-suggestions.
            +         */
            +        showMethods?: boolean;
            +        /**
            +         * Show function-suggestions.
            +         */
            +        showFunctions?: boolean;
            +        /**
            +         * Show constructor-suggestions.
            +         */
            +        showConstructors?: boolean;
            +        /**
            +         * Show deprecated-suggestions.
            +         */
            +        showDeprecated?: boolean;
            +        /**
            +         * Show field-suggestions.
            +         */
            +        showFields?: boolean;
            +        /**
            +         * Show variable-suggestions.
            +         */
            +        showVariables?: boolean;
            +        /**
            +         * Show class-suggestions.
            +         */
            +        showClasses?: boolean;
            +        /**
            +         * Show struct-suggestions.
            +         */
            +        showStructs?: boolean;
            +        /**
            +         * Show interface-suggestions.
            +         */
            +        showInterfaces?: boolean;
            +        /**
            +         * Show module-suggestions.
            +         */
            +        showModules?: boolean;
            +        /**
            +         * Show property-suggestions.
            +         */
            +        showProperties?: boolean;
            +        /**
            +         * Show event-suggestions.
            +         */
            +        showEvents?: boolean;
            +        /**
            +         * Show operator-suggestions.
            +         */
            +        showOperators?: boolean;
            +        /**
            +         * Show unit-suggestions.
            +         */
            +        showUnits?: boolean;
            +        /**
            +         * Show value-suggestions.
            +         */
            +        showValues?: boolean;
            +        /**
            +         * Show constant-suggestions.
            +         */
            +        showConstants?: boolean;
            +        /**
            +         * Show enum-suggestions.
            +         */
            +        showEnums?: boolean;
            +        /**
            +         * Show enumMember-suggestions.
            +         */
            +        showEnumMembers?: boolean;
            +        /**
            +         * Show keyword-suggestions.
            +         */
            +        showKeywords?: boolean;
            +        /**
            +         * Show text-suggestions.
            +         */
            +        showWords?: boolean;
            +        /**
            +         * Show color-suggestions.
            +         */
            +        showColors?: boolean;
            +        /**
            +         * Show file-suggestions.
            +         */
            +        showFiles?: boolean;
            +        /**
            +         * Show reference-suggestions.
            +         */
            +        showReferences?: boolean;
            +        /**
            +         * Show folder-suggestions.
            +         */
            +        showFolders?: boolean;
            +        /**
            +         * Show typeParameter-suggestions.
            +         */
            +        showTypeParameters?: boolean;
            +        /**
            +         * Show issue-suggestions.
            +         */
            +        showIssues?: boolean;
            +        /**
            +         * Show user-suggestions.
            +         */
            +        showUsers?: boolean;
            +        /**
            +         * Show snippet-suggestions.
            +         */
            +        showSnippets?: boolean;
            +    }
            +
            +    export interface ISmartSelectOptions {
            +        selectLeadingAndTrailingWhitespace?: boolean;
            +    }
            +
            +    /**
            +     * Describes how to indent wrapped lines.
            +     */
            +    export enum WrappingIndent {
            +        /**
            +         * No indentation => wrapped lines begin at column 1.
            +         */
            +        None = 0,
            +        /**
            +         * Same => wrapped lines get the same indentation as the parent.
            +         */
            +        Same = 1,
            +        /**
            +         * Indent => wrapped lines get +1 indentation toward the parent.
            +         */
            +        Indent = 2,
            +        /**
            +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
            +         */
            +        DeepIndent = 3
            +    }
            +
            +    export interface EditorWrappingInfo {
            +        readonly isDominatedByLongLines: boolean;
            +        readonly isWordWrapMinified: boolean;
            +        readonly isViewportWrapping: boolean;
            +        readonly wrappingColumn: number;
            +    }
            +
            +    export enum EditorOption {
            +        acceptSuggestionOnCommitCharacter = 0,
            +        acceptSuggestionOnEnter = 1,
            +        accessibilitySupport = 2,
            +        accessibilityPageSize = 3,
            +        ariaLabel = 4,
            +        autoClosingBrackets = 5,
            +        autoClosingDelete = 6,
            +        autoClosingOvertype = 7,
            +        autoClosingQuotes = 8,
            +        autoIndent = 9,
            +        automaticLayout = 10,
            +        autoSurround = 11,
            +        bracketPairColorization = 12,
            +        guides = 13,
            +        codeLens = 14,
            +        codeLensFontFamily = 15,
            +        codeLensFontSize = 16,
            +        colorDecorators = 17,
            +        columnSelection = 18,
            +        comments = 19,
            +        contextmenu = 20,
            +        copyWithSyntaxHighlighting = 21,
            +        cursorBlinking = 22,
            +        cursorSmoothCaretAnimation = 23,
            +        cursorStyle = 24,
            +        cursorSurroundingLines = 25,
            +        cursorSurroundingLinesStyle = 26,
            +        cursorWidth = 27,
            +        disableLayerHinting = 28,
            +        disableMonospaceOptimizations = 29,
            +        domReadOnly = 30,
            +        dragAndDrop = 31,
            +        emptySelectionClipboard = 32,
            +        extraEditorClassName = 33,
            +        fastScrollSensitivity = 34,
            +        find = 35,
            +        fixedOverflowWidgets = 36,
            +        folding = 37,
            +        foldingStrategy = 38,
            +        foldingHighlight = 39,
            +        foldingImportsByDefault = 40,
            +        unfoldOnClickAfterEndOfLine = 41,
            +        fontFamily = 42,
            +        fontInfo = 43,
            +        fontLigatures = 44,
            +        fontSize = 45,
            +        fontWeight = 46,
            +        formatOnPaste = 47,
            +        formatOnType = 48,
            +        glyphMargin = 49,
            +        gotoLocation = 50,
            +        hideCursorInOverviewRuler = 51,
            +        hover = 52,
            +        inDiffEditor = 53,
            +        inlineSuggest = 54,
            +        letterSpacing = 55,
            +        lightbulb = 56,
            +        lineDecorationsWidth = 57,
            +        lineHeight = 58,
            +        lineNumbers = 59,
            +        lineNumbersMinChars = 60,
            +        linkedEditing = 61,
            +        links = 62,
            +        matchBrackets = 63,
            +        minimap = 64,
            +        mouseStyle = 65,
            +        mouseWheelScrollSensitivity = 66,
            +        mouseWheelZoom = 67,
            +        multiCursorMergeOverlapping = 68,
            +        multiCursorModifier = 69,
            +        multiCursorPaste = 70,
            +        occurrencesHighlight = 71,
            +        overviewRulerBorder = 72,
            +        overviewRulerLanes = 73,
            +        padding = 74,
            +        parameterHints = 75,
            +        peekWidgetDefaultFocus = 76,
            +        definitionLinkOpensInPeek = 77,
            +        quickSuggestions = 78,
            +        quickSuggestionsDelay = 79,
            +        readOnly = 80,
            +        renameOnType = 81,
            +        renderControlCharacters = 82,
            +        renderFinalNewline = 83,
            +        renderLineHighlight = 84,
            +        renderLineHighlightOnlyWhenFocus = 85,
            +        renderValidationDecorations = 86,
            +        renderWhitespace = 87,
            +        revealHorizontalRightPadding = 88,
            +        roundedSelection = 89,
            +        rulers = 90,
            +        scrollbar = 91,
            +        scrollBeyondLastColumn = 92,
            +        scrollBeyondLastLine = 93,
            +        scrollPredominantAxis = 94,
            +        selectionClipboard = 95,
            +        selectionHighlight = 96,
            +        selectOnLineNumbers = 97,
            +        showFoldingControls = 98,
            +        showUnused = 99,
            +        snippetSuggestions = 100,
            +        smartSelect = 101,
            +        smoothScrolling = 102,
            +        stickyTabStops = 103,
            +        stopRenderingLineAfter = 104,
            +        suggest = 105,
            +        suggestFontSize = 106,
            +        suggestLineHeight = 107,
            +        suggestOnTriggerCharacters = 108,
            +        suggestSelection = 109,
            +        tabCompletion = 110,
            +        tabIndex = 111,
            +        unicodeHighlighting = 112,
            +        unusualLineTerminators = 113,
            +        useShadowDOM = 114,
            +        useTabStops = 115,
            +        wordSeparators = 116,
            +        wordWrap = 117,
            +        wordWrapBreakAfterCharacters = 118,
            +        wordWrapBreakBeforeCharacters = 119,
            +        wordWrapColumn = 120,
            +        wordWrapOverride1 = 121,
            +        wordWrapOverride2 = 122,
            +        wrappingIndent = 123,
            +        wrappingStrategy = 124,
            +        showDeprecated = 125,
            +        inlayHints = 126,
            +        editorClassName = 127,
            +        pixelRatio = 128,
            +        tabFocusMode = 129,
            +        layoutInfo = 130,
            +        wrappingInfo = 131
            +    }
            +
            +    export const EditorOptions: {
            +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
            +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
            +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
            +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
            +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
            +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
            +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
            +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
            +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
            +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
            +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
            +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
            +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
            +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
            +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
            +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
            +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
            +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
            +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
            +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
            +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
            +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
            +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
            +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
            +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
            +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
            +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
            +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
            +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
            +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
            +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
            +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
            +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
            +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
            +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
            +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
            +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
            +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
            +        folding: IEditorOption<EditorOption.folding, boolean>;
            +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
            +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
            +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
            +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
            +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
            +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
            +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
            +        fontSize: IEditorOption<EditorOption.fontSize, number>;
            +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
            +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
            +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
            +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
            +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
            +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
            +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
            +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
            +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
            +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
            +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
            +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
            +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
            +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
            +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
            +        links: IEditorOption<EditorOption.links, boolean>;
            +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
            +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
            +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
            +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
            +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
            +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
            +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
            +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
            +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
            +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
            +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
            +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
            +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
            +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
            +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
            +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
            +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
            +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
            +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
            +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
            +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
            +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
            +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
            +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
            +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
            +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
            +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
            +        rulers: IEditorOption<EditorOption.rulers, {}>;
            +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
            +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
            +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
            +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
            +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
            +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
            +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
            +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
            +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
            +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
            +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
            +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
            +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
            +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
            +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
            +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
            +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
            +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
            +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
            +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
            +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
            +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
            +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
            +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
            +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
            +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
            +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
            +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
            +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
            +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
            +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
            +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
            +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
            +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
            +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
            +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
            +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
            +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
            +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
            +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
            +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
            +    };
            +
            +    type EditorOptionsType = typeof EditorOptions;
            +
            +    type FindEditorOptionsKeyById<T extends EditorOption> = {
            +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
            +    }[keyof EditorOptionsType];
            +
            +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
            +
            +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
            +
            +    /**
            +     * A view zone is a full horizontal rectangle that 'pushes' text down.
            +     * The editor reserves space for view zones when rendering.
            +     */
            +    export interface IViewZone {
            +        /**
            +         * The line number after which this zone should appear.
            +         * Use 0 to place a view zone before the first line number.
            +         */
            +        afterLineNumber: number;
            +        /**
            +         * The column after which this zone should appear.
            +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
            +         */
            +        afterColumn?: number;
            +        /**
            +         * Suppress mouse down events.
            +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
            +         * Defaults to false
            +         */
            +        suppressMouseDown?: boolean;
            +        /**
            +         * The height in lines of the view zone.
            +         * If specified, `heightInPx` will be used instead of this.
            +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
            +         */
            +        heightInLines?: number;
            +        /**
            +         * The height in px of the view zone.
            +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
            +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
            +         */
            +        heightInPx?: number;
            +        /**
            +         * The minimum width in px of the view zone.
            +         * If this is set, the editor will ensure that the scroll width is >= than this value.
            +         */
            +        minWidthInPx?: number;
            +        /**
            +         * The dom node of the view zone
            +         */
            +        domNode: HTMLElement;
            +        /**
            +         * An optional dom node for the view zone that will be placed in the margin area.
            +         */
            +        marginDomNode?: HTMLElement | null;
            +        /**
            +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
            +         */
            +        onDomNodeTop?: (top: number) => void;
            +        /**
            +         * Callback which gives the height in pixels of the view zone.
            +         */
            +        onComputedHeight?: (height: number) => void;
            +    }
            +
            +    /**
            +     * An accessor that allows for zones to be added or removed.
            +     */
            +    export interface IViewZoneChangeAccessor {
            +        /**
            +         * Create a new view zone.
            +         * @param zone Zone to create
            +         * @return A unique identifier to the view zone.
            +         */
            +        addZone(zone: IViewZone): string;
            +        /**
            +         * Remove a zone
            +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
            +         */
            +        removeZone(id: string): void;
            +        /**
            +         * Change a zone's position.
            +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
            +         */
            +        layoutZone(id: string): void;
            +    }
            +
            +    /**
            +     * A positioning preference for rendering content widgets.
            +     */
            +    export enum ContentWidgetPositionPreference {
            +        /**
            +         * Place the content widget exactly at a position
            +         */
            +        EXACT = 0,
            +        /**
            +         * Place the content widget above a position
            +         */
            +        ABOVE = 1,
            +        /**
            +         * Place the content widget below a position
            +         */
            +        BELOW = 2
            +    }
            +
            +    /**
            +     * A position for rendering content widgets.
            +     */
            +    export interface IContentWidgetPosition {
            +        /**
            +         * Desired position for the content widget.
            +         * `preference` will also affect the placement.
            +         */
            +        position: IPosition | null;
            +        /**
            +         * Optionally, a range can be provided to further
            +         * define the position of the content widget.
            +         */
            +        range?: IRange | null;
            +        /**
            +         * Placement preference for position, in order of preference.
            +         */
            +        preference: ContentWidgetPositionPreference[];
            +    }
            +
            +    /**
            +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
            +     */
            +    export interface IContentWidget {
            +        /**
            +         * Render this content widget in a location where it could overflow the editor's view dom node.
            +         */
            +        allowEditorOverflow?: boolean;
            +        suppressMouseDown?: boolean;
            +        /**
            +         * Get a unique identifier of the content widget.
            +         */
            +        getId(): string;
            +        /**
            +         * Get the dom node of the content widget.
            +         */
            +        getDomNode(): HTMLElement;
            +        /**
            +         * Get the placement of the content widget.
            +         * If null is returned, the content widget will be placed off screen.
            +         */
            +        getPosition(): IContentWidgetPosition | null;
            +        /**
            +         * Optional function that is invoked before rendering
            +         * the content widget. If a dimension is returned the editor will
            +         * attempt to use it.
            +         */
            +        beforeRender?(): IDimension | null;
            +        /**
            +         * Optional function that is invoked after rendering the content
            +         * widget. Is being invoked with the selected position preference
            +         * or `null` if not rendered.
            +         */
            +        afterRender?(position: ContentWidgetPositionPreference | null): void;
            +    }
            +
            +    /**
            +     * A positioning preference for rendering overlay widgets.
            +     */
            +    export enum OverlayWidgetPositionPreference {
            +        /**
            +         * Position the overlay widget in the top right corner
            +         */
            +        TOP_RIGHT_CORNER = 0,
            +        /**
            +         * Position the overlay widget in the bottom right corner
            +         */
            +        BOTTOM_RIGHT_CORNER = 1,
            +        /**
            +         * Position the overlay widget in the top center
            +         */
            +        TOP_CENTER = 2
            +    }
            +
            +    /**
            +     * A position for rendering overlay widgets.
            +     */
            +    export interface IOverlayWidgetPosition {
            +        /**
            +         * The position preference for the overlay widget.
            +         */
            +        preference: OverlayWidgetPositionPreference | null;
            +    }
            +
            +    /**
            +     * An overlay widgets renders on top of the text.
            +     */
            +    export interface IOverlayWidget {
            +        /**
            +         * Get a unique identifier of the overlay widget.
            +         */
            +        getId(): string;
            +        /**
            +         * Get the dom node of the overlay widget.
            +         */
            +        getDomNode(): HTMLElement;
            +        /**
            +         * Get the placement of the overlay widget.
            +         * If null is returned, the overlay widget is responsible to place itself.
            +         */
            +        getPosition(): IOverlayWidgetPosition | null;
            +    }
            +
            +    /**
            +     * Type of hit element with the mouse in the editor.
            +     */
            +    export enum MouseTargetType {
            +        /**
            +         * Mouse is on top of an unknown element.
            +         */
            +        UNKNOWN = 0,
            +        /**
            +         * Mouse is on top of the textarea used for input.
            +         */
            +        TEXTAREA = 1,
            +        /**
            +         * Mouse is on top of the glyph margin
            +         */
            +        GUTTER_GLYPH_MARGIN = 2,
            +        /**
            +         * Mouse is on top of the line numbers
            +         */
            +        GUTTER_LINE_NUMBERS = 3,
            +        /**
            +         * Mouse is on top of the line decorations
            +         */
            +        GUTTER_LINE_DECORATIONS = 4,
            +        /**
            +         * Mouse is on top of the whitespace left in the gutter by a view zone.
            +         */
            +        GUTTER_VIEW_ZONE = 5,
            +        /**
            +         * Mouse is on top of text in the content.
            +         */
            +        CONTENT_TEXT = 6,
            +        /**
            +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
            +         */
            +        CONTENT_EMPTY = 7,
            +        /**
            +         * Mouse is on top of a view zone in the content.
            +         */
            +        CONTENT_VIEW_ZONE = 8,
            +        /**
            +         * Mouse is on top of a content widget.
            +         */
            +        CONTENT_WIDGET = 9,
            +        /**
            +         * Mouse is on top of the decorations overview ruler.
            +         */
            +        OVERVIEW_RULER = 10,
            +        /**
            +         * Mouse is on top of a scrollbar.
            +         */
            +        SCROLLBAR = 11,
            +        /**
            +         * Mouse is on top of an overlay widget.
            +         */
            +        OVERLAY_WIDGET = 12,
            +        /**
            +         * Mouse is outside of the editor.
            +         */
            +        OUTSIDE_EDITOR = 13
            +    }
            +
            +    /**
            +     * Target hit with the mouse in the editor.
            +     */
            +    export interface IMouseTarget {
            +        /**
            +         * The target element
            +         */
            +        readonly element: Element | null;
            +        /**
            +         * The target type
            +         */
            +        readonly type: MouseTargetType;
            +        /**
            +         * The 'approximate' editor position
            +         */
            +        readonly position: Position | null;
            +        /**
            +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
            +         */
            +        readonly mouseColumn: number;
            +        /**
            +         * The 'approximate' editor range
            +         */
            +        readonly range: Range | null;
            +        /**
            +         * Some extra detail.
            +         */
            +        readonly detail: any;
            +    }
            +
            +    /**
            +     * A mouse event originating from the editor.
            +     */
            +    export interface IEditorMouseEvent {
            +        readonly event: IMouseEvent;
            +        readonly target: IMouseTarget;
            +    }
            +
            +    export interface IPartialEditorMouseEvent {
            +        readonly event: IMouseEvent;
            +        readonly target: IMouseTarget | null;
            +    }
            +
            +    /**
            +     * A paste event originating from the editor.
            +     */
            +    export interface IPasteEvent {
            +        readonly range: Range;
            +        readonly languageId: string | null;
            +    }
            +
            +    export interface IEditorConstructionOptions extends IEditorOptions {
            +        /**
            +         * The initial editor dimension (to avoid measuring the container).
            +         */
            +        dimension?: IDimension;
            +        /**
            +         * Place overflow widgets inside an external DOM node.
            +         * Defaults to an internal DOM node.
            +         */
            +        overflowWidgetsDomNode?: HTMLElement;
            +    }
            +
            +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
            +        /**
            +         * The initial editor dimension (to avoid measuring the container).
            +         */
            +        dimension?: IDimension;
            +        /**
            +         * Place overflow widgets inside an external DOM node.
            +         * Defaults to an internal DOM node.
            +         */
            +        overflowWidgetsDomNode?: HTMLElement;
            +        /**
            +         * Aria label for original editor.
            +         */
            +        originalAriaLabel?: string;
            +        /**
            +         * Aria label for modified editor.
            +         */
            +        modifiedAriaLabel?: string;
            +        /**
            +         * Is the diff editor inside another editor
            +         * Defaults to false
            +         */
            +        isInEmbeddedEditor?: boolean;
            +    }
            +
            +    /**
            +     * A rich code editor.
            +     */
            +    export interface ICodeEditor extends IEditor {
            +        /**
            +         * An event emitted when the content of the current model has changed.
            +         * @event
            +         */
            +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
            +        /**
            +         * An event emitted when the language of the current model has changed.
            +         * @event
            +         */
            +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
            +        /**
            +         * An event emitted when the language configuration of the current model has changed.
            +         * @event
            +         */
            +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
            +        /**
            +         * An event emitted when the options of the current model has changed.
            +         * @event
            +         */
            +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
            +        /**
            +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
            +         * @event
            +         */
            +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
            +        /**
            +         * An event emitted when the cursor position has changed.
            +         * @event
            +         */
            +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
            +        /**
            +         * An event emitted when the cursor selection has changed.
            +         * @event
            +         */
            +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
            +        /**
            +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
            +         * @event
            +         */
            +        onDidChangeModel: IEvent<IModelChangedEvent>;
            +        /**
            +         * An event emitted when the decorations of the current model have changed.
            +         * @event
            +         */
            +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
            +        /**
            +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
            +         * @event
            +         */
            +        onDidFocusEditorText(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
            +         * @event
            +         */
            +        onDidBlurEditorText(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted when the text inside this editor or an editor widget gained focus.
            +         * @event
            +         */
            +        onDidFocusEditorWidget(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted when the text inside this editor or an editor widget lost focus.
            +         * @event
            +         */
            +        onDidBlurEditorWidget(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted after composition has started.
            +         */
            +        onDidCompositionStart(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted after composition has ended.
            +         */
            +        onDidCompositionEnd(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted when editing failed because the editor is read-only.
            +         * @event
            +         */
            +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
            +        /**
            +         * An event emitted when users paste text in the editor.
            +         * @event
            +         */
            +        onDidPaste: IEvent<IPasteEvent>;
            +        /**
            +         * An event emitted on a "mouseup".
            +         * @event
            +         */
            +        onMouseUp: IEvent<IEditorMouseEvent>;
            +        /**
            +         * An event emitted on a "mousedown".
            +         * @event
            +         */
            +        onMouseDown: IEvent<IEditorMouseEvent>;
            +        /**
            +         * An event emitted on a "contextmenu".
            +         * @event
            +         */
            +        onContextMenu: IEvent<IEditorMouseEvent>;
            +        /**
            +         * An event emitted on a "mousemove".
            +         * @event
            +         */
            +        onMouseMove: IEvent<IEditorMouseEvent>;
            +        /**
            +         * An event emitted on a "mouseleave".
            +         * @event
            +         */
            +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
            +        /**
            +         * An event emitted on a "keyup".
            +         * @event
            +         */
            +        onKeyUp: IEvent<IKeyboardEvent>;
            +        /**
            +         * An event emitted on a "keydown".
            +         * @event
            +         */
            +        onKeyDown: IEvent<IKeyboardEvent>;
            +        /**
            +         * An event emitted when the layout of the editor has changed.
            +         * @event
            +         */
            +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
            +        /**
            +         * An event emitted when the content width or content height in the editor has changed.
            +         * @event
            +         */
            +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
            +        /**
            +         * An event emitted when the scroll in the editor has changed.
            +         * @event
            +         */
            +        onDidScrollChange: IEvent<IScrollEvent>;
            +        /**
            +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
            +         * @event
            +         */
            +        onDidChangeHiddenAreas: IEvent<void>;
            +        /**
            +         * Saves current view state of the editor in a serializable object.
            +         */
            +        saveViewState(): ICodeEditorViewState | null;
            +        /**
            +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
            +         */
            +        restoreViewState(state: ICodeEditorViewState): void;
            +        /**
            +         * Returns true if the text inside this editor or an editor widget has focus.
            +         */
            +        hasWidgetFocus(): boolean;
            +        /**
            +         * Get a contribution of this editor.
            +         * @id Unique identifier of the contribution.
            +         * @return The contribution or null if contribution not found.
            +         */
            +        getContribution<T extends IEditorContribution>(id: string): T;
            +        /**
            +         * Type the getModel() of IEditor.
            +         */
            +        getModel(): ITextModel | null;
            +        /**
            +         * Sets the current model attached to this editor.
            +         * If the previous model was created by the editor via the value key in the options
            +         * literal object, it will be destroyed. Otherwise, if the previous model was set
            +         * via setModel, or the model key in the options literal object, the previous model
            +         * will not be destroyed.
            +         * It is safe to call setModel(null) to simply detach the current model from the editor.
            +         */
            +        setModel(model: ITextModel | null): void;
            +        /**
            +         * Gets all the editor computed options.
            +         */
            +        getOptions(): IComputedEditorOptions;
            +        /**
            +         * Gets a specific editor option.
            +         */
            +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
            +        /**
            +         * Returns the editor's configuration (without any validation or defaults).
            +         */
            +        getRawOptions(): IEditorOptions;
            +        /**
            +         * Get value of the current model attached to this editor.
            +         * @see {@link ITextModel.getValue}
            +         */
            +        getValue(options?: {
            +            preserveBOM: boolean;
            +            lineEnding: string;
            +        }): string;
            +        /**
            +         * Set the value of the current model attached to this editor.
            +         * @see {@link ITextModel.setValue}
            +         */
            +        setValue(newValue: string): void;
            +        /**
            +         * Get the width of the editor's content.
            +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
            +         */
            +        getContentWidth(): number;
            +        /**
            +         * Get the scrollWidth of the editor's viewport.
            +         */
            +        getScrollWidth(): number;
            +        /**
            +         * Get the scrollLeft of the editor's viewport.
            +         */
            +        getScrollLeft(): number;
            +        /**
            +         * Get the height of the editor's content.
            +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
            +         */
            +        getContentHeight(): number;
            +        /**
            +         * Get the scrollHeight of the editor's viewport.
            +         */
            +        getScrollHeight(): number;
            +        /**
            +         * Get the scrollTop of the editor's viewport.
            +         */
            +        getScrollTop(): number;
            +        /**
            +         * Change the scrollLeft of the editor's viewport.
            +         */
            +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
            +        /**
            +         * Change the scrollTop of the editor's viewport.
            +         */
            +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
            +        /**
            +         * Change the scroll position of the editor's viewport.
            +         */
            +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
            +        /**
            +         * Get an action that is a contribution to this editor.
            +         * @id Unique identifier of the contribution.
            +         * @return The action or null if action not found.
            +         */
            +        getAction(id: string): IEditorAction;
            +        /**
            +         * Execute a command on the editor.
            +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
            +         * @param source The source of the call.
            +         * @param command The command to execute
            +         */
            +        executeCommand(source: string | null | undefined, command: ICommand): void;
            +        /**
            +         * Create an "undo stop" in the undo-redo stack.
            +         */
            +        pushUndoStop(): boolean;
            +        /**
            +         * Remove the "undo stop" in the undo-redo stack.
            +         */
            +        popUndoStop(): boolean;
            +        /**
            +         * Execute edits on the editor.
            +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
            +         * @param source The source of the call.
            +         * @param edits The edits to execute.
            +         * @param endCursorState Cursor state after the edits were applied.
            +         */
            +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
            +        /**
            +         * Execute multiple (concomitant) commands on the editor.
            +         * @param source The source of the call.
            +         * @param command The commands to execute
            +         */
            +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
            +        /**
            +         * Get all the decorations on a line (filtering out decorations from other editors).
            +         */
            +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
            +        /**
            +         * All decorations added through this call will get the ownerId of this editor.
            +         * @see {@link ITextModel.deltaDecorations}
            +         */
            +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
            +        /**
            +         * Get the layout info for the editor.
            +         */
            +        getLayoutInfo(): EditorLayoutInfo;
            +        /**
            +         * Returns the ranges that are currently visible.
            +         * Does not account for horizontal scrolling.
            +         */
            +        getVisibleRanges(): Range[];
            +        /**
            +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
            +         */
            +        getTopForLineNumber(lineNumber: number): number;
            +        /**
            +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
            +         */
            +        getTopForPosition(lineNumber: number, column: number): number;
            +        /**
            +         * Returns the editor's container dom node
            +         */
            +        getContainerDomNode(): HTMLElement;
            +        /**
            +         * Returns the editor's dom node
            +         */
            +        getDomNode(): HTMLElement | null;
            +        /**
            +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
            +         */
            +        addContentWidget(widget: IContentWidget): void;
            +        /**
            +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
            +         * and update appropriately.
            +         */
            +        layoutContentWidget(widget: IContentWidget): void;
            +        /**
            +         * Remove a content widget.
            +         */
            +        removeContentWidget(widget: IContentWidget): void;
            +        /**
            +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
            +         */
            +        addOverlayWidget(widget: IOverlayWidget): void;
            +        /**
            +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
            +         * and update appropriately.
            +         */
            +        layoutOverlayWidget(widget: IOverlayWidget): void;
            +        /**
            +         * Remove an overlay widget.
            +         */
            +        removeOverlayWidget(widget: IOverlayWidget): void;
            +        /**
            +         * Change the view zones. View zones are lost when a new model is attached to the editor.
            +         */
            +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
            +        /**
            +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
            +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
            +         * Use this method with caution.
            +         */
            +        getOffsetForColumn(lineNumber: number, column: number): number;
            +        /**
            +         * Force an editor render now.
            +         */
            +        render(forceRedraw?: boolean): void;
            +        /**
            +         * Get the hit test target at coordinates `clientX` and `clientY`.
            +         * The coordinates are relative to the top-left of the viewport.
            +         *
            +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
            +         */
            +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
            +        /**
            +         * Get the visible position for `position`.
            +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
            +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
            +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
            +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
            +         */
            +        getScrolledVisiblePosition(position: IPosition): {
            +            top: number;
            +            left: number;
            +            height: number;
            +        } | null;
            +        /**
            +         * Apply the same font settings as the editor to `target`.
            +         */
            +        applyFontInfo(target: HTMLElement): void;
            +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
            +    }
            +
            +    /**
            +     * Information about a line in the diff editor
            +     */
            +    export interface IDiffLineInformation {
            +        readonly equivalentLineNumber: number;
            +    }
            +
            +    /**
            +     * A rich diff editor.
            +     */
            +    export interface IDiffEditor extends IEditor {
            +        /**
            +         * @see {@link ICodeEditor.getDomNode}
            +         */
            +        getDomNode(): HTMLElement;
            +        /**
            +         * An event emitted when the diff information computed by this diff editor has been updated.
            +         * @event
            +         */
            +        onDidUpdateDiff(listener: () => void): IDisposable;
            +        /**
            +         * Saves current view state of the editor in a serializable object.
            +         */
            +        saveViewState(): IDiffEditorViewState | null;
            +        /**
            +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
            +         */
            +        restoreViewState(state: IDiffEditorViewState): void;
            +        /**
            +         * Type the getModel() of IEditor.
            +         */
            +        getModel(): IDiffEditorModel | null;
            +        /**
            +         * Sets the current model attached to this editor.
            +         * If the previous model was created by the editor via the value key in the options
            +         * literal object, it will be destroyed. Otherwise, if the previous model was set
            +         * via setModel, or the model key in the options literal object, the previous model
            +         * will not be destroyed.
            +         * It is safe to call setModel(null) to simply detach the current model from the editor.
            +         */
            +        setModel(model: IDiffEditorModel | null): void;
            +        /**
            +         * Get the `original` editor.
            +         */
            +        getOriginalEditor(): ICodeEditor;
            +        /**
            +         * Get the `modified` editor.
            +         */
            +        getModifiedEditor(): ICodeEditor;
            +        /**
            +         * Get the computed diff information.
            +         */
            +        getLineChanges(): ILineChange[] | null;
            +        /**
            +         * Get information based on computed diff about a line number from the original model.
            +         * If the diff computation is not finished or the model is missing, will return null.
            +         */
            +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
            +        /**
            +         * Get information based on computed diff about a line number from the modified model.
            +         * If the diff computation is not finished or the model is missing, will return null.
            +         */
            +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
            +        /**
            +         * Update the editor's options after the editor has been created.
            +         */
            +        updateOptions(newOptions: IDiffEditorOptions): void;
            +    }
            +
            +    export class FontInfo extends BareFontInfo {
            +        readonly _editorStylingBrand: void;
            +        readonly version: number;
            +        readonly isTrusted: boolean;
            +        readonly isMonospace: boolean;
            +        readonly typicalHalfwidthCharacterWidth: number;
            +        readonly typicalFullwidthCharacterWidth: number;
            +        readonly canUseHalfwidthRightwardsArrow: boolean;
            +        readonly spaceWidth: number;
            +        readonly middotWidth: number;
            +        readonly wsmiddotWidth: number;
            +        readonly maxDigitWidth: number;
            +    }
            +
            +    export class BareFontInfo {
            +        readonly _bareFontInfoBrand: void;
            +        readonly zoomLevel: number;
            +        readonly pixelRatio: number;
            +        readonly fontFamily: string;
            +        readonly fontWeight: string;
            +        readonly fontSize: number;
            +        readonly fontFeatureSettings: string;
            +        readonly lineHeight: number;
            +        readonly letterSpacing: number;
            +    }
            +
            +    //compatibility:
            +    export type IReadOnlyModel = ITextModel;
            +    export type IModel = ITextModel;
            +}
            +
            +declare namespace monaco.languages {
            +
            +
            +    /**
            +     * Register information about a new language.
            +     */
            +    export function register(language: ILanguageExtensionPoint): void;
            +
            +    /**
            +     * Get the information of all the registered languages.
            +     */
            +    export function getLanguages(): ILanguageExtensionPoint[];
            +
            +    export function getEncodedLanguageId(languageId: string): number;
            +
            +    /**
            +     * An event emitted when a language is first time needed (e.g. a model has it set).
            +     * @event
            +     */
            +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
            +
            +    /**
            +     * Set the editing configuration for a language.
            +     */
            +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
            +
            +    /**
            +     * A token.
            +     */
            +    export interface IToken {
            +        startIndex: number;
            +        scopes: string;
            +    }
            +
            +    /**
            +     * The result of a line tokenization.
            +     */
            +    export interface ILineTokens {
            +        /**
            +         * The list of tokens on the line.
            +         */
            +        tokens: IToken[];
            +        /**
            +         * The tokenization end state.
            +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
            +         */
            +        endState: IState;
            +    }
            +
            +    /**
            +     * The result of a line tokenization.
            +     */
            +    export interface IEncodedLineTokens {
            +        /**
            +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
            +         *  - at offset 2*i => startIndex
            +         *  - at offset 2*i + 1 => metadata
            +         * Meta data is in binary format:
            +         * - -------------------------------------------
            +         *     3322 2222 2222 1111 1111 1100 0000 0000
            +         *     1098 7654 3210 9876 5432 1098 7654 3210
            +         * - -------------------------------------------
            +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
            +         * - -------------------------------------------
            +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
            +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
            +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
            +         *  - f = foreground ColorId (9 bits)
            +         *  - b = background ColorId (9 bits)
            +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
            +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
            +         * id = 1 is for the default foreground color, id = 2 for the default background.
            +         */
            +        tokens: Uint32Array;
            +        /**
            +         * The tokenization end state.
            +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
            +         */
            +        endState: IState;
            +    }
            +
            +    /**
            +     * A "manual" provider of tokens.
            +     */
            +    export interface TokensProvider {
            +        /**
            +         * The initial state of a language. Will be the state passed in to tokenize the first line.
            +         */
            +        getInitialState(): IState;
            +        /**
            +         * Tokenize a line given the state at the beginning of the line.
            +         */
            +        tokenize(line: string, state: IState): ILineTokens;
            +    }
            +
            +    /**
            +     * A "manual" provider of tokens, returning tokens in a binary form.
            +     */
            +    export interface EncodedTokensProvider {
            +        /**
            +         * The initial state of a language. Will be the state passed in to tokenize the first line.
            +         */
            +        getInitialState(): IState;
            +        /**
            +         * Tokenize a line given the state at the beginning of the line.
            +         */
            +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
            +        /**
            +         * Tokenize a line given the state at the beginning of the line.
            +         */
            +        tokenize?(line: string, state: IState): ILineTokens;
            +    }
            +
            +    /**
            +     * Change the color map that is used for token colors.
            +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
            +     */
            +    export function setColorMap(colorMap: string[] | null): void;
            +
            +    /**
            +     * Set the tokens provider for a language (manual implementation).
            +     */
            +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
            +
            +    /**
            +     * Set the tokens provider for a language (monarch implementation).
            +     */
            +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
            +
            +    /**
            +     * Register a reference provider (used by e.g. reference search).
            +     */
            +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
            +
            +    /**
            +     * Register a rename provider (used by e.g. rename symbol).
            +     */
            +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
            +
            +    /**
            +     * Register a signature help provider (used by e.g. parameter hints).
            +     */
            +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
            +
            +    /**
            +     * Register a hover provider (used by e.g. editor hover).
            +     */
            +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
            +
            +    /**
            +     * Register a document symbol provider (used by e.g. outline).
            +     */
            +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
            +
            +    /**
            +     * Register a document highlight provider (used by e.g. highlight occurrences).
            +     */
            +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
            +
            +    /**
            +     * Register an linked editing range provider.
            +     */
            +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
            +
            +    /**
            +     * Register a definition provider (used by e.g. go to definition).
            +     */
            +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
            +
            +    /**
            +     * Register a implementation provider (used by e.g. go to implementation).
            +     */
            +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
            +
            +    /**
            +     * Register a type definition provider (used by e.g. go to type definition).
            +     */
            +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
            +
            +    /**
            +     * Register a code lens provider (used by e.g. inline code lenses).
            +     */
            +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
            +
            +    /**
            +     * Register a code action provider (used by e.g. quick fix).
            +     */
            +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
            +
            +    /**
            +     * Register a formatter that can handle only entire models.
            +     */
            +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
            +
            +    /**
            +     * Register a formatter that can handle a range inside a model.
            +     */
            +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
            +
            +    /**
            +     * Register a formatter than can do formatting as the user types.
            +     */
            +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
            +
            +    /**
            +     * Register a link provider that can find links in text.
            +     */
            +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
            +
            +    /**
            +     * Register a completion item provider (use by e.g. suggestions).
            +     */
            +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
            +
            +    /**
            +     * Register a document color provider (used by Color Picker, Color Decorator).
            +     */
            +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
            +
            +    /**
            +     * Register a folding range provider
            +     */
            +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
            +
            +    /**
            +     * Register a declaration provider
            +     */
            +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
            +
            +    /**
            +     * Register a selection range provider
            +     */
            +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
            +
            +    /**
            +     * Register a document semantic tokens provider
            +     */
            +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
            +
            +    /**
            +     * Register a document range semantic tokens provider
            +     */
            +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
            +
            +    /**
            +     * Register an inline completions provider.
            +     */
            +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
            +
            +    /**
            +     * Register an inlay hints provider.
            +     */
            +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
            +
            +    /**
            +     * Contains additional diagnostic information about the context in which
            +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
            +     */
            +    export interface CodeActionContext {
            +        /**
            +         * An array of diagnostics.
            +         */
            +        readonly markers: editor.IMarkerData[];
            +        /**
            +         * Requested kind of actions to return.
            +         */
            +        readonly only?: string;
            +    }
            +
            +    /**
            +     * The code action interface defines the contract between extensions and
            +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
            +     */
            +    export interface CodeActionProvider {
            +        /**
            +         * Provide commands for the given document and range.
            +         */
            +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
            +        /**
            +         * Given a code action fill in the edit. Will only invoked when missing.
            +         */
            +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
            +    }
            +
            +    /**
            +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
            +     */
            +    export interface CodeActionProviderMetadata {
            +        /**
            +         * List of code action kinds that a {@link CodeActionProvider} may return.
            +         *
            +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
            +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
            +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
            +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
            +         */
            +        readonly providedCodeActionKinds?: readonly string[];
            +    }
            +
            +    /**
            +     * Describes how comments for a language work.
            +     */
            +    export interface CommentRule {
            +        /**
            +         * The line comment token, like `// this is a comment`
            +         */
            +        lineComment?: string | null;
            +        /**
            +         * The block comment character pair, like `/* block comment *&#47;`
            +         */
            +        blockComment?: CharacterPair | null;
            +    }
            +
            +    /**
            +     * The language configuration interface defines the contract between extensions and
            +     * various editor features, like automatic bracket insertion, automatic indentation etc.
            +     */
            +    export interface LanguageConfiguration {
            +        /**
            +         * The language's comment settings.
            +         */
            +        comments?: CommentRule;
            +        /**
            +         * The language's brackets.
            +         * This configuration implicitly affects pressing Enter around these brackets.
            +         */
            +        brackets?: CharacterPair[];
            +        /**
            +         * The language's word definition.
            +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
            +         * to provide a word definition that uses exclusion of known separators.
            +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
            +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
            +         */
            +        wordPattern?: RegExp;
            +        /**
            +         * The language's indentation settings.
            +         */
            +        indentationRules?: IndentationRule;
            +        /**
            +         * The language's rules to be evaluated when pressing Enter.
            +         */
            +        onEnterRules?: OnEnterRule[];
            +        /**
            +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
            +         * 'open' character is typed. If not set, the configured brackets will be used.
            +         */
            +        autoClosingPairs?: IAutoClosingPairConditional[];
            +        /**
            +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
            +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
            +         * settings will be used.
            +         */
            +        surroundingPairs?: IAutoClosingPair[];
            +        /**
            +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
            +         * If not set, the configured brackets will be used.
            +        */
            +        colorizedBracketPairs?: CharacterPair[];
            +        /**
            +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
            +         *
            +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
            +         */
            +        autoCloseBefore?: string;
            +        /**
            +         * The language's folding rules.
            +         */
            +        folding?: FoldingRules;
            +        /**
            +         * **Deprecated** Do not use.
            +         *
            +         * @deprecated Will be replaced by a better API soon.
            +         */
            +        __electricCharacterSupport?: {
            +            docComment?: IDocComment;
            +        };
            +    }
            +
            +    /**
            +     * Describes indentation rules for a language.
            +     */
            +    export interface IndentationRule {
            +        /**
            +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
            +         */
            +        decreaseIndentPattern: RegExp;
            +        /**
            +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
            +         */
            +        increaseIndentPattern: RegExp;
            +        /**
            +         * If a line matches this pattern, then **only the next line** after it should be indented once.
            +         */
            +        indentNextLinePattern?: RegExp | null;
            +        /**
            +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
            +         */
            +        unIndentedLinePattern?: RegExp | null;
            +    }
            +
            +    /**
            +     * Describes language specific folding markers such as '#region' and '#endregion'.
            +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
            +     * - the regex should start with '^'
            +     * - regexp flags (i, g) are ignored
            +     */
            +    export interface FoldingMarkers {
            +        start: RegExp;
            +        end: RegExp;
            +    }
            +
            +    /**
            +     * Describes folding rules for a language.
            +     */
            +    export interface FoldingRules {
            +        /**
            +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
            +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
            +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
            +         * If not set, `false` is used and empty lines belong to the previous block.
            +         */
            +        offSide?: boolean;
            +        /**
            +         * Region markers used by the language.
            +         */
            +        markers?: FoldingMarkers;
            +    }
            +
            +    /**
            +     * Describes a rule to be evaluated when pressing Enter.
            +     */
            +    export interface OnEnterRule {
            +        /**
            +         * This rule will only execute if the text before the cursor matches this regular expression.
            +         */
            +        beforeText: RegExp;
            +        /**
            +         * This rule will only execute if the text after the cursor matches this regular expression.
            +         */
            +        afterText?: RegExp;
            +        /**
            +         * This rule will only execute if the text above the this line matches this regular expression.
            +         */
            +        previousLineText?: RegExp;
            +        /**
            +         * The action to execute.
            +         */
            +        action: EnterAction;
            +    }
            +
            +    /**
            +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
            +     */
            +    export interface IDocComment {
            +        /**
            +         * The string that starts a doc comment (e.g. '/**')
            +         */
            +        open: string;
            +        /**
            +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
            +         */
            +        close?: string;
            +    }
            +
            +    /**
            +     * A tuple of two characters, like a pair of
            +     * opening and closing brackets.
            +     */
            +    export type CharacterPair = [string, string];
            +
            +    export interface IAutoClosingPair {
            +        open: string;
            +        close: string;
            +    }
            +
            +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
            +        notIn?: string[];
            +    }
            +
            +    /**
            +     * Describes what to do with the indentation when pressing Enter.
            +     */
            +    export enum IndentAction {
            +        /**
            +         * Insert new line and copy the previous line's indentation.
            +         */
            +        None = 0,
            +        /**
            +         * Insert new line and indent once (relative to the previous line's indentation).
            +         */
            +        Indent = 1,
            +        /**
            +         * Insert two new lines:
            +         *  - the first one indented which will hold the cursor
            +         *  - the second one at the same indentation level
            +         */
            +        IndentOutdent = 2,
            +        /**
            +         * Insert new line and outdent once (relative to the previous line's indentation).
            +         */
            +        Outdent = 3
            +    }
            +
            +    /**
            +     * Describes what to do when pressing Enter.
            +     */
            +    export interface EnterAction {
            +        /**
            +         * Describe what to do with the indentation.
            +         */
            +        indentAction: IndentAction;
            +        /**
            +         * Describes text to be appended after the new line and after the indentation.
            +         */
            +        appendText?: string;
            +        /**
            +         * Describes the number of characters to remove from the new line's indentation.
            +         */
            +        removeText?: number;
            +    }
            +
            +    /**
            +     * The state of the tokenizer between two lines.
            +     * It is useful to store flags such as in multiline comment, etc.
            +     * The model will clone the previous line's state and pass it in to tokenize the next line.
            +     */
            +    export interface IState {
            +        clone(): IState;
            +        equals(other: IState): boolean;
            +    }
            +
            +    /**
            +     * A provider result represents the values a provider, like the {@link HoverProvider},
            +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
            +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
            +     * thenable.
            +     */
            +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
            +
            +    /**
            +     * A hover represents additional information for a symbol or word. Hovers are
            +     * rendered in a tooltip-like widget.
            +     */
            +    export interface Hover {
            +        /**
            +         * The contents of this hover.
            +         */
            +        contents: IMarkdownString[];
            +        /**
            +         * The range to which this hover applies. When missing, the
            +         * editor will use the range at the current position or the
            +         * current position itself.
            +         */
            +        range?: IRange;
            +    }
            +
            +    /**
            +     * The hover provider interface defines the contract between extensions and
            +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
            +     */
            +    export interface HoverProvider {
            +        /**
            +         * Provide a hover for the given position and document. Multiple hovers at the same
            +         * position will be merged by the editor. A hover can have a range which defaults
            +         * to the word range at the position when omitted.
            +         */
            +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
            +    }
            +
            +    export enum CompletionItemKind {
            +        Method = 0,
            +        Function = 1,
            +        Constructor = 2,
            +        Field = 3,
            +        Variable = 4,
            +        Class = 5,
            +        Struct = 6,
            +        Interface = 7,
            +        Module = 8,
            +        Property = 9,
            +        Event = 10,
            +        Operator = 11,
            +        Unit = 12,
            +        Value = 13,
            +        Constant = 14,
            +        Enum = 15,
            +        EnumMember = 16,
            +        Keyword = 17,
            +        Text = 18,
            +        Color = 19,
            +        File = 20,
            +        Reference = 21,
            +        Customcolor = 22,
            +        Folder = 23,
            +        TypeParameter = 24,
            +        User = 25,
            +        Issue = 26,
            +        Snippet = 27
            +    }
            +
            +    export interface CompletionItemLabel {
            +        label: string;
            +        detail?: string;
            +        description?: string;
            +    }
            +
            +    export enum CompletionItemTag {
            +        Deprecated = 1
            +    }
            +
            +    export enum CompletionItemInsertTextRule {
            +        /**
            +         * Adjust whitespace/indentation of multiline insert texts to
            +         * match the current line indentation.
            +         */
            +        KeepWhitespace = 1,
            +        /**
            +         * `insertText` is a snippet.
            +         */
            +        InsertAsSnippet = 4
            +    }
            +
            +    export interface CompletionItemRanges {
            +        insert: IRange;
            +        replace: IRange;
            +    }
            +
            +    /**
            +     * A completion item represents a text snippet that is
            +     * proposed to complete text that is being typed.
            +     */
            +    export interface CompletionItem {
            +        /**
            +         * The label of this completion item. By default
            +         * this is also the text that is inserted when selecting
            +         * this completion.
            +         */
            +        label: string | CompletionItemLabel;
            +        /**
            +         * The kind of this completion item. Based on the kind
            +         * an icon is chosen by the editor.
            +         */
            +        kind: CompletionItemKind;
            +        /**
            +         * A modifier to the `kind` which affect how the item
            +         * is rendered, e.g. Deprecated is rendered with a strikeout
            +         */
            +        tags?: ReadonlyArray<CompletionItemTag>;
            +        /**
            +         * A human-readable string with additional information
            +         * about this item, like type or symbol information.
            +         */
            +        detail?: string;
            +        /**
            +         * A human-readable string that represents a doc-comment.
            +         */
            +        documentation?: string | IMarkdownString;
            +        /**
            +         * A string that should be used when comparing this item
            +         * with other items. When `falsy` the {@link CompletionItem.label label}
            +         * is used.
            +         */
            +        sortText?: string;
            +        /**
            +         * A string that should be used when filtering a set of
            +         * completion items. When `falsy` the {@link CompletionItem.label label}
            +         * is used.
            +         */
            +        filterText?: string;
            +        /**
            +         * Select this item when showing. *Note* that only one completion item can be selected and
            +         * that the editor decides which item that is. The rule is that the *first* item of those
            +         * that match best is selected.
            +         */
            +        preselect?: boolean;
            +        /**
            +         * A string or snippet that should be inserted in a document when selecting
            +         * this completion.
            +         */
            +        insertText: string;
            +        /**
            +         * Additional rules (as bitmask) that should be applied when inserting
            +         * this completion.
            +         */
            +        insertTextRules?: CompletionItemInsertTextRule;
            +        /**
            +         * A range of text that should be replaced by this completion item.
            +         *
            +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
            +         * current position.
            +         *
            +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
            +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
            +         */
            +        range: IRange | CompletionItemRanges;
            +        /**
            +         * An optional set of characters that when pressed while this completion is active will accept it first and
            +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
            +         * characters will be ignored.
            +         */
            +        commitCharacters?: string[];
            +        /**
            +         * An optional array of additional text edits that are applied when
            +         * selecting this completion. Edits must not overlap with the main edit
            +         * nor with themselves.
            +         */
            +        additionalTextEdits?: editor.ISingleEditOperation[];
            +        /**
            +         * A command that should be run upon acceptance of this item.
            +         */
            +        command?: Command;
            +    }
            +
            +    export interface CompletionList {
            +        suggestions: CompletionItem[];
            +        incomplete?: boolean;
            +        dispose?(): void;
            +    }
            +
            +    /**
            +     * How a suggest provider was triggered.
            +     */
            +    export enum CompletionTriggerKind {
            +        Invoke = 0,
            +        TriggerCharacter = 1,
            +        TriggerForIncompleteCompletions = 2
            +    }
            +
            +    /**
            +     * Contains additional information about the context in which
            +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
            +     */
            +    export interface CompletionContext {
            +        /**
            +         * How the completion was triggered.
            +         */
            +        triggerKind: CompletionTriggerKind;
            +        /**
            +         * Character that triggered the completion item provider.
            +         *
            +         * `undefined` if provider was not triggered by a character.
            +         */
            +        triggerCharacter?: string;
            +    }
            +
            +    /**
            +     * The completion item provider interface defines the contract between extensions and
            +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
            +     *
            +     * When computing *complete* completion items is expensive, providers can optionally implement
            +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
            +     * items with a {@link CompletionItem.label label} from the
            +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
            +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
            +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
            +     */
            +    export interface CompletionItemProvider {
            +        triggerCharacters?: string[];
            +        /**
            +         * Provide completion items for the given position and document.
            +         */
            +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
            +        /**
            +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
            +         * or {@link CompletionItem.detail details}.
            +         *
            +         * The editor will only resolve a completion item once.
            +         */
            +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
            +    }
            +
            +    /**
            +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
            +     */
            +    export enum InlineCompletionTriggerKind {
            +        /**
            +         * Completion was triggered automatically while editing.
            +         * It is sufficient to return a single completion item in this case.
            +         */
            +        Automatic = 0,
            +        /**
            +         * Completion was triggered explicitly by a user gesture.
            +         * Return multiple completion items to enable cycling through them.
            +         */
            +        Explicit = 1
            +    }
            +
            +    export interface InlineCompletionContext {
            +        /**
            +         * How the completion was triggered.
            +         */
            +        readonly triggerKind: InlineCompletionTriggerKind;
            +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
            +    }
            +
            +    export interface SelectedSuggestionInfo {
            +        range: IRange;
            +        text: string;
            +        isSnippetText: boolean;
            +        completionKind: CompletionItemKind;
            +    }
            +
            +    export interface InlineCompletion {
            +        /**
            +         * The text to insert.
            +         * If the text contains a line break, the range must end at the end of a line.
            +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
            +        */
            +        readonly text: string;
            +        /**
            +         * The range to replace.
            +         * Must begin and end on the same line.
            +        */
            +        readonly range?: IRange;
            +        readonly command?: Command;
            +    }
            +
            +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
            +        readonly items: readonly TItem[];
            +    }
            +
            +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
            +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
            +        /**
            +         * Will be called when an item is shown.
            +        */
            +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
            +        /**
            +         * Will be called when a completions list is no longer in use and can be garbage-collected.
            +        */
            +        freeInlineCompletions(completions: T): void;
            +    }
            +
            +    export interface CodeAction {
            +        title: string;
            +        command?: Command;
            +        edit?: WorkspaceEdit;
            +        diagnostics?: editor.IMarkerData[];
            +        kind?: string;
            +        isPreferred?: boolean;
            +        disabled?: string;
            +    }
            +
            +    export interface CodeActionList extends IDisposable {
            +        readonly actions: ReadonlyArray<CodeAction>;
            +    }
            +
            +    /**
            +     * Represents a parameter of a callable-signature. A parameter can
            +     * have a label and a doc-comment.
            +     */
            +    export interface ParameterInformation {
            +        /**
            +         * The label of this signature. Will be shown in
            +         * the UI.
            +         */
            +        label: string | [number, number];
            +        /**
            +         * The human-readable doc-comment of this signature. Will be shown
            +         * in the UI but can be omitted.
            +         */
            +        documentation?: string | IMarkdownString;
            +    }
            +
            +    /**
            +     * Represents the signature of something callable. A signature
            +     * can have a label, like a function-name, a doc-comment, and
            +     * a set of parameters.
            +     */
            +    export interface SignatureInformation {
            +        /**
            +         * The label of this signature. Will be shown in
            +         * the UI.
            +         */
            +        label: string;
            +        /**
            +         * The human-readable doc-comment of this signature. Will be shown
            +         * in the UI but can be omitted.
            +         */
            +        documentation?: string | IMarkdownString;
            +        /**
            +         * The parameters of this signature.
            +         */
            +        parameters: ParameterInformation[];
            +        /**
            +         * Index of the active parameter.
            +         *
            +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
            +         */
            +        activeParameter?: number;
            +    }
            +
            +    /**
            +     * Signature help represents the signature of something
            +     * callable. There can be multiple signatures but only one
            +     * active and only one active parameter.
            +     */
            +    export interface SignatureHelp {
            +        /**
            +         * One or more signatures.
            +         */
            +        signatures: SignatureInformation[];
            +        /**
            +         * The active signature.
            +         */
            +        activeSignature: number;
            +        /**
            +         * The active parameter of the active signature.
            +         */
            +        activeParameter: number;
            +    }
            +
            +    export interface SignatureHelpResult extends IDisposable {
            +        value: SignatureHelp;
            +    }
            +
            +    export enum SignatureHelpTriggerKind {
            +        Invoke = 1,
            +        TriggerCharacter = 2,
            +        ContentChange = 3
            +    }
            +
            +    export interface SignatureHelpContext {
            +        readonly triggerKind: SignatureHelpTriggerKind;
            +        readonly triggerCharacter?: string;
            +        readonly isRetrigger: boolean;
            +        readonly activeSignatureHelp?: SignatureHelp;
            +    }
            +
            +    /**
            +     * The signature help provider interface defines the contract between extensions and
            +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
            +     */
            +    export interface SignatureHelpProvider {
            +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
            +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
            +        /**
            +         * Provide help for the signature at the given position and document.
            +         */
            +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
            +    }
            +
            +    /**
            +     * A document highlight kind.
            +     */
            +    export enum DocumentHighlightKind {
            +        /**
            +         * A textual occurrence.
            +         */
            +        Text = 0,
            +        /**
            +         * Read-access of a symbol, like reading a variable.
            +         */
            +        Read = 1,
            +        /**
            +         * Write-access of a symbol, like writing to a variable.
            +         */
            +        Write = 2
            +    }
            +
            +    /**
            +     * A document highlight is a range inside a text document which deserves
            +     * special attention. Usually a document highlight is visualized by changing
            +     * the background color of its range.
            +     */
            +    export interface DocumentHighlight {
            +        /**
            +         * The range this highlight applies to.
            +         */
            +        range: IRange;
            +        /**
            +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
            +         */
            +        kind?: DocumentHighlightKind;
            +    }
            +
            +    /**
            +     * The document highlight provider interface defines the contract between extensions and
            +     * the word-highlight-feature.
            +     */
            +    export interface DocumentHighlightProvider {
            +        /**
            +         * Provide a set of document highlights, like all occurrences of a variable or
            +         * all exit-points of a function.
            +         */
            +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
            +    }
            +
            +    /**
            +     * The linked editing range provider interface defines the contract between extensions and
            +     * the linked editing feature.
            +     */
            +    export interface LinkedEditingRangeProvider {
            +        /**
            +         * Provide a list of ranges that can be edited together.
            +         */
            +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
            +    }
            +
            +    /**
            +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
            +     */
            +    export interface LinkedEditingRanges {
            +        /**
            +         * A list of ranges that can be edited together. The ranges must have
            +         * identical length and text content. The ranges cannot overlap
            +         */
            +        ranges: IRange[];
            +        /**
            +         * An optional word pattern that describes valid contents for the given ranges.
            +         * If no pattern is provided, the language configuration's word pattern will be used.
            +         */
            +        wordPattern?: RegExp;
            +    }
            +
            +    /**
            +     * Value-object that contains additional information when
            +     * requesting references.
            +     */
            +    export interface ReferenceContext {
            +        /**
            +         * Include the declaration of the current symbol.
            +         */
            +        includeDeclaration: boolean;
            +    }
            +
            +    /**
            +     * The reference provider interface defines the contract between extensions and
            +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
            +     */
            +    export interface ReferenceProvider {
            +        /**
            +         * Provide a set of project-wide references for the given position and document.
            +         */
            +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
            +    }
            +
            +    /**
            +     * Represents a location inside a resource, such as a line
            +     * inside a text file.
            +     */
            +    export interface Location {
            +        /**
            +         * The resource identifier of this location.
            +         */
            +        uri: Uri;
            +        /**
            +         * The document range of this locations.
            +         */
            +        range: IRange;
            +    }
            +
            +    export interface LocationLink {
            +        /**
            +         * A range to select where this link originates from.
            +         */
            +        originSelectionRange?: IRange;
            +        /**
            +         * The target uri this link points to.
            +         */
            +        uri: Uri;
            +        /**
            +         * The full range this link points to.
            +         */
            +        range: IRange;
            +        /**
            +         * A range to select this link points to. Must be contained
            +         * in `LocationLink.range`.
            +         */
            +        targetSelectionRange?: IRange;
            +    }
            +
            +    export type Definition = Location | Location[] | LocationLink[];
            +
            +    /**
            +     * The definition provider interface defines the contract between extensions and
            +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
            +     * and peek definition features.
            +     */
            +    export interface DefinitionProvider {
            +        /**
            +         * Provide the definition of the symbol at the given position and document.
            +         */
            +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
            +    }
            +
            +    /**
            +     * The definition provider interface defines the contract between extensions and
            +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
            +     * and peek definition features.
            +     */
            +    export interface DeclarationProvider {
            +        /**
            +         * Provide the declaration of the symbol at the given position and document.
            +         */
            +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
            +    }
            +
            +    /**
            +     * The implementation provider interface defines the contract between extensions and
            +     * the go to implementation feature.
            +     */
            +    export interface ImplementationProvider {
            +        /**
            +         * Provide the implementation of the symbol at the given position and document.
            +         */
            +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
            +    }
            +
            +    /**
            +     * The type definition provider interface defines the contract between extensions and
            +     * the go to type definition feature.
            +     */
            +    export interface TypeDefinitionProvider {
            +        /**
            +         * Provide the type definition of the symbol at the given position and document.
            +         */
            +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
            +    }
            +
            +    /**
            +     * A symbol kind.
            +     */
            +    export enum SymbolKind {
            +        File = 0,
            +        Module = 1,
            +        Namespace = 2,
            +        Package = 3,
            +        Class = 4,
            +        Method = 5,
            +        Property = 6,
            +        Field = 7,
            +        Constructor = 8,
            +        Enum = 9,
            +        Interface = 10,
            +        Function = 11,
            +        Variable = 12,
            +        Constant = 13,
            +        String = 14,
            +        Number = 15,
            +        Boolean = 16,
            +        Array = 17,
            +        Object = 18,
            +        Key = 19,
            +        Null = 20,
            +        EnumMember = 21,
            +        Struct = 22,
            +        Event = 23,
            +        Operator = 24,
            +        TypeParameter = 25
            +    }
            +
            +    export enum SymbolTag {
            +        Deprecated = 1
            +    }
            +
            +    export interface DocumentSymbol {
            +        name: string;
            +        detail: string;
            +        kind: SymbolKind;
            +        tags: ReadonlyArray<SymbolTag>;
            +        containerName?: string;
            +        range: IRange;
            +        selectionRange: IRange;
            +        children?: DocumentSymbol[];
            +    }
            +
            +    /**
            +     * The document symbol provider interface defines the contract between extensions and
            +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
            +     */
            +    export interface DocumentSymbolProvider {
            +        displayName?: string;
            +        /**
            +         * Provide symbol information for the given document.
            +         */
            +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
            +    }
            +
            +    export type TextEdit = {
            +        range: IRange;
            +        text: string;
            +        eol?: editor.EndOfLineSequence;
            +    };
            +
            +    /**
            +     * Interface used to format a model
            +     */
            +    export interface FormattingOptions {
            +        /**
            +         * Size of a tab in spaces.
            +         */
            +        tabSize: number;
            +        /**
            +         * Prefer spaces over tabs.
            +         */
            +        insertSpaces: boolean;
            +    }
            +
            +    /**
            +     * The document formatting provider interface defines the contract between extensions and
            +     * the formatting-feature.
            +     */
            +    export interface DocumentFormattingEditProvider {
            +        readonly displayName?: string;
            +        /**
            +         * Provide formatting edits for a whole document.
            +         */
            +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
            +    }
            +
            +    /**
            +     * The document formatting provider interface defines the contract between extensions and
            +     * the formatting-feature.
            +     */
            +    export interface DocumentRangeFormattingEditProvider {
            +        readonly displayName?: string;
            +        /**
            +         * Provide formatting edits for a range in a document.
            +         *
            +         * The given range is a hint and providers can decide to format a smaller
            +         * or larger range. Often this is done by adjusting the start and end
            +         * of the range to full syntax nodes.
            +         */
            +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
            +    }
            +
            +    /**
            +     * The document formatting provider interface defines the contract between extensions and
            +     * the formatting-feature.
            +     */
            +    export interface OnTypeFormattingEditProvider {
            +        autoFormatTriggerCharacters: string[];
            +        /**
            +         * Provide formatting edits after a character has been typed.
            +         *
            +         * The given position and character should hint to the provider
            +         * what range the position to expand to, like find the matching `{`
            +         * when `}` has been entered.
            +         */
            +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
            +    }
            +
            +    /**
            +     * A link inside the editor.
            +     */
            +    export interface ILink {
            +        range: IRange;
            +        url?: Uri | string;
            +        tooltip?: string;
            +    }
            +
            +    export interface ILinksList {
            +        links: ILink[];
            +        dispose?(): void;
            +    }
            +
            +    /**
            +     * A provider of links.
            +     */
            +    export interface LinkProvider {
            +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
            +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
            +    }
            +
            +    /**
            +     * A color in RGBA format.
            +     */
            +    export interface IColor {
            +        /**
            +         * The red component in the range [0-1].
            +         */
            +        readonly red: number;
            +        /**
            +         * The green component in the range [0-1].
            +         */
            +        readonly green: number;
            +        /**
            +         * The blue component in the range [0-1].
            +         */
            +        readonly blue: number;
            +        /**
            +         * The alpha component in the range [0-1].
            +         */
            +        readonly alpha: number;
            +    }
            +
            +    /**
            +     * String representations for a color
            +     */
            +    export interface IColorPresentation {
            +        /**
            +         * The label of this color presentation. It will be shown on the color
            +         * picker header. By default this is also the text that is inserted when selecting
            +         * this color presentation.
            +         */
            +        label: string;
            +        /**
            +         * An {@link TextEdit edit} which is applied to a document when selecting
            +         * this presentation for the color.
            +         */
            +        textEdit?: TextEdit;
            +        /**
            +         * An optional array of additional {@link TextEdit text edits} that are applied when
            +         * selecting this color presentation.
            +         */
            +        additionalTextEdits?: TextEdit[];
            +    }
            +
            +    /**
            +     * A color range is a range in a text model which represents a color.
            +     */
            +    export interface IColorInformation {
            +        /**
            +         * The range within the model.
            +         */
            +        range: IRange;
            +        /**
            +         * The color represented in this range.
            +         */
            +        color: IColor;
            +    }
            +
            +    /**
            +     * A provider of colors for editor models.
            +     */
            +    export interface DocumentColorProvider {
            +        /**
            +         * Provides the color ranges for a specific model.
            +         */
            +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
            +        /**
            +         * Provide the string representations for a color.
            +         */
            +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
            +    }
            +
            +    export interface SelectionRange {
            +        range: IRange;
            +    }
            +
            +    export interface SelectionRangeProvider {
            +        /**
            +         * Provide ranges that should be selected from the given position.
            +         */
            +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
            +    }
            +
            +    export interface FoldingContext {
            +    }
            +
            +    /**
            +     * A provider of folding ranges for editor models.
            +     */
            +    export interface FoldingRangeProvider {
            +        /**
            +         * An optional event to signal that the folding ranges from this provider have changed.
            +         */
            +        onDidChange?: IEvent<this>;
            +        /**
            +         * Provides the folding ranges for a specific model.
            +         */
            +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
            +    }
            +
            +    export interface FoldingRange {
            +        /**
            +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
            +         */
            +        start: number;
            +        /**
            +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
            +         */
            +        end: number;
            +        /**
            +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
            +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
            +         * like 'Fold all comments'. See
            +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
            +         */
            +        kind?: FoldingRangeKind;
            +    }
            +
            +    export class FoldingRangeKind {
            +        value: string;
            +        /**
            +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
            +         */
            +        static readonly Comment: FoldingRangeKind;
            +        /**
            +         * Kind for folding range representing a import. The value of the kind is 'imports'.
            +         */
            +        static readonly Imports: FoldingRangeKind;
            +        /**
            +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
            +         * The value of the kind is 'region'.
            +         */
            +        static readonly Region: FoldingRangeKind;
            +        /**
            +         * Creates a new {@link FoldingRangeKind}.
            +         *
            +         * @param value of the kind.
            +         */
            +        constructor(value: string);
            +    }
            +
            +    export interface WorkspaceEditMetadata {
            +        needsConfirmation: boolean;
            +        label: string;
            +        description?: string;
            +    }
            +
            +    export interface WorkspaceFileEditOptions {
            +        overwrite?: boolean;
            +        ignoreIfNotExists?: boolean;
            +        ignoreIfExists?: boolean;
            +        recursive?: boolean;
            +        copy?: boolean;
            +        folder?: boolean;
            +        skipTrashBin?: boolean;
            +        maxSize?: number;
            +    }
            +
            +    export interface WorkspaceFileEdit {
            +        oldUri?: Uri;
            +        newUri?: Uri;
            +        options?: WorkspaceFileEditOptions;
            +        metadata?: WorkspaceEditMetadata;
            +    }
            +
            +    export interface WorkspaceTextEdit {
            +        resource: Uri;
            +        edit: TextEdit;
            +        modelVersionId?: number;
            +        metadata?: WorkspaceEditMetadata;
            +    }
            +
            +    export interface WorkspaceEdit {
            +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
            +    }
            +
            +    export interface Rejection {
            +        rejectReason?: string;
            +    }
            +
            +    export interface RenameLocation {
            +        range: IRange;
            +        text: string;
            +    }
            +
            +    export interface RenameProvider {
            +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
            +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
            +    }
            +
            +    export interface Command {
            +        id: string;
            +        title: string;
            +        tooltip?: string;
            +        arguments?: any[];
            +    }
            +
            +    export interface CodeLens {
            +        range: IRange;
            +        id?: string;
            +        command?: Command;
            +    }
            +
            +    export interface CodeLensList {
            +        lenses: CodeLens[];
            +        dispose(): void;
            +    }
            +
            +    export interface CodeLensProvider {
            +        onDidChange?: IEvent<this>;
            +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
            +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
            +    }
            +
            +    export enum InlayHintKind {
            +        Other = 0,
            +        Type = 1,
            +        Parameter = 2
            +    }
            +
            +    export interface InlayHint {
            +        text: string;
            +        position: IPosition;
            +        kind: InlayHintKind;
            +        whitespaceBefore?: boolean;
            +        whitespaceAfter?: boolean;
            +    }
            +
            +    export interface InlayHintsProvider {
            +        onDidChangeInlayHints?: IEvent<void>;
            +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
            +    }
            +
            +    export interface SemanticTokensLegend {
            +        readonly tokenTypes: string[];
            +        readonly tokenModifiers: string[];
            +    }
            +
            +    export interface SemanticTokens {
            +        readonly resultId?: string;
            +        readonly data: Uint32Array;
            +    }
            +
            +    export interface SemanticTokensEdit {
            +        readonly start: number;
            +        readonly deleteCount: number;
            +        readonly data?: Uint32Array;
            +    }
            +
            +    export interface SemanticTokensEdits {
            +        readonly resultId?: string;
            +        readonly edits: SemanticTokensEdit[];
            +    }
            +
            +    export interface DocumentSemanticTokensProvider {
            +        onDidChange?: IEvent<void>;
            +        getLegend(): SemanticTokensLegend;
            +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
            +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
            +    }
            +
            +    export interface DocumentRangeSemanticTokensProvider {
            +        getLegend(): SemanticTokensLegend;
            +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
            +    }
            +
            +    export interface ILanguageExtensionPoint {
            +        id: string;
            +        extensions?: string[];
            +        filenames?: string[];
            +        filenamePatterns?: string[];
            +        firstLine?: string;
            +        aliases?: string[];
            +        mimetypes?: string[];
            +        configuration?: Uri;
            +    }
            +    /**
            +     * A Monarch language definition
            +     */
            +    export interface IMonarchLanguage {
            +        /**
            +         * map from string to ILanguageRule[]
            +         */
            +        tokenizer: {
            +            [name: string]: IMonarchLanguageRule[];
            +        };
            +        /**
            +         * is the language case insensitive?
            +         */
            +        ignoreCase?: boolean;
            +        /**
            +         * is the language unicode-aware? (i.e., /\u{1D306}/)
            +         */
            +        unicode?: boolean;
            +        /**
            +         * if no match in the tokenizer assign this token class (default 'source')
            +         */
            +        defaultToken?: string;
            +        /**
            +         * for example [['{','}','delimiter.curly']]
            +         */
            +        brackets?: IMonarchLanguageBracket[];
            +        /**
            +         * start symbol in the tokenizer (by default the first entry is used)
            +         */
            +        start?: string;
            +        /**
            +         * attach this to every token class (by default '.' + name)
            +         */
            +        tokenPostfix?: string;
            +        /**
            +         * include line feeds (in the form of a \n character) at the end of lines
            +         * Defaults to false
            +         */
            +        includeLF?: boolean;
            +        /**
            +         * Other keys that can be referred to by the tokenizer.
            +         */
            +        [key: string]: any;
            +    }
            +
            +    /**
            +     * A rule is either a regular expression and an action
            +     * 		shorthands: [reg,act] == { regex: reg, action: act}
            +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
            +     */
            +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
            +
            +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
            +
            +    export interface IExpandedMonarchLanguageRule {
            +        /**
            +         * match tokens
            +         */
            +        regex?: string | RegExp;
            +        /**
            +         * action to take on match
            +         */
            +        action?: IMonarchLanguageAction;
            +        /**
            +         * or an include rule. include all rules from the included state
            +         */
            +        include?: string;
            +    }
            +
            +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
            +
            +    /**
            +     * An action is either an array of actions...
            +     * ... or a case statement with guards...
            +     * ... or a basic action with a token value.
            +     */
            +    export type IShortMonarchLanguageAction = string;
            +
            +    export interface IExpandedMonarchLanguageAction {
            +        /**
            +         * array of actions for each parenthesized match group
            +         */
            +        group?: IMonarchLanguageAction[];
            +        /**
            +         * map from string to ILanguageAction
            +         */
            +        cases?: Object;
            +        /**
            +         * token class (ie. css class) (or "@brackets" or "@rematch")
            +         */
            +        token?: string;
            +        /**
            +         * the next state to push, or "@push", "@pop", "@popall"
            +         */
            +        next?: string;
            +        /**
            +         * switch to this state
            +         */
            +        switchTo?: string;
            +        /**
            +         * go back n characters in the stream
            +         */
            +        goBack?: number;
            +        /**
            +         * @open or @close
            +         */
            +        bracket?: string;
            +        /**
            +         * switch to embedded language (using the mimetype) or get out using "@pop"
            +         */
            +        nextEmbedded?: string;
            +        /**
            +         * log a message to the browser console window
            +         */
            +        log?: string;
            +    }
            +
            +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
            +
            +    /**
            +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
            +     */
            +    export interface IMonarchLanguageBracket {
            +        /**
            +         * open bracket
            +         */
            +        open: string;
            +        /**
            +         * closing bracket
            +         */
            +        close: string;
            +        /**
            +         * token class
            +         */
            +        token: string;
            +    }
            +
            +}
            +
            +declare namespace monaco.worker {
            +
            +
            +    export interface IMirrorTextModel {
            +        readonly version: number;
            +    }
            +
            +    export interface IMirrorModel extends IMirrorTextModel {
            +        readonly uri: Uri;
            +        readonly version: number;
            +        getValue(): string;
            +    }
            +
            +    export interface IWorkerContext<H = undefined> {
            +        /**
            +         * A proxy to the main thread host object.
            +         */
            +        host: H;
            +        /**
            +         * Get all available mirror models in this worker.
            +         */
            +        getMirrorModels(): IMirrorModel[];
            +    }
            +
            +}
            +
            +//dtsv=3
            +
            +/*---------------------------------------------------------------------------------------------
            + *  Copyright (c) Microsoft Corporation. All rights reserved.
            + *  Licensed under the MIT License. See License.txt in the project root for license information.
            + *--------------------------------------------------------------------------------------------*/
            +
            +declare namespace monaco.languages.typescript {
            +    export enum ModuleKind {
            +        None = 0,
            +        CommonJS = 1,
            +        AMD = 2,
            +        UMD = 3,
            +        System = 4,
            +        ES2015 = 5,
            +        ESNext = 99
            +    }
            +    export enum JsxEmit {
            +        None = 0,
            +        Preserve = 1,
            +        React = 2,
            +        ReactNative = 3,
            +        ReactJSX = 4,
            +        ReactJSXDev = 5
            +    }
            +    export enum NewLineKind {
            +        CarriageReturnLineFeed = 0,
            +        LineFeed = 1
            +    }
            +    export enum ScriptTarget {
            +        ES3 = 0,
            +        ES5 = 1,
            +        ES2015 = 2,
            +        ES2016 = 3,
            +        ES2017 = 4,
            +        ES2018 = 5,
            +        ES2019 = 6,
            +        ES2020 = 7,
            +        ESNext = 99,
            +        JSON = 100,
            +        Latest = 99
            +    }
            +    export enum ModuleResolutionKind {
            +        Classic = 1,
            +        NodeJs = 2
            +    }
            +    interface MapLike<T> {
            +        [index: string]: T;
            +    }
            +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
            +    interface CompilerOptions {
            +        allowJs?: boolean;
            +        allowSyntheticDefaultImports?: boolean;
            +        allowUmdGlobalAccess?: boolean;
            +        allowUnreachableCode?: boolean;
            +        allowUnusedLabels?: boolean;
            +        alwaysStrict?: boolean;
            +        baseUrl?: string;
            +        charset?: string;
            +        checkJs?: boolean;
            +        declaration?: boolean;
            +        declarationMap?: boolean;
            +        emitDeclarationOnly?: boolean;
            +        declarationDir?: string;
            +        disableSizeLimit?: boolean;
            +        disableSourceOfProjectReferenceRedirect?: boolean;
            +        downlevelIteration?: boolean;
            +        emitBOM?: boolean;
            +        emitDecoratorMetadata?: boolean;
            +        experimentalDecorators?: boolean;
            +        forceConsistentCasingInFileNames?: boolean;
            +        importHelpers?: boolean;
            +        inlineSourceMap?: boolean;
            +        inlineSources?: boolean;
            +        isolatedModules?: boolean;
            +        jsx?: JsxEmit;
            +        keyofStringsOnly?: boolean;
            +        lib?: string[];
            +        locale?: string;
            +        mapRoot?: string;
            +        maxNodeModuleJsDepth?: number;
            +        module?: ModuleKind;
            +        moduleResolution?: ModuleResolutionKind;
            +        newLine?: NewLineKind;
            +        noEmit?: boolean;
            +        noEmitHelpers?: boolean;
            +        noEmitOnError?: boolean;
            +        noErrorTruncation?: boolean;
            +        noFallthroughCasesInSwitch?: boolean;
            +        noImplicitAny?: boolean;
            +        noImplicitReturns?: boolean;
            +        noImplicitThis?: boolean;
            +        noStrictGenericChecks?: boolean;
            +        noUnusedLocals?: boolean;
            +        noUnusedParameters?: boolean;
            +        noImplicitUseStrict?: boolean;
            +        noLib?: boolean;
            +        noResolve?: boolean;
            +        out?: string;
            +        outDir?: string;
            +        outFile?: string;
            +        paths?: MapLike<string[]>;
            +        preserveConstEnums?: boolean;
            +        preserveSymlinks?: boolean;
            +        project?: string;
            +        reactNamespace?: string;
            +        jsxFactory?: string;
            +        composite?: boolean;
            +        removeComments?: boolean;
            +        rootDir?: string;
            +        rootDirs?: string[];
            +        skipLibCheck?: boolean;
            +        skipDefaultLibCheck?: boolean;
            +        sourceMap?: boolean;
            +        sourceRoot?: string;
            +        strict?: boolean;
            +        strictFunctionTypes?: boolean;
            +        strictBindCallApply?: boolean;
            +        strictNullChecks?: boolean;
            +        strictPropertyInitialization?: boolean;
            +        stripInternal?: boolean;
            +        suppressExcessPropertyErrors?: boolean;
            +        suppressImplicitAnyIndexErrors?: boolean;
            +        target?: ScriptTarget;
            +        traceResolution?: boolean;
            +        resolveJsonModule?: boolean;
            +        types?: string[];
            +        /** Paths used to compute primary types search locations */
            +        typeRoots?: string[];
            +        esModuleInterop?: boolean;
            +        useDefineForClassFields?: boolean;
            +        [option: string]: CompilerOptionsValue | undefined;
            +    }
            +    export interface DiagnosticsOptions {
            +        noSemanticValidation?: boolean;
            +        noSyntaxValidation?: boolean;
            +        noSuggestionDiagnostics?: boolean;
            +        /**
            +         * Limit diagnostic computation to only visible files.
            +         * Defaults to false.
            +         */
            +        onlyVisible?: boolean;
            +        diagnosticCodesToIgnore?: number[];
            +    }
            +    export interface WorkerOptions {
            +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
            +        customWorkerPath?: string;
            +    }
            +    interface InlayHintsOptions {
            +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
            +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
            +        readonly includeInlayFunctionParameterTypeHints?: boolean;
            +        readonly includeInlayVariableTypeHints?: boolean;
            +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
            +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
            +        readonly includeInlayEnumMemberValueHints?: boolean;
            +    }
            +    interface IExtraLib {
            +        content: string;
            +        version: number;
            +    }
            +    export interface IExtraLibs {
            +        [path: string]: IExtraLib;
            +    }
            +    /**
            +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
            +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
            +     */
            +    interface DiagnosticMessageChain {
            +        messageText: string;
            +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
            +        category: 0 | 1 | 2 | 3;
            +        code: number;
            +        next?: DiagnosticMessageChain[];
            +    }
            +    export interface Diagnostic extends DiagnosticRelatedInformation {
            +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
            +        reportsUnnecessary?: {};
            +        reportsDeprecated?: {};
            +        source?: string;
            +        relatedInformation?: DiagnosticRelatedInformation[];
            +    }
            +    export interface DiagnosticRelatedInformation {
            +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
            +        category: 0 | 1 | 2 | 3;
            +        code: number;
            +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
            +        file: {
            +            fileName: string;
            +        } | undefined;
            +        start: number | undefined;
            +        length: number | undefined;
            +        messageText: string | DiagnosticMessageChain;
            +    }
            +    interface EmitOutput {
            +        outputFiles: OutputFile[];
            +        emitSkipped: boolean;
            +    }
            +    interface OutputFile {
            +        name: string;
            +        writeByteOrderMark: boolean;
            +        text: string;
            +    }
            +    export interface LanguageServiceDefaults {
            +        /**
            +         * Event fired when compiler options or diagnostics options are changed.
            +         */
            +        readonly onDidChange: IEvent<void>;
            +        /**
            +         * Event fired when extra libraries registered with the language service change.
            +         */
            +        readonly onDidExtraLibsChange: IEvent<void>;
            +        readonly workerOptions: WorkerOptions;
            +        readonly inlayHintsOptions: InlayHintsOptions;
            +        /**
            +         * Get the current extra libs registered with the language service.
            +         */
            +        getExtraLibs(): IExtraLibs;
            +        /**
            +         * Add an additional source file to the language service. Use this
            +         * for typescript (definition) files that won't be loaded as editor
            +         * documents, like `jquery.d.ts`.
            +         *
            +         * @param content The file content
            +         * @param filePath An optional file path
            +         * @returns A disposable which will remove the file from the
            +         * language service upon disposal.
            +         */
            +        addExtraLib(content: string, filePath?: string): IDisposable;
            +        /**
            +         * Remove all existing extra libs and set the additional source
            +         * files to the language service. Use this for typescript definition
            +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
            +         * @param libs An array of entries to register.
            +         */
            +        setExtraLibs(libs: {
            +            content: string;
            +            filePath?: string;
            +        }[]): void;
            +        /**
            +         * Get current TypeScript compiler options for the language service.
            +         */
            +        getCompilerOptions(): CompilerOptions;
            +        /**
            +         * Set TypeScript compiler options.
            +         */
            +        setCompilerOptions(options: CompilerOptions): void;
            +        /**
            +         * Get the current diagnostics options for the language service.
            +         */
            +        getDiagnosticsOptions(): DiagnosticsOptions;
            +        /**
            +         * Configure whether syntactic and/or semantic validation should
            +         * be performed
            +         */
            +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
            +        /**
            +         * Configure webworker options
            +         */
            +        setWorkerOptions(options: WorkerOptions): void;
            +        /**
            +         * No-op.
            +         */
            +        setMaximumWorkerIdleTime(value: number): void;
            +        /**
            +         * Configure if all existing models should be eagerly sync'd
            +         * to the worker on start or restart.
            +         */
            +        setEagerModelSync(value: boolean): void;
            +        /**
            +         * Get the current setting for whether all existing models should be eagerly sync'd
            +         * to the worker on start or restart.
            +         */
            +        getEagerModelSync(): boolean;
            +        /**
            +         * Configure inlay hints options.
            +         */
            +        setInlayHintsOptions(options: InlayHintsOptions): void;
            +    }
            +    export interface TypeScriptWorker {
            +        /**
            +         * Get diagnostic messages for any syntax issues in the given file.
            +         */
            +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
            +        /**
            +         * Get diagnostic messages for any semantic issues in the given file.
            +         */
            +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
            +        /**
            +         * Get diagnostic messages for any suggestions related to the given file.
            +         */
            +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
            +        /**
            +         * Get the content of a given file.
            +         */
            +        getScriptText(fileName: string): Promise<string | undefined>;
            +        /**
            +         * Get diagnostic messages related to the current compiler options.
            +         * @param fileName Not used
            +         */
            +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
            +        /**
            +         * Get code completions for the given file and position.
            +         * @returns `Promise<typescript.CompletionInfo | undefined>`
            +         */
            +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
            +        /**
            +         * Get code completion details for the given file, position, and entry.
            +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
            +         */
            +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
            +        /**
            +         * Get signature help items for the item at the given file and position.
            +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
            +         */
            +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
            +        /**
            +         * Get quick info for the item at the given position in the file.
            +         * @returns `Promise<typescript.QuickInfo | undefined>`
            +         */
            +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
            +        /**
            +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
            +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
            +         */
            +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
            +        /**
            +         * Get the definition of the item at the given position in the file.
            +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
            +         */
            +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
            +        /**
            +         * Get references to the item at the given position in the file.
            +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
            +         */
            +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
            +        /**
            +         * Get outline entries for the item at the given position in the file.
            +         * @returns `Promise<typescript.NavigationBarItem[]>`
            +         */
            +        getNavigationBarItems(fileName: string): Promise<any[]>;
            +        /**
            +         * Get changes which should be applied to format the given file.
            +         * @param options `typescript.FormatCodeOptions`
            +         * @returns `Promise<typescript.TextChange[]>`
            +         */
            +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
            +        /**
            +         * Get changes which should be applied to format the given range in the file.
            +         * @param options `typescript.FormatCodeOptions`
            +         * @returns `Promise<typescript.TextChange[]>`
            +         */
            +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
            +        /**
            +         * Get formatting changes which should be applied after the given keystroke.
            +         * @param options `typescript.FormatCodeOptions`
            +         * @returns `Promise<typescript.TextChange[]>`
            +         */
            +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
            +        /**
            +         * Get other occurrences which should be updated when renaming the item at the given file and position.
            +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
            +         */
            +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
            +        /**
            +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
            +         * @param options `typescript.RenameInfoOptions`
            +         * @returns `Promise<typescript.RenameInfo>`
            +         */
            +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
            +        /**
            +         * Get transpiled output for the given file.
            +         * @returns `typescript.EmitOutput`
            +         */
            +        getEmitOutput(fileName: string): Promise<EmitOutput>;
            +        /**
            +         * Get possible code fixes at the given position in the file.
            +         * @param formatOptions `typescript.FormatCodeOptions`
            +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
            +         */
            +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
            +        /**
            +         * Get inlay hints in the range of the file.
            +         * @param fileName
            +         * @returns `Promise<typescript.InlayHint[]>`
            +         */
            +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
            +    }
            +    export const typescriptVersion: string;
            +    export const typescriptDefaults: LanguageServiceDefaults;
            +    export const javascriptDefaults: LanguageServiceDefaults;
            +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
            +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
            +}
            +
            +/*---------------------------------------------------------------------------------------------
            + *  Copyright (c) Microsoft Corporation. All rights reserved.
            + *  Licensed under the MIT License. See License.txt in the project root for license information.
            + *--------------------------------------------------------------------------------------------*/
            +
            +declare namespace monaco.languages.css {
            +    export interface Options {
            +        readonly validate?: boolean;
            +        readonly lint?: {
            +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
            +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
            +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
            +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
            +            readonly importStatement?: 'ignore' | 'warning' | 'error';
            +            readonly boxModel?: 'ignore' | 'warning' | 'error';
            +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
            +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
            +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
            +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
            +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
            +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
            +            readonly ieHack?: 'ignore' | 'warning' | 'error';
            +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
            +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
            +            readonly important?: 'ignore' | 'warning' | 'error';
            +            readonly float?: 'ignore' | 'warning' | 'error';
            +            readonly idSelector?: 'ignore' | 'warning' | 'error';
            +        };
            +        /**
            +         * Configures the CSS data types known by the langauge service.
            +         */
            +        readonly data?: CSSDataConfiguration;
            +    }
            +    export interface ModeConfiguration {
            +        /**
            +         * Defines whether the built-in completionItemProvider is enabled.
            +         */
            +        readonly completionItems?: boolean;
            +        /**
            +         * Defines whether the built-in hoverProvider is enabled.
            +         */
            +        readonly hovers?: boolean;
            +        /**
            +         * Defines whether the built-in documentSymbolProvider is enabled.
            +         */
            +        readonly documentSymbols?: boolean;
            +        /**
            +         * Defines whether the built-in definitions provider is enabled.
            +         */
            +        readonly definitions?: boolean;
            +        /**
            +         * Defines whether the built-in references provider is enabled.
            +         */
            +        readonly references?: boolean;
            +        /**
            +         * Defines whether the built-in references provider is enabled.
            +         */
            +        readonly documentHighlights?: boolean;
            +        /**
            +         * Defines whether the built-in rename provider is enabled.
            +         */
            +        readonly rename?: boolean;
            +        /**
            +         * Defines whether the built-in color provider is enabled.
            +         */
            +        readonly colors?: boolean;
            +        /**
            +         * Defines whether the built-in foldingRange provider is enabled.
            +         */
            +        readonly foldingRanges?: boolean;
            +        /**
            +         * Defines whether the built-in diagnostic provider is enabled.
            +         */
            +        readonly diagnostics?: boolean;
            +        /**
            +         * Defines whether the built-in selection range provider is enabled.
            +         */
            +        readonly selectionRanges?: boolean;
            +    }
            +    export interface LanguageServiceDefaults {
            +        readonly languageId: string;
            +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
            +        readonly modeConfiguration: ModeConfiguration;
            +        readonly options: Options;
            +        setOptions(options: Options): void;
            +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
            +        /** @deprecated Use options instead */
            +        readonly diagnosticsOptions: DiagnosticsOptions;
            +        /** @deprecated Use setOptions instead */
            +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
            +    }
            +    /** @deprecated Use Options instead */
            +    export type DiagnosticsOptions = Options;
            +    export const cssDefaults: LanguageServiceDefaults;
            +    export const scssDefaults: LanguageServiceDefaults;
            +    export const lessDefaults: LanguageServiceDefaults;
            +    export interface CSSDataConfiguration {
            +        /**
            +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
            +         */
            +        useDefaultDataProvider?: boolean;
            +        /**
            +         * Provides a set of custom data providers.
            +         */
            +        dataProviders?: {
            +            [providerId: string]: CSSDataV1;
            +        };
            +    }
            +    /**
            +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
            +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
            +     */
            +    export interface CSSDataV1 {
            +        version: 1 | 1.1;
            +        properties?: IPropertyData[];
            +        atDirectives?: IAtDirectiveData[];
            +        pseudoClasses?: IPseudoClassData[];
            +        pseudoElements?: IPseudoElementData[];
            +    }
            +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
            +    export interface IReference {
            +        name: string;
            +        url: string;
            +    }
            +    export interface IPropertyData {
            +        name: string;
            +        description?: string | MarkupContent;
            +        browsers?: string[];
            +        restrictions?: string[];
            +        status?: EntryStatus;
            +        syntax?: string;
            +        values?: IValueData[];
            +        references?: IReference[];
            +        relevance?: number;
            +    }
            +    export interface IAtDirectiveData {
            +        name: string;
            +        description?: string | MarkupContent;
            +        browsers?: string[];
            +        status?: EntryStatus;
            +        references?: IReference[];
            +    }
            +    export interface IPseudoClassData {
            +        name: string;
            +        description?: string | MarkupContent;
            +        browsers?: string[];
            +        status?: EntryStatus;
            +        references?: IReference[];
            +    }
            +    export interface IPseudoElementData {
            +        name: string;
            +        description?: string | MarkupContent;
            +        browsers?: string[];
            +        status?: EntryStatus;
            +        references?: IReference[];
            +    }
            +    export interface IValueData {
            +        name: string;
            +        description?: string | MarkupContent;
            +        browsers?: string[];
            +        status?: EntryStatus;
            +        references?: IReference[];
            +    }
            +    export interface MarkupContent {
            +        kind: MarkupKind;
            +        value: string;
            +    }
            +    export type MarkupKind = 'plaintext' | 'markdown';
            +}
            +
            +/*---------------------------------------------------------------------------------------------
            + *  Copyright (c) Microsoft Corporation. All rights reserved.
            + *  Licensed under the MIT License. See License.txt in the project root for license information.
            + *--------------------------------------------------------------------------------------------*/
            +
            +declare namespace monaco.languages.json {
            +    export interface DiagnosticsOptions {
            +        /**
            +         * If set, the validator will be enabled and perform syntax and schema based validation,
            +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
            +         */
            +        readonly validate?: boolean;
            +        /**
            +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
            +         * `DiagnosticsOptions.allowComments` will override this setting.
            +         */
            +        readonly allowComments?: boolean;
            +        /**
            +         * A list of known schemas and/or associations of schemas to file names.
            +         */
            +        readonly schemas?: {
            +            /**
            +             * The URI of the schema, which is also the identifier of the schema.
            +             */
            +            readonly uri: string;
            +            /**
            +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
            +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
            +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
            +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
            +             */
            +            readonly fileMatch?: string[];
            +            /**
            +             * The schema for the given URI.
            +             */
            +            readonly schema?: any;
            +        }[];
            +        /**
            +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
            +         */
            +        readonly enableSchemaRequest?: boolean;
            +        /**
            +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
            +         */
            +        readonly schemaValidation?: SeverityLevel;
            +        /**
            +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
            +         */
            +        readonly schemaRequest?: SeverityLevel;
            +        /**
            +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
            +         */
            +        readonly trailingCommas?: SeverityLevel;
            +        /**
            +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
            +         */
            +        readonly comments?: SeverityLevel;
            +    }
            +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
            +    export interface ModeConfiguration {
            +        /**
            +         * Defines whether the built-in documentFormattingEdit provider is enabled.
            +         */
            +        readonly documentFormattingEdits?: boolean;
            +        /**
            +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
            +         */
            +        readonly documentRangeFormattingEdits?: boolean;
            +        /**
            +         * Defines whether the built-in completionItemProvider is enabled.
            +         */
            +        readonly completionItems?: boolean;
            +        /**
            +         * Defines whether the built-in hoverProvider is enabled.
            +         */
            +        readonly hovers?: boolean;
            +        /**
            +         * Defines whether the built-in documentSymbolProvider is enabled.
            +         */
            +        readonly documentSymbols?: boolean;
            +        /**
            +         * Defines whether the built-in tokens provider is enabled.
            +         */
            +        readonly tokens?: boolean;
            +        /**
            +         * Defines whether the built-in color provider is enabled.
            +         */
            +        readonly colors?: boolean;
            +        /**
            +         * Defines whether the built-in foldingRange provider is enabled.
            +         */
            +        readonly foldingRanges?: boolean;
            +        /**
            +         * Defines whether the built-in diagnostic provider is enabled.
            +         */
            +        readonly diagnostics?: boolean;
            +        /**
            +         * Defines whether the built-in selection range provider is enabled.
            +         */
            +        readonly selectionRanges?: boolean;
            +    }
            +    export interface LanguageServiceDefaults {
            +        readonly languageId: string;
            +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
            +        readonly diagnosticsOptions: DiagnosticsOptions;
            +        readonly modeConfiguration: ModeConfiguration;
            +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
            +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
            +    }
            +    export const jsonDefaults: LanguageServiceDefaults;
            +}
            +
            +/*---------------------------------------------------------------------------------------------
            + *  Copyright (c) Microsoft Corporation. All rights reserved.
            + *  Licensed under the MIT License. See License.txt in the project root for license information.
            + *--------------------------------------------------------------------------------------------*/
            +
            +declare namespace monaco.languages.html {
            +    export interface HTMLFormatConfiguration {
            +        readonly tabSize: number;
            +        readonly insertSpaces: boolean;
            +        readonly wrapLineLength: number;
            +        readonly unformatted: string;
            +        readonly contentUnformatted: string;
            +        readonly indentInnerHtml: boolean;
            +        readonly preserveNewLines: boolean;
            +        readonly maxPreserveNewLines: number | undefined;
            +        readonly indentHandlebars: boolean;
            +        readonly endWithNewline: boolean;
            +        readonly extraLiners: string;
            +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
            +    }
            +    export interface CompletionConfiguration {
            +        readonly [providerId: string]: boolean;
            +    }
            +    export interface Options {
            +        /**
            +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
            +         */
            +        readonly format?: HTMLFormatConfiguration;
            +        /**
            +         * A list of known schemas and/or associations of schemas to file names.
            +         */
            +        readonly suggest?: CompletionConfiguration;
            +        /**
            +         * Configures the HTML data types known by the HTML langauge service.
            +         */
            +        readonly data?: HTMLDataConfiguration;
            +    }
            +    export interface ModeConfiguration {
            +        /**
            +         * Defines whether the built-in completionItemProvider is enabled.
            +         */
            +        readonly completionItems?: boolean;
            +        /**
            +         * Defines whether the built-in hoverProvider is enabled.
            +         */
            +        readonly hovers?: boolean;
            +        /**
            +         * Defines whether the built-in documentSymbolProvider is enabled.
            +         */
            +        readonly documentSymbols?: boolean;
            +        /**
            +         * Defines whether the built-in definitions provider is enabled.
            +         */
            +        readonly links?: boolean;
            +        /**
            +         * Defines whether the built-in references provider is enabled.
            +         */
            +        readonly documentHighlights?: boolean;
            +        /**
            +         * Defines whether the built-in rename provider is enabled.
            +         */
            +        readonly rename?: boolean;
            +        /**
            +         * Defines whether the built-in color provider is enabled.
            +         */
            +        readonly colors?: boolean;
            +        /**
            +         * Defines whether the built-in foldingRange provider is enabled.
            +         */
            +        readonly foldingRanges?: boolean;
            +        /**
            +         * Defines whether the built-in diagnostic provider is enabled.
            +         */
            +        readonly diagnostics?: boolean;
            +        /**
            +         * Defines whether the built-in selection range provider is enabled.
            +         */
            +        readonly selectionRanges?: boolean;
            +        /**
            +         * Defines whether the built-in documentFormattingEdit provider is enabled.
            +         */
            +        readonly documentFormattingEdits?: boolean;
            +        /**
            +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
            +         */
            +        readonly documentRangeFormattingEdits?: boolean;
            +    }
            +    export interface LanguageServiceDefaults {
            +        readonly languageId: string;
            +        readonly modeConfiguration: ModeConfiguration;
            +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
            +        readonly options: Options;
            +        setOptions(options: Options): void;
            +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
            +    }
            +    export const htmlLanguageService: LanguageServiceRegistration;
            +    export const htmlDefaults: LanguageServiceDefaults;
            +    export const handlebarLanguageService: LanguageServiceRegistration;
            +    export const handlebarDefaults: LanguageServiceDefaults;
            +    export const razorLanguageService: LanguageServiceRegistration;
            +    export const razorDefaults: LanguageServiceDefaults;
            +    export interface LanguageServiceRegistration extends IDisposable {
            +        readonly defaults: LanguageServiceDefaults;
            +    }
            +    /**
            +     * Registers a new HTML language service for the languageId.
            +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
            +     *
            +     * Use this method to register additional language ids with a HTML service.
            +     * The language server has to be registered before an editor model is opened.
            +     */
            +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
            +    export interface HTMLDataConfiguration {
            +        /**
            +         * Defines whether the standard HTML tags and attributes are shown
            +         */
            +        readonly useDefaultDataProvider?: boolean;
            +        /**
            +         * Provides a set of custom data providers.
            +         */
            +        readonly dataProviders?: {
            +            [providerId: string]: HTMLDataV1;
            +        };
            +    }
            +    /**
            +     * Custom HTML tags attributes and attribute values
            +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
            +     */
            +    export interface HTMLDataV1 {
            +        readonly version: 1 | 1.1;
            +        readonly tags?: ITagData[];
            +        readonly globalAttributes?: IAttributeData[];
            +        readonly valueSets?: IValueSet[];
            +    }
            +    export interface IReference {
            +        readonly name: string;
            +        readonly url: string;
            +    }
            +    export interface ITagData {
            +        readonly name: string;
            +        readonly description?: string | MarkupContent;
            +        readonly attributes: IAttributeData[];
            +        readonly references?: IReference[];
            +    }
            +    export interface IAttributeData {
            +        readonly name: string;
            +        readonly description?: string | MarkupContent;
            +        readonly valueSet?: string;
            +        readonly values?: IValueData[];
            +        readonly references?: IReference[];
            +    }
            +    export interface IValueData {
            +        readonly name: string;
            +        readonly description?: string | MarkupContent;
            +        readonly references?: IReference[];
            +    }
            +    export interface IValueSet {
            +        readonly name: string;
            +        readonly values: IValueData[];
            +    }
            +    export interface MarkupContent {
            +        readonly kind: MarkupKind;
            +        readonly value: string;
            +    }
            +    export type MarkupKind = 'plaintext' | 'markdown';
            +}
            +
            +
            +
            + + + + + + + + +
            +
            +

            results matching ""

            +
              +
              +
              +

              No results matching ""

              +
              +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/Selection.html b/docs/api-reference/classes/Selection.html new file mode 100644 index 00000000..1a5eb34e --- /dev/null +++ b/docs/api-reference/classes/Selection.html @@ -0,0 +1,10770 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
              +
              + + +
              +
              + + + + + + + + + + + + + + + +
              +
              +

              +

              File

              +

              +

              + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

              + + +

              +

              Description

              +

              +

              +

              A selection in the editor. +The selection is a range that has an orientation.

              + +

              + +

              +

              Extends

              +

              +

              + Range +

              + + + +
              +

              Index

              + + + + + + + + + + + + + + + + + + + + + +
              +
              Properties
              +
              + +
              +
              Methods
              +
              + +
              +
              + +
              +

              Constructor

              + + + + + + + + + + + + + +
              +constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number) +
              + +
              +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              selectionStartLineNumber + number + + No +
              selectionStartColumn + number + + No +
              positionLineNumber + number + + No +
              positionColumn + number + + No +
              +
              +
              +
              + +
              + +

              + Properties +

              + + + + + + + + + + + + + + + + + +
              + + + Readonly + positionColumn + + +
              + Type : number + +
              + +
              +

              The column on positionLineNumber where the selection has ended.

              +
              +
              + + + + + + + + + + + + + + + + + +
              + + + Readonly + positionLineNumber + + +
              + Type : number + +
              + +
              +

              The line number on which the selection has ended.

              +
              +
              + + + + + + + + + + + + + + + + + +
              + + + Readonly + selectionStartColumn + + +
              + Type : number + +
              + +
              +

              The column on selectionStartLineNumber where the selection has started.

              +
              +
              + + + + + + + + + + + + + + + + + +
              + + + Readonly + selectionStartLineNumber + + +
              + Type : number + +
              + +
              +

              The line number on which the selection has started.

              +
              +
              + + + + + + + + + + + + + + + + + + + + +
              + + + Readonly + endColumn + + +
              + Type : number + +
              +
              Inherited from Range +
              +
              +
              Defined in Range:611 +
              +
              +

              Column on which the range ends in line endLineNumber.

              +
              +
              + + + + + + + + + + + + + + + + + + + + +
              + + + Readonly + endLineNumber + + +
              + Type : number + +
              +
              Inherited from Range +
              +
              +
              Defined in Range:607 +
              +
              +

              Line number on which the range ends.

              +
              +
              + + + + + + + + + + + + + + + + + + + + +
              + + + Readonly + startColumn + + +
              + Type : number + +
              +
              Inherited from Range +
              +
              +
              Defined in Range:603 +
              +
              +

              Column on which the range starts in line startLineNumber (starts at 1).

              +
              +
              + + + + + + + + + + + + + + + + + + + + +
              + + + Readonly + startLineNumber + + +
              + Type : number + +
              +
              Inherited from Range +
              +
              +
              Defined in Range:599 +
              +
              +

              Line number on which the range starts (starts at 1).

              +
              +
              +
              + +
              + +

              + Methods +

              + + + + + + + + + + + + + + + + + + + +
              + + + Static + createWithDirection + + +
              + + createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection) +
              + +
              +

              Create with a direction.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              startLineNumber + number + + No +
              startColumn + number + + No +
              endLineNumber + number + + No +
              endColumn + number + + No +
              direction + SelectionDirection + + No +
              +
              +
              +
              +
              + Returns : Selection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + equalsSelection + + +
              +equalsSelection(other: ISelection) +
              + +
              +

              Test if equals other selection.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              other + ISelection + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + fromPositions + + +
              + + fromPositions(start: IPosition, end?: IPosition) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:821 +
              +
              +

              Create a Selection from one or two positions

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              start + IPosition + + No +
              end + IPosition + + Yes +
              +
              +
              +
              +
              + Returns : Selection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + Static + fromRange + + +
              + + fromRange(range: Range, direction: SelectionDirection) +
              + +
              +

              Creates a Selection from a range, given a direction.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + Range + + No +
              direction + SelectionDirection + + No +
              +
              +
              +
              +
              + Returns : Selection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + getDirection + + +
              +getDirection() +
              + +
              +

              Get directions (LTR or RTL).

              +
              + +
              + Returns : SelectionDirection + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + getPosition + + +
              +getPosition() +
              + +
              +

              Get the position at positionLineNumber and positionColumn.

              +
              + +
              + Returns : Position + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + getSelectionStart + + +
              +getSelectionStart() +
              + +
              +

              Get the position at the start of the selection.

              +
              + +
              + Returns : Position + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + Static + isISelection + + +
              + + isISelection(obj: any) +
              + +
              +

              Test if obj is an ISelection.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              obj + any + + No +
              +
              +
              +
              +
              + Returns : ISelection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + Static + liftSelection + + +
              + + liftSelection(sel: ISelection) +
              + +
              +

              Create a Selection from an ISelection.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              sel + ISelection + + No +
              +
              +
              +
              +
              + Returns : Selection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + Static + selectionsArrEqual + + +
              + + selectionsArrEqual(a: ISelection[], b: ISelection[]) +
              + +
              +

              a equals b.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              a + ISelection[] + + No +
              b + ISelection[] + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + +
              + + + Static + selectionsEqual + + +
              + + selectionsEqual(a: ISelection, b: ISelection) +
              + +
              +

              Test if the two selections are equal.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              a + ISelection + + No +
              b + ISelection + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + setEndPosition + + +
              +setEndPosition(endLineNumber: number, endColumn: number) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:805 +
              +
              +

              Create a new selection with a different positionLineNumber and positionColumn.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              endLineNumber + number + + No +
              endColumn + number + + No +
              +
              +
              +
              +
              + Returns : Selection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + setStartPosition + + +
              +setStartPosition(startLineNumber: number, startColumn: number) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:817 +
              +
              +

              Create a new selection with a different selectionStartLineNumber and selectionStartColumn.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              startLineNumber + number + + No +
              startColumn + number + + No +
              +
              +
              +
              +
              + Returns : Selection + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + toString + + +
              +toString() +
              +
              Inherited from Range +
              +
              +
              Defined in Range:789 +
              +
              +

              Transform to a human-readable representation.

              +
              + +
              + Returns : string + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + areIntersecting + + +
              + + areIntersecting(a: IRange, b: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:724 +
              +
              +

              Test if the two ranges are intersecting. If the ranges are touching it returns true.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              a + IRange + + No +
              b + IRange + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + areIntersectingOrTouching + + +
              + + areIntersectingOrTouching(a: IRange, b: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:720 +
              +
              +

              Test if the two ranges are touching in any way.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              a + IRange + + No +
              b + IRange + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + collapseToStart + + +
              +collapseToStart() +
              +
              Inherited from Range +
              +
              +
              Defined in Range:702 +
              +
              +

              Create a new empty range using this range's start position.

              +
              + +
              + Returns : Range + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + compareRangesUsingEnds + + +
              + + compareRangesUsingEnds(a: IRange, b: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:734 +
              +
              +

              A function that compares ranges, useful for sorting ranges +It will first compare ranges on the endPosition and then on the startPosition

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              a + IRange + + No +
              b + IRange + + No +
              +
              +
              +
              +
              + Returns : number + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + compareRangesUsingStarts + + +
              + + compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:729 +
              +
              +

              A function that compares ranges, useful for sorting ranges +It will first compare ranges on the startPosition and then on the endPosition

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              a + IRange | null | undefined + + No +
              b + IRange | null | undefined + + No +
              +
              +
              +
              +
              + Returns : number + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + containsPosition + + +
              +containsPosition(position: IPosition) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:624 +
              +
              +

              Test if position is in this range. If the position is at the edges, will return true.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              position + IPosition + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + containsRange + + +
              +containsRange(range: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:632 +
              +
              +

              Test if range is in this range. If the range is equal to this range, will return true.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + IRange + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + equalsRange + + +
              +equalsRange(other: IRange | null) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:666 +
              +
              +

              Test if this range equals other.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              other + IRange | null + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + getEndPosition + + +
              +getEndPosition() +
              +
              Inherited from Range +
              +
              +
              Defined in Range:674 +
              +
              +

              Return the end position (which will be after or equal to the start position)

              +
              + +
              + Returns : Position + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + getStartPosition + + +
              +getStartPosition() +
              +
              Inherited from Range +
              +
              +
              Defined in Range:682 +
              +
              +

              Return the start position (which will be before or equal to the end position)

              +
              + +
              + Returns : Position + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + intersectRanges + + +
              +intersectRanges(range: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:658 +
              +
              +

              A intersection of the two ranges.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + IRange + + No +
              +
              +
              +
              +
              + Returns : Range | null + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + isEmpty + + +
              +isEmpty() +
              +
              Inherited from Range +
              +
              +
              Defined in Range:616 +
              +
              +

              Test if this range is empty.

              +
              + +
              + Returns : boolean + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + isIRange + + +
              + + isIRange(obj: any) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:716 +
              +
              +

              Test if obj is an IRange.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              obj + any + + No +
              +
              +
              +
              +
              + Returns : IRange + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + lift + + +
              + + lift(range: undefined | null) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:711 +
              +
              +

              Create a Range from an IRange.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + undefined | null + + No +
              +
              +
              +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + plusRange + + +
              +plusRange(range: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:649 +
              +
              +

              A reunion of the two ranges. +The smallest position will be used as the start point, and the largest one as the end point.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + IRange + + No +
              +
              +
              +
              +
              + Returns : Range + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + Static + spansMultipleLines + + +
              + + spansMultipleLines(range: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:738 +
              +
              +

              Test if the range spans multiple lines.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + IRange + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              + + + + + + + + + + + + + + + + + + + + + + +
              + + + strictContainsRange + + +
              +strictContainsRange(range: IRange) +
              +
              Inherited from Range +
              +
              +
              Defined in Range:640 +
              +
              +

              Test if range is strictly in this range. range must start after and end before this range for the result to be true.

              +
              + +
              + Parameters : + + + + + + + + + + + + + + + + + + + +
              NameTypeOptional
              range + IRange + + No +
              +
              +
              +
              +
              + Returns : boolean + +
              +
              + +
              +
              +
              + + + + + +
              + + +
              +
              declare let MonacoEnvironment: monaco.Environment | undefined;
              +
              +interface Window {
              +    MonacoEnvironment?: monaco.Environment | undefined;
              +}
              +
              +declare namespace monaco {
              +
              +    export type Thenable<T> = PromiseLike<T>;
              +
              +    export interface Environment {
              +        globalAPI?: boolean;
              +        baseUrl?: string;
              +        getWorker?(workerId: string, label: string): Worker;
              +        getWorkerUrl?(workerId: string, label: string): string;
              +    }
              +
              +    export interface IDisposable {
              +        dispose(): void;
              +    }
              +
              +    export interface IEvent<T> {
              +        (listener: (e: T) => any, thisArg?: any): IDisposable;
              +    }
              +
              +    /**
              +     * A helper that allows to emit and listen to typed events
              +     */
              +    export class Emitter<T> {
              +        constructor();
              +        readonly event: IEvent<T>;
              +        fire(event: T): void;
              +        dispose(): void;
              +    }
              +
              +
              +    export enum MarkerTag {
              +        Unnecessary = 1,
              +        Deprecated = 2
              +    }
              +
              +    export enum MarkerSeverity {
              +        Hint = 1,
              +        Info = 2,
              +        Warning = 4,
              +        Error = 8
              +    }
              +
              +    export class CancellationTokenSource {
              +        constructor(parent?: CancellationToken);
              +        get token(): CancellationToken;
              +        cancel(): void;
              +        dispose(cancel?: boolean): void;
              +    }
              +
              +    export interface CancellationToken {
              +        /**
              +         * A flag signalling is cancellation has been requested.
              +         */
              +        readonly isCancellationRequested: boolean;
              +        /**
              +         * An event which fires when cancellation is requested. This event
              +         * only ever fires `once` as cancellation can only happen once. Listeners
              +         * that are registered after cancellation will be called (next event loop run),
              +         * but also only once.
              +         *
              +         * @event
              +         */
              +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
              +    }
              +    /**
              +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
              +     * This class is a simple parser which creates the basic component parts
              +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
              +     * and encoding.
              +     *
              +     * ```txt
              +     *       foo://example.com:8042/over/there?name=ferret#nose
              +     *       \_/   \______________/\_________/ \_________/ \__/
              +     *        |           |            |            |        |
              +     *     scheme     authority       path        query   fragment
              +     *        |   _____________________|__
              +     *       / \ /                        \
              +     *       urn:example:animal:ferret:nose
              +     * ```
              +     */
              +    export class Uri implements UriComponents {
              +        static isUri(thing: any): thing is Uri;
              +        /**
              +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
              +         * The part before the first colon.
              +         */
              +        readonly scheme: string;
              +        /**
              +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
              +         * The part between the first double slashes and the next slash.
              +         */
              +        readonly authority: string;
              +        /**
              +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
              +         */
              +        readonly path: string;
              +        /**
              +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
              +         */
              +        readonly query: string;
              +        /**
              +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
              +         */
              +        readonly fragment: string;
              +        /**
              +         * Returns a string representing the corresponding file system path of this Uri.
              +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
              +         * platform specific path separator.
              +         *
              +         * * Will *not* validate the path for invalid characters and semantics.
              +         * * Will *not* look at the scheme of this Uri.
              +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
              +         *
              +         *
              +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
              +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
              +         *
              +         * ```ts
              +            const u = Uri.parse('file://server/c$/folder/file.txt')
              +            u.authority === 'server'
              +            u.path === '/shares/c$/file.txt'
              +            u.fsPath === '\\server\c$\folder\file.txt'
              +        ```
              +         *
              +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
              +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
              +         * with URIs that represent files on disk (`file` scheme).
              +         */
              +        get fsPath(): string;
              +        with(change: {
              +            scheme?: string;
              +            authority?: string | null;
              +            path?: string | null;
              +            query?: string | null;
              +            fragment?: string | null;
              +        }): Uri;
              +        /**
              +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
              +         * `file:///usr/home`, or `scheme:with/path`.
              +         *
              +         * @param value A string which represents an Uri (see `Uri#toString`).
              +         */
              +        static parse(value: string, _strict?: boolean): Uri;
              +        /**
              +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
              +         * `/usr/home`, or `\\server\share\some\path`.
              +         *
              +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
              +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
              +         * `Uri.parse('file://' + path)` because the path might contain characters that are
              +         * interpreted (# and ?). See the following sample:
              +         * ```ts
              +        const good = Uri.file('/coding/c#/project1');
              +        good.scheme === 'file';
              +        good.path === '/coding/c#/project1';
              +        good.fragment === '';
              +        const bad = Uri.parse('file://' + '/coding/c#/project1');
              +        bad.scheme === 'file';
              +        bad.path === '/coding/c'; // path is now broken
              +        bad.fragment === '/project1';
              +        ```
              +         *
              +         * @param path A file system path (see `Uri#fsPath`)
              +         */
              +        static file(path: string): Uri;
              +        static from(components: {
              +            scheme: string;
              +            authority?: string;
              +            path?: string;
              +            query?: string;
              +            fragment?: string;
              +        }): Uri;
              +        /**
              +         * Join a Uri path with path fragments and normalizes the resulting path.
              +         *
              +         * @param uri The input Uri.
              +         * @param pathFragment The path fragment to add to the Uri path.
              +         * @returns The resulting Uri.
              +         */
              +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
              +        /**
              +         * Creates a string representation for this Uri. It's guaranteed that calling
              +         * `Uri.parse` with the result of this function creates an Uri which is equal
              +         * to this Uri.
              +         *
              +         * * The result shall *not* be used for display purposes but for externalization or transport.
              +         * * The result will be encoded using the percentage encoding and encoding happens mostly
              +         * ignore the scheme-specific encoding rules.
              +         *
              +         * @param skipEncoding Do not encode the result, default is `false`
              +         */
              +        toString(skipEncoding?: boolean): string;
              +        toJSON(): UriComponents;
              +        static revive(data: UriComponents | Uri): Uri;
              +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
              +        static revive(data: UriComponents | Uri | null): Uri | null;
              +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
              +    }
              +
              +    export interface UriComponents {
              +        scheme: string;
              +        authority: string;
              +        path: string;
              +        query: string;
              +        fragment: string;
              +    }
              +    /**
              +     * Virtual Key Codes, the value does not hold any inherent meaning.
              +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
              +     * But these are "more general", as they should work across browsers & OS`s.
              +     */
              +    export enum KeyCode {
              +        DependsOnKbLayout = -1,
              +        /**
              +         * Placed first to cover the 0 value of the enum.
              +         */
              +        Unknown = 0,
              +        Backspace = 1,
              +        Tab = 2,
              +        Enter = 3,
              +        Shift = 4,
              +        Ctrl = 5,
              +        Alt = 6,
              +        PauseBreak = 7,
              +        CapsLock = 8,
              +        Escape = 9,
              +        Space = 10,
              +        PageUp = 11,
              +        PageDown = 12,
              +        End = 13,
              +        Home = 14,
              +        LeftArrow = 15,
              +        UpArrow = 16,
              +        RightArrow = 17,
              +        DownArrow = 18,
              +        Insert = 19,
              +        Delete = 20,
              +        Digit0 = 21,
              +        Digit1 = 22,
              +        Digit2 = 23,
              +        Digit3 = 24,
              +        Digit4 = 25,
              +        Digit5 = 26,
              +        Digit6 = 27,
              +        Digit7 = 28,
              +        Digit8 = 29,
              +        Digit9 = 30,
              +        KeyA = 31,
              +        KeyB = 32,
              +        KeyC = 33,
              +        KeyD = 34,
              +        KeyE = 35,
              +        KeyF = 36,
              +        KeyG = 37,
              +        KeyH = 38,
              +        KeyI = 39,
              +        KeyJ = 40,
              +        KeyK = 41,
              +        KeyL = 42,
              +        KeyM = 43,
              +        KeyN = 44,
              +        KeyO = 45,
              +        KeyP = 46,
              +        KeyQ = 47,
              +        KeyR = 48,
              +        KeyS = 49,
              +        KeyT = 50,
              +        KeyU = 51,
              +        KeyV = 52,
              +        KeyW = 53,
              +        KeyX = 54,
              +        KeyY = 55,
              +        KeyZ = 56,
              +        Meta = 57,
              +        ContextMenu = 58,
              +        F1 = 59,
              +        F2 = 60,
              +        F3 = 61,
              +        F4 = 62,
              +        F5 = 63,
              +        F6 = 64,
              +        F7 = 65,
              +        F8 = 66,
              +        F9 = 67,
              +        F10 = 68,
              +        F11 = 69,
              +        F12 = 70,
              +        F13 = 71,
              +        F14 = 72,
              +        F15 = 73,
              +        F16 = 74,
              +        F17 = 75,
              +        F18 = 76,
              +        F19 = 77,
              +        NumLock = 78,
              +        ScrollLock = 79,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the ';:' key
              +         */
              +        Semicolon = 80,
              +        /**
              +         * For any country/region, the '+' key
              +         * For the US standard keyboard, the '=+' key
              +         */
              +        Equal = 81,
              +        /**
              +         * For any country/region, the ',' key
              +         * For the US standard keyboard, the ',<' key
              +         */
              +        Comma = 82,
              +        /**
              +         * For any country/region, the '-' key
              +         * For the US standard keyboard, the '-_' key
              +         */
              +        Minus = 83,
              +        /**
              +         * For any country/region, the '.' key
              +         * For the US standard keyboard, the '.>' key
              +         */
              +        Period = 84,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the '/?' key
              +         */
              +        Slash = 85,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the '`~' key
              +         */
              +        Backquote = 86,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the '[{' key
              +         */
              +        BracketLeft = 87,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the '\|' key
              +         */
              +        Backslash = 88,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the ']}' key
              +         */
              +        BracketRight = 89,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         * For the US standard keyboard, the ''"' key
              +         */
              +        Quote = 90,
              +        /**
              +         * Used for miscellaneous characters; it can vary by keyboard.
              +         */
              +        OEM_8 = 91,
              +        /**
              +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
              +         */
              +        IntlBackslash = 92,
              +        Numpad0 = 93,
              +        Numpad1 = 94,
              +        Numpad2 = 95,
              +        Numpad3 = 96,
              +        Numpad4 = 97,
              +        Numpad5 = 98,
              +        Numpad6 = 99,
              +        Numpad7 = 100,
              +        Numpad8 = 101,
              +        Numpad9 = 102,
              +        NumpadMultiply = 103,
              +        NumpadAdd = 104,
              +        NUMPAD_SEPARATOR = 105,
              +        NumpadSubtract = 106,
              +        NumpadDecimal = 107,
              +        NumpadDivide = 108,
              +        /**
              +         * Cover all key codes when IME is processing input.
              +         */
              +        KEY_IN_COMPOSITION = 109,
              +        ABNT_C1 = 110,
              +        ABNT_C2 = 111,
              +        AudioVolumeMute = 112,
              +        AudioVolumeUp = 113,
              +        AudioVolumeDown = 114,
              +        BrowserSearch = 115,
              +        BrowserHome = 116,
              +        BrowserBack = 117,
              +        BrowserForward = 118,
              +        MediaTrackNext = 119,
              +        MediaTrackPrevious = 120,
              +        MediaStop = 121,
              +        MediaPlayPause = 122,
              +        LaunchMediaPlayer = 123,
              +        LaunchMail = 124,
              +        LaunchApp2 = 125,
              +        /**
              +         * Placed last to cover the length of the enum.
              +         * Please do not depend on this value!
              +         */
              +        MAX_VALUE = 126
              +    }
              +    export class KeyMod {
              +        static readonly CtrlCmd: number;
              +        static readonly Shift: number;
              +        static readonly Alt: number;
              +        static readonly WinCtrl: number;
              +        static chord(firstPart: number, secondPart: number): number;
              +    }
              +
              +    export interface IMarkdownString {
              +        readonly value: string;
              +        readonly isTrusted?: boolean;
              +        readonly supportThemeIcons?: boolean;
              +        readonly supportHtml?: boolean;
              +        uris?: {
              +            [href: string]: UriComponents;
              +        };
              +    }
              +
              +    export interface IKeyboardEvent {
              +        readonly _standardKeyboardEventBrand: true;
              +        readonly browserEvent: KeyboardEvent;
              +        readonly target: HTMLElement;
              +        readonly ctrlKey: boolean;
              +        readonly shiftKey: boolean;
              +        readonly altKey: boolean;
              +        readonly metaKey: boolean;
              +        readonly keyCode: KeyCode;
              +        readonly code: string;
              +        equals(keybinding: number): boolean;
              +        preventDefault(): void;
              +        stopPropagation(): void;
              +    }
              +    export interface IMouseEvent {
              +        readonly browserEvent: MouseEvent;
              +        readonly leftButton: boolean;
              +        readonly middleButton: boolean;
              +        readonly rightButton: boolean;
              +        readonly buttons: number;
              +        readonly target: HTMLElement;
              +        readonly detail: number;
              +        readonly posx: number;
              +        readonly posy: number;
              +        readonly ctrlKey: boolean;
              +        readonly shiftKey: boolean;
              +        readonly altKey: boolean;
              +        readonly metaKey: boolean;
              +        readonly timestamp: number;
              +        preventDefault(): void;
              +        stopPropagation(): void;
              +    }
              +
              +    export interface IScrollEvent {
              +        readonly scrollTop: number;
              +        readonly scrollLeft: number;
              +        readonly scrollWidth: number;
              +        readonly scrollHeight: number;
              +        readonly scrollTopChanged: boolean;
              +        readonly scrollLeftChanged: boolean;
              +        readonly scrollWidthChanged: boolean;
              +        readonly scrollHeightChanged: boolean;
              +    }
              +    /**
              +     * A position in the editor. This interface is suitable for serialization.
              +     */
              +    export interface IPosition {
              +        /**
              +         * line number (starts at 1)
              +         */
              +        readonly lineNumber: number;
              +        /**
              +         * column (the first character in a line is between column 1 and column 2)
              +         */
              +        readonly column: number;
              +    }
              +
              +    /**
              +     * A position in the editor.
              +     */
              +    export class Position {
              +        /**
              +         * line number (starts at 1)
              +         */
              +        readonly lineNumber: number;
              +        /**
              +         * column (the first character in a line is between column 1 and column 2)
              +         */
              +        readonly column: number;
              +        constructor(lineNumber: number, column: number);
              +        /**
              +         * Create a new position from this position.
              +         *
              +         * @param newLineNumber new line number
              +         * @param newColumn new column
              +         */
              +        with(newLineNumber?: number, newColumn?: number): Position;
              +        /**
              +         * Derive a new position from this position.
              +         *
              +         * @param deltaLineNumber line number delta
              +         * @param deltaColumn column delta
              +         */
              +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
              +        /**
              +         * Test if this position equals other position
              +         */
              +        equals(other: IPosition): boolean;
              +        /**
              +         * Test if position `a` equals position `b`
              +         */
              +        static equals(a: IPosition | null, b: IPosition | null): boolean;
              +        /**
              +         * Test if this position is before other position.
              +         * If the two positions are equal, the result will be false.
              +         */
              +        isBefore(other: IPosition): boolean;
              +        /**
              +         * Test if position `a` is before position `b`.
              +         * If the two positions are equal, the result will be false.
              +         */
              +        static isBefore(a: IPosition, b: IPosition): boolean;
              +        /**
              +         * Test if this position is before other position.
              +         * If the two positions are equal, the result will be true.
              +         */
              +        isBeforeOrEqual(other: IPosition): boolean;
              +        /**
              +         * Test if position `a` is before position `b`.
              +         * If the two positions are equal, the result will be true.
              +         */
              +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
              +        /**
              +         * A function that compares positions, useful for sorting
              +         */
              +        static compare(a: IPosition, b: IPosition): number;
              +        /**
              +         * Clone this position.
              +         */
              +        clone(): Position;
              +        /**
              +         * Convert to a human-readable representation.
              +         */
              +        toString(): string;
              +        /**
              +         * Create a `Position` from an `IPosition`.
              +         */
              +        static lift(pos: IPosition): Position;
              +        /**
              +         * Test if `obj` is an `IPosition`.
              +         */
              +        static isIPosition(obj: any): obj is IPosition;
              +    }
              +
              +    /**
              +     * A range in the editor. This interface is suitable for serialization.
              +     */
              +    export interface IRange {
              +        /**
              +         * Line number on which the range starts (starts at 1).
              +         */
              +        readonly startLineNumber: number;
              +        /**
              +         * Column on which the range starts in line `startLineNumber` (starts at 1).
              +         */
              +        readonly startColumn: number;
              +        /**
              +         * Line number on which the range ends.
              +         */
              +        readonly endLineNumber: number;
              +        /**
              +         * Column on which the range ends in line `endLineNumber`.
              +         */
              +        readonly endColumn: number;
              +    }
              +
              +    /**
              +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
              +     */
              +    export class Range {
              +        /**
              +         * Line number on which the range starts (starts at 1).
              +         */
              +        readonly startLineNumber: number;
              +        /**
              +         * Column on which the range starts in line `startLineNumber` (starts at 1).
              +         */
              +        readonly startColumn: number;
              +        /**
              +         * Line number on which the range ends.
              +         */
              +        readonly endLineNumber: number;
              +        /**
              +         * Column on which the range ends in line `endLineNumber`.
              +         */
              +        readonly endColumn: number;
              +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
              +        /**
              +         * Test if this range is empty.
              +         */
              +        isEmpty(): boolean;
              +        /**
              +         * Test if `range` is empty.
              +         */
              +        static isEmpty(range: IRange): boolean;
              +        /**
              +         * Test if position is in this range. If the position is at the edges, will return true.
              +         */
              +        containsPosition(position: IPosition): boolean;
              +        /**
              +         * Test if `position` is in `range`. If the position is at the edges, will return true.
              +         */
              +        static containsPosition(range: IRange, position: IPosition): boolean;
              +        /**
              +         * Test if range is in this range. If the range is equal to this range, will return true.
              +         */
              +        containsRange(range: IRange): boolean;
              +        /**
              +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
              +         */
              +        static containsRange(range: IRange, otherRange: IRange): boolean;
              +        /**
              +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
              +         */
              +        strictContainsRange(range: IRange): boolean;
              +        /**
              +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
              +         */
              +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
              +        /**
              +         * A reunion of the two ranges.
              +         * The smallest position will be used as the start point, and the largest one as the end point.
              +         */
              +        plusRange(range: IRange): Range;
              +        /**
              +         * A reunion of the two ranges.
              +         * The smallest position will be used as the start point, and the largest one as the end point.
              +         */
              +        static plusRange(a: IRange, b: IRange): Range;
              +        /**
              +         * A intersection of the two ranges.
              +         */
              +        intersectRanges(range: IRange): Range | null;
              +        /**
              +         * A intersection of the two ranges.
              +         */
              +        static intersectRanges(a: IRange, b: IRange): Range | null;
              +        /**
              +         * Test if this range equals other.
              +         */
              +        equalsRange(other: IRange | null): boolean;
              +        /**
              +         * Test if range `a` equals `b`.
              +         */
              +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
              +        /**
              +         * Return the end position (which will be after or equal to the start position)
              +         */
              +        getEndPosition(): Position;
              +        /**
              +         * Return the end position (which will be after or equal to the start position)
              +         */
              +        static getEndPosition(range: IRange): Position;
              +        /**
              +         * Return the start position (which will be before or equal to the end position)
              +         */
              +        getStartPosition(): Position;
              +        /**
              +         * Return the start position (which will be before or equal to the end position)
              +         */
              +        static getStartPosition(range: IRange): Position;
              +        /**
              +         * Transform to a user presentable string representation.
              +         */
              +        toString(): string;
              +        /**
              +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
              +         */
              +        setEndPosition(endLineNumber: number, endColumn: number): Range;
              +        /**
              +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
              +         */
              +        setStartPosition(startLineNumber: number, startColumn: number): Range;
              +        /**
              +         * Create a new empty range using this range's start position.
              +         */
              +        collapseToStart(): Range;
              +        /**
              +         * Create a new empty range using this range's start position.
              +         */
              +        static collapseToStart(range: IRange): Range;
              +        static fromPositions(start: IPosition, end?: IPosition): Range;
              +        /**
              +         * Create a `Range` from an `IRange`.
              +         */
              +        static lift(range: undefined | null): null;
              +        static lift(range: IRange): Range;
              +        /**
              +         * Test if `obj` is an `IRange`.
              +         */
              +        static isIRange(obj: any): obj is IRange;
              +        /**
              +         * Test if the two ranges are touching in any way.
              +         */
              +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
              +        /**
              +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
              +         */
              +        static areIntersecting(a: IRange, b: IRange): boolean;
              +        /**
              +         * A function that compares ranges, useful for sorting ranges
              +         * It will first compare ranges on the startPosition and then on the endPosition
              +         */
              +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
              +        /**
              +         * A function that compares ranges, useful for sorting ranges
              +         * It will first compare ranges on the endPosition and then on the startPosition
              +         */
              +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
              +        /**
              +         * Test if the range spans multiple lines.
              +         */
              +        static spansMultipleLines(range: IRange): boolean;
              +    }
              +
              +    /**
              +     * A selection in the editor.
              +     * The selection is a range that has an orientation.
              +     */
              +    export interface ISelection {
              +        /**
              +         * The line number on which the selection has started.
              +         */
              +        readonly selectionStartLineNumber: number;
              +        /**
              +         * The column on `selectionStartLineNumber` where the selection has started.
              +         */
              +        readonly selectionStartColumn: number;
              +        /**
              +         * The line number on which the selection has ended.
              +         */
              +        readonly positionLineNumber: number;
              +        /**
              +         * The column on `positionLineNumber` where the selection has ended.
              +         */
              +        readonly positionColumn: number;
              +    }
              +
              +    /**
              +     * A selection in the editor.
              +     * The selection is a range that has an orientation.
              +     */
              +    export class Selection extends Range {
              +        /**
              +         * The line number on which the selection has started.
              +         */
              +        readonly selectionStartLineNumber: number;
              +        /**
              +         * The column on `selectionStartLineNumber` where the selection has started.
              +         */
              +        readonly selectionStartColumn: number;
              +        /**
              +         * The line number on which the selection has ended.
              +         */
              +        readonly positionLineNumber: number;
              +        /**
              +         * The column on `positionLineNumber` where the selection has ended.
              +         */
              +        readonly positionColumn: number;
              +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
              +        /**
              +         * Transform to a human-readable representation.
              +         */
              +        toString(): string;
              +        /**
              +         * Test if equals other selection.
              +         */
              +        equalsSelection(other: ISelection): boolean;
              +        /**
              +         * Test if the two selections are equal.
              +         */
              +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
              +        /**
              +         * Get directions (LTR or RTL).
              +         */
              +        getDirection(): SelectionDirection;
              +        /**
              +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
              +         */
              +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
              +        /**
              +         * Get the position at `positionLineNumber` and `positionColumn`.
              +         */
              +        getPosition(): Position;
              +        /**
              +         * Get the position at the start of the selection.
              +        */
              +        getSelectionStart(): Position;
              +        /**
              +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
              +         */
              +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
              +        /**
              +         * Create a `Selection` from one or two positions
              +         */
              +        static fromPositions(start: IPosition, end?: IPosition): Selection;
              +        /**
              +         * Creates a `Selection` from a range, given a direction.
              +         */
              +        static fromRange(range: Range, direction: SelectionDirection): Selection;
              +        /**
              +         * Create a `Selection` from an `ISelection`.
              +         */
              +        static liftSelection(sel: ISelection): Selection;
              +        /**
              +         * `a` equals `b`.
              +         */
              +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
              +        /**
              +         * Test if `obj` is an `ISelection`.
              +         */
              +        static isISelection(obj: any): obj is ISelection;
              +        /**
              +         * Create with a direction.
              +         */
              +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
              +    }
              +
              +    /**
              +     * The direction of a selection.
              +     */
              +    export enum SelectionDirection {
              +        /**
              +         * The selection starts above where it ends.
              +         */
              +        LTR = 0,
              +        /**
              +         * The selection starts below where it ends.
              +         */
              +        RTL = 1
              +    }
              +
              +    export class Token {
              +        _tokenBrand: void;
              +        readonly offset: number;
              +        readonly type: string;
              +        readonly language: string;
              +        constructor(offset: number, type: string, language: string);
              +        toString(): string;
              +    }
              +}
              +
              +declare namespace monaco.editor {
              +
              +    export interface IDiffNavigator {
              +        canNavigate(): boolean;
              +        next(): void;
              +        previous(): void;
              +        dispose(): void;
              +    }
              +
              +    /**
              +     * Create a new editor under `domElement`.
              +     * `domElement` should be empty (not contain other dom nodes).
              +     * The editor will read the size of `domElement`.
              +     */
              +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
              +
              +    /**
              +     * Emitted when an editor is created.
              +     * Creating a diff editor might cause this listener to be invoked with the two editors.
              +     * @event
              +     */
              +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
              +
              +    /**
              +     * Create a new diff editor under `domElement`.
              +     * `domElement` should be empty (not contain other dom nodes).
              +     * The editor will read the size of `domElement`.
              +     */
              +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
              +
              +    export interface IDiffNavigatorOptions {
              +        readonly followsCaret?: boolean;
              +        readonly ignoreCharChanges?: boolean;
              +        readonly alwaysRevealFirst?: boolean;
              +    }
              +
              +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
              +
              +    /**
              +     * Create a new editor model.
              +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
              +     */
              +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
              +
              +    /**
              +     * Change the language for a model.
              +     */
              +    export function setModelLanguage(model: ITextModel, languageId: string): void;
              +
              +    /**
              +     * Set the markers for a model.
              +     */
              +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
              +
              +    /**
              +     * Get markers for owner and/or resource
              +     *
              +     * @returns list of markers
              +     */
              +    export function getModelMarkers(filter: {
              +        owner?: string;
              +        resource?: Uri;
              +        take?: number;
              +    }): IMarker[];
              +
              +    /**
              +     * Emitted when markers change for a model.
              +     * @event
              +     */
              +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
              +
              +    /**
              +     * Get the model that has `uri` if it exists.
              +     */
              +    export function getModel(uri: Uri): ITextModel | null;
              +
              +    /**
              +     * Get all the created models.
              +     */
              +    export function getModels(): ITextModel[];
              +
              +    /**
              +     * Emitted when a model is created.
              +     * @event
              +     */
              +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
              +
              +    /**
              +     * Emitted right before a model is disposed.
              +     * @event
              +     */
              +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
              +
              +    /**
              +     * Emitted when a different language is set to a model.
              +     * @event
              +     */
              +    export function onDidChangeModelLanguage(listener: (e: {
              +        readonly model: ITextModel;
              +        readonly oldLanguage: string;
              +    }) => void): IDisposable;
              +
              +    /**
              +     * Create a new web worker that has model syncing capabilities built in.
              +     * Specify an AMD module to load that will `create` an object that will be proxied.
              +     */
              +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
              +
              +    /**
              +     * Colorize the contents of `domNode` using attribute `data-lang`.
              +     */
              +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
              +
              +    /**
              +     * Colorize `text` using language `languageId`.
              +     */
              +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
              +
              +    /**
              +     * Colorize a line in a model.
              +     */
              +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
              +
              +    /**
              +     * Tokenize `text` using language `languageId`
              +     */
              +    export function tokenize(text: string, languageId: string): Token[][];
              +
              +    /**
              +     * Define a new theme or update an existing theme.
              +     */
              +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
              +
              +    /**
              +     * Switches to a theme.
              +     */
              +    export function setTheme(themeName: string): void;
              +
              +    /**
              +     * Clears all cached font measurements and triggers re-measurement.
              +     */
              +    export function remeasureFonts(): void;
              +
              +    /**
              +     * Register a command.
              +     */
              +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
              +
              +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
              +
              +    export interface IStandaloneThemeData {
              +        base: BuiltinTheme;
              +        inherit: boolean;
              +        rules: ITokenThemeRule[];
              +        encodedTokensColors?: string[];
              +        colors: IColors;
              +    }
              +
              +    export type IColors = {
              +        [colorId: string]: string;
              +    };
              +
              +    export interface ITokenThemeRule {
              +        token: string;
              +        foreground?: string;
              +        background?: string;
              +        fontStyle?: string;
              +    }
              +
              +    /**
              +     * A web worker that can provide a proxy to an arbitrary file.
              +     */
              +    export interface MonacoWebWorker<T> {
              +        /**
              +         * Terminate the web worker, thus invalidating the returned proxy.
              +         */
              +        dispose(): void;
              +        /**
              +         * Get a proxy to the arbitrary loaded code.
              +         */
              +        getProxy(): Promise<T>;
              +        /**
              +         * Synchronize (send) the models at `resources` to the web worker,
              +         * making them available in the monaco.worker.getMirrorModels().
              +         */
              +        withSyncedResources(resources: Uri[]): Promise<T>;
              +    }
              +
              +    export interface IWebWorkerOptions {
              +        /**
              +         * The AMD moduleId to load.
              +         * It should export a function `create` that should return the exported proxy.
              +         */
              +        moduleId: string;
              +        /**
              +         * The data to send over when calling create on the module.
              +         */
              +        createData?: any;
              +        /**
              +         * A label to be used to identify the web worker for debugging purposes.
              +         */
              +        label?: string;
              +        /**
              +         * An object that can be used by the web worker to make calls back to the main thread.
              +         */
              +        host?: any;
              +        /**
              +         * Keep idle models.
              +         * Defaults to false, which means that idle models will stop syncing after a while.
              +         */
              +        keepIdleModels?: boolean;
              +    }
              +
              +    /**
              +     * Description of an action contribution
              +     */
              +    export interface IActionDescriptor {
              +        /**
              +         * An unique identifier of the contributed action.
              +         */
              +        id: string;
              +        /**
              +         * A label of the action that will be presented to the user.
              +         */
              +        label: string;
              +        /**
              +         * Precondition rule.
              +         */
              +        precondition?: string;
              +        /**
              +         * An array of keybindings for the action.
              +         */
              +        keybindings?: number[];
              +        /**
              +         * The keybinding rule (condition on top of precondition).
              +         */
              +        keybindingContext?: string;
              +        /**
              +         * Control if the action should show up in the context menu and where.
              +         * The context menu of the editor has these default:
              +         *   navigation - The navigation group comes first in all cases.
              +         *   1_modification - This group comes next and contains commands that modify your code.
              +         *   9_cutcopypaste - The last default group with the basic editing commands.
              +         * You can also create your own group.
              +         * Defaults to null (don't show in context menu).
              +         */
              +        contextMenuGroupId?: string;
              +        /**
              +         * Control the order in the context menu group.
              +         */
              +        contextMenuOrder?: number;
              +        /**
              +         * Method that will be executed when the action is triggered.
              +         * @param editor The editor instance is passed in as a convenience
              +         */
              +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
              +    }
              +
              +    /**
              +     * Options which apply for all editors.
              +     */
              +    export interface IGlobalEditorOptions {
              +        /**
              +         * The number of spaces a tab is equal to.
              +         * This setting is overridden based on the file contents when `detectIndentation` is on.
              +         * Defaults to 4.
              +         */
              +        tabSize?: number;
              +        /**
              +         * Insert spaces when pressing `Tab`.
              +         * This setting is overridden based on the file contents when `detectIndentation` is on.
              +         * Defaults to true.
              +         */
              +        insertSpaces?: boolean;
              +        /**
              +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
              +         * Defaults to true.
              +         */
              +        detectIndentation?: boolean;
              +        /**
              +         * Remove trailing auto inserted whitespace.
              +         * Defaults to true.
              +         */
              +        trimAutoWhitespace?: boolean;
              +        /**
              +         * Special handling for large files to disable certain memory intensive features.
              +         * Defaults to true.
              +         */
              +        largeFileOptimizations?: boolean;
              +        /**
              +         * Controls whether completions should be computed based on words in the document.
              +         * Defaults to true.
              +         */
              +        wordBasedSuggestions?: boolean;
              +        /**
              +         * Controls whether word based completions should be included from opened documents of the same language or any language.
              +         */
              +        wordBasedSuggestionsOnlySameLanguage?: boolean;
              +        /**
              +         * Controls whether the semanticHighlighting is shown for the languages that support it.
              +         * true: semanticHighlighting is enabled for all themes
              +         * false: semanticHighlighting is disabled for all themes
              +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
              +         * Defaults to 'byTheme'.
              +         */
              +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
              +        /**
              +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
              +         * Defaults to false.
              +         */
              +        stablePeek?: boolean;
              +        /**
              +         * Lines above this length will not be tokenized for performance reasons.
              +         * Defaults to 20000.
              +         */
              +        maxTokenizationLineLength?: number;
              +        /**
              +         * Theme to be used for rendering.
              +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
              +         * You can create custom themes via `monaco.editor.defineTheme`.
              +         * To switch a theme, use `monaco.editor.setTheme`.
              +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
              +         */
              +        theme?: string;
              +        /**
              +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
              +         * Defaults to true.
              +         */
              +        autoDetectHighContrast?: boolean;
              +    }
              +
              +    /**
              +     * The options to create an editor.
              +     */
              +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
              +        /**
              +         * The initial model associated with this code editor.
              +         */
              +        model?: ITextModel | null;
              +        /**
              +         * The initial value of the auto created model in the editor.
              +         * To not automatically create a model, use `model: null`.
              +         */
              +        value?: string;
              +        /**
              +         * The initial language of the auto created model in the editor.
              +         * To not automatically create a model, use `model: null`.
              +         */
              +        language?: string;
              +        /**
              +         * Initial theme to be used for rendering.
              +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
              +         * You can create custom themes via `monaco.editor.defineTheme`.
              +         * To switch a theme, use `monaco.editor.setTheme`.
              +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
              +         */
              +        theme?: string;
              +        /**
              +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
              +         * Defaults to true.
              +         */
              +        autoDetectHighContrast?: boolean;
              +        /**
              +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
              +         * the accessibility help dialog in the editor.
              +         *
              +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
              +         */
              +        accessibilityHelpUrl?: string;
              +        /**
              +         * Container element to use for ARIA messages.
              +         * Defaults to document.body.
              +         */
              +        ariaContainerElement?: HTMLElement;
              +    }
              +
              +    /**
              +     * The options to create a diff editor.
              +     */
              +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
              +        /**
              +         * Initial theme to be used for rendering.
              +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
              +         * You can create custom themes via `monaco.editor.defineTheme`.
              +         * To switch a theme, use `monaco.editor.setTheme`.
              +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
              +         */
              +        theme?: string;
              +        /**
              +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
              +         * Defaults to true.
              +         */
              +        autoDetectHighContrast?: boolean;
              +    }
              +
              +    export interface IStandaloneCodeEditor extends ICodeEditor {
              +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
              +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
              +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
              +        addAction(descriptor: IActionDescriptor): IDisposable;
              +    }
              +
              +    export interface IStandaloneDiffEditor extends IDiffEditor {
              +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
              +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
              +        addAction(descriptor: IActionDescriptor): IDisposable;
              +        getOriginalEditor(): IStandaloneCodeEditor;
              +        getModifiedEditor(): IStandaloneCodeEditor;
              +    }
              +    export interface ICommandHandler {
              +        (...args: any[]): void;
              +    }
              +
              +    export interface IContextKey<T> {
              +        set(value: T): void;
              +        reset(): void;
              +        get(): T | undefined;
              +    }
              +
              +    export interface IEditorOverrideServices {
              +        [index: string]: any;
              +    }
              +
              +    export interface IMarker {
              +        owner: string;
              +        resource: Uri;
              +        severity: MarkerSeverity;
              +        code?: string | {
              +            value: string;
              +            target: Uri;
              +        };
              +        message: string;
              +        source?: string;
              +        startLineNumber: number;
              +        startColumn: number;
              +        endLineNumber: number;
              +        endColumn: number;
              +        relatedInformation?: IRelatedInformation[];
              +        tags?: MarkerTag[];
              +    }
              +
              +    /**
              +     * A structure defining a problem/warning/etc.
              +     */
              +    export interface IMarkerData {
              +        code?: string | {
              +            value: string;
              +            target: Uri;
              +        };
              +        severity: MarkerSeverity;
              +        message: string;
              +        source?: string;
              +        startLineNumber: number;
              +        startColumn: number;
              +        endLineNumber: number;
              +        endColumn: number;
              +        relatedInformation?: IRelatedInformation[];
              +        tags?: MarkerTag[];
              +    }
              +
              +    /**
              +     *
              +     */
              +    export interface IRelatedInformation {
              +        resource: Uri;
              +        message: string;
              +        startLineNumber: number;
              +        startColumn: number;
              +        endLineNumber: number;
              +        endColumn: number;
              +    }
              +
              +    export interface IColorizerOptions {
              +        tabSize?: number;
              +    }
              +
              +    export interface IColorizerElementOptions extends IColorizerOptions {
              +        theme?: string;
              +        mimeType?: string;
              +    }
              +
              +    export enum ScrollbarVisibility {
              +        Auto = 1,
              +        Hidden = 2,
              +        Visible = 3
              +    }
              +
              +    export interface ThemeColor {
              +        id: string;
              +    }
              +
              +    /**
              +     * Vertical Lane in the overview ruler of the editor.
              +     */
              +    export enum OverviewRulerLane {
              +        Left = 1,
              +        Center = 2,
              +        Right = 4,
              +        Full = 7
              +    }
              +
              +    /**
              +     * Position in the minimap to render the decoration.
              +     */
              +    export enum MinimapPosition {
              +        Inline = 1,
              +        Gutter = 2
              +    }
              +
              +    export interface IDecorationOptions {
              +        /**
              +         * CSS color to render.
              +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
              +         */
              +        color: string | ThemeColor | undefined;
              +        /**
              +         * CSS color to render.
              +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
              +         */
              +        darkColor?: string | ThemeColor;
              +    }
              +
              +    /**
              +     * Options for rendering a model decoration in the overview ruler.
              +     */
              +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
              +        /**
              +         * The position in the overview ruler.
              +         */
              +        position: OverviewRulerLane;
              +    }
              +
              +    /**
              +     * Options for rendering a model decoration in the overview ruler.
              +     */
              +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
              +        /**
              +         * The position in the overview ruler.
              +         */
              +        position: MinimapPosition;
              +    }
              +
              +    /**
              +     * Options for a model decoration.
              +     */
              +    export interface IModelDecorationOptions {
              +        /**
              +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
              +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
              +         */
              +        stickiness?: TrackedRangeStickiness;
              +        /**
              +         * CSS class name describing the decoration.
              +         */
              +        className?: string | null;
              +        /**
              +         * Message to be rendered when hovering over the glyph margin decoration.
              +         */
              +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
              +        /**
              +         * Array of MarkdownString to render as the decoration message.
              +         */
              +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
              +        /**
              +         * Should the decoration expand to encompass a whole line.
              +         */
              +        isWholeLine?: boolean;
              +        /**
              +         * Specifies the stack order of a decoration.
              +         * A decoration with greater stack order is always in front of a decoration with
              +         * a lower stack order when the decorations are on the same line.
              +         */
              +        zIndex?: number;
              +        /**
              +         * If set, render this decoration in the overview ruler.
              +         */
              +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
              +        /**
              +         * If set, render this decoration in the minimap.
              +         */
              +        minimap?: IModelDecorationMinimapOptions | null;
              +        /**
              +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
              +         */
              +        glyphMarginClassName?: string | null;
              +        /**
              +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
              +         */
              +        linesDecorationsClassName?: string | null;
              +        /**
              +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
              +         */
              +        firstLineDecorationClassName?: string | null;
              +        /**
              +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
              +         */
              +        marginClassName?: string | null;
              +        /**
              +         * If set, the decoration will be rendered inline with the text with this CSS class name.
              +         * Please use this only for CSS rules that must impact the text. For example, use `className`
              +         * to have a background color decoration.
              +         */
              +        inlineClassName?: string | null;
              +        /**
              +         * If there is an `inlineClassName` which affects letter spacing.
              +         */
              +        inlineClassNameAffectsLetterSpacing?: boolean;
              +        /**
              +         * If set, the decoration will be rendered before the text with this CSS class name.
              +         */
              +        beforeContentClassName?: string | null;
              +        /**
              +         * If set, the decoration will be rendered after the text with this CSS class name.
              +         */
              +        afterContentClassName?: string | null;
              +        /**
              +         * If set, text will be injected in the view after the range.
              +         */
              +        after?: InjectedTextOptions | null;
              +        /**
              +         * If set, text will be injected in the view before the range.
              +         */
              +        before?: InjectedTextOptions | null;
              +    }
              +
              +    /**
              +     * Configures text that is injected into the view without changing the underlying document.
              +    */
              +    export interface InjectedTextOptions {
              +        /**
              +         * Sets the text to inject. Must be a single line.
              +         */
              +        readonly content: string;
              +        /**
              +         * If set, the decoration will be rendered inline with the text with this CSS class name.
              +         */
              +        readonly inlineClassName?: string | null;
              +        /**
              +         * If there is an `inlineClassName` which affects letter spacing.
              +         */
              +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
              +    }
              +
              +    /**
              +     * New model decorations.
              +     */
              +    export interface IModelDeltaDecoration {
              +        /**
              +         * Range that this decoration covers.
              +         */
              +        range: IRange;
              +        /**
              +         * Options associated with this decoration.
              +         */
              +        options: IModelDecorationOptions;
              +    }
              +
              +    /**
              +     * A decoration in the model.
              +     */
              +    export interface IModelDecoration {
              +        /**
              +         * Identifier for a decoration.
              +         */
              +        readonly id: string;
              +        /**
              +         * Identifier for a decoration's owner.
              +         */
              +        readonly ownerId: number;
              +        /**
              +         * Range that this decoration covers.
              +         */
              +        readonly range: Range;
              +        /**
              +         * Options associated with this decoration.
              +         */
              +        readonly options: IModelDecorationOptions;
              +    }
              +
              +    /**
              +     * Word inside a model.
              +     */
              +    export interface IWordAtPosition {
              +        /**
              +         * The word.
              +         */
              +        readonly word: string;
              +        /**
              +         * The column where the word starts.
              +         */
              +        readonly startColumn: number;
              +        /**
              +         * The column where the word ends.
              +         */
              +        readonly endColumn: number;
              +    }
              +
              +    /**
              +     * End of line character preference.
              +     */
              +    export enum EndOfLinePreference {
              +        /**
              +         * Use the end of line character identified in the text buffer.
              +         */
              +        TextDefined = 0,
              +        /**
              +         * Use line feed (\n) as the end of line character.
              +         */
              +        LF = 1,
              +        /**
              +         * Use carriage return and line feed (\r\n) as the end of line character.
              +         */
              +        CRLF = 2
              +    }
              +
              +    /**
              +     * The default end of line to use when instantiating models.
              +     */
              +    export enum DefaultEndOfLine {
              +        /**
              +         * Use line feed (\n) as the end of line character.
              +         */
              +        LF = 1,
              +        /**
              +         * Use carriage return and line feed (\r\n) as the end of line character.
              +         */
              +        CRLF = 2
              +    }
              +
              +    /**
              +     * End of line character preference.
              +     */
              +    export enum EndOfLineSequence {
              +        /**
              +         * Use line feed (\n) as the end of line character.
              +         */
              +        LF = 0,
              +        /**
              +         * Use carriage return and line feed (\r\n) as the end of line character.
              +         */
              +        CRLF = 1
              +    }
              +
              +    /**
              +     * A single edit operation, that acts as a simple replace.
              +     * i.e. Replace text at `range` with `text` in model.
              +     */
              +    export interface ISingleEditOperation {
              +        /**
              +         * The range to replace. This can be empty to emulate a simple insert.
              +         */
              +        range: IRange;
              +        /**
              +         * The text to replace with. This can be null to emulate a simple delete.
              +         */
              +        text: string | null;
              +        /**
              +         * This indicates that this operation has "insert" semantics.
              +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
              +         */
              +        forceMoveMarkers?: boolean;
              +    }
              +
              +    /**
              +     * A single edit operation, that has an identifier.
              +     */
              +    export interface IIdentifiedSingleEditOperation {
              +        /**
              +         * The range to replace. This can be empty to emulate a simple insert.
              +         */
              +        range: IRange;
              +        /**
              +         * The text to replace with. This can be null to emulate a simple delete.
              +         */
              +        text: string | null;
              +        /**
              +         * This indicates that this operation has "insert" semantics.
              +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
              +         */
              +        forceMoveMarkers?: boolean;
              +    }
              +
              +    export interface IValidEditOperation {
              +        /**
              +         * The range to replace. This can be empty to emulate a simple insert.
              +         */
              +        range: Range;
              +        /**
              +         * The text to replace with. This can be empty to emulate a simple delete.
              +         */
              +        text: string;
              +    }
              +
              +    /**
              +     * A callback that can compute the cursor state after applying a series of edit operations.
              +     */
              +    export interface ICursorStateComputer {
              +        /**
              +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
              +         */
              +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
              +    }
              +
              +    export class TextModelResolvedOptions {
              +        _textModelResolvedOptionsBrand: void;
              +        readonly tabSize: number;
              +        readonly indentSize: number;
              +        readonly insertSpaces: boolean;
              +        readonly defaultEOL: DefaultEndOfLine;
              +        readonly trimAutoWhitespace: boolean;
              +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
              +    }
              +
              +    export interface BracketPairColorizationOptions {
              +        enabled: boolean;
              +    }
              +
              +    export interface ITextModelUpdateOptions {
              +        tabSize?: number;
              +        indentSize?: number;
              +        insertSpaces?: boolean;
              +        trimAutoWhitespace?: boolean;
              +        bracketColorizationOptions?: BracketPairColorizationOptions;
              +    }
              +
              +    export class FindMatch {
              +        _findMatchBrand: void;
              +        readonly range: Range;
              +        readonly matches: string[] | null;
              +    }
              +
              +    /**
              +     * Describes the behavior of decorations when typing/editing near their edges.
              +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
              +     */
              +    export enum TrackedRangeStickiness {
              +        AlwaysGrowsWhenTypingAtEdges = 0,
              +        NeverGrowsWhenTypingAtEdges = 1,
              +        GrowsOnlyWhenTypingBefore = 2,
              +        GrowsOnlyWhenTypingAfter = 3
              +    }
              +
              +    /**
              +     * A model.
              +     */
              +    export interface ITextModel {
              +        /**
              +         * Gets the resource associated with this editor model.
              +         */
              +        readonly uri: Uri;
              +        /**
              +         * A unique identifier associated with this model.
              +         */
              +        readonly id: string;
              +        /**
              +         * Get the resolved options for this model.
              +         */
              +        getOptions(): TextModelResolvedOptions;
              +        /**
              +         * Get the current version id of the model.
              +         * Anytime a change happens to the model (even undo/redo),
              +         * the version id is incremented.
              +         */
              +        getVersionId(): number;
              +        /**
              +         * Get the alternative version id of the model.
              +         * This alternative version id is not always incremented,
              +         * it will return the same values in the case of undo-redo.
              +         */
              +        getAlternativeVersionId(): number;
              +        /**
              +         * Replace the entire text buffer value contained in this model.
              +         */
              +        setValue(newValue: string): void;
              +        /**
              +         * Get the text stored in this model.
              +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
              +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
              +         * @return The text.
              +         */
              +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
              +        /**
              +         * Get the length of the text stored in this model.
              +         */
              +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
              +        /**
              +         * Get the text in a certain range.
              +         * @param range The range describing what text to get.
              +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
              +         * @return The text.
              +         */
              +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
              +        /**
              +         * Get the length of text in a certain range.
              +         * @param range The range describing what text length to get.
              +         * @return The text length.
              +         */
              +        getValueLengthInRange(range: IRange): number;
              +        /**
              +         * Get the character count of text in a certain range.
              +         * @param range The range describing what text length to get.
              +         */
              +        getCharacterCountInRange(range: IRange): number;
              +        /**
              +         * Get the number of lines in the model.
              +         */
              +        getLineCount(): number;
              +        /**
              +         * Get the text for a certain line.
              +         */
              +        getLineContent(lineNumber: number): string;
              +        /**
              +         * Get the text length for a certain line.
              +         */
              +        getLineLength(lineNumber: number): number;
              +        /**
              +         * Get the text for all lines.
              +         */
              +        getLinesContent(): string[];
              +        /**
              +         * Get the end of line sequence predominantly used in the text buffer.
              +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
              +         */
              +        getEOL(): string;
              +        /**
              +         * Get the end of line sequence predominantly used in the text buffer.
              +         */
              +        getEndOfLineSequence(): EndOfLineSequence;
              +        /**
              +         * Get the minimum legal column for line at `lineNumber`
              +         */
              +        getLineMinColumn(lineNumber: number): number;
              +        /**
              +         * Get the maximum legal column for line at `lineNumber`
              +         */
              +        getLineMaxColumn(lineNumber: number): number;
              +        /**
              +         * Returns the column before the first non whitespace character for line at `lineNumber`.
              +         * Returns 0 if line is empty or contains only whitespace.
              +         */
              +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
              +        /**
              +         * Returns the column after the last non whitespace character for line at `lineNumber`.
              +         * Returns 0 if line is empty or contains only whitespace.
              +         */
              +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
              +        /**
              +         * Create a valid position.
              +         */
              +        validatePosition(position: IPosition): Position;
              +        /**
              +         * Advances the given position by the given offset (negative offsets are also accepted)
              +         * and returns it as a new valid position.
              +         *
              +         * If the offset and position are such that their combination goes beyond the beginning or
              +         * end of the model, throws an exception.
              +         *
              +         * If the offset is such that the new position would be in the middle of a multi-byte
              +         * line terminator, throws an exception.
              +         */
              +        modifyPosition(position: IPosition, offset: number): Position;
              +        /**
              +         * Create a valid range.
              +         */
              +        validateRange(range: IRange): Range;
              +        /**
              +         * Converts the position to a zero-based offset.
              +         *
              +         * The position will be [adjusted](#TextDocument.validatePosition).
              +         *
              +         * @param position A position.
              +         * @return A valid zero-based offset.
              +         */
              +        getOffsetAt(position: IPosition): number;
              +        /**
              +         * Converts a zero-based offset to a position.
              +         *
              +         * @param offset A zero-based offset.
              +         * @return A valid [position](#Position).
              +         */
              +        getPositionAt(offset: number): Position;
              +        /**
              +         * Get a range covering the entire model.
              +         */
              +        getFullModelRange(): Range;
              +        /**
              +         * Returns if the model was disposed or not.
              +         */
              +        isDisposed(): boolean;
              +        /**
              +         * Search the model.
              +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
              +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
              +         * @param isRegex Used to indicate that `searchString` is a regular expression.
              +         * @param matchCase Force the matching to match lower/upper case exactly.
              +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
              +         * @param captureMatches The result will contain the captured groups.
              +         * @param limitResultCount Limit the number of results
              +         * @return The ranges where the matches are. It is empty if not matches have been found.
              +         */
              +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
              +        /**
              +         * Search the model.
              +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
              +         * @param searchScope Limit the searching to only search inside these ranges.
              +         * @param isRegex Used to indicate that `searchString` is a regular expression.
              +         * @param matchCase Force the matching to match lower/upper case exactly.
              +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
              +         * @param captureMatches The result will contain the captured groups.
              +         * @param limitResultCount Limit the number of results
              +         * @return The ranges where the matches are. It is empty if no matches have been found.
              +         */
              +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
              +        /**
              +         * Search the model for the next match. Loops to the beginning of the model if needed.
              +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
              +         * @param searchStart Start the searching at the specified position.
              +         * @param isRegex Used to indicate that `searchString` is a regular expression.
              +         * @param matchCase Force the matching to match lower/upper case exactly.
              +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
              +         * @param captureMatches The result will contain the captured groups.
              +         * @return The range where the next match is. It is null if no next match has been found.
              +         */
              +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
              +        /**
              +         * Search the model for the previous match. Loops to the end of the model if needed.
              +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
              +         * @param searchStart Start the searching at the specified position.
              +         * @param isRegex Used to indicate that `searchString` is a regular expression.
              +         * @param matchCase Force the matching to match lower/upper case exactly.
              +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
              +         * @param captureMatches The result will contain the captured groups.
              +         * @return The range where the previous match is. It is null if no previous match has been found.
              +         */
              +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
              +        /**
              +         * Get the language associated with this model.
              +         */
              +        getLanguageId(): string;
              +        /**
              +         * Get the word under or besides `position`.
              +         * @param position The position to look for a word.
              +         * @return The word under or besides `position`. Might be null.
              +         */
              +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
              +        /**
              +         * Get the word under or besides `position` trimmed to `position`.column
              +         * @param position The position to look for a word.
              +         * @return The word under or besides `position`. Will never be null.
              +         */
              +        getWordUntilPosition(position: IPosition): IWordAtPosition;
              +        /**
              +         * Perform a minimum amount of operations, in order to transform the decorations
              +         * identified by `oldDecorations` to the decorations described by `newDecorations`
              +         * and returns the new identifiers associated with the resulting decorations.
              +         *
              +         * @param oldDecorations Array containing previous decorations identifiers.
              +         * @param newDecorations Array describing what decorations should result after the call.
              +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
              +         * @return An array containing the new decorations identifiers.
              +         */
              +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
              +        /**
              +         * Get the options associated with a decoration.
              +         * @param id The decoration id.
              +         * @return The decoration options or null if the decoration was not found.
              +         */
              +        getDecorationOptions(id: string): IModelDecorationOptions | null;
              +        /**
              +         * Get the range associated with a decoration.
              +         * @param id The decoration id.
              +         * @return The decoration range or null if the decoration was not found.
              +         */
              +        getDecorationRange(id: string): Range | null;
              +        /**
              +         * Gets all the decorations for the line `lineNumber` as an array.
              +         * @param lineNumber The line number
              +         * @param ownerId If set, it will ignore decorations belonging to other owners.
              +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
              +         * @return An array with the decorations
              +         */
              +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
              +        /**
              +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
              +         * @param startLineNumber The start line number
              +         * @param endLineNumber The end line number
              +         * @param ownerId If set, it will ignore decorations belonging to other owners.
              +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
              +         * @return An array with the decorations
              +         */
              +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
              +        /**
              +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
              +         * So for now it returns all the decorations on the same line as `range`.
              +         * @param range The range to search in
              +         * @param ownerId If set, it will ignore decorations belonging to other owners.
              +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
              +         * @return An array with the decorations
              +         */
              +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
              +        /**
              +         * Gets all the decorations as an array.
              +         * @param ownerId If set, it will ignore decorations belonging to other owners.
              +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
              +         */
              +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
              +        /**
              +         * Gets all the decorations that should be rendered in the overview ruler as an array.
              +         * @param ownerId If set, it will ignore decorations belonging to other owners.
              +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
              +         */
              +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
              +        /**
              +         * Gets all the decorations that contain injected text.
              +         * @param ownerId If set, it will ignore decorations belonging to other owners.
              +         */
              +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
              +        /**
              +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
              +         */
              +        normalizeIndentation(str: string): string;
              +        /**
              +         * Change the options of this model.
              +         */
              +        updateOptions(newOpts: ITextModelUpdateOptions): void;
              +        /**
              +         * Detect the indentation options for this model from its content.
              +         */
              +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
              +        /**
              +         * Close the current undo-redo element.
              +         * This offers a way to create an undo/redo stop point.
              +         */
              +        pushStackElement(): void;
              +        /**
              +         * Open the current undo-redo element.
              +         * This offers a way to remove the current undo/redo stop point.
              +         */
              +        popStackElement(): void;
              +        /**
              +         * Push edit operations, basically editing the model. This is the preferred way
              +         * of editing the model. The edit operations will land on the undo stack.
              +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
              +         * @param editOperations The edit operations.
              +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
              +         * @return The cursor state returned by the `cursorStateComputer`.
              +         */
              +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
              +        /**
              +         * Change the end of line sequence. This is the preferred way of
              +         * changing the eol sequence. This will land on the undo stack.
              +         */
              +        pushEOL(eol: EndOfLineSequence): void;
              +        /**
              +         * Edit the model without adding the edits to the undo stack.
              +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
              +         * @param operations The edit operations.
              +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
              +         */
              +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
              +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
              +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
              +        /**
              +         * Change the end of line sequence without recording in the undo stack.
              +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
              +         */
              +        setEOL(eol: EndOfLineSequence): void;
              +        /**
              +         * An event emitted when the contents of the model have changed.
              +         * @event
              +         */
              +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
              +        /**
              +         * An event emitted when decorations of the model have changed.
              +         * @event
              +         */
              +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
              +        /**
              +         * An event emitted when the model options have changed.
              +         * @event
              +         */
              +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
              +        /**
              +         * An event emitted when the language associated with the model has changed.
              +         * @event
              +         */
              +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
              +        /**
              +         * An event emitted when the language configuration associated with the model has changed.
              +         * @event
              +         */
              +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
              +        /**
              +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
              +         * @event
              +         */
              +        onDidChangeAttached(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted right before disposing the model.
              +         * @event
              +         */
              +        onWillDispose(listener: () => void): IDisposable;
              +        /**
              +         * Destroy this model.
              +         */
              +        dispose(): void;
              +        /**
              +         * Returns if this model is attached to an editor or not.
              +         */
              +        isAttachedToEditor(): boolean;
              +    }
              +
              +    /**
              +     * A builder and helper for edit operations for a command.
              +     */
              +    export interface IEditOperationBuilder {
              +        /**
              +         * Add a new edit operation (a replace operation).
              +         * @param range The range to replace (delete). May be empty to represent a simple insert.
              +         * @param text The text to replace with. May be null to represent a simple delete.
              +         */
              +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
              +        /**
              +         * Add a new edit operation (a replace operation).
              +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
              +         * @param range The range to replace (delete). May be empty to represent a simple insert.
              +         * @param text The text to replace with. May be null to represent a simple delete.
              +         */
              +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
              +        /**
              +         * Track `selection` when applying edit operations.
              +         * A best effort will be made to not grow/expand the selection.
              +         * An empty selection will clamp to a nearby character.
              +         * @param selection The selection to track.
              +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
              +         *           should clamp to the previous or the next character.
              +         * @return A unique identifier.
              +         */
              +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
              +    }
              +
              +    /**
              +     * A helper for computing cursor state after a command.
              +     */
              +    export interface ICursorStateComputerData {
              +        /**
              +         * Get the inverse edit operations of the added edit operations.
              +         */
              +        getInverseEditOperations(): IValidEditOperation[];
              +        /**
              +         * Get a previously tracked selection.
              +         * @param id The unique identifier returned by `trackSelection`.
              +         * @return The selection.
              +         */
              +        getTrackedSelection(id: string): Selection;
              +    }
              +
              +    /**
              +     * A command that modifies text / cursor state on a model.
              +     */
              +    export interface ICommand {
              +        /**
              +         * Get the edit operations needed to execute this command.
              +         * @param model The model the command will execute on.
              +         * @param builder A helper to collect the needed edit operations and to track selections.
              +         */
              +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
              +        /**
              +         * Compute the cursor state after the edit operations were applied.
              +         * @param model The model the command has executed on.
              +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
              +         * @return The cursor state after the command executed.
              +         */
              +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
              +    }
              +
              +    /**
              +     * A model for the diff editor.
              +     */
              +    export interface IDiffEditorModel {
              +        /**
              +         * Original model.
              +         */
              +        original: ITextModel;
              +        /**
              +         * Modified model.
              +         */
              +        modified: ITextModel;
              +    }
              +
              +    /**
              +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
              +     */
              +    export interface IModelChangedEvent {
              +        /**
              +         * The `uri` of the previous model or null.
              +         */
              +        readonly oldModelUrl: Uri | null;
              +        /**
              +         * The `uri` of the new model or null.
              +         */
              +        readonly newModelUrl: Uri | null;
              +    }
              +
              +    export interface IDimension {
              +        width: number;
              +        height: number;
              +    }
              +
              +    /**
              +     * A change
              +     */
              +    export interface IChange {
              +        readonly originalStartLineNumber: number;
              +        readonly originalEndLineNumber: number;
              +        readonly modifiedStartLineNumber: number;
              +        readonly modifiedEndLineNumber: number;
              +    }
              +
              +    /**
              +     * A character level change.
              +     */
              +    export interface ICharChange extends IChange {
              +        readonly originalStartColumn: number;
              +        readonly originalEndColumn: number;
              +        readonly modifiedStartColumn: number;
              +        readonly modifiedEndColumn: number;
              +    }
              +
              +    /**
              +     * A line change
              +     */
              +    export interface ILineChange extends IChange {
              +        readonly charChanges: ICharChange[] | undefined;
              +    }
              +
              +    export interface IContentSizeChangedEvent {
              +        readonly contentWidth: number;
              +        readonly contentHeight: number;
              +        readonly contentWidthChanged: boolean;
              +        readonly contentHeightChanged: boolean;
              +    }
              +
              +    export interface INewScrollPosition {
              +        scrollLeft?: number;
              +        scrollTop?: number;
              +    }
              +
              +    export interface IEditorAction {
              +        readonly id: string;
              +        readonly label: string;
              +        readonly alias: string;
              +        isSupported(): boolean;
              +        run(): Promise<void>;
              +    }
              +
              +    export type IEditorModel = ITextModel | IDiffEditorModel;
              +
              +    /**
              +     * A (serializable) state of the cursors.
              +     */
              +    export interface ICursorState {
              +        inSelectionMode: boolean;
              +        selectionStart: IPosition;
              +        position: IPosition;
              +    }
              +
              +    /**
              +     * A (serializable) state of the view.
              +     */
              +    export interface IViewState {
              +        /** written by previous versions */
              +        scrollTop?: number;
              +        /** written by previous versions */
              +        scrollTopWithoutViewZones?: number;
              +        scrollLeft: number;
              +        firstPosition: IPosition;
              +        firstPositionDeltaTop: number;
              +    }
              +
              +    /**
              +     * A (serializable) state of the code editor.
              +     */
              +    export interface ICodeEditorViewState {
              +        cursorState: ICursorState[];
              +        viewState: IViewState;
              +        contributionsState: {
              +            [id: string]: any;
              +        };
              +    }
              +
              +    /**
              +     * (Serializable) View state for the diff editor.
              +     */
              +    export interface IDiffEditorViewState {
              +        original: ICodeEditorViewState | null;
              +        modified: ICodeEditorViewState | null;
              +    }
              +
              +    /**
              +     * An editor view state.
              +     */
              +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
              +
              +    export enum ScrollType {
              +        Smooth = 0,
              +        Immediate = 1
              +    }
              +
              +    /**
              +     * An editor.
              +     */
              +    export interface IEditor {
              +        /**
              +         * An event emitted when the editor has been disposed.
              +         * @event
              +         */
              +        onDidDispose(listener: () => void): IDisposable;
              +        /**
              +         * Dispose the editor.
              +         */
              +        dispose(): void;
              +        /**
              +         * Get a unique id for this editor instance.
              +         */
              +        getId(): string;
              +        /**
              +         * Get the editor type. Please see `EditorType`.
              +         * This is to avoid an instanceof check
              +         */
              +        getEditorType(): string;
              +        /**
              +         * Update the editor's options after the editor has been created.
              +         */
              +        updateOptions(newOptions: IEditorOptions): void;
              +        /**
              +         * Instructs the editor to remeasure its container. This method should
              +         * be called when the container of the editor gets resized.
              +         *
              +         * If a dimension is passed in, the passed in value will be used.
              +         */
              +        layout(dimension?: IDimension): void;
              +        /**
              +         * Brings browser focus to the editor text
              +         */
              +        focus(): void;
              +        /**
              +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
              +         */
              +        hasTextFocus(): boolean;
              +        /**
              +         * Returns all actions associated with this editor.
              +         */
              +        getSupportedActions(): IEditorAction[];
              +        /**
              +         * Saves current view state of the editor in a serializable object.
              +         */
              +        saveViewState(): IEditorViewState | null;
              +        /**
              +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
              +         */
              +        restoreViewState(state: IEditorViewState): void;
              +        /**
              +         * Given a position, returns a column number that takes tab-widths into account.
              +         */
              +        getVisibleColumnFromPosition(position: IPosition): number;
              +        /**
              +         * Returns the primary position of the cursor.
              +         */
              +        getPosition(): Position | null;
              +        /**
              +         * Set the primary position of the cursor. This will remove any secondary cursors.
              +         * @param position New primary cursor's position
              +         */
              +        setPosition(position: IPosition): void;
              +        /**
              +         * Scroll vertically as necessary and reveal a line.
              +         */
              +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically as necessary and reveal a line centered vertically.
              +         */
              +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
              +         */
              +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
              +         * optimized for viewing a code definition.
              +         */
              +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a position.
              +         */
              +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
              +         */
              +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
              +         */
              +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
              +         * optimized for viewing a code definition.
              +         */
              +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
              +        /**
              +         * Returns the primary selection of the editor.
              +         */
              +        getSelection(): Selection | null;
              +        /**
              +         * Returns all the selections of the editor.
              +         */
              +        getSelections(): Selection[] | null;
              +        /**
              +         * Set the primary selection of the editor. This will remove any secondary cursors.
              +         * @param selection The new selection
              +         */
              +        setSelection(selection: IRange): void;
              +        /**
              +         * Set the primary selection of the editor. This will remove any secondary cursors.
              +         * @param selection The new selection
              +         */
              +        setSelection(selection: Range): void;
              +        /**
              +         * Set the primary selection of the editor. This will remove any secondary cursors.
              +         * @param selection The new selection
              +         */
              +        setSelection(selection: ISelection): void;
              +        /**
              +         * Set the primary selection of the editor. This will remove any secondary cursors.
              +         * @param selection The new selection
              +         */
              +        setSelection(selection: Selection): void;
              +        /**
              +         * Set the selections for all the cursors of the editor.
              +         * Cursors will be removed or added, as necessary.
              +         */
              +        setSelections(selections: readonly ISelection[]): void;
              +        /**
              +         * Scroll vertically as necessary and reveal lines.
              +         */
              +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically as necessary and reveal lines centered vertically.
              +         */
              +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
              +         */
              +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
              +         * optimized for viewing a code definition.
              +         */
              +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a range.
              +         */
              +        revealRange(range: IRange, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
              +         */
              +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
              +         */
              +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
              +         */
              +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
              +         * optimized for viewing a code definition.
              +         */
              +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
              +        /**
              +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
              +         * optimized for viewing a code definition. Only if it lies outside the viewport.
              +         */
              +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
              +        /**
              +         * Directly trigger a handler or an editor action.
              +         * @param source The source of the call.
              +         * @param handlerId The id of the handler or the id of a contribution.
              +         * @param payload Extra data to be sent to the handler.
              +         */
              +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
              +        /**
              +         * Gets the current model attached to this editor.
              +         */
              +        getModel(): IEditorModel | null;
              +        /**
              +         * Sets the current model attached to this editor.
              +         * If the previous model was created by the editor via the value key in the options
              +         * literal object, it will be destroyed. Otherwise, if the previous model was set
              +         * via setModel, or the model key in the options literal object, the previous model
              +         * will not be destroyed.
              +         * It is safe to call setModel(null) to simply detach the current model from the editor.
              +         */
              +        setModel(model: IEditorModel | null): void;
              +    }
              +
              +    /**
              +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
              +     */
              +    export interface IEditorContribution {
              +        /**
              +         * Dispose this contribution.
              +         */
              +        dispose(): void;
              +        /**
              +         * Store view state.
              +         */
              +        saveViewState?(): any;
              +        /**
              +         * Restore view state.
              +         */
              +        restoreViewState?(state: any): void;
              +    }
              +
              +    /**
              +     * The type of the `IEditor`.
              +     */
              +    export const EditorType: {
              +        ICodeEditor: string;
              +        IDiffEditor: string;
              +    };
              +
              +    /**
              +     * An event describing that the current language associated with a model has changed.
              +     */
              +    export interface IModelLanguageChangedEvent {
              +        /**
              +         * Previous language
              +         */
              +        readonly oldLanguage: string;
              +        /**
              +         * New language
              +         */
              +        readonly newLanguage: string;
              +    }
              +
              +    /**
              +     * An event describing that the language configuration associated with a model has changed.
              +     */
              +    export interface IModelLanguageConfigurationChangedEvent {
              +    }
              +
              +    export interface IModelContentChange {
              +        /**
              +         * The range that got replaced.
              +         */
              +        readonly range: IRange;
              +        /**
              +         * The offset of the range that got replaced.
              +         */
              +        readonly rangeOffset: number;
              +        /**
              +         * The length of the range that got replaced.
              +         */
              +        readonly rangeLength: number;
              +        /**
              +         * The new text for the range.
              +         */
              +        readonly text: string;
              +    }
              +
              +    /**
              +     * An event describing a change in the text of a model.
              +     */
              +    export interface IModelContentChangedEvent {
              +        readonly changes: IModelContentChange[];
              +        /**
              +         * The (new) end-of-line character.
              +         */
              +        readonly eol: string;
              +        /**
              +         * The new version id the model has transitioned to.
              +         */
              +        readonly versionId: number;
              +        /**
              +         * Flag that indicates that this event was generated while undoing.
              +         */
              +        readonly isUndoing: boolean;
              +        /**
              +         * Flag that indicates that this event was generated while redoing.
              +         */
              +        readonly isRedoing: boolean;
              +        /**
              +         * Flag that indicates that all decorations were lost with this edit.
              +         * The model has been reset to a new value.
              +         */
              +        readonly isFlush: boolean;
              +    }
              +
              +    /**
              +     * An event describing that model decorations have changed.
              +     */
              +    export interface IModelDecorationsChangedEvent {
              +        readonly affectsMinimap: boolean;
              +        readonly affectsOverviewRuler: boolean;
              +    }
              +
              +    export interface IModelOptionsChangedEvent {
              +        readonly tabSize: boolean;
              +        readonly indentSize: boolean;
              +        readonly insertSpaces: boolean;
              +        readonly trimAutoWhitespace: boolean;
              +    }
              +
              +    /**
              +     * Describes the reason the cursor has changed its position.
              +     */
              +    export enum CursorChangeReason {
              +        /**
              +         * Unknown or not set.
              +         */
              +        NotSet = 0,
              +        /**
              +         * A `model.setValue()` was called.
              +         */
              +        ContentFlush = 1,
              +        /**
              +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
              +         */
              +        RecoverFromMarkers = 2,
              +        /**
              +         * There was an explicit user gesture.
              +         */
              +        Explicit = 3,
              +        /**
              +         * There was a Paste.
              +         */
              +        Paste = 4,
              +        /**
              +         * There was an Undo.
              +         */
              +        Undo = 5,
              +        /**
              +         * There was a Redo.
              +         */
              +        Redo = 6
              +    }
              +
              +    /**
              +     * An event describing that the cursor position has changed.
              +     */
              +    export interface ICursorPositionChangedEvent {
              +        /**
              +         * Primary cursor's position.
              +         */
              +        readonly position: Position;
              +        /**
              +         * Secondary cursors' position.
              +         */
              +        readonly secondaryPositions: Position[];
              +        /**
              +         * Reason.
              +         */
              +        readonly reason: CursorChangeReason;
              +        /**
              +         * Source of the call that caused the event.
              +         */
              +        readonly source: string;
              +    }
              +
              +    /**
              +     * An event describing that the cursor selection has changed.
              +     */
              +    export interface ICursorSelectionChangedEvent {
              +        /**
              +         * The primary selection.
              +         */
              +        readonly selection: Selection;
              +        /**
              +         * The secondary selections.
              +         */
              +        readonly secondarySelections: Selection[];
              +        /**
              +         * The model version id.
              +         */
              +        readonly modelVersionId: number;
              +        /**
              +         * The old selections.
              +         */
              +        readonly oldSelections: Selection[] | null;
              +        /**
              +         * The model version id the that `oldSelections` refer to.
              +         */
              +        readonly oldModelVersionId: number;
              +        /**
              +         * Source of the call that caused the event.
              +         */
              +        readonly source: string;
              +        /**
              +         * Reason.
              +         */
              +        readonly reason: CursorChangeReason;
              +    }
              +
              +    export enum AccessibilitySupport {
              +        /**
              +         * This should be the browser case where it is not known if a screen reader is attached or no.
              +         */
              +        Unknown = 0,
              +        Disabled = 1,
              +        Enabled = 2
              +    }
              +
              +    /**
              +     * Configuration options for auto closing quotes and brackets
              +     */
              +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
              +
              +    /**
              +     * Configuration options for auto wrapping quotes and brackets
              +     */
              +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
              +
              +    /**
              +     * Configuration options for typing over closing quotes or brackets
              +     */
              +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
              +
              +    /**
              +     * Configuration options for auto indentation in the editor
              +     */
              +    export enum EditorAutoIndentStrategy {
              +        None = 0,
              +        Keep = 1,
              +        Brackets = 2,
              +        Advanced = 3,
              +        Full = 4
              +    }
              +
              +    /**
              +     * Configuration options for the editor.
              +     */
              +    export interface IEditorOptions {
              +        /**
              +         * This editor is used inside a diff editor.
              +         */
              +        inDiffEditor?: boolean;
              +        /**
              +         * The aria label for the editor's textarea (when it is focused).
              +         */
              +        ariaLabel?: string;
              +        /**
              +         * The `tabindex` property of the editor's textarea
              +         */
              +        tabIndex?: number;
              +        /**
              +         * Render vertical lines at the specified columns.
              +         * Defaults to empty array.
              +         */
              +        rulers?: (number | IRulerOption)[];
              +        /**
              +         * A string containing the word separators used when doing word navigation.
              +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
              +         */
              +        wordSeparators?: string;
              +        /**
              +         * Enable Linux primary clipboard.
              +         * Defaults to true.
              +         */
              +        selectionClipboard?: boolean;
              +        /**
              +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
              +         * Otherwise, line numbers will not be rendered.
              +         * Defaults to `on`.
              +         */
              +        lineNumbers?: LineNumbersType;
              +        /**
              +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
              +         * Defaults to 0.
              +        */
              +        cursorSurroundingLines?: number;
              +        /**
              +         * Controls when `cursorSurroundingLines` should be enforced
              +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
              +         * by mouse.
              +        */
              +        cursorSurroundingLinesStyle?: 'default' | 'all';
              +        /**
              +         * Render last line number when the file ends with a newline.
              +         * Defaults to true.
              +        */
              +        renderFinalNewline?: boolean;
              +        /**
              +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
              +         * Defaults to 'prompt'.
              +         */
              +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
              +        /**
              +         * Should the corresponding line be selected when clicking on the line number?
              +         * Defaults to true.
              +         */
              +        selectOnLineNumbers?: boolean;
              +        /**
              +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
              +         * Defaults to 5.
              +         */
              +        lineNumbersMinChars?: number;
              +        /**
              +         * Enable the rendering of the glyph margin.
              +         * Defaults to true in vscode and to false in monaco-editor.
              +         */
              +        glyphMargin?: boolean;
              +        /**
              +         * The width reserved for line decorations (in px).
              +         * Line decorations are placed between line numbers and the editor content.
              +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
              +         * Defaults to 10.
              +         */
              +        lineDecorationsWidth?: number | string;
              +        /**
              +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
              +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
              +         * Defaults to 30 (px).
              +         */
              +        revealHorizontalRightPadding?: number;
              +        /**
              +         * Render the editor selection with rounded borders.
              +         * Defaults to true.
              +         */
              +        roundedSelection?: boolean;
              +        /**
              +         * Class name to be added to the editor.
              +         */
              +        extraEditorClassName?: string;
              +        /**
              +         * Should the editor be read only. See also `domReadOnly`.
              +         * Defaults to false.
              +         */
              +        readOnly?: boolean;
              +        /**
              +         * Should the textarea used for input use the DOM `readonly` attribute.
              +         * Defaults to false.
              +         */
              +        domReadOnly?: boolean;
              +        /**
              +         * Enable linked editing.
              +         * Defaults to false.
              +         */
              +        linkedEditing?: boolean;
              +        /**
              +         * deprecated, use linkedEditing instead
              +         */
              +        renameOnType?: boolean;
              +        /**
              +         * Should the editor render validation decorations.
              +         * Defaults to editable.
              +         */
              +        renderValidationDecorations?: 'editable' | 'on' | 'off';
              +        /**
              +         * Control the behavior and rendering of the scrollbars.
              +         */
              +        scrollbar?: IEditorScrollbarOptions;
              +        /**
              +         * Control the behavior and rendering of the minimap.
              +         */
              +        minimap?: IEditorMinimapOptions;
              +        /**
              +         * Control the behavior of the find widget.
              +         */
              +        find?: IEditorFindOptions;
              +        /**
              +         * Display overflow widgets as `fixed`.
              +         * Defaults to `false`.
              +         */
              +        fixedOverflowWidgets?: boolean;
              +        /**
              +         * The number of vertical lanes the overview ruler should render.
              +         * Defaults to 3.
              +         */
              +        overviewRulerLanes?: number;
              +        /**
              +         * Controls if a border should be drawn around the overview ruler.
              +         * Defaults to `true`.
              +         */
              +        overviewRulerBorder?: boolean;
              +        /**
              +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
              +         * Defaults to 'blink'.
              +         */
              +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
              +        /**
              +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
              +         * Defaults to false.
              +         */
              +        mouseWheelZoom?: boolean;
              +        /**
              +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
              +         * Defaults to 'text'
              +         */
              +        mouseStyle?: 'text' | 'default' | 'copy';
              +        /**
              +         * Enable smooth caret animation.
              +         * Defaults to false.
              +         */
              +        cursorSmoothCaretAnimation?: boolean;
              +        /**
              +         * Control the cursor style, either 'block' or 'line'.
              +         * Defaults to 'line'.
              +         */
              +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
              +        /**
              +         * Control the width of the cursor when cursorStyle is set to 'line'
              +         */
              +        cursorWidth?: number;
              +        /**
              +         * Enable font ligatures.
              +         * Defaults to false.
              +         */
              +        fontLigatures?: boolean | string;
              +        /**
              +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
              +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
              +         * Defaults to false.
              +         */
              +        disableLayerHinting?: boolean;
              +        /**
              +         * Disable the optimizations for monospace fonts.
              +         * Defaults to false.
              +         */
              +        disableMonospaceOptimizations?: boolean;
              +        /**
              +         * Should the cursor be hidden in the overview ruler.
              +         * Defaults to false.
              +         */
              +        hideCursorInOverviewRuler?: boolean;
              +        /**
              +         * Enable that scrolling can go one screen size after the last line.
              +         * Defaults to true.
              +         */
              +        scrollBeyondLastLine?: boolean;
              +        /**
              +         * Enable that scrolling can go beyond the last column by a number of columns.
              +         * Defaults to 5.
              +         */
              +        scrollBeyondLastColumn?: number;
              +        /**
              +         * Enable that the editor animates scrolling to a position.
              +         * Defaults to false.
              +         */
              +        smoothScrolling?: boolean;
              +        /**
              +         * Enable that the editor will install an interval to check if its container dom node size has changed.
              +         * Enabling this might have a severe performance impact.
              +         * Defaults to false.
              +         */
              +        automaticLayout?: boolean;
              +        /**
              +         * Control the wrapping of the editor.
              +         * When `wordWrap` = "off", the lines will never wrap.
              +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
              +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
              +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
              +         * Defaults to "off".
              +         */
              +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
              +        /**
              +         * Override the `wordWrap` setting.
              +         */
              +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
              +        /**
              +         * Override the `wordWrapOverride1` setting.
              +         */
              +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
              +        /**
              +         * Control the wrapping of the editor.
              +         * When `wordWrap` = "off", the lines will never wrap.
              +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
              +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
              +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
              +         * Defaults to 80.
              +         */
              +        wordWrapColumn?: number;
              +        /**
              +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
              +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
              +         */
              +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
              +        /**
              +         * Controls the wrapping strategy to use.
              +         * Defaults to 'simple'.
              +         */
              +        wrappingStrategy?: 'simple' | 'advanced';
              +        /**
              +         * Configure word wrapping characters. A break will be introduced before these characters.
              +         */
              +        wordWrapBreakBeforeCharacters?: string;
              +        /**
              +         * Configure word wrapping characters. A break will be introduced after these characters.
              +         */
              +        wordWrapBreakAfterCharacters?: string;
              +        /**
              +         * Performance guard: Stop rendering a line after x characters.
              +         * Defaults to 10000.
              +         * Use -1 to never stop rendering
              +         */
              +        stopRenderingLineAfter?: number;
              +        /**
              +         * Configure the editor's hover.
              +         */
              +        hover?: IEditorHoverOptions;
              +        /**
              +         * Enable detecting links and making them clickable.
              +         * Defaults to true.
              +         */
              +        links?: boolean;
              +        /**
              +         * Enable inline color decorators and color picker rendering.
              +         */
              +        colorDecorators?: boolean;
              +        /**
              +         * Control the behaviour of comments in the editor.
              +         */
              +        comments?: IEditorCommentsOptions;
              +        /**
              +         * Enable custom contextmenu.
              +         * Defaults to true.
              +         */
              +        contextmenu?: boolean;
              +        /**
              +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
              +         * Defaults to 1.
              +         */
              +        mouseWheelScrollSensitivity?: number;
              +        /**
              +         * FastScrolling mulitplier speed when pressing `Alt`
              +         * Defaults to 5.
              +         */
              +        fastScrollSensitivity?: number;
              +        /**
              +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
              +         * Defaults to true.
              +         */
              +        scrollPredominantAxis?: boolean;
              +        /**
              +         * Enable that the selection with the mouse and keys is doing column selection.
              +         * Defaults to false.
              +         */
              +        columnSelection?: boolean;
              +        /**
              +         * The modifier to be used to add multiple cursors with the mouse.
              +         * Defaults to 'alt'
              +         */
              +        multiCursorModifier?: 'ctrlCmd' | 'alt';
              +        /**
              +         * Merge overlapping selections.
              +         * Defaults to true
              +         */
              +        multiCursorMergeOverlapping?: boolean;
              +        /**
              +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
              +         * Defaults to 'spread'.
              +         */
              +        multiCursorPaste?: 'spread' | 'full';
              +        /**
              +         * Configure the editor's accessibility support.
              +         * Defaults to 'auto'. It is best to leave this to 'auto'.
              +         */
              +        accessibilitySupport?: 'auto' | 'off' | 'on';
              +        /**
              +         * Controls the number of lines in the editor that can be read out by a screen reader
              +         */
              +        accessibilityPageSize?: number;
              +        /**
              +         * Suggest options.
              +         */
              +        suggest?: ISuggestOptions;
              +        inlineSuggest?: IInlineSuggestOptions;
              +        /**
              +         * Smart select options.
              +         */
              +        smartSelect?: ISmartSelectOptions;
              +        /**
              +         *
              +         */
              +        gotoLocation?: IGotoLocationOptions;
              +        /**
              +         * Enable quick suggestions (shadow suggestions)
              +         * Defaults to true.
              +         */
              +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
              +        /**
              +         * Quick suggestions show delay (in ms)
              +         * Defaults to 10 (ms)
              +         */
              +        quickSuggestionsDelay?: number;
              +        /**
              +         * Controls the spacing around the editor.
              +         */
              +        padding?: IEditorPaddingOptions;
              +        /**
              +         * Parameter hint options.
              +         */
              +        parameterHints?: IEditorParameterHintOptions;
              +        /**
              +         * Options for auto closing brackets.
              +         * Defaults to language defined behavior.
              +         */
              +        autoClosingBrackets?: EditorAutoClosingStrategy;
              +        /**
              +         * Options for auto closing quotes.
              +         * Defaults to language defined behavior.
              +         */
              +        autoClosingQuotes?: EditorAutoClosingStrategy;
              +        /**
              +         * Options for pressing backspace near quotes or bracket pairs.
              +         */
              +        autoClosingDelete?: EditorAutoClosingEditStrategy;
              +        /**
              +         * Options for typing over closing quotes or brackets.
              +         */
              +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
              +        /**
              +         * Options for auto surrounding.
              +         * Defaults to always allowing auto surrounding.
              +         */
              +        autoSurround?: EditorAutoSurroundStrategy;
              +        /**
              +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
              +         * Defaults to advanced.
              +         */
              +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
              +        /**
              +         * Emulate selection behaviour of tab characters when using spaces for indentation.
              +         * This means selection will stick to tab stops.
              +         */
              +        stickyTabStops?: boolean;
              +        /**
              +         * Enable format on type.
              +         * Defaults to false.
              +         */
              +        formatOnType?: boolean;
              +        /**
              +         * Enable format on paste.
              +         * Defaults to false.
              +         */
              +        formatOnPaste?: boolean;
              +        /**
              +         * Controls if the editor should allow to move selections via drag and drop.
              +         * Defaults to false.
              +         */
              +        dragAndDrop?: boolean;
              +        /**
              +         * Enable the suggestion box to pop-up on trigger characters.
              +         * Defaults to true.
              +         */
              +        suggestOnTriggerCharacters?: boolean;
              +        /**
              +         * Accept suggestions on ENTER.
              +         * Defaults to 'on'.
              +         */
              +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
              +        /**
              +         * Accept suggestions on provider defined characters.
              +         * Defaults to true.
              +         */
              +        acceptSuggestionOnCommitCharacter?: boolean;
              +        /**
              +         * Enable snippet suggestions. Default to 'true'.
              +         */
              +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
              +        /**
              +         * Copying without a selection copies the current line.
              +         */
              +        emptySelectionClipboard?: boolean;
              +        /**
              +         * Syntax highlighting is copied.
              +         */
              +        copyWithSyntaxHighlighting?: boolean;
              +        /**
              +         * The history mode for suggestions.
              +         */
              +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
              +        /**
              +         * The font size for the suggest widget.
              +         * Defaults to the editor font size.
              +         */
              +        suggestFontSize?: number;
              +        /**
              +         * The line height for the suggest widget.
              +         * Defaults to the editor line height.
              +         */
              +        suggestLineHeight?: number;
              +        /**
              +         * Enable tab completion.
              +         */
              +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
              +        /**
              +         * Enable selection highlight.
              +         * Defaults to true.
              +         */
              +        selectionHighlight?: boolean;
              +        /**
              +         * Enable semantic occurrences highlight.
              +         * Defaults to true.
              +         */
              +        occurrencesHighlight?: boolean;
              +        /**
              +         * Show code lens
              +         * Defaults to true.
              +         */
              +        codeLens?: boolean;
              +        /**
              +         * Code lens font family. Defaults to editor font family.
              +         */
              +        codeLensFontFamily?: string;
              +        /**
              +         * Code lens font size. Default to 90% of the editor font size
              +         */
              +        codeLensFontSize?: number;
              +        /**
              +         * Control the behavior and rendering of the code action lightbulb.
              +         */
              +        lightbulb?: IEditorLightbulbOptions;
              +        /**
              +         * Timeout for running code actions on save.
              +         */
              +        codeActionsOnSaveTimeout?: number;
              +        /**
              +         * Enable code folding.
              +         * Defaults to true.
              +         */
              +        folding?: boolean;
              +        /**
              +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
              +         * Defaults to 'auto'.
              +         */
              +        foldingStrategy?: 'auto' | 'indentation';
              +        /**
              +         * Enable highlight for folded regions.
              +         * 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'.
              +         */
              +        showFoldingControls?: 'always' | 'mouseover';
              +        /**
              +         * Controls whether clicking on the empty content after a folded line will unfold the line.
              +         * Defaults to false.
              +         */
              +        unfoldOnClickAfterEndOfLine?: boolean;
              +        /**
              +         * Enable highlighting of matching brackets.
              +         * Defaults to 'always'.
              +         */
              +        matchBrackets?: 'never' | 'near' | 'always';
              +        /**
              +         * Enable rendering of whitespace.
              +         * Defaults to 'selection'.
              +         */
              +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
              +        /**
              +         * Enable rendering of control characters.
              +         * Defaults to true.
              +         */
              +        renderControlCharacters?: boolean;
              +        /**
              +         * Enable rendering of current line highlight.
              +         * Defaults to all.
              +         */
              +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
              +        /**
              +         * Control if the current line highlight should be rendered only the editor is focused.
              +         * Defaults to false.
              +         */
              +        renderLineHighlightOnlyWhenFocus?: boolean;
              +        /**
              +         * Inserting and deleting whitespace follows tab stops.
              +         */
              +        useTabStops?: boolean;
              +        /**
              +         * The font family
              +         */
              +        fontFamily?: string;
              +        /**
              +         * The font weight
              +         */
              +        fontWeight?: string;
              +        /**
              +         * The font size
              +         */
              +        fontSize?: number;
              +        /**
              +         * The line height
              +         */
              +        lineHeight?: number;
              +        /**
              +         * The letter spacing
              +         */
              +        letterSpacing?: number;
              +        /**
              +         * Controls fading out of unused variables.
              +         */
              +        showUnused?: boolean;
              +        /**
              +         * Controls whether to focus the inline editor in the peek widget by default.
              +         * Defaults to false.
              +         */
              +        peekWidgetDefaultFocus?: 'tree' | 'editor';
              +        /**
              +         * Controls whether the definition link opens element in the peek widget.
              +         * Defaults to false.
              +         */
              +        definitionLinkOpensInPeek?: boolean;
              +        /**
              +         * Controls strikethrough deprecated variables.
              +         */
              +        showDeprecated?: boolean;
              +        /**
              +         * Control the behavior and rendering of the inline hints.
              +         */
              +        inlayHints?: IEditorInlayHintsOptions;
              +        /**
              +         * Control if the editor should use shadow DOM.
              +         */
              +        useShadowDOM?: boolean;
              +        /**
              +         * Controls the behavior of editor guides.
              +        */
              +        guides?: IGuidesOptions;
              +        unicodeHighlight?: IUnicodeHighlightOptions;
              +    }
              +
              +    export interface IDiffEditorBaseOptions {
              +        /**
              +         * Allow the user to resize the diff editor split view.
              +         * Defaults to true.
              +         */
              +        enableSplitViewResizing?: boolean;
              +        /**
              +         * Render the differences in two side-by-side editors.
              +         * Defaults to true.
              +         */
              +        renderSideBySide?: boolean;
              +        /**
              +         * Timeout in milliseconds after which diff computation is cancelled.
              +         * Defaults to 5000.
              +         */
              +        maxComputationTime?: number;
              +        /**
              +         * Maximum supported file size in MB.
              +         * Defaults to 50.
              +         */
              +        maxFileSize?: number;
              +        /**
              +         * Compute the diff by ignoring leading/trailing whitespace
              +         * Defaults to true.
              +         */
              +        ignoreTrimWhitespace?: boolean;
              +        /**
              +         * Render +/- indicators for added/deleted changes.
              +         * Defaults to true.
              +         */
              +        renderIndicators?: boolean;
              +        /**
              +         * Original model should be editable?
              +         * Defaults to false.
              +         */
              +        originalEditable?: boolean;
              +        /**
              +         * Should the diff editor enable code lens?
              +         * Defaults to false.
              +         */
              +        diffCodeLens?: boolean;
              +        /**
              +         * Is the diff editor should render overview ruler
              +         * Defaults to true
              +         */
              +        renderOverviewRuler?: boolean;
              +        /**
              +         * Control the wrapping of the diff editor.
              +         */
              +        diffWordWrap?: 'off' | 'on' | 'inherit';
              +    }
              +
              +    /**
              +     * Configuration options for the diff editor.
              +     */
              +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
              +    }
              +
              +    /**
              +     * An event describing that the configuration of the editor has changed.
              +     */
              +    export class ConfigurationChangedEvent {
              +        hasChanged(id: EditorOption): boolean;
              +    }
              +
              +    /**
              +     * All computed editor options.
              +     */
              +    export interface IComputedEditorOptions {
              +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
              +    }
              +
              +    export interface IEditorOption<K1 extends EditorOption, V> {
              +        readonly id: K1;
              +        readonly name: string;
              +        defaultValue: V;
              +        /**
              +         * Might modify `value`.
              +        */
              +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
              +    }
              +
              +    export class ApplyUpdateResult<T> {
              +        readonly newValue: T;
              +        readonly didChange: boolean;
              +        constructor(newValue: T, didChange: boolean);
              +    }
              +
              +    /**
              +     * Configuration options for editor comments
              +     */
              +    export interface IEditorCommentsOptions {
              +        /**
              +         * Insert a space after the line comment token and inside the block comments tokens.
              +         * Defaults to true.
              +         */
              +        insertSpace?: boolean;
              +        /**
              +         * Ignore empty lines when inserting line comments.
              +         * Defaults to true.
              +         */
              +        ignoreEmptyLines?: boolean;
              +    }
              +
              +    /**
              +     * The kind of animation in which the editor's cursor should be rendered.
              +     */
              +    export enum TextEditorCursorBlinkingStyle {
              +        /**
              +         * Hidden
              +         */
              +        Hidden = 0,
              +        /**
              +         * Blinking
              +         */
              +        Blink = 1,
              +        /**
              +         * Blinking with smooth fading
              +         */
              +        Smooth = 2,
              +        /**
              +         * Blinking with prolonged filled state and smooth fading
              +         */
              +        Phase = 3,
              +        /**
              +         * Expand collapse animation on the y axis
              +         */
              +        Expand = 4,
              +        /**
              +         * No-Blinking
              +         */
              +        Solid = 5
              +    }
              +
              +    /**
              +     * The style in which the editor's cursor should be rendered.
              +     */
              +    export enum TextEditorCursorStyle {
              +        /**
              +         * As a vertical line (sitting between two characters).
              +         */
              +        Line = 1,
              +        /**
              +         * As a block (sitting on top of a character).
              +         */
              +        Block = 2,
              +        /**
              +         * As a horizontal line (sitting under a character).
              +         */
              +        Underline = 3,
              +        /**
              +         * As a thin vertical line (sitting between two characters).
              +         */
              +        LineThin = 4,
              +        /**
              +         * As an outlined block (sitting on top of a character).
              +         */
              +        BlockOutline = 5,
              +        /**
              +         * As a thin horizontal line (sitting under a character).
              +         */
              +        UnderlineThin = 6
              +    }
              +
              +    /**
              +     * Configuration options for editor find widget
              +     */
              +    export interface IEditorFindOptions {
              +        /**
              +        * Controls whether the cursor should move to find matches while typing.
              +        */
              +        cursorMoveOnType?: boolean;
              +        /**
              +         * Controls if we seed search string in the Find Widget with editor selection.
              +         */
              +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
              +        /**
              +         * Controls if Find in Selection flag is turned on in the editor.
              +         */
              +        autoFindInSelection?: 'never' | 'always' | 'multiline';
              +        addExtraSpaceOnTop?: boolean;
              +        /**
              +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
              +         */
              +        loop?: boolean;
              +    }
              +
              +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
              +
              +    /**
              +     * Configuration options for go to location
              +     */
              +    export interface IGotoLocationOptions {
              +        multiple?: GoToLocationValues;
              +        multipleDefinitions?: GoToLocationValues;
              +        multipleTypeDefinitions?: GoToLocationValues;
              +        multipleDeclarations?: GoToLocationValues;
              +        multipleImplementations?: GoToLocationValues;
              +        multipleReferences?: GoToLocationValues;
              +        alternativeDefinitionCommand?: string;
              +        alternativeTypeDefinitionCommand?: string;
              +        alternativeDeclarationCommand?: string;
              +        alternativeImplementationCommand?: string;
              +        alternativeReferenceCommand?: string;
              +    }
              +
              +    /**
              +     * Configuration options for editor hover
              +     */
              +    export interface IEditorHoverOptions {
              +        /**
              +         * Enable the hover.
              +         * Defaults to true.
              +         */
              +        enabled?: boolean;
              +        /**
              +         * Delay for showing the hover.
              +         * Defaults to 300.
              +         */
              +        delay?: number;
              +        /**
              +         * Is the hover sticky such that it can be clicked and its contents selected?
              +         * Defaults to true.
              +         */
              +        sticky?: boolean;
              +        /**
              +         * Should the hover be shown above the line if possible?
              +         * Defaults to false.
              +         */
              +        above?: boolean;
              +    }
              +
              +    /**
              +     * A description for the overview ruler position.
              +     */
              +    export interface OverviewRulerPosition {
              +        /**
              +         * Width of the overview ruler
              +         */
              +        readonly width: number;
              +        /**
              +         * Height of the overview ruler
              +         */
              +        readonly height: number;
              +        /**
              +         * Top position for the overview ruler
              +         */
              +        readonly top: number;
              +        /**
              +         * Right position for the overview ruler
              +         */
              +        readonly right: number;
              +    }
              +
              +    export enum RenderMinimap {
              +        None = 0,
              +        Text = 1,
              +        Blocks = 2
              +    }
              +
              +    /**
              +     * The internal layout details of the editor.
              +     */
              +    export interface EditorLayoutInfo {
              +        /**
              +         * Full editor width.
              +         */
              +        readonly width: number;
              +        /**
              +         * Full editor height.
              +         */
              +        readonly height: number;
              +        /**
              +         * Left position for the glyph margin.
              +         */
              +        readonly glyphMarginLeft: number;
              +        /**
              +         * The width of the glyph margin.
              +         */
              +        readonly glyphMarginWidth: number;
              +        /**
              +         * Left position for the line numbers.
              +         */
              +        readonly lineNumbersLeft: number;
              +        /**
              +         * The width of the line numbers.
              +         */
              +        readonly lineNumbersWidth: number;
              +        /**
              +         * Left position for the line decorations.
              +         */
              +        readonly decorationsLeft: number;
              +        /**
              +         * The width of the line decorations.
              +         */
              +        readonly decorationsWidth: number;
              +        /**
              +         * Left position for the content (actual text)
              +         */
              +        readonly contentLeft: number;
              +        /**
              +         * The width of the content (actual text)
              +         */
              +        readonly contentWidth: number;
              +        /**
              +         * Layout information for the minimap
              +         */
              +        readonly minimap: EditorMinimapLayoutInfo;
              +        /**
              +         * The number of columns (of typical characters) fitting on a viewport line.
              +         */
              +        readonly viewportColumn: number;
              +        readonly isWordWrapMinified: boolean;
              +        readonly isViewportWrapping: boolean;
              +        readonly wrappingColumn: number;
              +        /**
              +         * The width of the vertical scrollbar.
              +         */
              +        readonly verticalScrollbarWidth: number;
              +        /**
              +         * The height of the horizontal scrollbar.
              +         */
              +        readonly horizontalScrollbarHeight: number;
              +        /**
              +         * The position of the overview ruler.
              +         */
              +        readonly overviewRuler: OverviewRulerPosition;
              +    }
              +
              +    /**
              +     * The internal layout details of the editor.
              +     */
              +    export interface EditorMinimapLayoutInfo {
              +        readonly renderMinimap: RenderMinimap;
              +        readonly minimapLeft: number;
              +        readonly minimapWidth: number;
              +        readonly minimapHeightIsEditorHeight: boolean;
              +        readonly minimapIsSampling: boolean;
              +        readonly minimapScale: number;
              +        readonly minimapLineHeight: number;
              +        readonly minimapCanvasInnerWidth: number;
              +        readonly minimapCanvasInnerHeight: number;
              +        readonly minimapCanvasOuterWidth: number;
              +        readonly minimapCanvasOuterHeight: number;
              +    }
              +
              +    /**
              +     * Configuration options for editor lightbulb
              +     */
              +    export interface IEditorLightbulbOptions {
              +        /**
              +         * Enable the lightbulb code action.
              +         * Defaults to true.
              +         */
              +        enabled?: boolean;
              +    }
              +
              +    /**
              +     * Configuration options for editor inlayHints
              +     */
              +    export interface IEditorInlayHintsOptions {
              +        /**
              +         * Enable the inline hints.
              +         * Defaults to true.
              +         */
              +        enabled?: boolean;
              +        /**
              +         * Font size of inline hints.
              +         * Default to 90% of the editor font size.
              +         */
              +        fontSize?: number;
              +        /**
              +         * Font family of inline hints.
              +         * Defaults to editor font family.
              +         */
              +        fontFamily?: string;
              +    }
              +
              +    /**
              +     * Configuration options for editor minimap
              +     */
              +    export interface IEditorMinimapOptions {
              +        /**
              +         * Enable the rendering of the minimap.
              +         * Defaults to true.
              +         */
              +        enabled?: boolean;
              +        /**
              +         * Control the side of the minimap in editor.
              +         * Defaults to 'right'.
              +         */
              +        side?: 'right' | 'left';
              +        /**
              +         * Control the minimap rendering mode.
              +         * Defaults to 'actual'.
              +         */
              +        size?: 'proportional' | 'fill' | 'fit';
              +        /**
              +         * Control the rendering of the minimap slider.
              +         * Defaults to 'mouseover'.
              +         */
              +        showSlider?: 'always' | 'mouseover';
              +        /**
              +         * Render the actual text on a line (as opposed to color blocks).
              +         * Defaults to true.
              +         */
              +        renderCharacters?: boolean;
              +        /**
              +         * Limit the width of the minimap to render at most a certain number of columns.
              +         * Defaults to 120.
              +         */
              +        maxColumn?: number;
              +        /**
              +         * Relative size of the font in the minimap. Defaults to 1.
              +         */
              +        scale?: number;
              +    }
              +
              +    /**
              +     * Configuration options for editor padding
              +     */
              +    export interface IEditorPaddingOptions {
              +        /**
              +         * Spacing between top edge of editor and first line.
              +         */
              +        top?: number;
              +        /**
              +         * Spacing between bottom edge of editor and last line.
              +         */
              +        bottom?: number;
              +    }
              +
              +    /**
              +     * Configuration options for parameter hints
              +     */
              +    export interface IEditorParameterHintOptions {
              +        /**
              +         * Enable parameter hints.
              +         * Defaults to true.
              +         */
              +        enabled?: boolean;
              +        /**
              +         * Enable cycling of parameter hints.
              +         * Defaults to false.
              +         */
              +        cycle?: boolean;
              +    }
              +
              +    /**
              +     * Configuration options for quick suggestions
              +     */
              +    export interface IQuickSuggestionsOptions {
              +        other?: boolean;
              +        comments?: boolean;
              +        strings?: boolean;
              +    }
              +
              +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
              +
              +    export enum RenderLineNumbersType {
              +        Off = 0,
              +        On = 1,
              +        Relative = 2,
              +        Interval = 3,
              +        Custom = 4
              +    }
              +
              +    export interface InternalEditorRenderLineNumbersOptions {
              +        readonly renderType: RenderLineNumbersType;
              +        readonly renderFn: ((lineNumber: number) => string) | null;
              +    }
              +
              +    export interface IRulerOption {
              +        readonly column: number;
              +        readonly color: string | null;
              +    }
              +
              +    /**
              +     * Configuration options for editor scrollbars
              +     */
              +    export interface IEditorScrollbarOptions {
              +        /**
              +         * The size of arrows (if displayed).
              +         * Defaults to 11.
              +         * **NOTE**: This option cannot be updated using `updateOptions()`
              +         */
              +        arrowSize?: number;
              +        /**
              +         * Render vertical scrollbar.
              +         * Defaults to 'auto'.
              +         */
              +        vertical?: 'auto' | 'visible' | 'hidden';
              +        /**
              +         * Render horizontal scrollbar.
              +         * Defaults to 'auto'.
              +         */
              +        horizontal?: 'auto' | 'visible' | 'hidden';
              +        /**
              +         * 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;
              +        /**
              +         * Listen to mouse wheel events and react to them by scrolling.
              +         * Defaults to true.
              +         */
              +        handleMouseWheel?: boolean;
              +        /**
              +         * 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;
              +        /**
              +         * Height in pixels for the horizontal scrollbar.
              +         * Defaults to 10 (px).
              +         */
              +        horizontalScrollbarSize?: number;
              +        /**
              +         * Width in pixels for the vertical scrollbar.
              +         * Defaults to 10 (px).
              +         */
              +        verticalScrollbarSize?: number;
              +        /**
              +         * 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;
              +        /**
              +         * Scroll gutter clicks move by page vs jump to position.
              +         * Defaults to false.
              +         */
              +        scrollByPage?: boolean;
              +    }
              +
              +    export interface InternalEditorScrollbarOptions {
              +        readonly arrowSize: number;
              +        readonly vertical: ScrollbarVisibility;
              +        readonly horizontal: ScrollbarVisibility;
              +        readonly useShadows: boolean;
              +        readonly verticalHasArrows: boolean;
              +        readonly horizontalHasArrows: boolean;
              +        readonly handleMouseWheel: boolean;
              +        readonly alwaysConsumeMouseWheel: boolean;
              +        readonly horizontalScrollbarSize: number;
              +        readonly horizontalSliderSize: number;
              +        readonly verticalScrollbarSize: number;
              +        readonly verticalSliderSize: number;
              +        readonly scrollByPage: boolean;
              +    }
              +
              +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
              +
              +    /**
              +     * Configuration options for unicode highlighting.
              +     */
              +    export interface IUnicodeHighlightOptions {
              +        nonBasicASCII?: boolean | InUntrustedWorkspace;
              +        invisibleCharacters?: boolean;
              +        ambiguousCharacters?: boolean;
              +        includeComments?: boolean | InUntrustedWorkspace;
              +        /**
              +         * A map of allowed characters (true: allowed).
              +        */
              +        allowedCharacters?: Record<string, true>;
              +    }
              +
              +    export interface IInlineSuggestOptions {
              +        /**
              +         * Enable or disable the rendering of automatic inline completions.
              +        */
              +        enabled?: boolean;
              +        /**
              +         * Configures the mode.
              +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
              +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
              +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
              +         * Defaults to `prefix`.
              +        */
              +        mode?: 'prefix' | 'subword' | 'subwordSmart';
              +    }
              +
              +    export interface IBracketPairColorizationOptions {
              +        /**
              +         * Enable or disable bracket pair colorization.
              +        */
              +        enabled?: boolean;
              +    }
              +
              +    export interface IGuidesOptions {
              +        /**
              +         * Enable rendering of bracket pair guides.
              +         * Defaults to false.
              +        */
              +        bracketPairs?: boolean | 'active';
              +        /**
              +         * Enable rendering of vertical bracket pair guides.
              +         * Defaults to 'active'.
              +         */
              +        bracketPairsHorizontal?: boolean | 'active';
              +        /**
              +         * Enable highlighting of the active bracket pair.
              +         * Defaults to true.
              +        */
              +        highlightActiveBracketPair?: boolean;
              +        /**
              +         * Enable rendering of indent guides.
              +         * Defaults to true.
              +         */
              +        indentation?: boolean;
              +        /**
              +         * Enable highlighting of the active indent guide.
              +         * Defaults to true.
              +         */
              +        highlightActiveIndentation?: boolean;
              +    }
              +
              +    /**
              +     * Configuration options for editor suggest widget
              +     */
              +    export interface ISuggestOptions {
              +        /**
              +         * Overwrite word ends on accept. Default to false.
              +         */
              +        insertMode?: 'insert' | 'replace';
              +        /**
              +         * Enable graceful matching. Defaults to true.
              +         */
              +        filterGraceful?: boolean;
              +        /**
              +         * Prevent quick suggestions when a snippet is active. Defaults to true.
              +         */
              +        snippetsPreventQuickSuggestions?: boolean;
              +        /**
              +         * Favors words that appear close to the cursor.
              +         */
              +        localityBonus?: boolean;
              +        /**
              +         * Enable using global storage for remembering suggestions.
              +         */
              +        shareSuggestSelections?: boolean;
              +        /**
              +         * Enable or disable icons in suggestions. Defaults to true.
              +         */
              +        showIcons?: boolean;
              +        /**
              +         * 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.
              +         */
              +        showInlineDetails?: boolean;
              +        /**
              +         * Show method-suggestions.
              +         */
              +        showMethods?: boolean;
              +        /**
              +         * Show function-suggestions.
              +         */
              +        showFunctions?: boolean;
              +        /**
              +         * Show constructor-suggestions.
              +         */
              +        showConstructors?: boolean;
              +        /**
              +         * Show deprecated-suggestions.
              +         */
              +        showDeprecated?: boolean;
              +        /**
              +         * Show field-suggestions.
              +         */
              +        showFields?: boolean;
              +        /**
              +         * Show variable-suggestions.
              +         */
              +        showVariables?: boolean;
              +        /**
              +         * Show class-suggestions.
              +         */
              +        showClasses?: boolean;
              +        /**
              +         * Show struct-suggestions.
              +         */
              +        showStructs?: boolean;
              +        /**
              +         * Show interface-suggestions.
              +         */
              +        showInterfaces?: boolean;
              +        /**
              +         * Show module-suggestions.
              +         */
              +        showModules?: boolean;
              +        /**
              +         * Show property-suggestions.
              +         */
              +        showProperties?: boolean;
              +        /**
              +         * Show event-suggestions.
              +         */
              +        showEvents?: boolean;
              +        /**
              +         * Show operator-suggestions.
              +         */
              +        showOperators?: boolean;
              +        /**
              +         * Show unit-suggestions.
              +         */
              +        showUnits?: boolean;
              +        /**
              +         * Show value-suggestions.
              +         */
              +        showValues?: boolean;
              +        /**
              +         * Show constant-suggestions.
              +         */
              +        showConstants?: boolean;
              +        /**
              +         * Show enum-suggestions.
              +         */
              +        showEnums?: boolean;
              +        /**
              +         * Show enumMember-suggestions.
              +         */
              +        showEnumMembers?: boolean;
              +        /**
              +         * Show keyword-suggestions.
              +         */
              +        showKeywords?: boolean;
              +        /**
              +         * Show text-suggestions.
              +         */
              +        showWords?: boolean;
              +        /**
              +         * Show color-suggestions.
              +         */
              +        showColors?: boolean;
              +        /**
              +         * Show file-suggestions.
              +         */
              +        showFiles?: boolean;
              +        /**
              +         * Show reference-suggestions.
              +         */
              +        showReferences?: boolean;
              +        /**
              +         * Show folder-suggestions.
              +         */
              +        showFolders?: boolean;
              +        /**
              +         * Show typeParameter-suggestions.
              +         */
              +        showTypeParameters?: boolean;
              +        /**
              +         * Show issue-suggestions.
              +         */
              +        showIssues?: boolean;
              +        /**
              +         * Show user-suggestions.
              +         */
              +        showUsers?: boolean;
              +        /**
              +         * Show snippet-suggestions.
              +         */
              +        showSnippets?: boolean;
              +    }
              +
              +    export interface ISmartSelectOptions {
              +        selectLeadingAndTrailingWhitespace?: boolean;
              +    }
              +
              +    /**
              +     * Describes how to indent wrapped lines.
              +     */
              +    export enum WrappingIndent {
              +        /**
              +         * No indentation => wrapped lines begin at column 1.
              +         */
              +        None = 0,
              +        /**
              +         * Same => wrapped lines get the same indentation as the parent.
              +         */
              +        Same = 1,
              +        /**
              +         * Indent => wrapped lines get +1 indentation toward the parent.
              +         */
              +        Indent = 2,
              +        /**
              +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
              +         */
              +        DeepIndent = 3
              +    }
              +
              +    export interface EditorWrappingInfo {
              +        readonly isDominatedByLongLines: boolean;
              +        readonly isWordWrapMinified: boolean;
              +        readonly isViewportWrapping: boolean;
              +        readonly wrappingColumn: number;
              +    }
              +
              +    export enum EditorOption {
              +        acceptSuggestionOnCommitCharacter = 0,
              +        acceptSuggestionOnEnter = 1,
              +        accessibilitySupport = 2,
              +        accessibilityPageSize = 3,
              +        ariaLabel = 4,
              +        autoClosingBrackets = 5,
              +        autoClosingDelete = 6,
              +        autoClosingOvertype = 7,
              +        autoClosingQuotes = 8,
              +        autoIndent = 9,
              +        automaticLayout = 10,
              +        autoSurround = 11,
              +        bracketPairColorization = 12,
              +        guides = 13,
              +        codeLens = 14,
              +        codeLensFontFamily = 15,
              +        codeLensFontSize = 16,
              +        colorDecorators = 17,
              +        columnSelection = 18,
              +        comments = 19,
              +        contextmenu = 20,
              +        copyWithSyntaxHighlighting = 21,
              +        cursorBlinking = 22,
              +        cursorSmoothCaretAnimation = 23,
              +        cursorStyle = 24,
              +        cursorSurroundingLines = 25,
              +        cursorSurroundingLinesStyle = 26,
              +        cursorWidth = 27,
              +        disableLayerHinting = 28,
              +        disableMonospaceOptimizations = 29,
              +        domReadOnly = 30,
              +        dragAndDrop = 31,
              +        emptySelectionClipboard = 32,
              +        extraEditorClassName = 33,
              +        fastScrollSensitivity = 34,
              +        find = 35,
              +        fixedOverflowWidgets = 36,
              +        folding = 37,
              +        foldingStrategy = 38,
              +        foldingHighlight = 39,
              +        foldingImportsByDefault = 40,
              +        unfoldOnClickAfterEndOfLine = 41,
              +        fontFamily = 42,
              +        fontInfo = 43,
              +        fontLigatures = 44,
              +        fontSize = 45,
              +        fontWeight = 46,
              +        formatOnPaste = 47,
              +        formatOnType = 48,
              +        glyphMargin = 49,
              +        gotoLocation = 50,
              +        hideCursorInOverviewRuler = 51,
              +        hover = 52,
              +        inDiffEditor = 53,
              +        inlineSuggest = 54,
              +        letterSpacing = 55,
              +        lightbulb = 56,
              +        lineDecorationsWidth = 57,
              +        lineHeight = 58,
              +        lineNumbers = 59,
              +        lineNumbersMinChars = 60,
              +        linkedEditing = 61,
              +        links = 62,
              +        matchBrackets = 63,
              +        minimap = 64,
              +        mouseStyle = 65,
              +        mouseWheelScrollSensitivity = 66,
              +        mouseWheelZoom = 67,
              +        multiCursorMergeOverlapping = 68,
              +        multiCursorModifier = 69,
              +        multiCursorPaste = 70,
              +        occurrencesHighlight = 71,
              +        overviewRulerBorder = 72,
              +        overviewRulerLanes = 73,
              +        padding = 74,
              +        parameterHints = 75,
              +        peekWidgetDefaultFocus = 76,
              +        definitionLinkOpensInPeek = 77,
              +        quickSuggestions = 78,
              +        quickSuggestionsDelay = 79,
              +        readOnly = 80,
              +        renameOnType = 81,
              +        renderControlCharacters = 82,
              +        renderFinalNewline = 83,
              +        renderLineHighlight = 84,
              +        renderLineHighlightOnlyWhenFocus = 85,
              +        renderValidationDecorations = 86,
              +        renderWhitespace = 87,
              +        revealHorizontalRightPadding = 88,
              +        roundedSelection = 89,
              +        rulers = 90,
              +        scrollbar = 91,
              +        scrollBeyondLastColumn = 92,
              +        scrollBeyondLastLine = 93,
              +        scrollPredominantAxis = 94,
              +        selectionClipboard = 95,
              +        selectionHighlight = 96,
              +        selectOnLineNumbers = 97,
              +        showFoldingControls = 98,
              +        showUnused = 99,
              +        snippetSuggestions = 100,
              +        smartSelect = 101,
              +        smoothScrolling = 102,
              +        stickyTabStops = 103,
              +        stopRenderingLineAfter = 104,
              +        suggest = 105,
              +        suggestFontSize = 106,
              +        suggestLineHeight = 107,
              +        suggestOnTriggerCharacters = 108,
              +        suggestSelection = 109,
              +        tabCompletion = 110,
              +        tabIndex = 111,
              +        unicodeHighlighting = 112,
              +        unusualLineTerminators = 113,
              +        useShadowDOM = 114,
              +        useTabStops = 115,
              +        wordSeparators = 116,
              +        wordWrap = 117,
              +        wordWrapBreakAfterCharacters = 118,
              +        wordWrapBreakBeforeCharacters = 119,
              +        wordWrapColumn = 120,
              +        wordWrapOverride1 = 121,
              +        wordWrapOverride2 = 122,
              +        wrappingIndent = 123,
              +        wrappingStrategy = 124,
              +        showDeprecated = 125,
              +        inlayHints = 126,
              +        editorClassName = 127,
              +        pixelRatio = 128,
              +        tabFocusMode = 129,
              +        layoutInfo = 130,
              +        wrappingInfo = 131
              +    }
              +
              +    export const EditorOptions: {
              +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
              +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
              +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
              +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
              +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
              +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
              +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
              +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
              +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
              +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
              +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
              +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
              +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
              +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
              +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
              +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
              +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
              +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
              +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
              +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
              +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
              +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
              +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
              +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
              +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
              +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
              +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
              +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
              +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
              +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
              +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
              +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
              +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
              +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
              +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
              +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
              +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
              +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
              +        folding: IEditorOption<EditorOption.folding, boolean>;
              +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
              +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
              +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
              +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
              +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
              +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
              +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
              +        fontSize: IEditorOption<EditorOption.fontSize, number>;
              +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
              +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
              +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
              +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
              +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
              +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
              +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
              +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
              +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
              +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
              +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
              +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
              +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
              +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
              +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
              +        links: IEditorOption<EditorOption.links, boolean>;
              +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
              +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
              +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
              +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
              +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
              +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
              +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
              +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
              +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
              +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
              +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
              +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
              +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
              +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
              +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
              +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
              +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
              +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
              +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
              +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
              +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
              +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
              +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
              +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
              +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
              +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
              +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
              +        rulers: IEditorOption<EditorOption.rulers, {}>;
              +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
              +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
              +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
              +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
              +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
              +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
              +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
              +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
              +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
              +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
              +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
              +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
              +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
              +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
              +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
              +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
              +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
              +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
              +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
              +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
              +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
              +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
              +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
              +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
              +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
              +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
              +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
              +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
              +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
              +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
              +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
              +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
              +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
              +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
              +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
              +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
              +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
              +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
              +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
              +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
              +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
              +    };
              +
              +    type EditorOptionsType = typeof EditorOptions;
              +
              +    type FindEditorOptionsKeyById<T extends EditorOption> = {
              +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
              +    }[keyof EditorOptionsType];
              +
              +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
              +
              +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
              +
              +    /**
              +     * A view zone is a full horizontal rectangle that 'pushes' text down.
              +     * The editor reserves space for view zones when rendering.
              +     */
              +    export interface IViewZone {
              +        /**
              +         * The line number after which this zone should appear.
              +         * Use 0 to place a view zone before the first line number.
              +         */
              +        afterLineNumber: number;
              +        /**
              +         * The column after which this zone should appear.
              +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
              +         */
              +        afterColumn?: number;
              +        /**
              +         * Suppress mouse down events.
              +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
              +         * Defaults to false
              +         */
              +        suppressMouseDown?: boolean;
              +        /**
              +         * The height in lines of the view zone.
              +         * If specified, `heightInPx` will be used instead of this.
              +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
              +         */
              +        heightInLines?: number;
              +        /**
              +         * The height in px of the view zone.
              +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
              +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
              +         */
              +        heightInPx?: number;
              +        /**
              +         * The minimum width in px of the view zone.
              +         * If this is set, the editor will ensure that the scroll width is >= than this value.
              +         */
              +        minWidthInPx?: number;
              +        /**
              +         * The dom node of the view zone
              +         */
              +        domNode: HTMLElement;
              +        /**
              +         * An optional dom node for the view zone that will be placed in the margin area.
              +         */
              +        marginDomNode?: HTMLElement | null;
              +        /**
              +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
              +         */
              +        onDomNodeTop?: (top: number) => void;
              +        /**
              +         * Callback which gives the height in pixels of the view zone.
              +         */
              +        onComputedHeight?: (height: number) => void;
              +    }
              +
              +    /**
              +     * An accessor that allows for zones to be added or removed.
              +     */
              +    export interface IViewZoneChangeAccessor {
              +        /**
              +         * Create a new view zone.
              +         * @param zone Zone to create
              +         * @return A unique identifier to the view zone.
              +         */
              +        addZone(zone: IViewZone): string;
              +        /**
              +         * Remove a zone
              +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
              +         */
              +        removeZone(id: string): void;
              +        /**
              +         * Change a zone's position.
              +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
              +         */
              +        layoutZone(id: string): void;
              +    }
              +
              +    /**
              +     * A positioning preference for rendering content widgets.
              +     */
              +    export enum ContentWidgetPositionPreference {
              +        /**
              +         * Place the content widget exactly at a position
              +         */
              +        EXACT = 0,
              +        /**
              +         * Place the content widget above a position
              +         */
              +        ABOVE = 1,
              +        /**
              +         * Place the content widget below a position
              +         */
              +        BELOW = 2
              +    }
              +
              +    /**
              +     * A position for rendering content widgets.
              +     */
              +    export interface IContentWidgetPosition {
              +        /**
              +         * Desired position for the content widget.
              +         * `preference` will also affect the placement.
              +         */
              +        position: IPosition | null;
              +        /**
              +         * Optionally, a range can be provided to further
              +         * define the position of the content widget.
              +         */
              +        range?: IRange | null;
              +        /**
              +         * Placement preference for position, in order of preference.
              +         */
              +        preference: ContentWidgetPositionPreference[];
              +    }
              +
              +    /**
              +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
              +     */
              +    export interface IContentWidget {
              +        /**
              +         * Render this content widget in a location where it could overflow the editor's view dom node.
              +         */
              +        allowEditorOverflow?: boolean;
              +        suppressMouseDown?: boolean;
              +        /**
              +         * Get a unique identifier of the content widget.
              +         */
              +        getId(): string;
              +        /**
              +         * Get the dom node of the content widget.
              +         */
              +        getDomNode(): HTMLElement;
              +        /**
              +         * Get the placement of the content widget.
              +         * If null is returned, the content widget will be placed off screen.
              +         */
              +        getPosition(): IContentWidgetPosition | null;
              +        /**
              +         * Optional function that is invoked before rendering
              +         * the content widget. If a dimension is returned the editor will
              +         * attempt to use it.
              +         */
              +        beforeRender?(): IDimension | null;
              +        /**
              +         * Optional function that is invoked after rendering the content
              +         * widget. Is being invoked with the selected position preference
              +         * or `null` if not rendered.
              +         */
              +        afterRender?(position: ContentWidgetPositionPreference | null): void;
              +    }
              +
              +    /**
              +     * A positioning preference for rendering overlay widgets.
              +     */
              +    export enum OverlayWidgetPositionPreference {
              +        /**
              +         * Position the overlay widget in the top right corner
              +         */
              +        TOP_RIGHT_CORNER = 0,
              +        /**
              +         * Position the overlay widget in the bottom right corner
              +         */
              +        BOTTOM_RIGHT_CORNER = 1,
              +        /**
              +         * Position the overlay widget in the top center
              +         */
              +        TOP_CENTER = 2
              +    }
              +
              +    /**
              +     * A position for rendering overlay widgets.
              +     */
              +    export interface IOverlayWidgetPosition {
              +        /**
              +         * The position preference for the overlay widget.
              +         */
              +        preference: OverlayWidgetPositionPreference | null;
              +    }
              +
              +    /**
              +     * An overlay widgets renders on top of the text.
              +     */
              +    export interface IOverlayWidget {
              +        /**
              +         * Get a unique identifier of the overlay widget.
              +         */
              +        getId(): string;
              +        /**
              +         * Get the dom node of the overlay widget.
              +         */
              +        getDomNode(): HTMLElement;
              +        /**
              +         * Get the placement of the overlay widget.
              +         * If null is returned, the overlay widget is responsible to place itself.
              +         */
              +        getPosition(): IOverlayWidgetPosition | null;
              +    }
              +
              +    /**
              +     * Type of hit element with the mouse in the editor.
              +     */
              +    export enum MouseTargetType {
              +        /**
              +         * Mouse is on top of an unknown element.
              +         */
              +        UNKNOWN = 0,
              +        /**
              +         * Mouse is on top of the textarea used for input.
              +         */
              +        TEXTAREA = 1,
              +        /**
              +         * Mouse is on top of the glyph margin
              +         */
              +        GUTTER_GLYPH_MARGIN = 2,
              +        /**
              +         * Mouse is on top of the line numbers
              +         */
              +        GUTTER_LINE_NUMBERS = 3,
              +        /**
              +         * Mouse is on top of the line decorations
              +         */
              +        GUTTER_LINE_DECORATIONS = 4,
              +        /**
              +         * Mouse is on top of the whitespace left in the gutter by a view zone.
              +         */
              +        GUTTER_VIEW_ZONE = 5,
              +        /**
              +         * Mouse is on top of text in the content.
              +         */
              +        CONTENT_TEXT = 6,
              +        /**
              +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
              +         */
              +        CONTENT_EMPTY = 7,
              +        /**
              +         * Mouse is on top of a view zone in the content.
              +         */
              +        CONTENT_VIEW_ZONE = 8,
              +        /**
              +         * Mouse is on top of a content widget.
              +         */
              +        CONTENT_WIDGET = 9,
              +        /**
              +         * Mouse is on top of the decorations overview ruler.
              +         */
              +        OVERVIEW_RULER = 10,
              +        /**
              +         * Mouse is on top of a scrollbar.
              +         */
              +        SCROLLBAR = 11,
              +        /**
              +         * Mouse is on top of an overlay widget.
              +         */
              +        OVERLAY_WIDGET = 12,
              +        /**
              +         * Mouse is outside of the editor.
              +         */
              +        OUTSIDE_EDITOR = 13
              +    }
              +
              +    /**
              +     * Target hit with the mouse in the editor.
              +     */
              +    export interface IMouseTarget {
              +        /**
              +         * The target element
              +         */
              +        readonly element: Element | null;
              +        /**
              +         * The target type
              +         */
              +        readonly type: MouseTargetType;
              +        /**
              +         * The 'approximate' editor position
              +         */
              +        readonly position: Position | null;
              +        /**
              +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
              +         */
              +        readonly mouseColumn: number;
              +        /**
              +         * The 'approximate' editor range
              +         */
              +        readonly range: Range | null;
              +        /**
              +         * Some extra detail.
              +         */
              +        readonly detail: any;
              +    }
              +
              +    /**
              +     * A mouse event originating from the editor.
              +     */
              +    export interface IEditorMouseEvent {
              +        readonly event: IMouseEvent;
              +        readonly target: IMouseTarget;
              +    }
              +
              +    export interface IPartialEditorMouseEvent {
              +        readonly event: IMouseEvent;
              +        readonly target: IMouseTarget | null;
              +    }
              +
              +    /**
              +     * A paste event originating from the editor.
              +     */
              +    export interface IPasteEvent {
              +        readonly range: Range;
              +        readonly languageId: string | null;
              +    }
              +
              +    export interface IEditorConstructionOptions extends IEditorOptions {
              +        /**
              +         * The initial editor dimension (to avoid measuring the container).
              +         */
              +        dimension?: IDimension;
              +        /**
              +         * Place overflow widgets inside an external DOM node.
              +         * Defaults to an internal DOM node.
              +         */
              +        overflowWidgetsDomNode?: HTMLElement;
              +    }
              +
              +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
              +        /**
              +         * The initial editor dimension (to avoid measuring the container).
              +         */
              +        dimension?: IDimension;
              +        /**
              +         * Place overflow widgets inside an external DOM node.
              +         * Defaults to an internal DOM node.
              +         */
              +        overflowWidgetsDomNode?: HTMLElement;
              +        /**
              +         * Aria label for original editor.
              +         */
              +        originalAriaLabel?: string;
              +        /**
              +         * Aria label for modified editor.
              +         */
              +        modifiedAriaLabel?: string;
              +        /**
              +         * Is the diff editor inside another editor
              +         * Defaults to false
              +         */
              +        isInEmbeddedEditor?: boolean;
              +    }
              +
              +    /**
              +     * A rich code editor.
              +     */
              +    export interface ICodeEditor extends IEditor {
              +        /**
              +         * An event emitted when the content of the current model has changed.
              +         * @event
              +         */
              +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
              +        /**
              +         * An event emitted when the language of the current model has changed.
              +         * @event
              +         */
              +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
              +        /**
              +         * An event emitted when the language configuration of the current model has changed.
              +         * @event
              +         */
              +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
              +        /**
              +         * An event emitted when the options of the current model has changed.
              +         * @event
              +         */
              +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
              +        /**
              +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
              +         * @event
              +         */
              +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
              +        /**
              +         * An event emitted when the cursor position has changed.
              +         * @event
              +         */
              +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
              +        /**
              +         * An event emitted when the cursor selection has changed.
              +         * @event
              +         */
              +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
              +        /**
              +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
              +         * @event
              +         */
              +        onDidChangeModel: IEvent<IModelChangedEvent>;
              +        /**
              +         * An event emitted when the decorations of the current model have changed.
              +         * @event
              +         */
              +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
              +        /**
              +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
              +         * @event
              +         */
              +        onDidFocusEditorText(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
              +         * @event
              +         */
              +        onDidBlurEditorText(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted when the text inside this editor or an editor widget gained focus.
              +         * @event
              +         */
              +        onDidFocusEditorWidget(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted when the text inside this editor or an editor widget lost focus.
              +         * @event
              +         */
              +        onDidBlurEditorWidget(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted after composition has started.
              +         */
              +        onDidCompositionStart(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted after composition has ended.
              +         */
              +        onDidCompositionEnd(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted when editing failed because the editor is read-only.
              +         * @event
              +         */
              +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
              +        /**
              +         * An event emitted when users paste text in the editor.
              +         * @event
              +         */
              +        onDidPaste: IEvent<IPasteEvent>;
              +        /**
              +         * An event emitted on a "mouseup".
              +         * @event
              +         */
              +        onMouseUp: IEvent<IEditorMouseEvent>;
              +        /**
              +         * An event emitted on a "mousedown".
              +         * @event
              +         */
              +        onMouseDown: IEvent<IEditorMouseEvent>;
              +        /**
              +         * An event emitted on a "contextmenu".
              +         * @event
              +         */
              +        onContextMenu: IEvent<IEditorMouseEvent>;
              +        /**
              +         * An event emitted on a "mousemove".
              +         * @event
              +         */
              +        onMouseMove: IEvent<IEditorMouseEvent>;
              +        /**
              +         * An event emitted on a "mouseleave".
              +         * @event
              +         */
              +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
              +        /**
              +         * An event emitted on a "keyup".
              +         * @event
              +         */
              +        onKeyUp: IEvent<IKeyboardEvent>;
              +        /**
              +         * An event emitted on a "keydown".
              +         * @event
              +         */
              +        onKeyDown: IEvent<IKeyboardEvent>;
              +        /**
              +         * An event emitted when the layout of the editor has changed.
              +         * @event
              +         */
              +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
              +        /**
              +         * An event emitted when the content width or content height in the editor has changed.
              +         * @event
              +         */
              +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
              +        /**
              +         * An event emitted when the scroll in the editor has changed.
              +         * @event
              +         */
              +        onDidScrollChange: IEvent<IScrollEvent>;
              +        /**
              +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
              +         * @event
              +         */
              +        onDidChangeHiddenAreas: IEvent<void>;
              +        /**
              +         * Saves current view state of the editor in a serializable object.
              +         */
              +        saveViewState(): ICodeEditorViewState | null;
              +        /**
              +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
              +         */
              +        restoreViewState(state: ICodeEditorViewState): void;
              +        /**
              +         * Returns true if the text inside this editor or an editor widget has focus.
              +         */
              +        hasWidgetFocus(): boolean;
              +        /**
              +         * Get a contribution of this editor.
              +         * @id Unique identifier of the contribution.
              +         * @return The contribution or null if contribution not found.
              +         */
              +        getContribution<T extends IEditorContribution>(id: string): T;
              +        /**
              +         * Type the getModel() of IEditor.
              +         */
              +        getModel(): ITextModel | null;
              +        /**
              +         * Sets the current model attached to this editor.
              +         * If the previous model was created by the editor via the value key in the options
              +         * literal object, it will be destroyed. Otherwise, if the previous model was set
              +         * via setModel, or the model key in the options literal object, the previous model
              +         * will not be destroyed.
              +         * It is safe to call setModel(null) to simply detach the current model from the editor.
              +         */
              +        setModel(model: ITextModel | null): void;
              +        /**
              +         * Gets all the editor computed options.
              +         */
              +        getOptions(): IComputedEditorOptions;
              +        /**
              +         * Gets a specific editor option.
              +         */
              +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
              +        /**
              +         * Returns the editor's configuration (without any validation or defaults).
              +         */
              +        getRawOptions(): IEditorOptions;
              +        /**
              +         * Get value of the current model attached to this editor.
              +         * @see {@link ITextModel.getValue}
              +         */
              +        getValue(options?: {
              +            preserveBOM: boolean;
              +            lineEnding: string;
              +        }): string;
              +        /**
              +         * Set the value of the current model attached to this editor.
              +         * @see {@link ITextModel.setValue}
              +         */
              +        setValue(newValue: string): void;
              +        /**
              +         * Get the width of the editor's content.
              +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
              +         */
              +        getContentWidth(): number;
              +        /**
              +         * Get the scrollWidth of the editor's viewport.
              +         */
              +        getScrollWidth(): number;
              +        /**
              +         * Get the scrollLeft of the editor's viewport.
              +         */
              +        getScrollLeft(): number;
              +        /**
              +         * Get the height of the editor's content.
              +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
              +         */
              +        getContentHeight(): number;
              +        /**
              +         * Get the scrollHeight of the editor's viewport.
              +         */
              +        getScrollHeight(): number;
              +        /**
              +         * Get the scrollTop of the editor's viewport.
              +         */
              +        getScrollTop(): number;
              +        /**
              +         * Change the scrollLeft of the editor's viewport.
              +         */
              +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
              +        /**
              +         * Change the scrollTop of the editor's viewport.
              +         */
              +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
              +        /**
              +         * Change the scroll position of the editor's viewport.
              +         */
              +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
              +        /**
              +         * Get an action that is a contribution to this editor.
              +         * @id Unique identifier of the contribution.
              +         * @return The action or null if action not found.
              +         */
              +        getAction(id: string): IEditorAction;
              +        /**
              +         * Execute a command on the editor.
              +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
              +         * @param source The source of the call.
              +         * @param command The command to execute
              +         */
              +        executeCommand(source: string | null | undefined, command: ICommand): void;
              +        /**
              +         * Create an "undo stop" in the undo-redo stack.
              +         */
              +        pushUndoStop(): boolean;
              +        /**
              +         * Remove the "undo stop" in the undo-redo stack.
              +         */
              +        popUndoStop(): boolean;
              +        /**
              +         * Execute edits on the editor.
              +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
              +         * @param source The source of the call.
              +         * @param edits The edits to execute.
              +         * @param endCursorState Cursor state after the edits were applied.
              +         */
              +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
              +        /**
              +         * Execute multiple (concomitant) commands on the editor.
              +         * @param source The source of the call.
              +         * @param command The commands to execute
              +         */
              +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
              +        /**
              +         * Get all the decorations on a line (filtering out decorations from other editors).
              +         */
              +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
              +        /**
              +         * All decorations added through this call will get the ownerId of this editor.
              +         * @see {@link ITextModel.deltaDecorations}
              +         */
              +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
              +        /**
              +         * Get the layout info for the editor.
              +         */
              +        getLayoutInfo(): EditorLayoutInfo;
              +        /**
              +         * Returns the ranges that are currently visible.
              +         * Does not account for horizontal scrolling.
              +         */
              +        getVisibleRanges(): Range[];
              +        /**
              +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
              +         */
              +        getTopForLineNumber(lineNumber: number): number;
              +        /**
              +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
              +         */
              +        getTopForPosition(lineNumber: number, column: number): number;
              +        /**
              +         * Returns the editor's container dom node
              +         */
              +        getContainerDomNode(): HTMLElement;
              +        /**
              +         * Returns the editor's dom node
              +         */
              +        getDomNode(): HTMLElement | null;
              +        /**
              +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
              +         */
              +        addContentWidget(widget: IContentWidget): void;
              +        /**
              +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
              +         * and update appropriately.
              +         */
              +        layoutContentWidget(widget: IContentWidget): void;
              +        /**
              +         * Remove a content widget.
              +         */
              +        removeContentWidget(widget: IContentWidget): void;
              +        /**
              +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
              +         */
              +        addOverlayWidget(widget: IOverlayWidget): void;
              +        /**
              +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
              +         * and update appropriately.
              +         */
              +        layoutOverlayWidget(widget: IOverlayWidget): void;
              +        /**
              +         * Remove an overlay widget.
              +         */
              +        removeOverlayWidget(widget: IOverlayWidget): void;
              +        /**
              +         * Change the view zones. View zones are lost when a new model is attached to the editor.
              +         */
              +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
              +        /**
              +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
              +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
              +         * Use this method with caution.
              +         */
              +        getOffsetForColumn(lineNumber: number, column: number): number;
              +        /**
              +         * Force an editor render now.
              +         */
              +        render(forceRedraw?: boolean): void;
              +        /**
              +         * Get the hit test target at coordinates `clientX` and `clientY`.
              +         * The coordinates are relative to the top-left of the viewport.
              +         *
              +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
              +         */
              +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
              +        /**
              +         * Get the visible position for `position`.
              +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
              +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
              +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
              +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
              +         */
              +        getScrolledVisiblePosition(position: IPosition): {
              +            top: number;
              +            left: number;
              +            height: number;
              +        } | null;
              +        /**
              +         * Apply the same font settings as the editor to `target`.
              +         */
              +        applyFontInfo(target: HTMLElement): void;
              +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
              +    }
              +
              +    /**
              +     * Information about a line in the diff editor
              +     */
              +    export interface IDiffLineInformation {
              +        readonly equivalentLineNumber: number;
              +    }
              +
              +    /**
              +     * A rich diff editor.
              +     */
              +    export interface IDiffEditor extends IEditor {
              +        /**
              +         * @see {@link ICodeEditor.getDomNode}
              +         */
              +        getDomNode(): HTMLElement;
              +        /**
              +         * An event emitted when the diff information computed by this diff editor has been updated.
              +         * @event
              +         */
              +        onDidUpdateDiff(listener: () => void): IDisposable;
              +        /**
              +         * Saves current view state of the editor in a serializable object.
              +         */
              +        saveViewState(): IDiffEditorViewState | null;
              +        /**
              +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
              +         */
              +        restoreViewState(state: IDiffEditorViewState): void;
              +        /**
              +         * Type the getModel() of IEditor.
              +         */
              +        getModel(): IDiffEditorModel | null;
              +        /**
              +         * Sets the current model attached to this editor.
              +         * If the previous model was created by the editor via the value key in the options
              +         * literal object, it will be destroyed. Otherwise, if the previous model was set
              +         * via setModel, or the model key in the options literal object, the previous model
              +         * will not be destroyed.
              +         * It is safe to call setModel(null) to simply detach the current model from the editor.
              +         */
              +        setModel(model: IDiffEditorModel | null): void;
              +        /**
              +         * Get the `original` editor.
              +         */
              +        getOriginalEditor(): ICodeEditor;
              +        /**
              +         * Get the `modified` editor.
              +         */
              +        getModifiedEditor(): ICodeEditor;
              +        /**
              +         * Get the computed diff information.
              +         */
              +        getLineChanges(): ILineChange[] | null;
              +        /**
              +         * Get information based on computed diff about a line number from the original model.
              +         * If the diff computation is not finished or the model is missing, will return null.
              +         */
              +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
              +        /**
              +         * Get information based on computed diff about a line number from the modified model.
              +         * If the diff computation is not finished or the model is missing, will return null.
              +         */
              +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
              +        /**
              +         * Update the editor's options after the editor has been created.
              +         */
              +        updateOptions(newOptions: IDiffEditorOptions): void;
              +    }
              +
              +    export class FontInfo extends BareFontInfo {
              +        readonly _editorStylingBrand: void;
              +        readonly version: number;
              +        readonly isTrusted: boolean;
              +        readonly isMonospace: boolean;
              +        readonly typicalHalfwidthCharacterWidth: number;
              +        readonly typicalFullwidthCharacterWidth: number;
              +        readonly canUseHalfwidthRightwardsArrow: boolean;
              +        readonly spaceWidth: number;
              +        readonly middotWidth: number;
              +        readonly wsmiddotWidth: number;
              +        readonly maxDigitWidth: number;
              +    }
              +
              +    export class BareFontInfo {
              +        readonly _bareFontInfoBrand: void;
              +        readonly zoomLevel: number;
              +        readonly pixelRatio: number;
              +        readonly fontFamily: string;
              +        readonly fontWeight: string;
              +        readonly fontSize: number;
              +        readonly fontFeatureSettings: string;
              +        readonly lineHeight: number;
              +        readonly letterSpacing: number;
              +    }
              +
              +    //compatibility:
              +    export type IReadOnlyModel = ITextModel;
              +    export type IModel = ITextModel;
              +}
              +
              +declare namespace monaco.languages {
              +
              +
              +    /**
              +     * Register information about a new language.
              +     */
              +    export function register(language: ILanguageExtensionPoint): void;
              +
              +    /**
              +     * Get the information of all the registered languages.
              +     */
              +    export function getLanguages(): ILanguageExtensionPoint[];
              +
              +    export function getEncodedLanguageId(languageId: string): number;
              +
              +    /**
              +     * An event emitted when a language is first time needed (e.g. a model has it set).
              +     * @event
              +     */
              +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
              +
              +    /**
              +     * Set the editing configuration for a language.
              +     */
              +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
              +
              +    /**
              +     * A token.
              +     */
              +    export interface IToken {
              +        startIndex: number;
              +        scopes: string;
              +    }
              +
              +    /**
              +     * The result of a line tokenization.
              +     */
              +    export interface ILineTokens {
              +        /**
              +         * The list of tokens on the line.
              +         */
              +        tokens: IToken[];
              +        /**
              +         * The tokenization end state.
              +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
              +         */
              +        endState: IState;
              +    }
              +
              +    /**
              +     * The result of a line tokenization.
              +     */
              +    export interface IEncodedLineTokens {
              +        /**
              +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
              +         *  - at offset 2*i => startIndex
              +         *  - at offset 2*i + 1 => metadata
              +         * Meta data is in binary format:
              +         * - -------------------------------------------
              +         *     3322 2222 2222 1111 1111 1100 0000 0000
              +         *     1098 7654 3210 9876 5432 1098 7654 3210
              +         * - -------------------------------------------
              +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
              +         * - -------------------------------------------
              +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
              +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
              +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
              +         *  - f = foreground ColorId (9 bits)
              +         *  - b = background ColorId (9 bits)
              +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
              +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
              +         * id = 1 is for the default foreground color, id = 2 for the default background.
              +         */
              +        tokens: Uint32Array;
              +        /**
              +         * The tokenization end state.
              +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
              +         */
              +        endState: IState;
              +    }
              +
              +    /**
              +     * A "manual" provider of tokens.
              +     */
              +    export interface TokensProvider {
              +        /**
              +         * The initial state of a language. Will be the state passed in to tokenize the first line.
              +         */
              +        getInitialState(): IState;
              +        /**
              +         * Tokenize a line given the state at the beginning of the line.
              +         */
              +        tokenize(line: string, state: IState): ILineTokens;
              +    }
              +
              +    /**
              +     * A "manual" provider of tokens, returning tokens in a binary form.
              +     */
              +    export interface EncodedTokensProvider {
              +        /**
              +         * The initial state of a language. Will be the state passed in to tokenize the first line.
              +         */
              +        getInitialState(): IState;
              +        /**
              +         * Tokenize a line given the state at the beginning of the line.
              +         */
              +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
              +        /**
              +         * Tokenize a line given the state at the beginning of the line.
              +         */
              +        tokenize?(line: string, state: IState): ILineTokens;
              +    }
              +
              +    /**
              +     * Change the color map that is used for token colors.
              +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
              +     */
              +    export function setColorMap(colorMap: string[] | null): void;
              +
              +    /**
              +     * Set the tokens provider for a language (manual implementation).
              +     */
              +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
              +
              +    /**
              +     * Set the tokens provider for a language (monarch implementation).
              +     */
              +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
              +
              +    /**
              +     * Register a reference provider (used by e.g. reference search).
              +     */
              +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
              +
              +    /**
              +     * Register a rename provider (used by e.g. rename symbol).
              +     */
              +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
              +
              +    /**
              +     * Register a signature help provider (used by e.g. parameter hints).
              +     */
              +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
              +
              +    /**
              +     * Register a hover provider (used by e.g. editor hover).
              +     */
              +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
              +
              +    /**
              +     * Register a document symbol provider (used by e.g. outline).
              +     */
              +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
              +
              +    /**
              +     * Register a document highlight provider (used by e.g. highlight occurrences).
              +     */
              +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
              +
              +    /**
              +     * Register an linked editing range provider.
              +     */
              +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
              +
              +    /**
              +     * Register a definition provider (used by e.g. go to definition).
              +     */
              +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
              +
              +    /**
              +     * Register a implementation provider (used by e.g. go to implementation).
              +     */
              +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
              +
              +    /**
              +     * Register a type definition provider (used by e.g. go to type definition).
              +     */
              +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
              +
              +    /**
              +     * Register a code lens provider (used by e.g. inline code lenses).
              +     */
              +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
              +
              +    /**
              +     * Register a code action provider (used by e.g. quick fix).
              +     */
              +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
              +
              +    /**
              +     * Register a formatter that can handle only entire models.
              +     */
              +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
              +
              +    /**
              +     * Register a formatter that can handle a range inside a model.
              +     */
              +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
              +
              +    /**
              +     * Register a formatter than can do formatting as the user types.
              +     */
              +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
              +
              +    /**
              +     * Register a link provider that can find links in text.
              +     */
              +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
              +
              +    /**
              +     * Register a completion item provider (use by e.g. suggestions).
              +     */
              +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
              +
              +    /**
              +     * Register a document color provider (used by Color Picker, Color Decorator).
              +     */
              +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
              +
              +    /**
              +     * Register a folding range provider
              +     */
              +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
              +
              +    /**
              +     * Register a declaration provider
              +     */
              +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
              +
              +    /**
              +     * Register a selection range provider
              +     */
              +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
              +
              +    /**
              +     * Register a document semantic tokens provider
              +     */
              +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
              +
              +    /**
              +     * Register a document range semantic tokens provider
              +     */
              +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
              +
              +    /**
              +     * Register an inline completions provider.
              +     */
              +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
              +
              +    /**
              +     * Register an inlay hints provider.
              +     */
              +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
              +
              +    /**
              +     * Contains additional diagnostic information about the context in which
              +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
              +     */
              +    export interface CodeActionContext {
              +        /**
              +         * An array of diagnostics.
              +         */
              +        readonly markers: editor.IMarkerData[];
              +        /**
              +         * Requested kind of actions to return.
              +         */
              +        readonly only?: string;
              +    }
              +
              +    /**
              +     * The code action interface defines the contract between extensions and
              +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
              +     */
              +    export interface CodeActionProvider {
              +        /**
              +         * Provide commands for the given document and range.
              +         */
              +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
              +        /**
              +         * Given a code action fill in the edit. Will only invoked when missing.
              +         */
              +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
              +    }
              +
              +    /**
              +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
              +     */
              +    export interface CodeActionProviderMetadata {
              +        /**
              +         * List of code action kinds that a {@link CodeActionProvider} may return.
              +         *
              +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
              +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
              +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
              +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
              +         */
              +        readonly providedCodeActionKinds?: readonly string[];
              +    }
              +
              +    /**
              +     * Describes how comments for a language work.
              +     */
              +    export interface CommentRule {
              +        /**
              +         * The line comment token, like `// this is a comment`
              +         */
              +        lineComment?: string | null;
              +        /**
              +         * The block comment character pair, like `/* block comment *&#47;`
              +         */
              +        blockComment?: CharacterPair | null;
              +    }
              +
              +    /**
              +     * The language configuration interface defines the contract between extensions and
              +     * various editor features, like automatic bracket insertion, automatic indentation etc.
              +     */
              +    export interface LanguageConfiguration {
              +        /**
              +         * The language's comment settings.
              +         */
              +        comments?: CommentRule;
              +        /**
              +         * The language's brackets.
              +         * This configuration implicitly affects pressing Enter around these brackets.
              +         */
              +        brackets?: CharacterPair[];
              +        /**
              +         * The language's word definition.
              +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
              +         * to provide a word definition that uses exclusion of known separators.
              +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
              +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
              +         */
              +        wordPattern?: RegExp;
              +        /**
              +         * The language's indentation settings.
              +         */
              +        indentationRules?: IndentationRule;
              +        /**
              +         * The language's rules to be evaluated when pressing Enter.
              +         */
              +        onEnterRules?: OnEnterRule[];
              +        /**
              +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
              +         * 'open' character is typed. If not set, the configured brackets will be used.
              +         */
              +        autoClosingPairs?: IAutoClosingPairConditional[];
              +        /**
              +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
              +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
              +         * settings will be used.
              +         */
              +        surroundingPairs?: IAutoClosingPair[];
              +        /**
              +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
              +         * If not set, the configured brackets will be used.
              +        */
              +        colorizedBracketPairs?: CharacterPair[];
              +        /**
              +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
              +         *
              +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
              +         */
              +        autoCloseBefore?: string;
              +        /**
              +         * The language's folding rules.
              +         */
              +        folding?: FoldingRules;
              +        /**
              +         * **Deprecated** Do not use.
              +         *
              +         * @deprecated Will be replaced by a better API soon.
              +         */
              +        __electricCharacterSupport?: {
              +            docComment?: IDocComment;
              +        };
              +    }
              +
              +    /**
              +     * Describes indentation rules for a language.
              +     */
              +    export interface IndentationRule {
              +        /**
              +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
              +         */
              +        decreaseIndentPattern: RegExp;
              +        /**
              +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
              +         */
              +        increaseIndentPattern: RegExp;
              +        /**
              +         * If a line matches this pattern, then **only the next line** after it should be indented once.
              +         */
              +        indentNextLinePattern?: RegExp | null;
              +        /**
              +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
              +         */
              +        unIndentedLinePattern?: RegExp | null;
              +    }
              +
              +    /**
              +     * Describes language specific folding markers such as '#region' and '#endregion'.
              +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
              +     * - the regex should start with '^'
              +     * - regexp flags (i, g) are ignored
              +     */
              +    export interface FoldingMarkers {
              +        start: RegExp;
              +        end: RegExp;
              +    }
              +
              +    /**
              +     * Describes folding rules for a language.
              +     */
              +    export interface FoldingRules {
              +        /**
              +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
              +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
              +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
              +         * If not set, `false` is used and empty lines belong to the previous block.
              +         */
              +        offSide?: boolean;
              +        /**
              +         * Region markers used by the language.
              +         */
              +        markers?: FoldingMarkers;
              +    }
              +
              +    /**
              +     * Describes a rule to be evaluated when pressing Enter.
              +     */
              +    export interface OnEnterRule {
              +        /**
              +         * This rule will only execute if the text before the cursor matches this regular expression.
              +         */
              +        beforeText: RegExp;
              +        /**
              +         * This rule will only execute if the text after the cursor matches this regular expression.
              +         */
              +        afterText?: RegExp;
              +        /**
              +         * This rule will only execute if the text above the this line matches this regular expression.
              +         */
              +        previousLineText?: RegExp;
              +        /**
              +         * The action to execute.
              +         */
              +        action: EnterAction;
              +    }
              +
              +    /**
              +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
              +     */
              +    export interface IDocComment {
              +        /**
              +         * The string that starts a doc comment (e.g. '/**')
              +         */
              +        open: string;
              +        /**
              +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
              +         */
              +        close?: string;
              +    }
              +
              +    /**
              +     * A tuple of two characters, like a pair of
              +     * opening and closing brackets.
              +     */
              +    export type CharacterPair = [string, string];
              +
              +    export interface IAutoClosingPair {
              +        open: string;
              +        close: string;
              +    }
              +
              +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
              +        notIn?: string[];
              +    }
              +
              +    /**
              +     * Describes what to do with the indentation when pressing Enter.
              +     */
              +    export enum IndentAction {
              +        /**
              +         * Insert new line and copy the previous line's indentation.
              +         */
              +        None = 0,
              +        /**
              +         * Insert new line and indent once (relative to the previous line's indentation).
              +         */
              +        Indent = 1,
              +        /**
              +         * Insert two new lines:
              +         *  - the first one indented which will hold the cursor
              +         *  - the second one at the same indentation level
              +         */
              +        IndentOutdent = 2,
              +        /**
              +         * Insert new line and outdent once (relative to the previous line's indentation).
              +         */
              +        Outdent = 3
              +    }
              +
              +    /**
              +     * Describes what to do when pressing Enter.
              +     */
              +    export interface EnterAction {
              +        /**
              +         * Describe what to do with the indentation.
              +         */
              +        indentAction: IndentAction;
              +        /**
              +         * Describes text to be appended after the new line and after the indentation.
              +         */
              +        appendText?: string;
              +        /**
              +         * Describes the number of characters to remove from the new line's indentation.
              +         */
              +        removeText?: number;
              +    }
              +
              +    /**
              +     * The state of the tokenizer between two lines.
              +     * It is useful to store flags such as in multiline comment, etc.
              +     * The model will clone the previous line's state and pass it in to tokenize the next line.
              +     */
              +    export interface IState {
              +        clone(): IState;
              +        equals(other: IState): boolean;
              +    }
              +
              +    /**
              +     * A provider result represents the values a provider, like the {@link HoverProvider},
              +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
              +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
              +     * thenable.
              +     */
              +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
              +
              +    /**
              +     * A hover represents additional information for a symbol or word. Hovers are
              +     * rendered in a tooltip-like widget.
              +     */
              +    export interface Hover {
              +        /**
              +         * The contents of this hover.
              +         */
              +        contents: IMarkdownString[];
              +        /**
              +         * The range to which this hover applies. When missing, the
              +         * editor will use the range at the current position or the
              +         * current position itself.
              +         */
              +        range?: IRange;
              +    }
              +
              +    /**
              +     * The hover provider interface defines the contract between extensions and
              +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
              +     */
              +    export interface HoverProvider {
              +        /**
              +         * Provide a hover for the given position and document. Multiple hovers at the same
              +         * position will be merged by the editor. A hover can have a range which defaults
              +         * to the word range at the position when omitted.
              +         */
              +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
              +    }
              +
              +    export enum CompletionItemKind {
              +        Method = 0,
              +        Function = 1,
              +        Constructor = 2,
              +        Field = 3,
              +        Variable = 4,
              +        Class = 5,
              +        Struct = 6,
              +        Interface = 7,
              +        Module = 8,
              +        Property = 9,
              +        Event = 10,
              +        Operator = 11,
              +        Unit = 12,
              +        Value = 13,
              +        Constant = 14,
              +        Enum = 15,
              +        EnumMember = 16,
              +        Keyword = 17,
              +        Text = 18,
              +        Color = 19,
              +        File = 20,
              +        Reference = 21,
              +        Customcolor = 22,
              +        Folder = 23,
              +        TypeParameter = 24,
              +        User = 25,
              +        Issue = 26,
              +        Snippet = 27
              +    }
              +
              +    export interface CompletionItemLabel {
              +        label: string;
              +        detail?: string;
              +        description?: string;
              +    }
              +
              +    export enum CompletionItemTag {
              +        Deprecated = 1
              +    }
              +
              +    export enum CompletionItemInsertTextRule {
              +        /**
              +         * Adjust whitespace/indentation of multiline insert texts to
              +         * match the current line indentation.
              +         */
              +        KeepWhitespace = 1,
              +        /**
              +         * `insertText` is a snippet.
              +         */
              +        InsertAsSnippet = 4
              +    }
              +
              +    export interface CompletionItemRanges {
              +        insert: IRange;
              +        replace: IRange;
              +    }
              +
              +    /**
              +     * A completion item represents a text snippet that is
              +     * proposed to complete text that is being typed.
              +     */
              +    export interface CompletionItem {
              +        /**
              +         * The label of this completion item. By default
              +         * this is also the text that is inserted when selecting
              +         * this completion.
              +         */
              +        label: string | CompletionItemLabel;
              +        /**
              +         * The kind of this completion item. Based on the kind
              +         * an icon is chosen by the editor.
              +         */
              +        kind: CompletionItemKind;
              +        /**
              +         * A modifier to the `kind` which affect how the item
              +         * is rendered, e.g. Deprecated is rendered with a strikeout
              +         */
              +        tags?: ReadonlyArray<CompletionItemTag>;
              +        /**
              +         * A human-readable string with additional information
              +         * about this item, like type or symbol information.
              +         */
              +        detail?: string;
              +        /**
              +         * A human-readable string that represents a doc-comment.
              +         */
              +        documentation?: string | IMarkdownString;
              +        /**
              +         * A string that should be used when comparing this item
              +         * with other items. When `falsy` the {@link CompletionItem.label label}
              +         * is used.
              +         */
              +        sortText?: string;
              +        /**
              +         * A string that should be used when filtering a set of
              +         * completion items. When `falsy` the {@link CompletionItem.label label}
              +         * is used.
              +         */
              +        filterText?: string;
              +        /**
              +         * Select this item when showing. *Note* that only one completion item can be selected and
              +         * that the editor decides which item that is. The rule is that the *first* item of those
              +         * that match best is selected.
              +         */
              +        preselect?: boolean;
              +        /**
              +         * A string or snippet that should be inserted in a document when selecting
              +         * this completion.
              +         */
              +        insertText: string;
              +        /**
              +         * Additional rules (as bitmask) that should be applied when inserting
              +         * this completion.
              +         */
              +        insertTextRules?: CompletionItemInsertTextRule;
              +        /**
              +         * A range of text that should be replaced by this completion item.
              +         *
              +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
              +         * current position.
              +         *
              +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
              +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
              +         */
              +        range: IRange | CompletionItemRanges;
              +        /**
              +         * An optional set of characters that when pressed while this completion is active will accept it first and
              +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
              +         * characters will be ignored.
              +         */
              +        commitCharacters?: string[];
              +        /**
              +         * An optional array of additional text edits that are applied when
              +         * selecting this completion. Edits must not overlap with the main edit
              +         * nor with themselves.
              +         */
              +        additionalTextEdits?: editor.ISingleEditOperation[];
              +        /**
              +         * A command that should be run upon acceptance of this item.
              +         */
              +        command?: Command;
              +    }
              +
              +    export interface CompletionList {
              +        suggestions: CompletionItem[];
              +        incomplete?: boolean;
              +        dispose?(): void;
              +    }
              +
              +    /**
              +     * How a suggest provider was triggered.
              +     */
              +    export enum CompletionTriggerKind {
              +        Invoke = 0,
              +        TriggerCharacter = 1,
              +        TriggerForIncompleteCompletions = 2
              +    }
              +
              +    /**
              +     * Contains additional information about the context in which
              +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
              +     */
              +    export interface CompletionContext {
              +        /**
              +         * How the completion was triggered.
              +         */
              +        triggerKind: CompletionTriggerKind;
              +        /**
              +         * Character that triggered the completion item provider.
              +         *
              +         * `undefined` if provider was not triggered by a character.
              +         */
              +        triggerCharacter?: string;
              +    }
              +
              +    /**
              +     * The completion item provider interface defines the contract between extensions and
              +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
              +     *
              +     * When computing *complete* completion items is expensive, providers can optionally implement
              +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
              +     * items with a {@link CompletionItem.label label} from the
              +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
              +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
              +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
              +     */
              +    export interface CompletionItemProvider {
              +        triggerCharacters?: string[];
              +        /**
              +         * Provide completion items for the given position and document.
              +         */
              +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
              +        /**
              +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
              +         * or {@link CompletionItem.detail details}.
              +         *
              +         * The editor will only resolve a completion item once.
              +         */
              +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
              +    }
              +
              +    /**
              +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
              +     */
              +    export enum InlineCompletionTriggerKind {
              +        /**
              +         * Completion was triggered automatically while editing.
              +         * It is sufficient to return a single completion item in this case.
              +         */
              +        Automatic = 0,
              +        /**
              +         * Completion was triggered explicitly by a user gesture.
              +         * Return multiple completion items to enable cycling through them.
              +         */
              +        Explicit = 1
              +    }
              +
              +    export interface InlineCompletionContext {
              +        /**
              +         * How the completion was triggered.
              +         */
              +        readonly triggerKind: InlineCompletionTriggerKind;
              +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
              +    }
              +
              +    export interface SelectedSuggestionInfo {
              +        range: IRange;
              +        text: string;
              +        isSnippetText: boolean;
              +        completionKind: CompletionItemKind;
              +    }
              +
              +    export interface InlineCompletion {
              +        /**
              +         * The text to insert.
              +         * If the text contains a line break, the range must end at the end of a line.
              +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
              +        */
              +        readonly text: string;
              +        /**
              +         * The range to replace.
              +         * Must begin and end on the same line.
              +        */
              +        readonly range?: IRange;
              +        readonly command?: Command;
              +    }
              +
              +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
              +        readonly items: readonly TItem[];
              +    }
              +
              +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
              +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
              +        /**
              +         * Will be called when an item is shown.
              +        */
              +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
              +        /**
              +         * Will be called when a completions list is no longer in use and can be garbage-collected.
              +        */
              +        freeInlineCompletions(completions: T): void;
              +    }
              +
              +    export interface CodeAction {
              +        title: string;
              +        command?: Command;
              +        edit?: WorkspaceEdit;
              +        diagnostics?: editor.IMarkerData[];
              +        kind?: string;
              +        isPreferred?: boolean;
              +        disabled?: string;
              +    }
              +
              +    export interface CodeActionList extends IDisposable {
              +        readonly actions: ReadonlyArray<CodeAction>;
              +    }
              +
              +    /**
              +     * Represents a parameter of a callable-signature. A parameter can
              +     * have a label and a doc-comment.
              +     */
              +    export interface ParameterInformation {
              +        /**
              +         * The label of this signature. Will be shown in
              +         * the UI.
              +         */
              +        label: string | [number, number];
              +        /**
              +         * The human-readable doc-comment of this signature. Will be shown
              +         * in the UI but can be omitted.
              +         */
              +        documentation?: string | IMarkdownString;
              +    }
              +
              +    /**
              +     * Represents the signature of something callable. A signature
              +     * can have a label, like a function-name, a doc-comment, and
              +     * a set of parameters.
              +     */
              +    export interface SignatureInformation {
              +        /**
              +         * The label of this signature. Will be shown in
              +         * the UI.
              +         */
              +        label: string;
              +        /**
              +         * The human-readable doc-comment of this signature. Will be shown
              +         * in the UI but can be omitted.
              +         */
              +        documentation?: string | IMarkdownString;
              +        /**
              +         * The parameters of this signature.
              +         */
              +        parameters: ParameterInformation[];
              +        /**
              +         * Index of the active parameter.
              +         *
              +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
              +         */
              +        activeParameter?: number;
              +    }
              +
              +    /**
              +     * Signature help represents the signature of something
              +     * callable. There can be multiple signatures but only one
              +     * active and only one active parameter.
              +     */
              +    export interface SignatureHelp {
              +        /**
              +         * One or more signatures.
              +         */
              +        signatures: SignatureInformation[];
              +        /**
              +         * The active signature.
              +         */
              +        activeSignature: number;
              +        /**
              +         * The active parameter of the active signature.
              +         */
              +        activeParameter: number;
              +    }
              +
              +    export interface SignatureHelpResult extends IDisposable {
              +        value: SignatureHelp;
              +    }
              +
              +    export enum SignatureHelpTriggerKind {
              +        Invoke = 1,
              +        TriggerCharacter = 2,
              +        ContentChange = 3
              +    }
              +
              +    export interface SignatureHelpContext {
              +        readonly triggerKind: SignatureHelpTriggerKind;
              +        readonly triggerCharacter?: string;
              +        readonly isRetrigger: boolean;
              +        readonly activeSignatureHelp?: SignatureHelp;
              +    }
              +
              +    /**
              +     * The signature help provider interface defines the contract between extensions and
              +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
              +     */
              +    export interface SignatureHelpProvider {
              +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
              +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
              +        /**
              +         * Provide help for the signature at the given position and document.
              +         */
              +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
              +    }
              +
              +    /**
              +     * A document highlight kind.
              +     */
              +    export enum DocumentHighlightKind {
              +        /**
              +         * A textual occurrence.
              +         */
              +        Text = 0,
              +        /**
              +         * Read-access of a symbol, like reading a variable.
              +         */
              +        Read = 1,
              +        /**
              +         * Write-access of a symbol, like writing to a variable.
              +         */
              +        Write = 2
              +    }
              +
              +    /**
              +     * A document highlight is a range inside a text document which deserves
              +     * special attention. Usually a document highlight is visualized by changing
              +     * the background color of its range.
              +     */
              +    export interface DocumentHighlight {
              +        /**
              +         * The range this highlight applies to.
              +         */
              +        range: IRange;
              +        /**
              +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
              +         */
              +        kind?: DocumentHighlightKind;
              +    }
              +
              +    /**
              +     * The document highlight provider interface defines the contract between extensions and
              +     * the word-highlight-feature.
              +     */
              +    export interface DocumentHighlightProvider {
              +        /**
              +         * Provide a set of document highlights, like all occurrences of a variable or
              +         * all exit-points of a function.
              +         */
              +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
              +    }
              +
              +    /**
              +     * The linked editing range provider interface defines the contract between extensions and
              +     * the linked editing feature.
              +     */
              +    export interface LinkedEditingRangeProvider {
              +        /**
              +         * Provide a list of ranges that can be edited together.
              +         */
              +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
              +    }
              +
              +    /**
              +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
              +     */
              +    export interface LinkedEditingRanges {
              +        /**
              +         * A list of ranges that can be edited together. The ranges must have
              +         * identical length and text content. The ranges cannot overlap
              +         */
              +        ranges: IRange[];
              +        /**
              +         * An optional word pattern that describes valid contents for the given ranges.
              +         * If no pattern is provided, the language configuration's word pattern will be used.
              +         */
              +        wordPattern?: RegExp;
              +    }
              +
              +    /**
              +     * Value-object that contains additional information when
              +     * requesting references.
              +     */
              +    export interface ReferenceContext {
              +        /**
              +         * Include the declaration of the current symbol.
              +         */
              +        includeDeclaration: boolean;
              +    }
              +
              +    /**
              +     * The reference provider interface defines the contract between extensions and
              +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
              +     */
              +    export interface ReferenceProvider {
              +        /**
              +         * Provide a set of project-wide references for the given position and document.
              +         */
              +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
              +    }
              +
              +    /**
              +     * Represents a location inside a resource, such as a line
              +     * inside a text file.
              +     */
              +    export interface Location {
              +        /**
              +         * The resource identifier of this location.
              +         */
              +        uri: Uri;
              +        /**
              +         * The document range of this locations.
              +         */
              +        range: IRange;
              +    }
              +
              +    export interface LocationLink {
              +        /**
              +         * A range to select where this link originates from.
              +         */
              +        originSelectionRange?: IRange;
              +        /**
              +         * The target uri this link points to.
              +         */
              +        uri: Uri;
              +        /**
              +         * The full range this link points to.
              +         */
              +        range: IRange;
              +        /**
              +         * A range to select this link points to. Must be contained
              +         * in `LocationLink.range`.
              +         */
              +        targetSelectionRange?: IRange;
              +    }
              +
              +    export type Definition = Location | Location[] | LocationLink[];
              +
              +    /**
              +     * The definition provider interface defines the contract between extensions and
              +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
              +     * and peek definition features.
              +     */
              +    export interface DefinitionProvider {
              +        /**
              +         * Provide the definition of the symbol at the given position and document.
              +         */
              +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
              +    }
              +
              +    /**
              +     * The definition provider interface defines the contract between extensions and
              +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
              +     * and peek definition features.
              +     */
              +    export interface DeclarationProvider {
              +        /**
              +         * Provide the declaration of the symbol at the given position and document.
              +         */
              +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
              +    }
              +
              +    /**
              +     * The implementation provider interface defines the contract between extensions and
              +     * the go to implementation feature.
              +     */
              +    export interface ImplementationProvider {
              +        /**
              +         * Provide the implementation of the symbol at the given position and document.
              +         */
              +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
              +    }
              +
              +    /**
              +     * The type definition provider interface defines the contract between extensions and
              +     * the go to type definition feature.
              +     */
              +    export interface TypeDefinitionProvider {
              +        /**
              +         * Provide the type definition of the symbol at the given position and document.
              +         */
              +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
              +    }
              +
              +    /**
              +     * A symbol kind.
              +     */
              +    export enum SymbolKind {
              +        File = 0,
              +        Module = 1,
              +        Namespace = 2,
              +        Package = 3,
              +        Class = 4,
              +        Method = 5,
              +        Property = 6,
              +        Field = 7,
              +        Constructor = 8,
              +        Enum = 9,
              +        Interface = 10,
              +        Function = 11,
              +        Variable = 12,
              +        Constant = 13,
              +        String = 14,
              +        Number = 15,
              +        Boolean = 16,
              +        Array = 17,
              +        Object = 18,
              +        Key = 19,
              +        Null = 20,
              +        EnumMember = 21,
              +        Struct = 22,
              +        Event = 23,
              +        Operator = 24,
              +        TypeParameter = 25
              +    }
              +
              +    export enum SymbolTag {
              +        Deprecated = 1
              +    }
              +
              +    export interface DocumentSymbol {
              +        name: string;
              +        detail: string;
              +        kind: SymbolKind;
              +        tags: ReadonlyArray<SymbolTag>;
              +        containerName?: string;
              +        range: IRange;
              +        selectionRange: IRange;
              +        children?: DocumentSymbol[];
              +    }
              +
              +    /**
              +     * The document symbol provider interface defines the contract between extensions and
              +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
              +     */
              +    export interface DocumentSymbolProvider {
              +        displayName?: string;
              +        /**
              +         * Provide symbol information for the given document.
              +         */
              +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
              +    }
              +
              +    export type TextEdit = {
              +        range: IRange;
              +        text: string;
              +        eol?: editor.EndOfLineSequence;
              +    };
              +
              +    /**
              +     * Interface used to format a model
              +     */
              +    export interface FormattingOptions {
              +        /**
              +         * Size of a tab in spaces.
              +         */
              +        tabSize: number;
              +        /**
              +         * Prefer spaces over tabs.
              +         */
              +        insertSpaces: boolean;
              +    }
              +
              +    /**
              +     * The document formatting provider interface defines the contract between extensions and
              +     * the formatting-feature.
              +     */
              +    export interface DocumentFormattingEditProvider {
              +        readonly displayName?: string;
              +        /**
              +         * Provide formatting edits for a whole document.
              +         */
              +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
              +    }
              +
              +    /**
              +     * The document formatting provider interface defines the contract between extensions and
              +     * the formatting-feature.
              +     */
              +    export interface DocumentRangeFormattingEditProvider {
              +        readonly displayName?: string;
              +        /**
              +         * Provide formatting edits for a range in a document.
              +         *
              +         * The given range is a hint and providers can decide to format a smaller
              +         * or larger range. Often this is done by adjusting the start and end
              +         * of the range to full syntax nodes.
              +         */
              +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
              +    }
              +
              +    /**
              +     * The document formatting provider interface defines the contract between extensions and
              +     * the formatting-feature.
              +     */
              +    export interface OnTypeFormattingEditProvider {
              +        autoFormatTriggerCharacters: string[];
              +        /**
              +         * Provide formatting edits after a character has been typed.
              +         *
              +         * The given position and character should hint to the provider
              +         * what range the position to expand to, like find the matching `{`
              +         * when `}` has been entered.
              +         */
              +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
              +    }
              +
              +    /**
              +     * A link inside the editor.
              +     */
              +    export interface ILink {
              +        range: IRange;
              +        url?: Uri | string;
              +        tooltip?: string;
              +    }
              +
              +    export interface ILinksList {
              +        links: ILink[];
              +        dispose?(): void;
              +    }
              +
              +    /**
              +     * A provider of links.
              +     */
              +    export interface LinkProvider {
              +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
              +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
              +    }
              +
              +    /**
              +     * A color in RGBA format.
              +     */
              +    export interface IColor {
              +        /**
              +         * The red component in the range [0-1].
              +         */
              +        readonly red: number;
              +        /**
              +         * The green component in the range [0-1].
              +         */
              +        readonly green: number;
              +        /**
              +         * The blue component in the range [0-1].
              +         */
              +        readonly blue: number;
              +        /**
              +         * The alpha component in the range [0-1].
              +         */
              +        readonly alpha: number;
              +    }
              +
              +    /**
              +     * String representations for a color
              +     */
              +    export interface IColorPresentation {
              +        /**
              +         * The label of this color presentation. It will be shown on the color
              +         * picker header. By default this is also the text that is inserted when selecting
              +         * this color presentation.
              +         */
              +        label: string;
              +        /**
              +         * An {@link TextEdit edit} which is applied to a document when selecting
              +         * this presentation for the color.
              +         */
              +        textEdit?: TextEdit;
              +        /**
              +         * An optional array of additional {@link TextEdit text edits} that are applied when
              +         * selecting this color presentation.
              +         */
              +        additionalTextEdits?: TextEdit[];
              +    }
              +
              +    /**
              +     * A color range is a range in a text model which represents a color.
              +     */
              +    export interface IColorInformation {
              +        /**
              +         * The range within the model.
              +         */
              +        range: IRange;
              +        /**
              +         * The color represented in this range.
              +         */
              +        color: IColor;
              +    }
              +
              +    /**
              +     * A provider of colors for editor models.
              +     */
              +    export interface DocumentColorProvider {
              +        /**
              +         * Provides the color ranges for a specific model.
              +         */
              +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
              +        /**
              +         * Provide the string representations for a color.
              +         */
              +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
              +    }
              +
              +    export interface SelectionRange {
              +        range: IRange;
              +    }
              +
              +    export interface SelectionRangeProvider {
              +        /**
              +         * Provide ranges that should be selected from the given position.
              +         */
              +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
              +    }
              +
              +    export interface FoldingContext {
              +    }
              +
              +    /**
              +     * A provider of folding ranges for editor models.
              +     */
              +    export interface FoldingRangeProvider {
              +        /**
              +         * An optional event to signal that the folding ranges from this provider have changed.
              +         */
              +        onDidChange?: IEvent<this>;
              +        /**
              +         * Provides the folding ranges for a specific model.
              +         */
              +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
              +    }
              +
              +    export interface FoldingRange {
              +        /**
              +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
              +         */
              +        start: number;
              +        /**
              +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
              +         */
              +        end: number;
              +        /**
              +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
              +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
              +         * like 'Fold all comments'. See
              +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
              +         */
              +        kind?: FoldingRangeKind;
              +    }
              +
              +    export class FoldingRangeKind {
              +        value: string;
              +        /**
              +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
              +         */
              +        static readonly Comment: FoldingRangeKind;
              +        /**
              +         * Kind for folding range representing a import. The value of the kind is 'imports'.
              +         */
              +        static readonly Imports: FoldingRangeKind;
              +        /**
              +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
              +         * The value of the kind is 'region'.
              +         */
              +        static readonly Region: FoldingRangeKind;
              +        /**
              +         * Creates a new {@link FoldingRangeKind}.
              +         *
              +         * @param value of the kind.
              +         */
              +        constructor(value: string);
              +    }
              +
              +    export interface WorkspaceEditMetadata {
              +        needsConfirmation: boolean;
              +        label: string;
              +        description?: string;
              +    }
              +
              +    export interface WorkspaceFileEditOptions {
              +        overwrite?: boolean;
              +        ignoreIfNotExists?: boolean;
              +        ignoreIfExists?: boolean;
              +        recursive?: boolean;
              +        copy?: boolean;
              +        folder?: boolean;
              +        skipTrashBin?: boolean;
              +        maxSize?: number;
              +    }
              +
              +    export interface WorkspaceFileEdit {
              +        oldUri?: Uri;
              +        newUri?: Uri;
              +        options?: WorkspaceFileEditOptions;
              +        metadata?: WorkspaceEditMetadata;
              +    }
              +
              +    export interface WorkspaceTextEdit {
              +        resource: Uri;
              +        edit: TextEdit;
              +        modelVersionId?: number;
              +        metadata?: WorkspaceEditMetadata;
              +    }
              +
              +    export interface WorkspaceEdit {
              +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
              +    }
              +
              +    export interface Rejection {
              +        rejectReason?: string;
              +    }
              +
              +    export interface RenameLocation {
              +        range: IRange;
              +        text: string;
              +    }
              +
              +    export interface RenameProvider {
              +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
              +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
              +    }
              +
              +    export interface Command {
              +        id: string;
              +        title: string;
              +        tooltip?: string;
              +        arguments?: any[];
              +    }
              +
              +    export interface CodeLens {
              +        range: IRange;
              +        id?: string;
              +        command?: Command;
              +    }
              +
              +    export interface CodeLensList {
              +        lenses: CodeLens[];
              +        dispose(): void;
              +    }
              +
              +    export interface CodeLensProvider {
              +        onDidChange?: IEvent<this>;
              +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
              +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
              +    }
              +
              +    export enum InlayHintKind {
              +        Other = 0,
              +        Type = 1,
              +        Parameter = 2
              +    }
              +
              +    export interface InlayHint {
              +        text: string;
              +        position: IPosition;
              +        kind: InlayHintKind;
              +        whitespaceBefore?: boolean;
              +        whitespaceAfter?: boolean;
              +    }
              +
              +    export interface InlayHintsProvider {
              +        onDidChangeInlayHints?: IEvent<void>;
              +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
              +    }
              +
              +    export interface SemanticTokensLegend {
              +        readonly tokenTypes: string[];
              +        readonly tokenModifiers: string[];
              +    }
              +
              +    export interface SemanticTokens {
              +        readonly resultId?: string;
              +        readonly data: Uint32Array;
              +    }
              +
              +    export interface SemanticTokensEdit {
              +        readonly start: number;
              +        readonly deleteCount: number;
              +        readonly data?: Uint32Array;
              +    }
              +
              +    export interface SemanticTokensEdits {
              +        readonly resultId?: string;
              +        readonly edits: SemanticTokensEdit[];
              +    }
              +
              +    export interface DocumentSemanticTokensProvider {
              +        onDidChange?: IEvent<void>;
              +        getLegend(): SemanticTokensLegend;
              +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
              +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
              +    }
              +
              +    export interface DocumentRangeSemanticTokensProvider {
              +        getLegend(): SemanticTokensLegend;
              +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
              +    }
              +
              +    export interface ILanguageExtensionPoint {
              +        id: string;
              +        extensions?: string[];
              +        filenames?: string[];
              +        filenamePatterns?: string[];
              +        firstLine?: string;
              +        aliases?: string[];
              +        mimetypes?: string[];
              +        configuration?: Uri;
              +    }
              +    /**
              +     * A Monarch language definition
              +     */
              +    export interface IMonarchLanguage {
              +        /**
              +         * map from string to ILanguageRule[]
              +         */
              +        tokenizer: {
              +            [name: string]: IMonarchLanguageRule[];
              +        };
              +        /**
              +         * is the language case insensitive?
              +         */
              +        ignoreCase?: boolean;
              +        /**
              +         * is the language unicode-aware? (i.e., /\u{1D306}/)
              +         */
              +        unicode?: boolean;
              +        /**
              +         * if no match in the tokenizer assign this token class (default 'source')
              +         */
              +        defaultToken?: string;
              +        /**
              +         * for example [['{','}','delimiter.curly']]
              +         */
              +        brackets?: IMonarchLanguageBracket[];
              +        /**
              +         * start symbol in the tokenizer (by default the first entry is used)
              +         */
              +        start?: string;
              +        /**
              +         * attach this to every token class (by default '.' + name)
              +         */
              +        tokenPostfix?: string;
              +        /**
              +         * include line feeds (in the form of a \n character) at the end of lines
              +         * Defaults to false
              +         */
              +        includeLF?: boolean;
              +        /**
              +         * Other keys that can be referred to by the tokenizer.
              +         */
              +        [key: string]: any;
              +    }
              +
              +    /**
              +     * A rule is either a regular expression and an action
              +     * 		shorthands: [reg,act] == { regex: reg, action: act}
              +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
              +     */
              +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
              +
              +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
              +
              +    export interface IExpandedMonarchLanguageRule {
              +        /**
              +         * match tokens
              +         */
              +        regex?: string | RegExp;
              +        /**
              +         * action to take on match
              +         */
              +        action?: IMonarchLanguageAction;
              +        /**
              +         * or an include rule. include all rules from the included state
              +         */
              +        include?: string;
              +    }
              +
              +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
              +
              +    /**
              +     * An action is either an array of actions...
              +     * ... or a case statement with guards...
              +     * ... or a basic action with a token value.
              +     */
              +    export type IShortMonarchLanguageAction = string;
              +
              +    export interface IExpandedMonarchLanguageAction {
              +        /**
              +         * array of actions for each parenthesized match group
              +         */
              +        group?: IMonarchLanguageAction[];
              +        /**
              +         * map from string to ILanguageAction
              +         */
              +        cases?: Object;
              +        /**
              +         * token class (ie. css class) (or "@brackets" or "@rematch")
              +         */
              +        token?: string;
              +        /**
              +         * the next state to push, or "@push", "@pop", "@popall"
              +         */
              +        next?: string;
              +        /**
              +         * switch to this state
              +         */
              +        switchTo?: string;
              +        /**
              +         * go back n characters in the stream
              +         */
              +        goBack?: number;
              +        /**
              +         * @open or @close
              +         */
              +        bracket?: string;
              +        /**
              +         * switch to embedded language (using the mimetype) or get out using "@pop"
              +         */
              +        nextEmbedded?: string;
              +        /**
              +         * log a message to the browser console window
              +         */
              +        log?: string;
              +    }
              +
              +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
              +
              +    /**
              +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
              +     */
              +    export interface IMonarchLanguageBracket {
              +        /**
              +         * open bracket
              +         */
              +        open: string;
              +        /**
              +         * closing bracket
              +         */
              +        close: string;
              +        /**
              +         * token class
              +         */
              +        token: string;
              +    }
              +
              +}
              +
              +declare namespace monaco.worker {
              +
              +
              +    export interface IMirrorTextModel {
              +        readonly version: number;
              +    }
              +
              +    export interface IMirrorModel extends IMirrorTextModel {
              +        readonly uri: Uri;
              +        readonly version: number;
              +        getValue(): string;
              +    }
              +
              +    export interface IWorkerContext<H = undefined> {
              +        /**
              +         * A proxy to the main thread host object.
              +         */
              +        host: H;
              +        /**
              +         * Get all available mirror models in this worker.
              +         */
              +        getMirrorModels(): IMirrorModel[];
              +    }
              +
              +}
              +
              +//dtsv=3
              +
              +/*---------------------------------------------------------------------------------------------
              + *  Copyright (c) Microsoft Corporation. All rights reserved.
              + *  Licensed under the MIT License. See License.txt in the project root for license information.
              + *--------------------------------------------------------------------------------------------*/
              +
              +declare namespace monaco.languages.typescript {
              +    export enum ModuleKind {
              +        None = 0,
              +        CommonJS = 1,
              +        AMD = 2,
              +        UMD = 3,
              +        System = 4,
              +        ES2015 = 5,
              +        ESNext = 99
              +    }
              +    export enum JsxEmit {
              +        None = 0,
              +        Preserve = 1,
              +        React = 2,
              +        ReactNative = 3,
              +        ReactJSX = 4,
              +        ReactJSXDev = 5
              +    }
              +    export enum NewLineKind {
              +        CarriageReturnLineFeed = 0,
              +        LineFeed = 1
              +    }
              +    export enum ScriptTarget {
              +        ES3 = 0,
              +        ES5 = 1,
              +        ES2015 = 2,
              +        ES2016 = 3,
              +        ES2017 = 4,
              +        ES2018 = 5,
              +        ES2019 = 6,
              +        ES2020 = 7,
              +        ESNext = 99,
              +        JSON = 100,
              +        Latest = 99
              +    }
              +    export enum ModuleResolutionKind {
              +        Classic = 1,
              +        NodeJs = 2
              +    }
              +    interface MapLike<T> {
              +        [index: string]: T;
              +    }
              +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
              +    interface CompilerOptions {
              +        allowJs?: boolean;
              +        allowSyntheticDefaultImports?: boolean;
              +        allowUmdGlobalAccess?: boolean;
              +        allowUnreachableCode?: boolean;
              +        allowUnusedLabels?: boolean;
              +        alwaysStrict?: boolean;
              +        baseUrl?: string;
              +        charset?: string;
              +        checkJs?: boolean;
              +        declaration?: boolean;
              +        declarationMap?: boolean;
              +        emitDeclarationOnly?: boolean;
              +        declarationDir?: string;
              +        disableSizeLimit?: boolean;
              +        disableSourceOfProjectReferenceRedirect?: boolean;
              +        downlevelIteration?: boolean;
              +        emitBOM?: boolean;
              +        emitDecoratorMetadata?: boolean;
              +        experimentalDecorators?: boolean;
              +        forceConsistentCasingInFileNames?: boolean;
              +        importHelpers?: boolean;
              +        inlineSourceMap?: boolean;
              +        inlineSources?: boolean;
              +        isolatedModules?: boolean;
              +        jsx?: JsxEmit;
              +        keyofStringsOnly?: boolean;
              +        lib?: string[];
              +        locale?: string;
              +        mapRoot?: string;
              +        maxNodeModuleJsDepth?: number;
              +        module?: ModuleKind;
              +        moduleResolution?: ModuleResolutionKind;
              +        newLine?: NewLineKind;
              +        noEmit?: boolean;
              +        noEmitHelpers?: boolean;
              +        noEmitOnError?: boolean;
              +        noErrorTruncation?: boolean;
              +        noFallthroughCasesInSwitch?: boolean;
              +        noImplicitAny?: boolean;
              +        noImplicitReturns?: boolean;
              +        noImplicitThis?: boolean;
              +        noStrictGenericChecks?: boolean;
              +        noUnusedLocals?: boolean;
              +        noUnusedParameters?: boolean;
              +        noImplicitUseStrict?: boolean;
              +        noLib?: boolean;
              +        noResolve?: boolean;
              +        out?: string;
              +        outDir?: string;
              +        outFile?: string;
              +        paths?: MapLike<string[]>;
              +        preserveConstEnums?: boolean;
              +        preserveSymlinks?: boolean;
              +        project?: string;
              +        reactNamespace?: string;
              +        jsxFactory?: string;
              +        composite?: boolean;
              +        removeComments?: boolean;
              +        rootDir?: string;
              +        rootDirs?: string[];
              +        skipLibCheck?: boolean;
              +        skipDefaultLibCheck?: boolean;
              +        sourceMap?: boolean;
              +        sourceRoot?: string;
              +        strict?: boolean;
              +        strictFunctionTypes?: boolean;
              +        strictBindCallApply?: boolean;
              +        strictNullChecks?: boolean;
              +        strictPropertyInitialization?: boolean;
              +        stripInternal?: boolean;
              +        suppressExcessPropertyErrors?: boolean;
              +        suppressImplicitAnyIndexErrors?: boolean;
              +        target?: ScriptTarget;
              +        traceResolution?: boolean;
              +        resolveJsonModule?: boolean;
              +        types?: string[];
              +        /** Paths used to compute primary types search locations */
              +        typeRoots?: string[];
              +        esModuleInterop?: boolean;
              +        useDefineForClassFields?: boolean;
              +        [option: string]: CompilerOptionsValue | undefined;
              +    }
              +    export interface DiagnosticsOptions {
              +        noSemanticValidation?: boolean;
              +        noSyntaxValidation?: boolean;
              +        noSuggestionDiagnostics?: boolean;
              +        /**
              +         * Limit diagnostic computation to only visible files.
              +         * Defaults to false.
              +         */
              +        onlyVisible?: boolean;
              +        diagnosticCodesToIgnore?: number[];
              +    }
              +    export interface WorkerOptions {
              +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
              +        customWorkerPath?: string;
              +    }
              +    interface InlayHintsOptions {
              +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
              +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
              +        readonly includeInlayFunctionParameterTypeHints?: boolean;
              +        readonly includeInlayVariableTypeHints?: boolean;
              +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
              +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
              +        readonly includeInlayEnumMemberValueHints?: boolean;
              +    }
              +    interface IExtraLib {
              +        content: string;
              +        version: number;
              +    }
              +    export interface IExtraLibs {
              +        [path: string]: IExtraLib;
              +    }
              +    /**
              +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
              +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
              +     */
              +    interface DiagnosticMessageChain {
              +        messageText: string;
              +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
              +        category: 0 | 1 | 2 | 3;
              +        code: number;
              +        next?: DiagnosticMessageChain[];
              +    }
              +    export interface Diagnostic extends DiagnosticRelatedInformation {
              +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
              +        reportsUnnecessary?: {};
              +        reportsDeprecated?: {};
              +        source?: string;
              +        relatedInformation?: DiagnosticRelatedInformation[];
              +    }
              +    export interface DiagnosticRelatedInformation {
              +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
              +        category: 0 | 1 | 2 | 3;
              +        code: number;
              +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
              +        file: {
              +            fileName: string;
              +        } | undefined;
              +        start: number | undefined;
              +        length: number | undefined;
              +        messageText: string | DiagnosticMessageChain;
              +    }
              +    interface EmitOutput {
              +        outputFiles: OutputFile[];
              +        emitSkipped: boolean;
              +    }
              +    interface OutputFile {
              +        name: string;
              +        writeByteOrderMark: boolean;
              +        text: string;
              +    }
              +    export interface LanguageServiceDefaults {
              +        /**
              +         * Event fired when compiler options or diagnostics options are changed.
              +         */
              +        readonly onDidChange: IEvent<void>;
              +        /**
              +         * Event fired when extra libraries registered with the language service change.
              +         */
              +        readonly onDidExtraLibsChange: IEvent<void>;
              +        readonly workerOptions: WorkerOptions;
              +        readonly inlayHintsOptions: InlayHintsOptions;
              +        /**
              +         * Get the current extra libs registered with the language service.
              +         */
              +        getExtraLibs(): IExtraLibs;
              +        /**
              +         * Add an additional source file to the language service. Use this
              +         * for typescript (definition) files that won't be loaded as editor
              +         * documents, like `jquery.d.ts`.
              +         *
              +         * @param content The file content
              +         * @param filePath An optional file path
              +         * @returns A disposable which will remove the file from the
              +         * language service upon disposal.
              +         */
              +        addExtraLib(content: string, filePath?: string): IDisposable;
              +        /**
              +         * Remove all existing extra libs and set the additional source
              +         * files to the language service. Use this for typescript definition
              +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
              +         * @param libs An array of entries to register.
              +         */
              +        setExtraLibs(libs: {
              +            content: string;
              +            filePath?: string;
              +        }[]): void;
              +        /**
              +         * Get current TypeScript compiler options for the language service.
              +         */
              +        getCompilerOptions(): CompilerOptions;
              +        /**
              +         * Set TypeScript compiler options.
              +         */
              +        setCompilerOptions(options: CompilerOptions): void;
              +        /**
              +         * Get the current diagnostics options for the language service.
              +         */
              +        getDiagnosticsOptions(): DiagnosticsOptions;
              +        /**
              +         * Configure whether syntactic and/or semantic validation should
              +         * be performed
              +         */
              +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
              +        /**
              +         * Configure webworker options
              +         */
              +        setWorkerOptions(options: WorkerOptions): void;
              +        /**
              +         * No-op.
              +         */
              +        setMaximumWorkerIdleTime(value: number): void;
              +        /**
              +         * Configure if all existing models should be eagerly sync'd
              +         * to the worker on start or restart.
              +         */
              +        setEagerModelSync(value: boolean): void;
              +        /**
              +         * Get the current setting for whether all existing models should be eagerly sync'd
              +         * to the worker on start or restart.
              +         */
              +        getEagerModelSync(): boolean;
              +        /**
              +         * Configure inlay hints options.
              +         */
              +        setInlayHintsOptions(options: InlayHintsOptions): void;
              +    }
              +    export interface TypeScriptWorker {
              +        /**
              +         * Get diagnostic messages for any syntax issues in the given file.
              +         */
              +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
              +        /**
              +         * Get diagnostic messages for any semantic issues in the given file.
              +         */
              +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
              +        /**
              +         * Get diagnostic messages for any suggestions related to the given file.
              +         */
              +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
              +        /**
              +         * Get the content of a given file.
              +         */
              +        getScriptText(fileName: string): Promise<string | undefined>;
              +        /**
              +         * Get diagnostic messages related to the current compiler options.
              +         * @param fileName Not used
              +         */
              +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
              +        /**
              +         * Get code completions for the given file and position.
              +         * @returns `Promise<typescript.CompletionInfo | undefined>`
              +         */
              +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
              +        /**
              +         * Get code completion details for the given file, position, and entry.
              +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
              +         */
              +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
              +        /**
              +         * Get signature help items for the item at the given file and position.
              +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
              +         */
              +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
              +        /**
              +         * Get quick info for the item at the given position in the file.
              +         * @returns `Promise<typescript.QuickInfo | undefined>`
              +         */
              +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
              +        /**
              +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
              +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
              +         */
              +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
              +        /**
              +         * Get the definition of the item at the given position in the file.
              +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
              +         */
              +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
              +        /**
              +         * Get references to the item at the given position in the file.
              +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
              +         */
              +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
              +        /**
              +         * Get outline entries for the item at the given position in the file.
              +         * @returns `Promise<typescript.NavigationBarItem[]>`
              +         */
              +        getNavigationBarItems(fileName: string): Promise<any[]>;
              +        /**
              +         * Get changes which should be applied to format the given file.
              +         * @param options `typescript.FormatCodeOptions`
              +         * @returns `Promise<typescript.TextChange[]>`
              +         */
              +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
              +        /**
              +         * Get changes which should be applied to format the given range in the file.
              +         * @param options `typescript.FormatCodeOptions`
              +         * @returns `Promise<typescript.TextChange[]>`
              +         */
              +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
              +        /**
              +         * Get formatting changes which should be applied after the given keystroke.
              +         * @param options `typescript.FormatCodeOptions`
              +         * @returns `Promise<typescript.TextChange[]>`
              +         */
              +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
              +        /**
              +         * Get other occurrences which should be updated when renaming the item at the given file and position.
              +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
              +         */
              +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
              +        /**
              +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
              +         * @param options `typescript.RenameInfoOptions`
              +         * @returns `Promise<typescript.RenameInfo>`
              +         */
              +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
              +        /**
              +         * Get transpiled output for the given file.
              +         * @returns `typescript.EmitOutput`
              +         */
              +        getEmitOutput(fileName: string): Promise<EmitOutput>;
              +        /**
              +         * Get possible code fixes at the given position in the file.
              +         * @param formatOptions `typescript.FormatCodeOptions`
              +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
              +         */
              +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
              +        /**
              +         * Get inlay hints in the range of the file.
              +         * @param fileName
              +         * @returns `Promise<typescript.InlayHint[]>`
              +         */
              +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
              +    }
              +    export const typescriptVersion: string;
              +    export const typescriptDefaults: LanguageServiceDefaults;
              +    export const javascriptDefaults: LanguageServiceDefaults;
              +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
              +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
              +}
              +
              +/*---------------------------------------------------------------------------------------------
              + *  Copyright (c) Microsoft Corporation. All rights reserved.
              + *  Licensed under the MIT License. See License.txt in the project root for license information.
              + *--------------------------------------------------------------------------------------------*/
              +
              +declare namespace monaco.languages.css {
              +    export interface Options {
              +        readonly validate?: boolean;
              +        readonly lint?: {
              +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
              +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
              +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
              +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
              +            readonly importStatement?: 'ignore' | 'warning' | 'error';
              +            readonly boxModel?: 'ignore' | 'warning' | 'error';
              +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
              +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
              +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
              +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
              +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
              +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
              +            readonly ieHack?: 'ignore' | 'warning' | 'error';
              +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
              +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
              +            readonly important?: 'ignore' | 'warning' | 'error';
              +            readonly float?: 'ignore' | 'warning' | 'error';
              +            readonly idSelector?: 'ignore' | 'warning' | 'error';
              +        };
              +        /**
              +         * Configures the CSS data types known by the langauge service.
              +         */
              +        readonly data?: CSSDataConfiguration;
              +    }
              +    export interface ModeConfiguration {
              +        /**
              +         * Defines whether the built-in completionItemProvider is enabled.
              +         */
              +        readonly completionItems?: boolean;
              +        /**
              +         * Defines whether the built-in hoverProvider is enabled.
              +         */
              +        readonly hovers?: boolean;
              +        /**
              +         * Defines whether the built-in documentSymbolProvider is enabled.
              +         */
              +        readonly documentSymbols?: boolean;
              +        /**
              +         * Defines whether the built-in definitions provider is enabled.
              +         */
              +        readonly definitions?: boolean;
              +        /**
              +         * Defines whether the built-in references provider is enabled.
              +         */
              +        readonly references?: boolean;
              +        /**
              +         * Defines whether the built-in references provider is enabled.
              +         */
              +        readonly documentHighlights?: boolean;
              +        /**
              +         * Defines whether the built-in rename provider is enabled.
              +         */
              +        readonly rename?: boolean;
              +        /**
              +         * Defines whether the built-in color provider is enabled.
              +         */
              +        readonly colors?: boolean;
              +        /**
              +         * Defines whether the built-in foldingRange provider is enabled.
              +         */
              +        readonly foldingRanges?: boolean;
              +        /**
              +         * Defines whether the built-in diagnostic provider is enabled.
              +         */
              +        readonly diagnostics?: boolean;
              +        /**
              +         * Defines whether the built-in selection range provider is enabled.
              +         */
              +        readonly selectionRanges?: boolean;
              +    }
              +    export interface LanguageServiceDefaults {
              +        readonly languageId: string;
              +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
              +        readonly modeConfiguration: ModeConfiguration;
              +        readonly options: Options;
              +        setOptions(options: Options): void;
              +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
              +        /** @deprecated Use options instead */
              +        readonly diagnosticsOptions: DiagnosticsOptions;
              +        /** @deprecated Use setOptions instead */
              +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
              +    }
              +    /** @deprecated Use Options instead */
              +    export type DiagnosticsOptions = Options;
              +    export const cssDefaults: LanguageServiceDefaults;
              +    export const scssDefaults: LanguageServiceDefaults;
              +    export const lessDefaults: LanguageServiceDefaults;
              +    export interface CSSDataConfiguration {
              +        /**
              +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
              +         */
              +        useDefaultDataProvider?: boolean;
              +        /**
              +         * Provides a set of custom data providers.
              +         */
              +        dataProviders?: {
              +            [providerId: string]: CSSDataV1;
              +        };
              +    }
              +    /**
              +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
              +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
              +     */
              +    export interface CSSDataV1 {
              +        version: 1 | 1.1;
              +        properties?: IPropertyData[];
              +        atDirectives?: IAtDirectiveData[];
              +        pseudoClasses?: IPseudoClassData[];
              +        pseudoElements?: IPseudoElementData[];
              +    }
              +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
              +    export interface IReference {
              +        name: string;
              +        url: string;
              +    }
              +    export interface IPropertyData {
              +        name: string;
              +        description?: string | MarkupContent;
              +        browsers?: string[];
              +        restrictions?: string[];
              +        status?: EntryStatus;
              +        syntax?: string;
              +        values?: IValueData[];
              +        references?: IReference[];
              +        relevance?: number;
              +    }
              +    export interface IAtDirectiveData {
              +        name: string;
              +        description?: string | MarkupContent;
              +        browsers?: string[];
              +        status?: EntryStatus;
              +        references?: IReference[];
              +    }
              +    export interface IPseudoClassData {
              +        name: string;
              +        description?: string | MarkupContent;
              +        browsers?: string[];
              +        status?: EntryStatus;
              +        references?: IReference[];
              +    }
              +    export interface IPseudoElementData {
              +        name: string;
              +        description?: string | MarkupContent;
              +        browsers?: string[];
              +        status?: EntryStatus;
              +        references?: IReference[];
              +    }
              +    export interface IValueData {
              +        name: string;
              +        description?: string | MarkupContent;
              +        browsers?: string[];
              +        status?: EntryStatus;
              +        references?: IReference[];
              +    }
              +    export interface MarkupContent {
              +        kind: MarkupKind;
              +        value: string;
              +    }
              +    export type MarkupKind = 'plaintext' | 'markdown';
              +}
              +
              +/*---------------------------------------------------------------------------------------------
              + *  Copyright (c) Microsoft Corporation. All rights reserved.
              + *  Licensed under the MIT License. See License.txt in the project root for license information.
              + *--------------------------------------------------------------------------------------------*/
              +
              +declare namespace monaco.languages.json {
              +    export interface DiagnosticsOptions {
              +        /**
              +         * If set, the validator will be enabled and perform syntax and schema based validation,
              +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
              +         */
              +        readonly validate?: boolean;
              +        /**
              +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
              +         * `DiagnosticsOptions.allowComments` will override this setting.
              +         */
              +        readonly allowComments?: boolean;
              +        /**
              +         * A list of known schemas and/or associations of schemas to file names.
              +         */
              +        readonly schemas?: {
              +            /**
              +             * The URI of the schema, which is also the identifier of the schema.
              +             */
              +            readonly uri: string;
              +            /**
              +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
              +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
              +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
              +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
              +             */
              +            readonly fileMatch?: string[];
              +            /**
              +             * The schema for the given URI.
              +             */
              +            readonly schema?: any;
              +        }[];
              +        /**
              +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
              +         */
              +        readonly enableSchemaRequest?: boolean;
              +        /**
              +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
              +         */
              +        readonly schemaValidation?: SeverityLevel;
              +        /**
              +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
              +         */
              +        readonly schemaRequest?: SeverityLevel;
              +        /**
              +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
              +         */
              +        readonly trailingCommas?: SeverityLevel;
              +        /**
              +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
              +         */
              +        readonly comments?: SeverityLevel;
              +    }
              +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
              +    export interface ModeConfiguration {
              +        /**
              +         * Defines whether the built-in documentFormattingEdit provider is enabled.
              +         */
              +        readonly documentFormattingEdits?: boolean;
              +        /**
              +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
              +         */
              +        readonly documentRangeFormattingEdits?: boolean;
              +        /**
              +         * Defines whether the built-in completionItemProvider is enabled.
              +         */
              +        readonly completionItems?: boolean;
              +        /**
              +         * Defines whether the built-in hoverProvider is enabled.
              +         */
              +        readonly hovers?: boolean;
              +        /**
              +         * Defines whether the built-in documentSymbolProvider is enabled.
              +         */
              +        readonly documentSymbols?: boolean;
              +        /**
              +         * Defines whether the built-in tokens provider is enabled.
              +         */
              +        readonly tokens?: boolean;
              +        /**
              +         * Defines whether the built-in color provider is enabled.
              +         */
              +        readonly colors?: boolean;
              +        /**
              +         * Defines whether the built-in foldingRange provider is enabled.
              +         */
              +        readonly foldingRanges?: boolean;
              +        /**
              +         * Defines whether the built-in diagnostic provider is enabled.
              +         */
              +        readonly diagnostics?: boolean;
              +        /**
              +         * Defines whether the built-in selection range provider is enabled.
              +         */
              +        readonly selectionRanges?: boolean;
              +    }
              +    export interface LanguageServiceDefaults {
              +        readonly languageId: string;
              +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
              +        readonly diagnosticsOptions: DiagnosticsOptions;
              +        readonly modeConfiguration: ModeConfiguration;
              +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
              +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
              +    }
              +    export const jsonDefaults: LanguageServiceDefaults;
              +}
              +
              +/*---------------------------------------------------------------------------------------------
              + *  Copyright (c) Microsoft Corporation. All rights reserved.
              + *  Licensed under the MIT License. See License.txt in the project root for license information.
              + *--------------------------------------------------------------------------------------------*/
              +
              +declare namespace monaco.languages.html {
              +    export interface HTMLFormatConfiguration {
              +        readonly tabSize: number;
              +        readonly insertSpaces: boolean;
              +        readonly wrapLineLength: number;
              +        readonly unformatted: string;
              +        readonly contentUnformatted: string;
              +        readonly indentInnerHtml: boolean;
              +        readonly preserveNewLines: boolean;
              +        readonly maxPreserveNewLines: number | undefined;
              +        readonly indentHandlebars: boolean;
              +        readonly endWithNewline: boolean;
              +        readonly extraLiners: string;
              +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
              +    }
              +    export interface CompletionConfiguration {
              +        readonly [providerId: string]: boolean;
              +    }
              +    export interface Options {
              +        /**
              +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
              +         */
              +        readonly format?: HTMLFormatConfiguration;
              +        /**
              +         * A list of known schemas and/or associations of schemas to file names.
              +         */
              +        readonly suggest?: CompletionConfiguration;
              +        /**
              +         * Configures the HTML data types known by the HTML langauge service.
              +         */
              +        readonly data?: HTMLDataConfiguration;
              +    }
              +    export interface ModeConfiguration {
              +        /**
              +         * Defines whether the built-in completionItemProvider is enabled.
              +         */
              +        readonly completionItems?: boolean;
              +        /**
              +         * Defines whether the built-in hoverProvider is enabled.
              +         */
              +        readonly hovers?: boolean;
              +        /**
              +         * Defines whether the built-in documentSymbolProvider is enabled.
              +         */
              +        readonly documentSymbols?: boolean;
              +        /**
              +         * Defines whether the built-in definitions provider is enabled.
              +         */
              +        readonly links?: boolean;
              +        /**
              +         * Defines whether the built-in references provider is enabled.
              +         */
              +        readonly documentHighlights?: boolean;
              +        /**
              +         * Defines whether the built-in rename provider is enabled.
              +         */
              +        readonly rename?: boolean;
              +        /**
              +         * Defines whether the built-in color provider is enabled.
              +         */
              +        readonly colors?: boolean;
              +        /**
              +         * Defines whether the built-in foldingRange provider is enabled.
              +         */
              +        readonly foldingRanges?: boolean;
              +        /**
              +         * Defines whether the built-in diagnostic provider is enabled.
              +         */
              +        readonly diagnostics?: boolean;
              +        /**
              +         * Defines whether the built-in selection range provider is enabled.
              +         */
              +        readonly selectionRanges?: boolean;
              +        /**
              +         * Defines whether the built-in documentFormattingEdit provider is enabled.
              +         */
              +        readonly documentFormattingEdits?: boolean;
              +        /**
              +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
              +         */
              +        readonly documentRangeFormattingEdits?: boolean;
              +    }
              +    export interface LanguageServiceDefaults {
              +        readonly languageId: string;
              +        readonly modeConfiguration: ModeConfiguration;
              +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
              +        readonly options: Options;
              +        setOptions(options: Options): void;
              +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
              +    }
              +    export const htmlLanguageService: LanguageServiceRegistration;
              +    export const htmlDefaults: LanguageServiceDefaults;
              +    export const handlebarLanguageService: LanguageServiceRegistration;
              +    export const handlebarDefaults: LanguageServiceDefaults;
              +    export const razorLanguageService: LanguageServiceRegistration;
              +    export const razorDefaults: LanguageServiceDefaults;
              +    export interface LanguageServiceRegistration extends IDisposable {
              +        readonly defaults: LanguageServiceDefaults;
              +    }
              +    /**
              +     * Registers a new HTML language service for the languageId.
              +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
              +     *
              +     * Use this method to register additional language ids with a HTML service.
              +     * The language server has to be registered before an editor model is opened.
              +     */
              +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
              +    export interface HTMLDataConfiguration {
              +        /**
              +         * Defines whether the standard HTML tags and attributes are shown
              +         */
              +        readonly useDefaultDataProvider?: boolean;
              +        /**
              +         * Provides a set of custom data providers.
              +         */
              +        readonly dataProviders?: {
              +            [providerId: string]: HTMLDataV1;
              +        };
              +    }
              +    /**
              +     * Custom HTML tags attributes and attribute values
              +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
              +     */
              +    export interface HTMLDataV1 {
              +        readonly version: 1 | 1.1;
              +        readonly tags?: ITagData[];
              +        readonly globalAttributes?: IAttributeData[];
              +        readonly valueSets?: IValueSet[];
              +    }
              +    export interface IReference {
              +        readonly name: string;
              +        readonly url: string;
              +    }
              +    export interface ITagData {
              +        readonly name: string;
              +        readonly description?: string | MarkupContent;
              +        readonly attributes: IAttributeData[];
              +        readonly references?: IReference[];
              +    }
              +    export interface IAttributeData {
              +        readonly name: string;
              +        readonly description?: string | MarkupContent;
              +        readonly valueSet?: string;
              +        readonly values?: IValueData[];
              +        readonly references?: IReference[];
              +    }
              +    export interface IValueData {
              +        readonly name: string;
              +        readonly description?: string | MarkupContent;
              +        readonly references?: IReference[];
              +    }
              +    export interface IValueSet {
              +        readonly name: string;
              +        readonly values: IValueData[];
              +    }
              +    export interface MarkupContent {
              +        readonly kind: MarkupKind;
              +        readonly value: string;
              +    }
              +    export type MarkupKind = 'plaintext' | 'markdown';
              +}
              +
              +
              +
              + + + + + + + + +
              +
              +

              results matching ""

              +
                +
                +
                +

                No results matching ""

                +
                +
                +
                + +
                +
                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/Token.html b/docs/api-reference/classes/Token.html new file mode 100644 index 00000000..07fee245 --- /dev/null +++ b/docs/api-reference/classes/Token.html @@ -0,0 +1,8212 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
                +
                + + +
                +
                + + + + + + + + + + + + + + + +
                +
                +

                +

                File

                +

                +

                + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

                + + + + + + +
                +

                Index

                + + + + + + + + + + + + + + + + + + + + + +
                +
                Properties
                +
                + +
                +
                Methods
                +
                + +
                +
                + +
                +

                Constructor

                + + + + + + + + + + + + + +
                +constructor(offset: number, type: string, language: string) +
                + +
                +
                + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                NameTypeOptional
                offset + number + + No +
                type + string + + No +
                language + string + + No +
                +
                +
                +
                + +
                + +

                + Properties +

                + + + + + + + + + + + + + + +
                + + + _tokenBrand + + +
                + Type : void + +
                + +
                + + + + + + + + + + + + + + +
                + + + Readonly + language + + +
                + Type : string + +
                + +
                + + + + + + + + + + + + + + +
                + + + Readonly + offset + + +
                + Type : number + +
                + +
                + + + + + + + + + + + + + + +
                + + + Readonly + type + + +
                + Type : string + +
                + +
                +
                + +
                + +

                + Methods +

                + + + + + + + + + + + + + + + + + + + +
                + + + toString + + +
                +toString() +
                + +
                + +
                + Returns : string + +
                +
                +
                + + + + + +
                + + +
                +
                declare let MonacoEnvironment: monaco.Environment | undefined;
                +
                +interface Window {
                +    MonacoEnvironment?: monaco.Environment | undefined;
                +}
                +
                +declare namespace monaco {
                +
                +    export type Thenable<T> = PromiseLike<T>;
                +
                +    export interface Environment {
                +        globalAPI?: boolean;
                +        baseUrl?: string;
                +        getWorker?(workerId: string, label: string): Worker;
                +        getWorkerUrl?(workerId: string, label: string): string;
                +    }
                +
                +    export interface IDisposable {
                +        dispose(): void;
                +    }
                +
                +    export interface IEvent<T> {
                +        (listener: (e: T) => any, thisArg?: any): IDisposable;
                +    }
                +
                +    /**
                +     * A helper that allows to emit and listen to typed events
                +     */
                +    export class Emitter<T> {
                +        constructor();
                +        readonly event: IEvent<T>;
                +        fire(event: T): void;
                +        dispose(): void;
                +    }
                +
                +
                +    export enum MarkerTag {
                +        Unnecessary = 1,
                +        Deprecated = 2
                +    }
                +
                +    export enum MarkerSeverity {
                +        Hint = 1,
                +        Info = 2,
                +        Warning = 4,
                +        Error = 8
                +    }
                +
                +    export class CancellationTokenSource {
                +        constructor(parent?: CancellationToken);
                +        get token(): CancellationToken;
                +        cancel(): void;
                +        dispose(cancel?: boolean): void;
                +    }
                +
                +    export interface CancellationToken {
                +        /**
                +         * A flag signalling is cancellation has been requested.
                +         */
                +        readonly isCancellationRequested: boolean;
                +        /**
                +         * An event which fires when cancellation is requested. This event
                +         * only ever fires `once` as cancellation can only happen once. Listeners
                +         * that are registered after cancellation will be called (next event loop run),
                +         * but also only once.
                +         *
                +         * @event
                +         */
                +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
                +    }
                +    /**
                +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
                +     * This class is a simple parser which creates the basic component parts
                +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
                +     * and encoding.
                +     *
                +     * ```txt
                +     *       foo://example.com:8042/over/there?name=ferret#nose
                +     *       \_/   \______________/\_________/ \_________/ \__/
                +     *        |           |            |            |        |
                +     *     scheme     authority       path        query   fragment
                +     *        |   _____________________|__
                +     *       / \ /                        \
                +     *       urn:example:animal:ferret:nose
                +     * ```
                +     */
                +    export class Uri implements UriComponents {
                +        static isUri(thing: any): thing is Uri;
                +        /**
                +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
                +         * The part before the first colon.
                +         */
                +        readonly scheme: string;
                +        /**
                +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
                +         * The part between the first double slashes and the next slash.
                +         */
                +        readonly authority: string;
                +        /**
                +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
                +         */
                +        readonly path: string;
                +        /**
                +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
                +         */
                +        readonly query: string;
                +        /**
                +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
                +         */
                +        readonly fragment: string;
                +        /**
                +         * Returns a string representing the corresponding file system path of this Uri.
                +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
                +         * platform specific path separator.
                +         *
                +         * * Will *not* validate the path for invalid characters and semantics.
                +         * * Will *not* look at the scheme of this Uri.
                +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
                +         *
                +         *
                +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
                +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
                +         *
                +         * ```ts
                +            const u = Uri.parse('file://server/c$/folder/file.txt')
                +            u.authority === 'server'
                +            u.path === '/shares/c$/file.txt'
                +            u.fsPath === '\\server\c$\folder\file.txt'
                +        ```
                +         *
                +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
                +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
                +         * with URIs that represent files on disk (`file` scheme).
                +         */
                +        get fsPath(): string;
                +        with(change: {
                +            scheme?: string;
                +            authority?: string | null;
                +            path?: string | null;
                +            query?: string | null;
                +            fragment?: string | null;
                +        }): Uri;
                +        /**
                +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
                +         * `file:///usr/home`, or `scheme:with/path`.
                +         *
                +         * @param value A string which represents an Uri (see `Uri#toString`).
                +         */
                +        static parse(value: string, _strict?: boolean): Uri;
                +        /**
                +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
                +         * `/usr/home`, or `\\server\share\some\path`.
                +         *
                +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
                +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
                +         * `Uri.parse('file://' + path)` because the path might contain characters that are
                +         * interpreted (# and ?). See the following sample:
                +         * ```ts
                +        const good = Uri.file('/coding/c#/project1');
                +        good.scheme === 'file';
                +        good.path === '/coding/c#/project1';
                +        good.fragment === '';
                +        const bad = Uri.parse('file://' + '/coding/c#/project1');
                +        bad.scheme === 'file';
                +        bad.path === '/coding/c'; // path is now broken
                +        bad.fragment === '/project1';
                +        ```
                +         *
                +         * @param path A file system path (see `Uri#fsPath`)
                +         */
                +        static file(path: string): Uri;
                +        static from(components: {
                +            scheme: string;
                +            authority?: string;
                +            path?: string;
                +            query?: string;
                +            fragment?: string;
                +        }): Uri;
                +        /**
                +         * Join a Uri path with path fragments and normalizes the resulting path.
                +         *
                +         * @param uri The input Uri.
                +         * @param pathFragment The path fragment to add to the Uri path.
                +         * @returns The resulting Uri.
                +         */
                +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
                +        /**
                +         * Creates a string representation for this Uri. It's guaranteed that calling
                +         * `Uri.parse` with the result of this function creates an Uri which is equal
                +         * to this Uri.
                +         *
                +         * * The result shall *not* be used for display purposes but for externalization or transport.
                +         * * The result will be encoded using the percentage encoding and encoding happens mostly
                +         * ignore the scheme-specific encoding rules.
                +         *
                +         * @param skipEncoding Do not encode the result, default is `false`
                +         */
                +        toString(skipEncoding?: boolean): string;
                +        toJSON(): UriComponents;
                +        static revive(data: UriComponents | Uri): Uri;
                +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
                +        static revive(data: UriComponents | Uri | null): Uri | null;
                +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
                +    }
                +
                +    export interface UriComponents {
                +        scheme: string;
                +        authority: string;
                +        path: string;
                +        query: string;
                +        fragment: string;
                +    }
                +    /**
                +     * Virtual Key Codes, the value does not hold any inherent meaning.
                +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
                +     * But these are "more general", as they should work across browsers & OS`s.
                +     */
                +    export enum KeyCode {
                +        DependsOnKbLayout = -1,
                +        /**
                +         * Placed first to cover the 0 value of the enum.
                +         */
                +        Unknown = 0,
                +        Backspace = 1,
                +        Tab = 2,
                +        Enter = 3,
                +        Shift = 4,
                +        Ctrl = 5,
                +        Alt = 6,
                +        PauseBreak = 7,
                +        CapsLock = 8,
                +        Escape = 9,
                +        Space = 10,
                +        PageUp = 11,
                +        PageDown = 12,
                +        End = 13,
                +        Home = 14,
                +        LeftArrow = 15,
                +        UpArrow = 16,
                +        RightArrow = 17,
                +        DownArrow = 18,
                +        Insert = 19,
                +        Delete = 20,
                +        Digit0 = 21,
                +        Digit1 = 22,
                +        Digit2 = 23,
                +        Digit3 = 24,
                +        Digit4 = 25,
                +        Digit5 = 26,
                +        Digit6 = 27,
                +        Digit7 = 28,
                +        Digit8 = 29,
                +        Digit9 = 30,
                +        KeyA = 31,
                +        KeyB = 32,
                +        KeyC = 33,
                +        KeyD = 34,
                +        KeyE = 35,
                +        KeyF = 36,
                +        KeyG = 37,
                +        KeyH = 38,
                +        KeyI = 39,
                +        KeyJ = 40,
                +        KeyK = 41,
                +        KeyL = 42,
                +        KeyM = 43,
                +        KeyN = 44,
                +        KeyO = 45,
                +        KeyP = 46,
                +        KeyQ = 47,
                +        KeyR = 48,
                +        KeyS = 49,
                +        KeyT = 50,
                +        KeyU = 51,
                +        KeyV = 52,
                +        KeyW = 53,
                +        KeyX = 54,
                +        KeyY = 55,
                +        KeyZ = 56,
                +        Meta = 57,
                +        ContextMenu = 58,
                +        F1 = 59,
                +        F2 = 60,
                +        F3 = 61,
                +        F4 = 62,
                +        F5 = 63,
                +        F6 = 64,
                +        F7 = 65,
                +        F8 = 66,
                +        F9 = 67,
                +        F10 = 68,
                +        F11 = 69,
                +        F12 = 70,
                +        F13 = 71,
                +        F14 = 72,
                +        F15 = 73,
                +        F16 = 74,
                +        F17 = 75,
                +        F18 = 76,
                +        F19 = 77,
                +        NumLock = 78,
                +        ScrollLock = 79,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the ';:' key
                +         */
                +        Semicolon = 80,
                +        /**
                +         * For any country/region, the '+' key
                +         * For the US standard keyboard, the '=+' key
                +         */
                +        Equal = 81,
                +        /**
                +         * For any country/region, the ',' key
                +         * For the US standard keyboard, the ',<' key
                +         */
                +        Comma = 82,
                +        /**
                +         * For any country/region, the '-' key
                +         * For the US standard keyboard, the '-_' key
                +         */
                +        Minus = 83,
                +        /**
                +         * For any country/region, the '.' key
                +         * For the US standard keyboard, the '.>' key
                +         */
                +        Period = 84,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the '/?' key
                +         */
                +        Slash = 85,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the '`~' key
                +         */
                +        Backquote = 86,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the '[{' key
                +         */
                +        BracketLeft = 87,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the '\|' key
                +         */
                +        Backslash = 88,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the ']}' key
                +         */
                +        BracketRight = 89,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         * For the US standard keyboard, the ''"' key
                +         */
                +        Quote = 90,
                +        /**
                +         * Used for miscellaneous characters; it can vary by keyboard.
                +         */
                +        OEM_8 = 91,
                +        /**
                +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
                +         */
                +        IntlBackslash = 92,
                +        Numpad0 = 93,
                +        Numpad1 = 94,
                +        Numpad2 = 95,
                +        Numpad3 = 96,
                +        Numpad4 = 97,
                +        Numpad5 = 98,
                +        Numpad6 = 99,
                +        Numpad7 = 100,
                +        Numpad8 = 101,
                +        Numpad9 = 102,
                +        NumpadMultiply = 103,
                +        NumpadAdd = 104,
                +        NUMPAD_SEPARATOR = 105,
                +        NumpadSubtract = 106,
                +        NumpadDecimal = 107,
                +        NumpadDivide = 108,
                +        /**
                +         * Cover all key codes when IME is processing input.
                +         */
                +        KEY_IN_COMPOSITION = 109,
                +        ABNT_C1 = 110,
                +        ABNT_C2 = 111,
                +        AudioVolumeMute = 112,
                +        AudioVolumeUp = 113,
                +        AudioVolumeDown = 114,
                +        BrowserSearch = 115,
                +        BrowserHome = 116,
                +        BrowserBack = 117,
                +        BrowserForward = 118,
                +        MediaTrackNext = 119,
                +        MediaTrackPrevious = 120,
                +        MediaStop = 121,
                +        MediaPlayPause = 122,
                +        LaunchMediaPlayer = 123,
                +        LaunchMail = 124,
                +        LaunchApp2 = 125,
                +        /**
                +         * Placed last to cover the length of the enum.
                +         * Please do not depend on this value!
                +         */
                +        MAX_VALUE = 126
                +    }
                +    export class KeyMod {
                +        static readonly CtrlCmd: number;
                +        static readonly Shift: number;
                +        static readonly Alt: number;
                +        static readonly WinCtrl: number;
                +        static chord(firstPart: number, secondPart: number): number;
                +    }
                +
                +    export interface IMarkdownString {
                +        readonly value: string;
                +        readonly isTrusted?: boolean;
                +        readonly supportThemeIcons?: boolean;
                +        readonly supportHtml?: boolean;
                +        uris?: {
                +            [href: string]: UriComponents;
                +        };
                +    }
                +
                +    export interface IKeyboardEvent {
                +        readonly _standardKeyboardEventBrand: true;
                +        readonly browserEvent: KeyboardEvent;
                +        readonly target: HTMLElement;
                +        readonly ctrlKey: boolean;
                +        readonly shiftKey: boolean;
                +        readonly altKey: boolean;
                +        readonly metaKey: boolean;
                +        readonly keyCode: KeyCode;
                +        readonly code: string;
                +        equals(keybinding: number): boolean;
                +        preventDefault(): void;
                +        stopPropagation(): void;
                +    }
                +    export interface IMouseEvent {
                +        readonly browserEvent: MouseEvent;
                +        readonly leftButton: boolean;
                +        readonly middleButton: boolean;
                +        readonly rightButton: boolean;
                +        readonly buttons: number;
                +        readonly target: HTMLElement;
                +        readonly detail: number;
                +        readonly posx: number;
                +        readonly posy: number;
                +        readonly ctrlKey: boolean;
                +        readonly shiftKey: boolean;
                +        readonly altKey: boolean;
                +        readonly metaKey: boolean;
                +        readonly timestamp: number;
                +        preventDefault(): void;
                +        stopPropagation(): void;
                +    }
                +
                +    export interface IScrollEvent {
                +        readonly scrollTop: number;
                +        readonly scrollLeft: number;
                +        readonly scrollWidth: number;
                +        readonly scrollHeight: number;
                +        readonly scrollTopChanged: boolean;
                +        readonly scrollLeftChanged: boolean;
                +        readonly scrollWidthChanged: boolean;
                +        readonly scrollHeightChanged: boolean;
                +    }
                +    /**
                +     * A position in the editor. This interface is suitable for serialization.
                +     */
                +    export interface IPosition {
                +        /**
                +         * line number (starts at 1)
                +         */
                +        readonly lineNumber: number;
                +        /**
                +         * column (the first character in a line is between column 1 and column 2)
                +         */
                +        readonly column: number;
                +    }
                +
                +    /**
                +     * A position in the editor.
                +     */
                +    export class Position {
                +        /**
                +         * line number (starts at 1)
                +         */
                +        readonly lineNumber: number;
                +        /**
                +         * column (the first character in a line is between column 1 and column 2)
                +         */
                +        readonly column: number;
                +        constructor(lineNumber: number, column: number);
                +        /**
                +         * Create a new position from this position.
                +         *
                +         * @param newLineNumber new line number
                +         * @param newColumn new column
                +         */
                +        with(newLineNumber?: number, newColumn?: number): Position;
                +        /**
                +         * Derive a new position from this position.
                +         *
                +         * @param deltaLineNumber line number delta
                +         * @param deltaColumn column delta
                +         */
                +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
                +        /**
                +         * Test if this position equals other position
                +         */
                +        equals(other: IPosition): boolean;
                +        /**
                +         * Test if position `a` equals position `b`
                +         */
                +        static equals(a: IPosition | null, b: IPosition | null): boolean;
                +        /**
                +         * Test if this position is before other position.
                +         * If the two positions are equal, the result will be false.
                +         */
                +        isBefore(other: IPosition): boolean;
                +        /**
                +         * Test if position `a` is before position `b`.
                +         * If the two positions are equal, the result will be false.
                +         */
                +        static isBefore(a: IPosition, b: IPosition): boolean;
                +        /**
                +         * Test if this position is before other position.
                +         * If the two positions are equal, the result will be true.
                +         */
                +        isBeforeOrEqual(other: IPosition): boolean;
                +        /**
                +         * Test if position `a` is before position `b`.
                +         * If the two positions are equal, the result will be true.
                +         */
                +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
                +        /**
                +         * A function that compares positions, useful for sorting
                +         */
                +        static compare(a: IPosition, b: IPosition): number;
                +        /**
                +         * Clone this position.
                +         */
                +        clone(): Position;
                +        /**
                +         * Convert to a human-readable representation.
                +         */
                +        toString(): string;
                +        /**
                +         * Create a `Position` from an `IPosition`.
                +         */
                +        static lift(pos: IPosition): Position;
                +        /**
                +         * Test if `obj` is an `IPosition`.
                +         */
                +        static isIPosition(obj: any): obj is IPosition;
                +    }
                +
                +    /**
                +     * A range in the editor. This interface is suitable for serialization.
                +     */
                +    export interface IRange {
                +        /**
                +         * Line number on which the range starts (starts at 1).
                +         */
                +        readonly startLineNumber: number;
                +        /**
                +         * Column on which the range starts in line `startLineNumber` (starts at 1).
                +         */
                +        readonly startColumn: number;
                +        /**
                +         * Line number on which the range ends.
                +         */
                +        readonly endLineNumber: number;
                +        /**
                +         * Column on which the range ends in line `endLineNumber`.
                +         */
                +        readonly endColumn: number;
                +    }
                +
                +    /**
                +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
                +     */
                +    export class Range {
                +        /**
                +         * Line number on which the range starts (starts at 1).
                +         */
                +        readonly startLineNumber: number;
                +        /**
                +         * Column on which the range starts in line `startLineNumber` (starts at 1).
                +         */
                +        readonly startColumn: number;
                +        /**
                +         * Line number on which the range ends.
                +         */
                +        readonly endLineNumber: number;
                +        /**
                +         * Column on which the range ends in line `endLineNumber`.
                +         */
                +        readonly endColumn: number;
                +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
                +        /**
                +         * Test if this range is empty.
                +         */
                +        isEmpty(): boolean;
                +        /**
                +         * Test if `range` is empty.
                +         */
                +        static isEmpty(range: IRange): boolean;
                +        /**
                +         * Test if position is in this range. If the position is at the edges, will return true.
                +         */
                +        containsPosition(position: IPosition): boolean;
                +        /**
                +         * Test if `position` is in `range`. If the position is at the edges, will return true.
                +         */
                +        static containsPosition(range: IRange, position: IPosition): boolean;
                +        /**
                +         * Test if range is in this range. If the range is equal to this range, will return true.
                +         */
                +        containsRange(range: IRange): boolean;
                +        /**
                +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
                +         */
                +        static containsRange(range: IRange, otherRange: IRange): boolean;
                +        /**
                +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
                +         */
                +        strictContainsRange(range: IRange): boolean;
                +        /**
                +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
                +         */
                +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
                +        /**
                +         * A reunion of the two ranges.
                +         * The smallest position will be used as the start point, and the largest one as the end point.
                +         */
                +        plusRange(range: IRange): Range;
                +        /**
                +         * A reunion of the two ranges.
                +         * The smallest position will be used as the start point, and the largest one as the end point.
                +         */
                +        static plusRange(a: IRange, b: IRange): Range;
                +        /**
                +         * A intersection of the two ranges.
                +         */
                +        intersectRanges(range: IRange): Range | null;
                +        /**
                +         * A intersection of the two ranges.
                +         */
                +        static intersectRanges(a: IRange, b: IRange): Range | null;
                +        /**
                +         * Test if this range equals other.
                +         */
                +        equalsRange(other: IRange | null): boolean;
                +        /**
                +         * Test if range `a` equals `b`.
                +         */
                +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
                +        /**
                +         * Return the end position (which will be after or equal to the start position)
                +         */
                +        getEndPosition(): Position;
                +        /**
                +         * Return the end position (which will be after or equal to the start position)
                +         */
                +        static getEndPosition(range: IRange): Position;
                +        /**
                +         * Return the start position (which will be before or equal to the end position)
                +         */
                +        getStartPosition(): Position;
                +        /**
                +         * Return the start position (which will be before or equal to the end position)
                +         */
                +        static getStartPosition(range: IRange): Position;
                +        /**
                +         * Transform to a user presentable string representation.
                +         */
                +        toString(): string;
                +        /**
                +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
                +         */
                +        setEndPosition(endLineNumber: number, endColumn: number): Range;
                +        /**
                +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
                +         */
                +        setStartPosition(startLineNumber: number, startColumn: number): Range;
                +        /**
                +         * Create a new empty range using this range's start position.
                +         */
                +        collapseToStart(): Range;
                +        /**
                +         * Create a new empty range using this range's start position.
                +         */
                +        static collapseToStart(range: IRange): Range;
                +        static fromPositions(start: IPosition, end?: IPosition): Range;
                +        /**
                +         * Create a `Range` from an `IRange`.
                +         */
                +        static lift(range: undefined | null): null;
                +        static lift(range: IRange): Range;
                +        /**
                +         * Test if `obj` is an `IRange`.
                +         */
                +        static isIRange(obj: any): obj is IRange;
                +        /**
                +         * Test if the two ranges are touching in any way.
                +         */
                +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
                +        /**
                +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
                +         */
                +        static areIntersecting(a: IRange, b: IRange): boolean;
                +        /**
                +         * A function that compares ranges, useful for sorting ranges
                +         * It will first compare ranges on the startPosition and then on the endPosition
                +         */
                +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
                +        /**
                +         * A function that compares ranges, useful for sorting ranges
                +         * It will first compare ranges on the endPosition and then on the startPosition
                +         */
                +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
                +        /**
                +         * Test if the range spans multiple lines.
                +         */
                +        static spansMultipleLines(range: IRange): boolean;
                +    }
                +
                +    /**
                +     * A selection in the editor.
                +     * The selection is a range that has an orientation.
                +     */
                +    export interface ISelection {
                +        /**
                +         * The line number on which the selection has started.
                +         */
                +        readonly selectionStartLineNumber: number;
                +        /**
                +         * The column on `selectionStartLineNumber` where the selection has started.
                +         */
                +        readonly selectionStartColumn: number;
                +        /**
                +         * The line number on which the selection has ended.
                +         */
                +        readonly positionLineNumber: number;
                +        /**
                +         * The column on `positionLineNumber` where the selection has ended.
                +         */
                +        readonly positionColumn: number;
                +    }
                +
                +    /**
                +     * A selection in the editor.
                +     * The selection is a range that has an orientation.
                +     */
                +    export class Selection extends Range {
                +        /**
                +         * The line number on which the selection has started.
                +         */
                +        readonly selectionStartLineNumber: number;
                +        /**
                +         * The column on `selectionStartLineNumber` where the selection has started.
                +         */
                +        readonly selectionStartColumn: number;
                +        /**
                +         * The line number on which the selection has ended.
                +         */
                +        readonly positionLineNumber: number;
                +        /**
                +         * The column on `positionLineNumber` where the selection has ended.
                +         */
                +        readonly positionColumn: number;
                +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
                +        /**
                +         * Transform to a human-readable representation.
                +         */
                +        toString(): string;
                +        /**
                +         * Test if equals other selection.
                +         */
                +        equalsSelection(other: ISelection): boolean;
                +        /**
                +         * Test if the two selections are equal.
                +         */
                +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
                +        /**
                +         * Get directions (LTR or RTL).
                +         */
                +        getDirection(): SelectionDirection;
                +        /**
                +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
                +         */
                +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
                +        /**
                +         * Get the position at `positionLineNumber` and `positionColumn`.
                +         */
                +        getPosition(): Position;
                +        /**
                +         * Get the position at the start of the selection.
                +        */
                +        getSelectionStart(): Position;
                +        /**
                +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
                +         */
                +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
                +        /**
                +         * Create a `Selection` from one or two positions
                +         */
                +        static fromPositions(start: IPosition, end?: IPosition): Selection;
                +        /**
                +         * Creates a `Selection` from a range, given a direction.
                +         */
                +        static fromRange(range: Range, direction: SelectionDirection): Selection;
                +        /**
                +         * Create a `Selection` from an `ISelection`.
                +         */
                +        static liftSelection(sel: ISelection): Selection;
                +        /**
                +         * `a` equals `b`.
                +         */
                +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
                +        /**
                +         * Test if `obj` is an `ISelection`.
                +         */
                +        static isISelection(obj: any): obj is ISelection;
                +        /**
                +         * Create with a direction.
                +         */
                +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
                +    }
                +
                +    /**
                +     * The direction of a selection.
                +     */
                +    export enum SelectionDirection {
                +        /**
                +         * The selection starts above where it ends.
                +         */
                +        LTR = 0,
                +        /**
                +         * The selection starts below where it ends.
                +         */
                +        RTL = 1
                +    }
                +
                +    export class Token {
                +        _tokenBrand: void;
                +        readonly offset: number;
                +        readonly type: string;
                +        readonly language: string;
                +        constructor(offset: number, type: string, language: string);
                +        toString(): string;
                +    }
                +}
                +
                +declare namespace monaco.editor {
                +
                +    export interface IDiffNavigator {
                +        canNavigate(): boolean;
                +        next(): void;
                +        previous(): void;
                +        dispose(): void;
                +    }
                +
                +    /**
                +     * Create a new editor under `domElement`.
                +     * `domElement` should be empty (not contain other dom nodes).
                +     * The editor will read the size of `domElement`.
                +     */
                +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
                +
                +    /**
                +     * Emitted when an editor is created.
                +     * Creating a diff editor might cause this listener to be invoked with the two editors.
                +     * @event
                +     */
                +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
                +
                +    /**
                +     * Create a new diff editor under `domElement`.
                +     * `domElement` should be empty (not contain other dom nodes).
                +     * The editor will read the size of `domElement`.
                +     */
                +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
                +
                +    export interface IDiffNavigatorOptions {
                +        readonly followsCaret?: boolean;
                +        readonly ignoreCharChanges?: boolean;
                +        readonly alwaysRevealFirst?: boolean;
                +    }
                +
                +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
                +
                +    /**
                +     * Create a new editor model.
                +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
                +     */
                +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
                +
                +    /**
                +     * Change the language for a model.
                +     */
                +    export function setModelLanguage(model: ITextModel, languageId: string): void;
                +
                +    /**
                +     * Set the markers for a model.
                +     */
                +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
                +
                +    /**
                +     * Get markers for owner and/or resource
                +     *
                +     * @returns list of markers
                +     */
                +    export function getModelMarkers(filter: {
                +        owner?: string;
                +        resource?: Uri;
                +        take?: number;
                +    }): IMarker[];
                +
                +    /**
                +     * Emitted when markers change for a model.
                +     * @event
                +     */
                +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
                +
                +    /**
                +     * Get the model that has `uri` if it exists.
                +     */
                +    export function getModel(uri: Uri): ITextModel | null;
                +
                +    /**
                +     * Get all the created models.
                +     */
                +    export function getModels(): ITextModel[];
                +
                +    /**
                +     * Emitted when a model is created.
                +     * @event
                +     */
                +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
                +
                +    /**
                +     * Emitted right before a model is disposed.
                +     * @event
                +     */
                +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
                +
                +    /**
                +     * Emitted when a different language is set to a model.
                +     * @event
                +     */
                +    export function onDidChangeModelLanguage(listener: (e: {
                +        readonly model: ITextModel;
                +        readonly oldLanguage: string;
                +    }) => void): IDisposable;
                +
                +    /**
                +     * Create a new web worker that has model syncing capabilities built in.
                +     * Specify an AMD module to load that will `create` an object that will be proxied.
                +     */
                +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
                +
                +    /**
                +     * Colorize the contents of `domNode` using attribute `data-lang`.
                +     */
                +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
                +
                +    /**
                +     * Colorize `text` using language `languageId`.
                +     */
                +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
                +
                +    /**
                +     * Colorize a line in a model.
                +     */
                +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
                +
                +    /**
                +     * Tokenize `text` using language `languageId`
                +     */
                +    export function tokenize(text: string, languageId: string): Token[][];
                +
                +    /**
                +     * Define a new theme or update an existing theme.
                +     */
                +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
                +
                +    /**
                +     * Switches to a theme.
                +     */
                +    export function setTheme(themeName: string): void;
                +
                +    /**
                +     * Clears all cached font measurements and triggers re-measurement.
                +     */
                +    export function remeasureFonts(): void;
                +
                +    /**
                +     * Register a command.
                +     */
                +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
                +
                +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
                +
                +    export interface IStandaloneThemeData {
                +        base: BuiltinTheme;
                +        inherit: boolean;
                +        rules: ITokenThemeRule[];
                +        encodedTokensColors?: string[];
                +        colors: IColors;
                +    }
                +
                +    export type IColors = {
                +        [colorId: string]: string;
                +    };
                +
                +    export interface ITokenThemeRule {
                +        token: string;
                +        foreground?: string;
                +        background?: string;
                +        fontStyle?: string;
                +    }
                +
                +    /**
                +     * A web worker that can provide a proxy to an arbitrary file.
                +     */
                +    export interface MonacoWebWorker<T> {
                +        /**
                +         * Terminate the web worker, thus invalidating the returned proxy.
                +         */
                +        dispose(): void;
                +        /**
                +         * Get a proxy to the arbitrary loaded code.
                +         */
                +        getProxy(): Promise<T>;
                +        /**
                +         * Synchronize (send) the models at `resources` to the web worker,
                +         * making them available in the monaco.worker.getMirrorModels().
                +         */
                +        withSyncedResources(resources: Uri[]): Promise<T>;
                +    }
                +
                +    export interface IWebWorkerOptions {
                +        /**
                +         * The AMD moduleId to load.
                +         * It should export a function `create` that should return the exported proxy.
                +         */
                +        moduleId: string;
                +        /**
                +         * The data to send over when calling create on the module.
                +         */
                +        createData?: any;
                +        /**
                +         * A label to be used to identify the web worker for debugging purposes.
                +         */
                +        label?: string;
                +        /**
                +         * An object that can be used by the web worker to make calls back to the main thread.
                +         */
                +        host?: any;
                +        /**
                +         * Keep idle models.
                +         * Defaults to false, which means that idle models will stop syncing after a while.
                +         */
                +        keepIdleModels?: boolean;
                +    }
                +
                +    /**
                +     * Description of an action contribution
                +     */
                +    export interface IActionDescriptor {
                +        /**
                +         * An unique identifier of the contributed action.
                +         */
                +        id: string;
                +        /**
                +         * A label of the action that will be presented to the user.
                +         */
                +        label: string;
                +        /**
                +         * Precondition rule.
                +         */
                +        precondition?: string;
                +        /**
                +         * An array of keybindings for the action.
                +         */
                +        keybindings?: number[];
                +        /**
                +         * The keybinding rule (condition on top of precondition).
                +         */
                +        keybindingContext?: string;
                +        /**
                +         * Control if the action should show up in the context menu and where.
                +         * The context menu of the editor has these default:
                +         *   navigation - The navigation group comes first in all cases.
                +         *   1_modification - This group comes next and contains commands that modify your code.
                +         *   9_cutcopypaste - The last default group with the basic editing commands.
                +         * You can also create your own group.
                +         * Defaults to null (don't show in context menu).
                +         */
                +        contextMenuGroupId?: string;
                +        /**
                +         * Control the order in the context menu group.
                +         */
                +        contextMenuOrder?: number;
                +        /**
                +         * Method that will be executed when the action is triggered.
                +         * @param editor The editor instance is passed in as a convenience
                +         */
                +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
                +    }
                +
                +    /**
                +     * Options which apply for all editors.
                +     */
                +    export interface IGlobalEditorOptions {
                +        /**
                +         * The number of spaces a tab is equal to.
                +         * This setting is overridden based on the file contents when `detectIndentation` is on.
                +         * Defaults to 4.
                +         */
                +        tabSize?: number;
                +        /**
                +         * Insert spaces when pressing `Tab`.
                +         * This setting is overridden based on the file contents when `detectIndentation` is on.
                +         * Defaults to true.
                +         */
                +        insertSpaces?: boolean;
                +        /**
                +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
                +         * Defaults to true.
                +         */
                +        detectIndentation?: boolean;
                +        /**
                +         * Remove trailing auto inserted whitespace.
                +         * Defaults to true.
                +         */
                +        trimAutoWhitespace?: boolean;
                +        /**
                +         * Special handling for large files to disable certain memory intensive features.
                +         * Defaults to true.
                +         */
                +        largeFileOptimizations?: boolean;
                +        /**
                +         * Controls whether completions should be computed based on words in the document.
                +         * Defaults to true.
                +         */
                +        wordBasedSuggestions?: boolean;
                +        /**
                +         * Controls whether word based completions should be included from opened documents of the same language or any language.
                +         */
                +        wordBasedSuggestionsOnlySameLanguage?: boolean;
                +        /**
                +         * Controls whether the semanticHighlighting is shown for the languages that support it.
                +         * true: semanticHighlighting is enabled for all themes
                +         * false: semanticHighlighting is disabled for all themes
                +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
                +         * Defaults to 'byTheme'.
                +         */
                +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
                +        /**
                +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
                +         * Defaults to false.
                +         */
                +        stablePeek?: boolean;
                +        /**
                +         * Lines above this length will not be tokenized for performance reasons.
                +         * Defaults to 20000.
                +         */
                +        maxTokenizationLineLength?: number;
                +        /**
                +         * Theme to be used for rendering.
                +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
                +         * You can create custom themes via `monaco.editor.defineTheme`.
                +         * To switch a theme, use `monaco.editor.setTheme`.
                +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
                +         */
                +        theme?: string;
                +        /**
                +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
                +         * Defaults to true.
                +         */
                +        autoDetectHighContrast?: boolean;
                +    }
                +
                +    /**
                +     * The options to create an editor.
                +     */
                +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
                +        /**
                +         * The initial model associated with this code editor.
                +         */
                +        model?: ITextModel | null;
                +        /**
                +         * The initial value of the auto created model in the editor.
                +         * To not automatically create a model, use `model: null`.
                +         */
                +        value?: string;
                +        /**
                +         * The initial language of the auto created model in the editor.
                +         * To not automatically create a model, use `model: null`.
                +         */
                +        language?: string;
                +        /**
                +         * Initial theme to be used for rendering.
                +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
                +         * You can create custom themes via `monaco.editor.defineTheme`.
                +         * To switch a theme, use `monaco.editor.setTheme`.
                +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
                +         */
                +        theme?: string;
                +        /**
                +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
                +         * Defaults to true.
                +         */
                +        autoDetectHighContrast?: boolean;
                +        /**
                +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
                +         * the accessibility help dialog in the editor.
                +         *
                +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
                +         */
                +        accessibilityHelpUrl?: string;
                +        /**
                +         * Container element to use for ARIA messages.
                +         * Defaults to document.body.
                +         */
                +        ariaContainerElement?: HTMLElement;
                +    }
                +
                +    /**
                +     * The options to create a diff editor.
                +     */
                +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
                +        /**
                +         * Initial theme to be used for rendering.
                +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
                +         * You can create custom themes via `monaco.editor.defineTheme`.
                +         * To switch a theme, use `monaco.editor.setTheme`.
                +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
                +         */
                +        theme?: string;
                +        /**
                +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
                +         * Defaults to true.
                +         */
                +        autoDetectHighContrast?: boolean;
                +    }
                +
                +    export interface IStandaloneCodeEditor extends ICodeEditor {
                +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
                +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
                +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
                +        addAction(descriptor: IActionDescriptor): IDisposable;
                +    }
                +
                +    export interface IStandaloneDiffEditor extends IDiffEditor {
                +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
                +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
                +        addAction(descriptor: IActionDescriptor): IDisposable;
                +        getOriginalEditor(): IStandaloneCodeEditor;
                +        getModifiedEditor(): IStandaloneCodeEditor;
                +    }
                +    export interface ICommandHandler {
                +        (...args: any[]): void;
                +    }
                +
                +    export interface IContextKey<T> {
                +        set(value: T): void;
                +        reset(): void;
                +        get(): T | undefined;
                +    }
                +
                +    export interface IEditorOverrideServices {
                +        [index: string]: any;
                +    }
                +
                +    export interface IMarker {
                +        owner: string;
                +        resource: Uri;
                +        severity: MarkerSeverity;
                +        code?: string | {
                +            value: string;
                +            target: Uri;
                +        };
                +        message: string;
                +        source?: string;
                +        startLineNumber: number;
                +        startColumn: number;
                +        endLineNumber: number;
                +        endColumn: number;
                +        relatedInformation?: IRelatedInformation[];
                +        tags?: MarkerTag[];
                +    }
                +
                +    /**
                +     * A structure defining a problem/warning/etc.
                +     */
                +    export interface IMarkerData {
                +        code?: string | {
                +            value: string;
                +            target: Uri;
                +        };
                +        severity: MarkerSeverity;
                +        message: string;
                +        source?: string;
                +        startLineNumber: number;
                +        startColumn: number;
                +        endLineNumber: number;
                +        endColumn: number;
                +        relatedInformation?: IRelatedInformation[];
                +        tags?: MarkerTag[];
                +    }
                +
                +    /**
                +     *
                +     */
                +    export interface IRelatedInformation {
                +        resource: Uri;
                +        message: string;
                +        startLineNumber: number;
                +        startColumn: number;
                +        endLineNumber: number;
                +        endColumn: number;
                +    }
                +
                +    export interface IColorizerOptions {
                +        tabSize?: number;
                +    }
                +
                +    export interface IColorizerElementOptions extends IColorizerOptions {
                +        theme?: string;
                +        mimeType?: string;
                +    }
                +
                +    export enum ScrollbarVisibility {
                +        Auto = 1,
                +        Hidden = 2,
                +        Visible = 3
                +    }
                +
                +    export interface ThemeColor {
                +        id: string;
                +    }
                +
                +    /**
                +     * Vertical Lane in the overview ruler of the editor.
                +     */
                +    export enum OverviewRulerLane {
                +        Left = 1,
                +        Center = 2,
                +        Right = 4,
                +        Full = 7
                +    }
                +
                +    /**
                +     * Position in the minimap to render the decoration.
                +     */
                +    export enum MinimapPosition {
                +        Inline = 1,
                +        Gutter = 2
                +    }
                +
                +    export interface IDecorationOptions {
                +        /**
                +         * CSS color to render.
                +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
                +         */
                +        color: string | ThemeColor | undefined;
                +        /**
                +         * CSS color to render.
                +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
                +         */
                +        darkColor?: string | ThemeColor;
                +    }
                +
                +    /**
                +     * Options for rendering a model decoration in the overview ruler.
                +     */
                +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
                +        /**
                +         * The position in the overview ruler.
                +         */
                +        position: OverviewRulerLane;
                +    }
                +
                +    /**
                +     * Options for rendering a model decoration in the overview ruler.
                +     */
                +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
                +        /**
                +         * The position in the overview ruler.
                +         */
                +        position: MinimapPosition;
                +    }
                +
                +    /**
                +     * Options for a model decoration.
                +     */
                +    export interface IModelDecorationOptions {
                +        /**
                +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
                +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
                +         */
                +        stickiness?: TrackedRangeStickiness;
                +        /**
                +         * CSS class name describing the decoration.
                +         */
                +        className?: string | null;
                +        /**
                +         * Message to be rendered when hovering over the glyph margin decoration.
                +         */
                +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
                +        /**
                +         * Array of MarkdownString to render as the decoration message.
                +         */
                +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
                +        /**
                +         * Should the decoration expand to encompass a whole line.
                +         */
                +        isWholeLine?: boolean;
                +        /**
                +         * Specifies the stack order of a decoration.
                +         * A decoration with greater stack order is always in front of a decoration with
                +         * a lower stack order when the decorations are on the same line.
                +         */
                +        zIndex?: number;
                +        /**
                +         * If set, render this decoration in the overview ruler.
                +         */
                +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
                +        /**
                +         * If set, render this decoration in the minimap.
                +         */
                +        minimap?: IModelDecorationMinimapOptions | null;
                +        /**
                +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
                +         */
                +        glyphMarginClassName?: string | null;
                +        /**
                +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
                +         */
                +        linesDecorationsClassName?: string | null;
                +        /**
                +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
                +         */
                +        firstLineDecorationClassName?: string | null;
                +        /**
                +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
                +         */
                +        marginClassName?: string | null;
                +        /**
                +         * If set, the decoration will be rendered inline with the text with this CSS class name.
                +         * Please use this only for CSS rules that must impact the text. For example, use `className`
                +         * to have a background color decoration.
                +         */
                +        inlineClassName?: string | null;
                +        /**
                +         * If there is an `inlineClassName` which affects letter spacing.
                +         */
                +        inlineClassNameAffectsLetterSpacing?: boolean;
                +        /**
                +         * If set, the decoration will be rendered before the text with this CSS class name.
                +         */
                +        beforeContentClassName?: string | null;
                +        /**
                +         * If set, the decoration will be rendered after the text with this CSS class name.
                +         */
                +        afterContentClassName?: string | null;
                +        /**
                +         * If set, text will be injected in the view after the range.
                +         */
                +        after?: InjectedTextOptions | null;
                +        /**
                +         * If set, text will be injected in the view before the range.
                +         */
                +        before?: InjectedTextOptions | null;
                +    }
                +
                +    /**
                +     * Configures text that is injected into the view without changing the underlying document.
                +    */
                +    export interface InjectedTextOptions {
                +        /**
                +         * Sets the text to inject. Must be a single line.
                +         */
                +        readonly content: string;
                +        /**
                +         * If set, the decoration will be rendered inline with the text with this CSS class name.
                +         */
                +        readonly inlineClassName?: string | null;
                +        /**
                +         * If there is an `inlineClassName` which affects letter spacing.
                +         */
                +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
                +    }
                +
                +    /**
                +     * New model decorations.
                +     */
                +    export interface IModelDeltaDecoration {
                +        /**
                +         * Range that this decoration covers.
                +         */
                +        range: IRange;
                +        /**
                +         * Options associated with this decoration.
                +         */
                +        options: IModelDecorationOptions;
                +    }
                +
                +    /**
                +     * A decoration in the model.
                +     */
                +    export interface IModelDecoration {
                +        /**
                +         * Identifier for a decoration.
                +         */
                +        readonly id: string;
                +        /**
                +         * Identifier for a decoration's owner.
                +         */
                +        readonly ownerId: number;
                +        /**
                +         * Range that this decoration covers.
                +         */
                +        readonly range: Range;
                +        /**
                +         * Options associated with this decoration.
                +         */
                +        readonly options: IModelDecorationOptions;
                +    }
                +
                +    /**
                +     * Word inside a model.
                +     */
                +    export interface IWordAtPosition {
                +        /**
                +         * The word.
                +         */
                +        readonly word: string;
                +        /**
                +         * The column where the word starts.
                +         */
                +        readonly startColumn: number;
                +        /**
                +         * The column where the word ends.
                +         */
                +        readonly endColumn: number;
                +    }
                +
                +    /**
                +     * End of line character preference.
                +     */
                +    export enum EndOfLinePreference {
                +        /**
                +         * Use the end of line character identified in the text buffer.
                +         */
                +        TextDefined = 0,
                +        /**
                +         * Use line feed (\n) as the end of line character.
                +         */
                +        LF = 1,
                +        /**
                +         * Use carriage return and line feed (\r\n) as the end of line character.
                +         */
                +        CRLF = 2
                +    }
                +
                +    /**
                +     * The default end of line to use when instantiating models.
                +     */
                +    export enum DefaultEndOfLine {
                +        /**
                +         * Use line feed (\n) as the end of line character.
                +         */
                +        LF = 1,
                +        /**
                +         * Use carriage return and line feed (\r\n) as the end of line character.
                +         */
                +        CRLF = 2
                +    }
                +
                +    /**
                +     * End of line character preference.
                +     */
                +    export enum EndOfLineSequence {
                +        /**
                +         * Use line feed (\n) as the end of line character.
                +         */
                +        LF = 0,
                +        /**
                +         * Use carriage return and line feed (\r\n) as the end of line character.
                +         */
                +        CRLF = 1
                +    }
                +
                +    /**
                +     * A single edit operation, that acts as a simple replace.
                +     * i.e. Replace text at `range` with `text` in model.
                +     */
                +    export interface ISingleEditOperation {
                +        /**
                +         * The range to replace. This can be empty to emulate a simple insert.
                +         */
                +        range: IRange;
                +        /**
                +         * The text to replace with. This can be null to emulate a simple delete.
                +         */
                +        text: string | null;
                +        /**
                +         * This indicates that this operation has "insert" semantics.
                +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
                +         */
                +        forceMoveMarkers?: boolean;
                +    }
                +
                +    /**
                +     * A single edit operation, that has an identifier.
                +     */
                +    export interface IIdentifiedSingleEditOperation {
                +        /**
                +         * The range to replace. This can be empty to emulate a simple insert.
                +         */
                +        range: IRange;
                +        /**
                +         * The text to replace with. This can be null to emulate a simple delete.
                +         */
                +        text: string | null;
                +        /**
                +         * This indicates that this operation has "insert" semantics.
                +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
                +         */
                +        forceMoveMarkers?: boolean;
                +    }
                +
                +    export interface IValidEditOperation {
                +        /**
                +         * The range to replace. This can be empty to emulate a simple insert.
                +         */
                +        range: Range;
                +        /**
                +         * The text to replace with. This can be empty to emulate a simple delete.
                +         */
                +        text: string;
                +    }
                +
                +    /**
                +     * A callback that can compute the cursor state after applying a series of edit operations.
                +     */
                +    export interface ICursorStateComputer {
                +        /**
                +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
                +         */
                +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
                +    }
                +
                +    export class TextModelResolvedOptions {
                +        _textModelResolvedOptionsBrand: void;
                +        readonly tabSize: number;
                +        readonly indentSize: number;
                +        readonly insertSpaces: boolean;
                +        readonly defaultEOL: DefaultEndOfLine;
                +        readonly trimAutoWhitespace: boolean;
                +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
                +    }
                +
                +    export interface BracketPairColorizationOptions {
                +        enabled: boolean;
                +    }
                +
                +    export interface ITextModelUpdateOptions {
                +        tabSize?: number;
                +        indentSize?: number;
                +        insertSpaces?: boolean;
                +        trimAutoWhitespace?: boolean;
                +        bracketColorizationOptions?: BracketPairColorizationOptions;
                +    }
                +
                +    export class FindMatch {
                +        _findMatchBrand: void;
                +        readonly range: Range;
                +        readonly matches: string[] | null;
                +    }
                +
                +    /**
                +     * Describes the behavior of decorations when typing/editing near their edges.
                +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
                +     */
                +    export enum TrackedRangeStickiness {
                +        AlwaysGrowsWhenTypingAtEdges = 0,
                +        NeverGrowsWhenTypingAtEdges = 1,
                +        GrowsOnlyWhenTypingBefore = 2,
                +        GrowsOnlyWhenTypingAfter = 3
                +    }
                +
                +    /**
                +     * A model.
                +     */
                +    export interface ITextModel {
                +        /**
                +         * Gets the resource associated with this editor model.
                +         */
                +        readonly uri: Uri;
                +        /**
                +         * A unique identifier associated with this model.
                +         */
                +        readonly id: string;
                +        /**
                +         * Get the resolved options for this model.
                +         */
                +        getOptions(): TextModelResolvedOptions;
                +        /**
                +         * Get the current version id of the model.
                +         * Anytime a change happens to the model (even undo/redo),
                +         * the version id is incremented.
                +         */
                +        getVersionId(): number;
                +        /**
                +         * Get the alternative version id of the model.
                +         * This alternative version id is not always incremented,
                +         * it will return the same values in the case of undo-redo.
                +         */
                +        getAlternativeVersionId(): number;
                +        /**
                +         * Replace the entire text buffer value contained in this model.
                +         */
                +        setValue(newValue: string): void;
                +        /**
                +         * Get the text stored in this model.
                +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
                +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
                +         * @return The text.
                +         */
                +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
                +        /**
                +         * Get the length of the text stored in this model.
                +         */
                +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
                +        /**
                +         * Get the text in a certain range.
                +         * @param range The range describing what text to get.
                +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
                +         * @return The text.
                +         */
                +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
                +        /**
                +         * Get the length of text in a certain range.
                +         * @param range The range describing what text length to get.
                +         * @return The text length.
                +         */
                +        getValueLengthInRange(range: IRange): number;
                +        /**
                +         * Get the character count of text in a certain range.
                +         * @param range The range describing what text length to get.
                +         */
                +        getCharacterCountInRange(range: IRange): number;
                +        /**
                +         * Get the number of lines in the model.
                +         */
                +        getLineCount(): number;
                +        /**
                +         * Get the text for a certain line.
                +         */
                +        getLineContent(lineNumber: number): string;
                +        /**
                +         * Get the text length for a certain line.
                +         */
                +        getLineLength(lineNumber: number): number;
                +        /**
                +         * Get the text for all lines.
                +         */
                +        getLinesContent(): string[];
                +        /**
                +         * Get the end of line sequence predominantly used in the text buffer.
                +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
                +         */
                +        getEOL(): string;
                +        /**
                +         * Get the end of line sequence predominantly used in the text buffer.
                +         */
                +        getEndOfLineSequence(): EndOfLineSequence;
                +        /**
                +         * Get the minimum legal column for line at `lineNumber`
                +         */
                +        getLineMinColumn(lineNumber: number): number;
                +        /**
                +         * Get the maximum legal column for line at `lineNumber`
                +         */
                +        getLineMaxColumn(lineNumber: number): number;
                +        /**
                +         * Returns the column before the first non whitespace character for line at `lineNumber`.
                +         * Returns 0 if line is empty or contains only whitespace.
                +         */
                +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
                +        /**
                +         * Returns the column after the last non whitespace character for line at `lineNumber`.
                +         * Returns 0 if line is empty or contains only whitespace.
                +         */
                +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
                +        /**
                +         * Create a valid position.
                +         */
                +        validatePosition(position: IPosition): Position;
                +        /**
                +         * Advances the given position by the given offset (negative offsets are also accepted)
                +         * and returns it as a new valid position.
                +         *
                +         * If the offset and position are such that their combination goes beyond the beginning or
                +         * end of the model, throws an exception.
                +         *
                +         * If the offset is such that the new position would be in the middle of a multi-byte
                +         * line terminator, throws an exception.
                +         */
                +        modifyPosition(position: IPosition, offset: number): Position;
                +        /**
                +         * Create a valid range.
                +         */
                +        validateRange(range: IRange): Range;
                +        /**
                +         * Converts the position to a zero-based offset.
                +         *
                +         * The position will be [adjusted](#TextDocument.validatePosition).
                +         *
                +         * @param position A position.
                +         * @return A valid zero-based offset.
                +         */
                +        getOffsetAt(position: IPosition): number;
                +        /**
                +         * Converts a zero-based offset to a position.
                +         *
                +         * @param offset A zero-based offset.
                +         * @return A valid [position](#Position).
                +         */
                +        getPositionAt(offset: number): Position;
                +        /**
                +         * Get a range covering the entire model.
                +         */
                +        getFullModelRange(): Range;
                +        /**
                +         * Returns if the model was disposed or not.
                +         */
                +        isDisposed(): boolean;
                +        /**
                +         * Search the model.
                +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
                +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                +         * @param matchCase Force the matching to match lower/upper case exactly.
                +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                +         * @param captureMatches The result will contain the captured groups.
                +         * @param limitResultCount Limit the number of results
                +         * @return The ranges where the matches are. It is empty if not matches have been found.
                +         */
                +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
                +        /**
                +         * Search the model.
                +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                +         * @param searchScope Limit the searching to only search inside these ranges.
                +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                +         * @param matchCase Force the matching to match lower/upper case exactly.
                +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                +         * @param captureMatches The result will contain the captured groups.
                +         * @param limitResultCount Limit the number of results
                +         * @return The ranges where the matches are. It is empty if no matches have been found.
                +         */
                +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
                +        /**
                +         * Search the model for the next match. Loops to the beginning of the model if needed.
                +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                +         * @param searchStart Start the searching at the specified position.
                +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                +         * @param matchCase Force the matching to match lower/upper case exactly.
                +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                +         * @param captureMatches The result will contain the captured groups.
                +         * @return The range where the next match is. It is null if no next match has been found.
                +         */
                +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
                +        /**
                +         * Search the model for the previous match. Loops to the end of the model if needed.
                +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                +         * @param searchStart Start the searching at the specified position.
                +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                +         * @param matchCase Force the matching to match lower/upper case exactly.
                +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                +         * @param captureMatches The result will contain the captured groups.
                +         * @return The range where the previous match is. It is null if no previous match has been found.
                +         */
                +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
                +        /**
                +         * Get the language associated with this model.
                +         */
                +        getLanguageId(): string;
                +        /**
                +         * Get the word under or besides `position`.
                +         * @param position The position to look for a word.
                +         * @return The word under or besides `position`. Might be null.
                +         */
                +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
                +        /**
                +         * Get the word under or besides `position` trimmed to `position`.column
                +         * @param position The position to look for a word.
                +         * @return The word under or besides `position`. Will never be null.
                +         */
                +        getWordUntilPosition(position: IPosition): IWordAtPosition;
                +        /**
                +         * Perform a minimum amount of operations, in order to transform the decorations
                +         * identified by `oldDecorations` to the decorations described by `newDecorations`
                +         * and returns the new identifiers associated with the resulting decorations.
                +         *
                +         * @param oldDecorations Array containing previous decorations identifiers.
                +         * @param newDecorations Array describing what decorations should result after the call.
                +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
                +         * @return An array containing the new decorations identifiers.
                +         */
                +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
                +        /**
                +         * Get the options associated with a decoration.
                +         * @param id The decoration id.
                +         * @return The decoration options or null if the decoration was not found.
                +         */
                +        getDecorationOptions(id: string): IModelDecorationOptions | null;
                +        /**
                +         * Get the range associated with a decoration.
                +         * @param id The decoration id.
                +         * @return The decoration range or null if the decoration was not found.
                +         */
                +        getDecorationRange(id: string): Range | null;
                +        /**
                +         * Gets all the decorations for the line `lineNumber` as an array.
                +         * @param lineNumber The line number
                +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                +         * @return An array with the decorations
                +         */
                +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                +        /**
                +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
                +         * @param startLineNumber The start line number
                +         * @param endLineNumber The end line number
                +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                +         * @return An array with the decorations
                +         */
                +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                +        /**
                +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
                +         * So for now it returns all the decorations on the same line as `range`.
                +         * @param range The range to search in
                +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                +         * @return An array with the decorations
                +         */
                +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                +        /**
                +         * Gets all the decorations as an array.
                +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                +         */
                +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                +        /**
                +         * Gets all the decorations that should be rendered in the overview ruler as an array.
                +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                +         */
                +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                +        /**
                +         * Gets all the decorations that contain injected text.
                +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                +         */
                +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
                +        /**
                +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
                +         */
                +        normalizeIndentation(str: string): string;
                +        /**
                +         * Change the options of this model.
                +         */
                +        updateOptions(newOpts: ITextModelUpdateOptions): void;
                +        /**
                +         * Detect the indentation options for this model from its content.
                +         */
                +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
                +        /**
                +         * Close the current undo-redo element.
                +         * This offers a way to create an undo/redo stop point.
                +         */
                +        pushStackElement(): void;
                +        /**
                +         * Open the current undo-redo element.
                +         * This offers a way to remove the current undo/redo stop point.
                +         */
                +        popStackElement(): void;
                +        /**
                +         * Push edit operations, basically editing the model. This is the preferred way
                +         * of editing the model. The edit operations will land on the undo stack.
                +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
                +         * @param editOperations The edit operations.
                +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
                +         * @return The cursor state returned by the `cursorStateComputer`.
                +         */
                +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
                +        /**
                +         * Change the end of line sequence. This is the preferred way of
                +         * changing the eol sequence. This will land on the undo stack.
                +         */
                +        pushEOL(eol: EndOfLineSequence): void;
                +        /**
                +         * Edit the model without adding the edits to the undo stack.
                +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
                +         * @param operations The edit operations.
                +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
                +         */
                +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
                +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
                +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
                +        /**
                +         * Change the end of line sequence without recording in the undo stack.
                +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
                +         */
                +        setEOL(eol: EndOfLineSequence): void;
                +        /**
                +         * An event emitted when the contents of the model have changed.
                +         * @event
                +         */
                +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
                +        /**
                +         * An event emitted when decorations of the model have changed.
                +         * @event
                +         */
                +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
                +        /**
                +         * An event emitted when the model options have changed.
                +         * @event
                +         */
                +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
                +        /**
                +         * An event emitted when the language associated with the model has changed.
                +         * @event
                +         */
                +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
                +        /**
                +         * An event emitted when the language configuration associated with the model has changed.
                +         * @event
                +         */
                +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
                +        /**
                +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
                +         * @event
                +         */
                +        onDidChangeAttached(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted right before disposing the model.
                +         * @event
                +         */
                +        onWillDispose(listener: () => void): IDisposable;
                +        /**
                +         * Destroy this model.
                +         */
                +        dispose(): void;
                +        /**
                +         * Returns if this model is attached to an editor or not.
                +         */
                +        isAttachedToEditor(): boolean;
                +    }
                +
                +    /**
                +     * A builder and helper for edit operations for a command.
                +     */
                +    export interface IEditOperationBuilder {
                +        /**
                +         * Add a new edit operation (a replace operation).
                +         * @param range The range to replace (delete). May be empty to represent a simple insert.
                +         * @param text The text to replace with. May be null to represent a simple delete.
                +         */
                +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
                +        /**
                +         * Add a new edit operation (a replace operation).
                +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
                +         * @param range The range to replace (delete). May be empty to represent a simple insert.
                +         * @param text The text to replace with. May be null to represent a simple delete.
                +         */
                +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
                +        /**
                +         * Track `selection` when applying edit operations.
                +         * A best effort will be made to not grow/expand the selection.
                +         * An empty selection will clamp to a nearby character.
                +         * @param selection The selection to track.
                +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
                +         *           should clamp to the previous or the next character.
                +         * @return A unique identifier.
                +         */
                +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
                +    }
                +
                +    /**
                +     * A helper for computing cursor state after a command.
                +     */
                +    export interface ICursorStateComputerData {
                +        /**
                +         * Get the inverse edit operations of the added edit operations.
                +         */
                +        getInverseEditOperations(): IValidEditOperation[];
                +        /**
                +         * Get a previously tracked selection.
                +         * @param id The unique identifier returned by `trackSelection`.
                +         * @return The selection.
                +         */
                +        getTrackedSelection(id: string): Selection;
                +    }
                +
                +    /**
                +     * A command that modifies text / cursor state on a model.
                +     */
                +    export interface ICommand {
                +        /**
                +         * Get the edit operations needed to execute this command.
                +         * @param model The model the command will execute on.
                +         * @param builder A helper to collect the needed edit operations and to track selections.
                +         */
                +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
                +        /**
                +         * Compute the cursor state after the edit operations were applied.
                +         * @param model The model the command has executed on.
                +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
                +         * @return The cursor state after the command executed.
                +         */
                +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
                +    }
                +
                +    /**
                +     * A model for the diff editor.
                +     */
                +    export interface IDiffEditorModel {
                +        /**
                +         * Original model.
                +         */
                +        original: ITextModel;
                +        /**
                +         * Modified model.
                +         */
                +        modified: ITextModel;
                +    }
                +
                +    /**
                +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
                +     */
                +    export interface IModelChangedEvent {
                +        /**
                +         * The `uri` of the previous model or null.
                +         */
                +        readonly oldModelUrl: Uri | null;
                +        /**
                +         * The `uri` of the new model or null.
                +         */
                +        readonly newModelUrl: Uri | null;
                +    }
                +
                +    export interface IDimension {
                +        width: number;
                +        height: number;
                +    }
                +
                +    /**
                +     * A change
                +     */
                +    export interface IChange {
                +        readonly originalStartLineNumber: number;
                +        readonly originalEndLineNumber: number;
                +        readonly modifiedStartLineNumber: number;
                +        readonly modifiedEndLineNumber: number;
                +    }
                +
                +    /**
                +     * A character level change.
                +     */
                +    export interface ICharChange extends IChange {
                +        readonly originalStartColumn: number;
                +        readonly originalEndColumn: number;
                +        readonly modifiedStartColumn: number;
                +        readonly modifiedEndColumn: number;
                +    }
                +
                +    /**
                +     * A line change
                +     */
                +    export interface ILineChange extends IChange {
                +        readonly charChanges: ICharChange[] | undefined;
                +    }
                +
                +    export interface IContentSizeChangedEvent {
                +        readonly contentWidth: number;
                +        readonly contentHeight: number;
                +        readonly contentWidthChanged: boolean;
                +        readonly contentHeightChanged: boolean;
                +    }
                +
                +    export interface INewScrollPosition {
                +        scrollLeft?: number;
                +        scrollTop?: number;
                +    }
                +
                +    export interface IEditorAction {
                +        readonly id: string;
                +        readonly label: string;
                +        readonly alias: string;
                +        isSupported(): boolean;
                +        run(): Promise<void>;
                +    }
                +
                +    export type IEditorModel = ITextModel | IDiffEditorModel;
                +
                +    /**
                +     * A (serializable) state of the cursors.
                +     */
                +    export interface ICursorState {
                +        inSelectionMode: boolean;
                +        selectionStart: IPosition;
                +        position: IPosition;
                +    }
                +
                +    /**
                +     * A (serializable) state of the view.
                +     */
                +    export interface IViewState {
                +        /** written by previous versions */
                +        scrollTop?: number;
                +        /** written by previous versions */
                +        scrollTopWithoutViewZones?: number;
                +        scrollLeft: number;
                +        firstPosition: IPosition;
                +        firstPositionDeltaTop: number;
                +    }
                +
                +    /**
                +     * A (serializable) state of the code editor.
                +     */
                +    export interface ICodeEditorViewState {
                +        cursorState: ICursorState[];
                +        viewState: IViewState;
                +        contributionsState: {
                +            [id: string]: any;
                +        };
                +    }
                +
                +    /**
                +     * (Serializable) View state for the diff editor.
                +     */
                +    export interface IDiffEditorViewState {
                +        original: ICodeEditorViewState | null;
                +        modified: ICodeEditorViewState | null;
                +    }
                +
                +    /**
                +     * An editor view state.
                +     */
                +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
                +
                +    export enum ScrollType {
                +        Smooth = 0,
                +        Immediate = 1
                +    }
                +
                +    /**
                +     * An editor.
                +     */
                +    export interface IEditor {
                +        /**
                +         * An event emitted when the editor has been disposed.
                +         * @event
                +         */
                +        onDidDispose(listener: () => void): IDisposable;
                +        /**
                +         * Dispose the editor.
                +         */
                +        dispose(): void;
                +        /**
                +         * Get a unique id for this editor instance.
                +         */
                +        getId(): string;
                +        /**
                +         * Get the editor type. Please see `EditorType`.
                +         * This is to avoid an instanceof check
                +         */
                +        getEditorType(): string;
                +        /**
                +         * Update the editor's options after the editor has been created.
                +         */
                +        updateOptions(newOptions: IEditorOptions): void;
                +        /**
                +         * Instructs the editor to remeasure its container. This method should
                +         * be called when the container of the editor gets resized.
                +         *
                +         * If a dimension is passed in, the passed in value will be used.
                +         */
                +        layout(dimension?: IDimension): void;
                +        /**
                +         * Brings browser focus to the editor text
                +         */
                +        focus(): void;
                +        /**
                +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
                +         */
                +        hasTextFocus(): boolean;
                +        /**
                +         * Returns all actions associated with this editor.
                +         */
                +        getSupportedActions(): IEditorAction[];
                +        /**
                +         * Saves current view state of the editor in a serializable object.
                +         */
                +        saveViewState(): IEditorViewState | null;
                +        /**
                +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
                +         */
                +        restoreViewState(state: IEditorViewState): void;
                +        /**
                +         * Given a position, returns a column number that takes tab-widths into account.
                +         */
                +        getVisibleColumnFromPosition(position: IPosition): number;
                +        /**
                +         * Returns the primary position of the cursor.
                +         */
                +        getPosition(): Position | null;
                +        /**
                +         * Set the primary position of the cursor. This will remove any secondary cursors.
                +         * @param position New primary cursor's position
                +         */
                +        setPosition(position: IPosition): void;
                +        /**
                +         * Scroll vertically as necessary and reveal a line.
                +         */
                +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically as necessary and reveal a line centered vertically.
                +         */
                +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
                +         */
                +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
                +         * optimized for viewing a code definition.
                +         */
                +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a position.
                +         */
                +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
                +         */
                +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
                +         */
                +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
                +         * optimized for viewing a code definition.
                +         */
                +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
                +        /**
                +         * Returns the primary selection of the editor.
                +         */
                +        getSelection(): Selection | null;
                +        /**
                +         * Returns all the selections of the editor.
                +         */
                +        getSelections(): Selection[] | null;
                +        /**
                +         * Set the primary selection of the editor. This will remove any secondary cursors.
                +         * @param selection The new selection
                +         */
                +        setSelection(selection: IRange): void;
                +        /**
                +         * Set the primary selection of the editor. This will remove any secondary cursors.
                +         * @param selection The new selection
                +         */
                +        setSelection(selection: Range): void;
                +        /**
                +         * Set the primary selection of the editor. This will remove any secondary cursors.
                +         * @param selection The new selection
                +         */
                +        setSelection(selection: ISelection): void;
                +        /**
                +         * Set the primary selection of the editor. This will remove any secondary cursors.
                +         * @param selection The new selection
                +         */
                +        setSelection(selection: Selection): void;
                +        /**
                +         * Set the selections for all the cursors of the editor.
                +         * Cursors will be removed or added, as necessary.
                +         */
                +        setSelections(selections: readonly ISelection[]): void;
                +        /**
                +         * Scroll vertically as necessary and reveal lines.
                +         */
                +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically as necessary and reveal lines centered vertically.
                +         */
                +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
                +         */
                +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
                +         * optimized for viewing a code definition.
                +         */
                +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a range.
                +         */
                +        revealRange(range: IRange, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
                +         */
                +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
                +         */
                +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
                +         */
                +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
                +         * optimized for viewing a code definition.
                +         */
                +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
                +        /**
                +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
                +         * optimized for viewing a code definition. Only if it lies outside the viewport.
                +         */
                +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
                +        /**
                +         * Directly trigger a handler or an editor action.
                +         * @param source The source of the call.
                +         * @param handlerId The id of the handler or the id of a contribution.
                +         * @param payload Extra data to be sent to the handler.
                +         */
                +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
                +        /**
                +         * Gets the current model attached to this editor.
                +         */
                +        getModel(): IEditorModel | null;
                +        /**
                +         * Sets the current model attached to this editor.
                +         * If the previous model was created by the editor via the value key in the options
                +         * literal object, it will be destroyed. Otherwise, if the previous model was set
                +         * via setModel, or the model key in the options literal object, the previous model
                +         * will not be destroyed.
                +         * It is safe to call setModel(null) to simply detach the current model from the editor.
                +         */
                +        setModel(model: IEditorModel | null): void;
                +    }
                +
                +    /**
                +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
                +     */
                +    export interface IEditorContribution {
                +        /**
                +         * Dispose this contribution.
                +         */
                +        dispose(): void;
                +        /**
                +         * Store view state.
                +         */
                +        saveViewState?(): any;
                +        /**
                +         * Restore view state.
                +         */
                +        restoreViewState?(state: any): void;
                +    }
                +
                +    /**
                +     * The type of the `IEditor`.
                +     */
                +    export const EditorType: {
                +        ICodeEditor: string;
                +        IDiffEditor: string;
                +    };
                +
                +    /**
                +     * An event describing that the current language associated with a model has changed.
                +     */
                +    export interface IModelLanguageChangedEvent {
                +        /**
                +         * Previous language
                +         */
                +        readonly oldLanguage: string;
                +        /**
                +         * New language
                +         */
                +        readonly newLanguage: string;
                +    }
                +
                +    /**
                +     * An event describing that the language configuration associated with a model has changed.
                +     */
                +    export interface IModelLanguageConfigurationChangedEvent {
                +    }
                +
                +    export interface IModelContentChange {
                +        /**
                +         * The range that got replaced.
                +         */
                +        readonly range: IRange;
                +        /**
                +         * The offset of the range that got replaced.
                +         */
                +        readonly rangeOffset: number;
                +        /**
                +         * The length of the range that got replaced.
                +         */
                +        readonly rangeLength: number;
                +        /**
                +         * The new text for the range.
                +         */
                +        readonly text: string;
                +    }
                +
                +    /**
                +     * An event describing a change in the text of a model.
                +     */
                +    export interface IModelContentChangedEvent {
                +        readonly changes: IModelContentChange[];
                +        /**
                +         * The (new) end-of-line character.
                +         */
                +        readonly eol: string;
                +        /**
                +         * The new version id the model has transitioned to.
                +         */
                +        readonly versionId: number;
                +        /**
                +         * Flag that indicates that this event was generated while undoing.
                +         */
                +        readonly isUndoing: boolean;
                +        /**
                +         * Flag that indicates that this event was generated while redoing.
                +         */
                +        readonly isRedoing: boolean;
                +        /**
                +         * Flag that indicates that all decorations were lost with this edit.
                +         * The model has been reset to a new value.
                +         */
                +        readonly isFlush: boolean;
                +    }
                +
                +    /**
                +     * An event describing that model decorations have changed.
                +     */
                +    export interface IModelDecorationsChangedEvent {
                +        readonly affectsMinimap: boolean;
                +        readonly affectsOverviewRuler: boolean;
                +    }
                +
                +    export interface IModelOptionsChangedEvent {
                +        readonly tabSize: boolean;
                +        readonly indentSize: boolean;
                +        readonly insertSpaces: boolean;
                +        readonly trimAutoWhitespace: boolean;
                +    }
                +
                +    /**
                +     * Describes the reason the cursor has changed its position.
                +     */
                +    export enum CursorChangeReason {
                +        /**
                +         * Unknown or not set.
                +         */
                +        NotSet = 0,
                +        /**
                +         * A `model.setValue()` was called.
                +         */
                +        ContentFlush = 1,
                +        /**
                +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
                +         */
                +        RecoverFromMarkers = 2,
                +        /**
                +         * There was an explicit user gesture.
                +         */
                +        Explicit = 3,
                +        /**
                +         * There was a Paste.
                +         */
                +        Paste = 4,
                +        /**
                +         * There was an Undo.
                +         */
                +        Undo = 5,
                +        /**
                +         * There was a Redo.
                +         */
                +        Redo = 6
                +    }
                +
                +    /**
                +     * An event describing that the cursor position has changed.
                +     */
                +    export interface ICursorPositionChangedEvent {
                +        /**
                +         * Primary cursor's position.
                +         */
                +        readonly position: Position;
                +        /**
                +         * Secondary cursors' position.
                +         */
                +        readonly secondaryPositions: Position[];
                +        /**
                +         * Reason.
                +         */
                +        readonly reason: CursorChangeReason;
                +        /**
                +         * Source of the call that caused the event.
                +         */
                +        readonly source: string;
                +    }
                +
                +    /**
                +     * An event describing that the cursor selection has changed.
                +     */
                +    export interface ICursorSelectionChangedEvent {
                +        /**
                +         * The primary selection.
                +         */
                +        readonly selection: Selection;
                +        /**
                +         * The secondary selections.
                +         */
                +        readonly secondarySelections: Selection[];
                +        /**
                +         * The model version id.
                +         */
                +        readonly modelVersionId: number;
                +        /**
                +         * The old selections.
                +         */
                +        readonly oldSelections: Selection[] | null;
                +        /**
                +         * The model version id the that `oldSelections` refer to.
                +         */
                +        readonly oldModelVersionId: number;
                +        /**
                +         * Source of the call that caused the event.
                +         */
                +        readonly source: string;
                +        /**
                +         * Reason.
                +         */
                +        readonly reason: CursorChangeReason;
                +    }
                +
                +    export enum AccessibilitySupport {
                +        /**
                +         * This should be the browser case where it is not known if a screen reader is attached or no.
                +         */
                +        Unknown = 0,
                +        Disabled = 1,
                +        Enabled = 2
                +    }
                +
                +    /**
                +     * Configuration options for auto closing quotes and brackets
                +     */
                +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
                +
                +    /**
                +     * Configuration options for auto wrapping quotes and brackets
                +     */
                +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
                +
                +    /**
                +     * Configuration options for typing over closing quotes or brackets
                +     */
                +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
                +
                +    /**
                +     * Configuration options for auto indentation in the editor
                +     */
                +    export enum EditorAutoIndentStrategy {
                +        None = 0,
                +        Keep = 1,
                +        Brackets = 2,
                +        Advanced = 3,
                +        Full = 4
                +    }
                +
                +    /**
                +     * Configuration options for the editor.
                +     */
                +    export interface IEditorOptions {
                +        /**
                +         * This editor is used inside a diff editor.
                +         */
                +        inDiffEditor?: boolean;
                +        /**
                +         * The aria label for the editor's textarea (when it is focused).
                +         */
                +        ariaLabel?: string;
                +        /**
                +         * The `tabindex` property of the editor's textarea
                +         */
                +        tabIndex?: number;
                +        /**
                +         * Render vertical lines at the specified columns.
                +         * Defaults to empty array.
                +         */
                +        rulers?: (number | IRulerOption)[];
                +        /**
                +         * A string containing the word separators used when doing word navigation.
                +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
                +         */
                +        wordSeparators?: string;
                +        /**
                +         * Enable Linux primary clipboard.
                +         * Defaults to true.
                +         */
                +        selectionClipboard?: boolean;
                +        /**
                +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
                +         * Otherwise, line numbers will not be rendered.
                +         * Defaults to `on`.
                +         */
                +        lineNumbers?: LineNumbersType;
                +        /**
                +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
                +         * Defaults to 0.
                +        */
                +        cursorSurroundingLines?: number;
                +        /**
                +         * Controls when `cursorSurroundingLines` should be enforced
                +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
                +         * by mouse.
                +        */
                +        cursorSurroundingLinesStyle?: 'default' | 'all';
                +        /**
                +         * Render last line number when the file ends with a newline.
                +         * Defaults to true.
                +        */
                +        renderFinalNewline?: boolean;
                +        /**
                +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
                +         * Defaults to 'prompt'.
                +         */
                +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
                +        /**
                +         * Should the corresponding line be selected when clicking on the line number?
                +         * Defaults to true.
                +         */
                +        selectOnLineNumbers?: boolean;
                +        /**
                +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
                +         * Defaults to 5.
                +         */
                +        lineNumbersMinChars?: number;
                +        /**
                +         * Enable the rendering of the glyph margin.
                +         * Defaults to true in vscode and to false in monaco-editor.
                +         */
                +        glyphMargin?: boolean;
                +        /**
                +         * The width reserved for line decorations (in px).
                +         * Line decorations are placed between line numbers and the editor content.
                +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
                +         * Defaults to 10.
                +         */
                +        lineDecorationsWidth?: number | string;
                +        /**
                +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
                +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
                +         * Defaults to 30 (px).
                +         */
                +        revealHorizontalRightPadding?: number;
                +        /**
                +         * Render the editor selection with rounded borders.
                +         * Defaults to true.
                +         */
                +        roundedSelection?: boolean;
                +        /**
                +         * Class name to be added to the editor.
                +         */
                +        extraEditorClassName?: string;
                +        /**
                +         * Should the editor be read only. See also `domReadOnly`.
                +         * Defaults to false.
                +         */
                +        readOnly?: boolean;
                +        /**
                +         * Should the textarea used for input use the DOM `readonly` attribute.
                +         * Defaults to false.
                +         */
                +        domReadOnly?: boolean;
                +        /**
                +         * Enable linked editing.
                +         * Defaults to false.
                +         */
                +        linkedEditing?: boolean;
                +        /**
                +         * deprecated, use linkedEditing instead
                +         */
                +        renameOnType?: boolean;
                +        /**
                +         * Should the editor render validation decorations.
                +         * Defaults to editable.
                +         */
                +        renderValidationDecorations?: 'editable' | 'on' | 'off';
                +        /**
                +         * Control the behavior and rendering of the scrollbars.
                +         */
                +        scrollbar?: IEditorScrollbarOptions;
                +        /**
                +         * Control the behavior and rendering of the minimap.
                +         */
                +        minimap?: IEditorMinimapOptions;
                +        /**
                +         * Control the behavior of the find widget.
                +         */
                +        find?: IEditorFindOptions;
                +        /**
                +         * Display overflow widgets as `fixed`.
                +         * Defaults to `false`.
                +         */
                +        fixedOverflowWidgets?: boolean;
                +        /**
                +         * The number of vertical lanes the overview ruler should render.
                +         * Defaults to 3.
                +         */
                +        overviewRulerLanes?: number;
                +        /**
                +         * Controls if a border should be drawn around the overview ruler.
                +         * Defaults to `true`.
                +         */
                +        overviewRulerBorder?: boolean;
                +        /**
                +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
                +         * Defaults to 'blink'.
                +         */
                +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
                +        /**
                +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
                +         * Defaults to false.
                +         */
                +        mouseWheelZoom?: boolean;
                +        /**
                +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
                +         * Defaults to 'text'
                +         */
                +        mouseStyle?: 'text' | 'default' | 'copy';
                +        /**
                +         * Enable smooth caret animation.
                +         * Defaults to false.
                +         */
                +        cursorSmoothCaretAnimation?: boolean;
                +        /**
                +         * Control the cursor style, either 'block' or 'line'.
                +         * Defaults to 'line'.
                +         */
                +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
                +        /**
                +         * Control the width of the cursor when cursorStyle is set to 'line'
                +         */
                +        cursorWidth?: number;
                +        /**
                +         * Enable font ligatures.
                +         * Defaults to false.
                +         */
                +        fontLigatures?: boolean | string;
                +        /**
                +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
                +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
                +         * Defaults to false.
                +         */
                +        disableLayerHinting?: boolean;
                +        /**
                +         * Disable the optimizations for monospace fonts.
                +         * Defaults to false.
                +         */
                +        disableMonospaceOptimizations?: boolean;
                +        /**
                +         * Should the cursor be hidden in the overview ruler.
                +         * Defaults to false.
                +         */
                +        hideCursorInOverviewRuler?: boolean;
                +        /**
                +         * Enable that scrolling can go one screen size after the last line.
                +         * Defaults to true.
                +         */
                +        scrollBeyondLastLine?: boolean;
                +        /**
                +         * Enable that scrolling can go beyond the last column by a number of columns.
                +         * Defaults to 5.
                +         */
                +        scrollBeyondLastColumn?: number;
                +        /**
                +         * Enable that the editor animates scrolling to a position.
                +         * Defaults to false.
                +         */
                +        smoothScrolling?: boolean;
                +        /**
                +         * Enable that the editor will install an interval to check if its container dom node size has changed.
                +         * Enabling this might have a severe performance impact.
                +         * Defaults to false.
                +         */
                +        automaticLayout?: boolean;
                +        /**
                +         * Control the wrapping of the editor.
                +         * When `wordWrap` = "off", the lines will never wrap.
                +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
                +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
                +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
                +         * Defaults to "off".
                +         */
                +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
                +        /**
                +         * Override the `wordWrap` setting.
                +         */
                +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
                +        /**
                +         * Override the `wordWrapOverride1` setting.
                +         */
                +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
                +        /**
                +         * Control the wrapping of the editor.
                +         * When `wordWrap` = "off", the lines will never wrap.
                +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
                +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
                +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
                +         * Defaults to 80.
                +         */
                +        wordWrapColumn?: number;
                +        /**
                +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
                +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
                +         */
                +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
                +        /**
                +         * Controls the wrapping strategy to use.
                +         * Defaults to 'simple'.
                +         */
                +        wrappingStrategy?: 'simple' | 'advanced';
                +        /**
                +         * Configure word wrapping characters. A break will be introduced before these characters.
                +         */
                +        wordWrapBreakBeforeCharacters?: string;
                +        /**
                +         * Configure word wrapping characters. A break will be introduced after these characters.
                +         */
                +        wordWrapBreakAfterCharacters?: string;
                +        /**
                +         * Performance guard: Stop rendering a line after x characters.
                +         * Defaults to 10000.
                +         * Use -1 to never stop rendering
                +         */
                +        stopRenderingLineAfter?: number;
                +        /**
                +         * Configure the editor's hover.
                +         */
                +        hover?: IEditorHoverOptions;
                +        /**
                +         * Enable detecting links and making them clickable.
                +         * Defaults to true.
                +         */
                +        links?: boolean;
                +        /**
                +         * Enable inline color decorators and color picker rendering.
                +         */
                +        colorDecorators?: boolean;
                +        /**
                +         * Control the behaviour of comments in the editor.
                +         */
                +        comments?: IEditorCommentsOptions;
                +        /**
                +         * Enable custom contextmenu.
                +         * Defaults to true.
                +         */
                +        contextmenu?: boolean;
                +        /**
                +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
                +         * Defaults to 1.
                +         */
                +        mouseWheelScrollSensitivity?: number;
                +        /**
                +         * FastScrolling mulitplier speed when pressing `Alt`
                +         * Defaults to 5.
                +         */
                +        fastScrollSensitivity?: number;
                +        /**
                +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
                +         * Defaults to true.
                +         */
                +        scrollPredominantAxis?: boolean;
                +        /**
                +         * Enable that the selection with the mouse and keys is doing column selection.
                +         * Defaults to false.
                +         */
                +        columnSelection?: boolean;
                +        /**
                +         * The modifier to be used to add multiple cursors with the mouse.
                +         * Defaults to 'alt'
                +         */
                +        multiCursorModifier?: 'ctrlCmd' | 'alt';
                +        /**
                +         * Merge overlapping selections.
                +         * Defaults to true
                +         */
                +        multiCursorMergeOverlapping?: boolean;
                +        /**
                +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
                +         * Defaults to 'spread'.
                +         */
                +        multiCursorPaste?: 'spread' | 'full';
                +        /**
                +         * Configure the editor's accessibility support.
                +         * Defaults to 'auto'. It is best to leave this to 'auto'.
                +         */
                +        accessibilitySupport?: 'auto' | 'off' | 'on';
                +        /**
                +         * Controls the number of lines in the editor that can be read out by a screen reader
                +         */
                +        accessibilityPageSize?: number;
                +        /**
                +         * Suggest options.
                +         */
                +        suggest?: ISuggestOptions;
                +        inlineSuggest?: IInlineSuggestOptions;
                +        /**
                +         * Smart select options.
                +         */
                +        smartSelect?: ISmartSelectOptions;
                +        /**
                +         *
                +         */
                +        gotoLocation?: IGotoLocationOptions;
                +        /**
                +         * Enable quick suggestions (shadow suggestions)
                +         * Defaults to true.
                +         */
                +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
                +        /**
                +         * Quick suggestions show delay (in ms)
                +         * Defaults to 10 (ms)
                +         */
                +        quickSuggestionsDelay?: number;
                +        /**
                +         * Controls the spacing around the editor.
                +         */
                +        padding?: IEditorPaddingOptions;
                +        /**
                +         * Parameter hint options.
                +         */
                +        parameterHints?: IEditorParameterHintOptions;
                +        /**
                +         * Options for auto closing brackets.
                +         * Defaults to language defined behavior.
                +         */
                +        autoClosingBrackets?: EditorAutoClosingStrategy;
                +        /**
                +         * Options for auto closing quotes.
                +         * Defaults to language defined behavior.
                +         */
                +        autoClosingQuotes?: EditorAutoClosingStrategy;
                +        /**
                +         * Options for pressing backspace near quotes or bracket pairs.
                +         */
                +        autoClosingDelete?: EditorAutoClosingEditStrategy;
                +        /**
                +         * Options for typing over closing quotes or brackets.
                +         */
                +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
                +        /**
                +         * Options for auto surrounding.
                +         * Defaults to always allowing auto surrounding.
                +         */
                +        autoSurround?: EditorAutoSurroundStrategy;
                +        /**
                +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
                +         * Defaults to advanced.
                +         */
                +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
                +        /**
                +         * Emulate selection behaviour of tab characters when using spaces for indentation.
                +         * This means selection will stick to tab stops.
                +         */
                +        stickyTabStops?: boolean;
                +        /**
                +         * Enable format on type.
                +         * Defaults to false.
                +         */
                +        formatOnType?: boolean;
                +        /**
                +         * Enable format on paste.
                +         * Defaults to false.
                +         */
                +        formatOnPaste?: boolean;
                +        /**
                +         * Controls if the editor should allow to move selections via drag and drop.
                +         * Defaults to false.
                +         */
                +        dragAndDrop?: boolean;
                +        /**
                +         * Enable the suggestion box to pop-up on trigger characters.
                +         * Defaults to true.
                +         */
                +        suggestOnTriggerCharacters?: boolean;
                +        /**
                +         * Accept suggestions on ENTER.
                +         * Defaults to 'on'.
                +         */
                +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
                +        /**
                +         * Accept suggestions on provider defined characters.
                +         * Defaults to true.
                +         */
                +        acceptSuggestionOnCommitCharacter?: boolean;
                +        /**
                +         * Enable snippet suggestions. Default to 'true'.
                +         */
                +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
                +        /**
                +         * Copying without a selection copies the current line.
                +         */
                +        emptySelectionClipboard?: boolean;
                +        /**
                +         * Syntax highlighting is copied.
                +         */
                +        copyWithSyntaxHighlighting?: boolean;
                +        /**
                +         * The history mode for suggestions.
                +         */
                +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
                +        /**
                +         * The font size for the suggest widget.
                +         * Defaults to the editor font size.
                +         */
                +        suggestFontSize?: number;
                +        /**
                +         * The line height for the suggest widget.
                +         * Defaults to the editor line height.
                +         */
                +        suggestLineHeight?: number;
                +        /**
                +         * Enable tab completion.
                +         */
                +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
                +        /**
                +         * Enable selection highlight.
                +         * Defaults to true.
                +         */
                +        selectionHighlight?: boolean;
                +        /**
                +         * Enable semantic occurrences highlight.
                +         * Defaults to true.
                +         */
                +        occurrencesHighlight?: boolean;
                +        /**
                +         * Show code lens
                +         * Defaults to true.
                +         */
                +        codeLens?: boolean;
                +        /**
                +         * Code lens font family. Defaults to editor font family.
                +         */
                +        codeLensFontFamily?: string;
                +        /**
                +         * Code lens font size. Default to 90% of the editor font size
                +         */
                +        codeLensFontSize?: number;
                +        /**
                +         * Control the behavior and rendering of the code action lightbulb.
                +         */
                +        lightbulb?: IEditorLightbulbOptions;
                +        /**
                +         * Timeout for running code actions on save.
                +         */
                +        codeActionsOnSaveTimeout?: number;
                +        /**
                +         * Enable code folding.
                +         * Defaults to true.
                +         */
                +        folding?: boolean;
                +        /**
                +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
                +         * Defaults to 'auto'.
                +         */
                +        foldingStrategy?: 'auto' | 'indentation';
                +        /**
                +         * Enable highlight for folded regions.
                +         * 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'.
                +         */
                +        showFoldingControls?: 'always' | 'mouseover';
                +        /**
                +         * Controls whether clicking on the empty content after a folded line will unfold the line.
                +         * Defaults to false.
                +         */
                +        unfoldOnClickAfterEndOfLine?: boolean;
                +        /**
                +         * Enable highlighting of matching brackets.
                +         * Defaults to 'always'.
                +         */
                +        matchBrackets?: 'never' | 'near' | 'always';
                +        /**
                +         * Enable rendering of whitespace.
                +         * Defaults to 'selection'.
                +         */
                +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
                +        /**
                +         * Enable rendering of control characters.
                +         * Defaults to true.
                +         */
                +        renderControlCharacters?: boolean;
                +        /**
                +         * Enable rendering of current line highlight.
                +         * Defaults to all.
                +         */
                +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
                +        /**
                +         * Control if the current line highlight should be rendered only the editor is focused.
                +         * Defaults to false.
                +         */
                +        renderLineHighlightOnlyWhenFocus?: boolean;
                +        /**
                +         * Inserting and deleting whitespace follows tab stops.
                +         */
                +        useTabStops?: boolean;
                +        /**
                +         * The font family
                +         */
                +        fontFamily?: string;
                +        /**
                +         * The font weight
                +         */
                +        fontWeight?: string;
                +        /**
                +         * The font size
                +         */
                +        fontSize?: number;
                +        /**
                +         * The line height
                +         */
                +        lineHeight?: number;
                +        /**
                +         * The letter spacing
                +         */
                +        letterSpacing?: number;
                +        /**
                +         * Controls fading out of unused variables.
                +         */
                +        showUnused?: boolean;
                +        /**
                +         * Controls whether to focus the inline editor in the peek widget by default.
                +         * Defaults to false.
                +         */
                +        peekWidgetDefaultFocus?: 'tree' | 'editor';
                +        /**
                +         * Controls whether the definition link opens element in the peek widget.
                +         * Defaults to false.
                +         */
                +        definitionLinkOpensInPeek?: boolean;
                +        /**
                +         * Controls strikethrough deprecated variables.
                +         */
                +        showDeprecated?: boolean;
                +        /**
                +         * Control the behavior and rendering of the inline hints.
                +         */
                +        inlayHints?: IEditorInlayHintsOptions;
                +        /**
                +         * Control if the editor should use shadow DOM.
                +         */
                +        useShadowDOM?: boolean;
                +        /**
                +         * Controls the behavior of editor guides.
                +        */
                +        guides?: IGuidesOptions;
                +        unicodeHighlight?: IUnicodeHighlightOptions;
                +    }
                +
                +    export interface IDiffEditorBaseOptions {
                +        /**
                +         * Allow the user to resize the diff editor split view.
                +         * Defaults to true.
                +         */
                +        enableSplitViewResizing?: boolean;
                +        /**
                +         * Render the differences in two side-by-side editors.
                +         * Defaults to true.
                +         */
                +        renderSideBySide?: boolean;
                +        /**
                +         * Timeout in milliseconds after which diff computation is cancelled.
                +         * Defaults to 5000.
                +         */
                +        maxComputationTime?: number;
                +        /**
                +         * Maximum supported file size in MB.
                +         * Defaults to 50.
                +         */
                +        maxFileSize?: number;
                +        /**
                +         * Compute the diff by ignoring leading/trailing whitespace
                +         * Defaults to true.
                +         */
                +        ignoreTrimWhitespace?: boolean;
                +        /**
                +         * Render +/- indicators for added/deleted changes.
                +         * Defaults to true.
                +         */
                +        renderIndicators?: boolean;
                +        /**
                +         * Original model should be editable?
                +         * Defaults to false.
                +         */
                +        originalEditable?: boolean;
                +        /**
                +         * Should the diff editor enable code lens?
                +         * Defaults to false.
                +         */
                +        diffCodeLens?: boolean;
                +        /**
                +         * Is the diff editor should render overview ruler
                +         * Defaults to true
                +         */
                +        renderOverviewRuler?: boolean;
                +        /**
                +         * Control the wrapping of the diff editor.
                +         */
                +        diffWordWrap?: 'off' | 'on' | 'inherit';
                +    }
                +
                +    /**
                +     * Configuration options for the diff editor.
                +     */
                +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
                +    }
                +
                +    /**
                +     * An event describing that the configuration of the editor has changed.
                +     */
                +    export class ConfigurationChangedEvent {
                +        hasChanged(id: EditorOption): boolean;
                +    }
                +
                +    /**
                +     * All computed editor options.
                +     */
                +    export interface IComputedEditorOptions {
                +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
                +    }
                +
                +    export interface IEditorOption<K1 extends EditorOption, V> {
                +        readonly id: K1;
                +        readonly name: string;
                +        defaultValue: V;
                +        /**
                +         * Might modify `value`.
                +        */
                +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
                +    }
                +
                +    export class ApplyUpdateResult<T> {
                +        readonly newValue: T;
                +        readonly didChange: boolean;
                +        constructor(newValue: T, didChange: boolean);
                +    }
                +
                +    /**
                +     * Configuration options for editor comments
                +     */
                +    export interface IEditorCommentsOptions {
                +        /**
                +         * Insert a space after the line comment token and inside the block comments tokens.
                +         * Defaults to true.
                +         */
                +        insertSpace?: boolean;
                +        /**
                +         * Ignore empty lines when inserting line comments.
                +         * Defaults to true.
                +         */
                +        ignoreEmptyLines?: boolean;
                +    }
                +
                +    /**
                +     * The kind of animation in which the editor's cursor should be rendered.
                +     */
                +    export enum TextEditorCursorBlinkingStyle {
                +        /**
                +         * Hidden
                +         */
                +        Hidden = 0,
                +        /**
                +         * Blinking
                +         */
                +        Blink = 1,
                +        /**
                +         * Blinking with smooth fading
                +         */
                +        Smooth = 2,
                +        /**
                +         * Blinking with prolonged filled state and smooth fading
                +         */
                +        Phase = 3,
                +        /**
                +         * Expand collapse animation on the y axis
                +         */
                +        Expand = 4,
                +        /**
                +         * No-Blinking
                +         */
                +        Solid = 5
                +    }
                +
                +    /**
                +     * The style in which the editor's cursor should be rendered.
                +     */
                +    export enum TextEditorCursorStyle {
                +        /**
                +         * As a vertical line (sitting between two characters).
                +         */
                +        Line = 1,
                +        /**
                +         * As a block (sitting on top of a character).
                +         */
                +        Block = 2,
                +        /**
                +         * As a horizontal line (sitting under a character).
                +         */
                +        Underline = 3,
                +        /**
                +         * As a thin vertical line (sitting between two characters).
                +         */
                +        LineThin = 4,
                +        /**
                +         * As an outlined block (sitting on top of a character).
                +         */
                +        BlockOutline = 5,
                +        /**
                +         * As a thin horizontal line (sitting under a character).
                +         */
                +        UnderlineThin = 6
                +    }
                +
                +    /**
                +     * Configuration options for editor find widget
                +     */
                +    export interface IEditorFindOptions {
                +        /**
                +        * Controls whether the cursor should move to find matches while typing.
                +        */
                +        cursorMoveOnType?: boolean;
                +        /**
                +         * Controls if we seed search string in the Find Widget with editor selection.
                +         */
                +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
                +        /**
                +         * Controls if Find in Selection flag is turned on in the editor.
                +         */
                +        autoFindInSelection?: 'never' | 'always' | 'multiline';
                +        addExtraSpaceOnTop?: boolean;
                +        /**
                +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
                +         */
                +        loop?: boolean;
                +    }
                +
                +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
                +
                +    /**
                +     * Configuration options for go to location
                +     */
                +    export interface IGotoLocationOptions {
                +        multiple?: GoToLocationValues;
                +        multipleDefinitions?: GoToLocationValues;
                +        multipleTypeDefinitions?: GoToLocationValues;
                +        multipleDeclarations?: GoToLocationValues;
                +        multipleImplementations?: GoToLocationValues;
                +        multipleReferences?: GoToLocationValues;
                +        alternativeDefinitionCommand?: string;
                +        alternativeTypeDefinitionCommand?: string;
                +        alternativeDeclarationCommand?: string;
                +        alternativeImplementationCommand?: string;
                +        alternativeReferenceCommand?: string;
                +    }
                +
                +    /**
                +     * Configuration options for editor hover
                +     */
                +    export interface IEditorHoverOptions {
                +        /**
                +         * Enable the hover.
                +         * Defaults to true.
                +         */
                +        enabled?: boolean;
                +        /**
                +         * Delay for showing the hover.
                +         * Defaults to 300.
                +         */
                +        delay?: number;
                +        /**
                +         * Is the hover sticky such that it can be clicked and its contents selected?
                +         * Defaults to true.
                +         */
                +        sticky?: boolean;
                +        /**
                +         * Should the hover be shown above the line if possible?
                +         * Defaults to false.
                +         */
                +        above?: boolean;
                +    }
                +
                +    /**
                +     * A description for the overview ruler position.
                +     */
                +    export interface OverviewRulerPosition {
                +        /**
                +         * Width of the overview ruler
                +         */
                +        readonly width: number;
                +        /**
                +         * Height of the overview ruler
                +         */
                +        readonly height: number;
                +        /**
                +         * Top position for the overview ruler
                +         */
                +        readonly top: number;
                +        /**
                +         * Right position for the overview ruler
                +         */
                +        readonly right: number;
                +    }
                +
                +    export enum RenderMinimap {
                +        None = 0,
                +        Text = 1,
                +        Blocks = 2
                +    }
                +
                +    /**
                +     * The internal layout details of the editor.
                +     */
                +    export interface EditorLayoutInfo {
                +        /**
                +         * Full editor width.
                +         */
                +        readonly width: number;
                +        /**
                +         * Full editor height.
                +         */
                +        readonly height: number;
                +        /**
                +         * Left position for the glyph margin.
                +         */
                +        readonly glyphMarginLeft: number;
                +        /**
                +         * The width of the glyph margin.
                +         */
                +        readonly glyphMarginWidth: number;
                +        /**
                +         * Left position for the line numbers.
                +         */
                +        readonly lineNumbersLeft: number;
                +        /**
                +         * The width of the line numbers.
                +         */
                +        readonly lineNumbersWidth: number;
                +        /**
                +         * Left position for the line decorations.
                +         */
                +        readonly decorationsLeft: number;
                +        /**
                +         * The width of the line decorations.
                +         */
                +        readonly decorationsWidth: number;
                +        /**
                +         * Left position for the content (actual text)
                +         */
                +        readonly contentLeft: number;
                +        /**
                +         * The width of the content (actual text)
                +         */
                +        readonly contentWidth: number;
                +        /**
                +         * Layout information for the minimap
                +         */
                +        readonly minimap: EditorMinimapLayoutInfo;
                +        /**
                +         * The number of columns (of typical characters) fitting on a viewport line.
                +         */
                +        readonly viewportColumn: number;
                +        readonly isWordWrapMinified: boolean;
                +        readonly isViewportWrapping: boolean;
                +        readonly wrappingColumn: number;
                +        /**
                +         * The width of the vertical scrollbar.
                +         */
                +        readonly verticalScrollbarWidth: number;
                +        /**
                +         * The height of the horizontal scrollbar.
                +         */
                +        readonly horizontalScrollbarHeight: number;
                +        /**
                +         * The position of the overview ruler.
                +         */
                +        readonly overviewRuler: OverviewRulerPosition;
                +    }
                +
                +    /**
                +     * The internal layout details of the editor.
                +     */
                +    export interface EditorMinimapLayoutInfo {
                +        readonly renderMinimap: RenderMinimap;
                +        readonly minimapLeft: number;
                +        readonly minimapWidth: number;
                +        readonly minimapHeightIsEditorHeight: boolean;
                +        readonly minimapIsSampling: boolean;
                +        readonly minimapScale: number;
                +        readonly minimapLineHeight: number;
                +        readonly minimapCanvasInnerWidth: number;
                +        readonly minimapCanvasInnerHeight: number;
                +        readonly minimapCanvasOuterWidth: number;
                +        readonly minimapCanvasOuterHeight: number;
                +    }
                +
                +    /**
                +     * Configuration options for editor lightbulb
                +     */
                +    export interface IEditorLightbulbOptions {
                +        /**
                +         * Enable the lightbulb code action.
                +         * Defaults to true.
                +         */
                +        enabled?: boolean;
                +    }
                +
                +    /**
                +     * Configuration options for editor inlayHints
                +     */
                +    export interface IEditorInlayHintsOptions {
                +        /**
                +         * Enable the inline hints.
                +         * Defaults to true.
                +         */
                +        enabled?: boolean;
                +        /**
                +         * Font size of inline hints.
                +         * Default to 90% of the editor font size.
                +         */
                +        fontSize?: number;
                +        /**
                +         * Font family of inline hints.
                +         * Defaults to editor font family.
                +         */
                +        fontFamily?: string;
                +    }
                +
                +    /**
                +     * Configuration options for editor minimap
                +     */
                +    export interface IEditorMinimapOptions {
                +        /**
                +         * Enable the rendering of the minimap.
                +         * Defaults to true.
                +         */
                +        enabled?: boolean;
                +        /**
                +         * Control the side of the minimap in editor.
                +         * Defaults to 'right'.
                +         */
                +        side?: 'right' | 'left';
                +        /**
                +         * Control the minimap rendering mode.
                +         * Defaults to 'actual'.
                +         */
                +        size?: 'proportional' | 'fill' | 'fit';
                +        /**
                +         * Control the rendering of the minimap slider.
                +         * Defaults to 'mouseover'.
                +         */
                +        showSlider?: 'always' | 'mouseover';
                +        /**
                +         * Render the actual text on a line (as opposed to color blocks).
                +         * Defaults to true.
                +         */
                +        renderCharacters?: boolean;
                +        /**
                +         * Limit the width of the minimap to render at most a certain number of columns.
                +         * Defaults to 120.
                +         */
                +        maxColumn?: number;
                +        /**
                +         * Relative size of the font in the minimap. Defaults to 1.
                +         */
                +        scale?: number;
                +    }
                +
                +    /**
                +     * Configuration options for editor padding
                +     */
                +    export interface IEditorPaddingOptions {
                +        /**
                +         * Spacing between top edge of editor and first line.
                +         */
                +        top?: number;
                +        /**
                +         * Spacing between bottom edge of editor and last line.
                +         */
                +        bottom?: number;
                +    }
                +
                +    /**
                +     * Configuration options for parameter hints
                +     */
                +    export interface IEditorParameterHintOptions {
                +        /**
                +         * Enable parameter hints.
                +         * Defaults to true.
                +         */
                +        enabled?: boolean;
                +        /**
                +         * Enable cycling of parameter hints.
                +         * Defaults to false.
                +         */
                +        cycle?: boolean;
                +    }
                +
                +    /**
                +     * Configuration options for quick suggestions
                +     */
                +    export interface IQuickSuggestionsOptions {
                +        other?: boolean;
                +        comments?: boolean;
                +        strings?: boolean;
                +    }
                +
                +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
                +
                +    export enum RenderLineNumbersType {
                +        Off = 0,
                +        On = 1,
                +        Relative = 2,
                +        Interval = 3,
                +        Custom = 4
                +    }
                +
                +    export interface InternalEditorRenderLineNumbersOptions {
                +        readonly renderType: RenderLineNumbersType;
                +        readonly renderFn: ((lineNumber: number) => string) | null;
                +    }
                +
                +    export interface IRulerOption {
                +        readonly column: number;
                +        readonly color: string | null;
                +    }
                +
                +    /**
                +     * Configuration options for editor scrollbars
                +     */
                +    export interface IEditorScrollbarOptions {
                +        /**
                +         * The size of arrows (if displayed).
                +         * Defaults to 11.
                +         * **NOTE**: This option cannot be updated using `updateOptions()`
                +         */
                +        arrowSize?: number;
                +        /**
                +         * Render vertical scrollbar.
                +         * Defaults to 'auto'.
                +         */
                +        vertical?: 'auto' | 'visible' | 'hidden';
                +        /**
                +         * Render horizontal scrollbar.
                +         * Defaults to 'auto'.
                +         */
                +        horizontal?: 'auto' | 'visible' | 'hidden';
                +        /**
                +         * 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;
                +        /**
                +         * Listen to mouse wheel events and react to them by scrolling.
                +         * Defaults to true.
                +         */
                +        handleMouseWheel?: boolean;
                +        /**
                +         * 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;
                +        /**
                +         * Height in pixels for the horizontal scrollbar.
                +         * Defaults to 10 (px).
                +         */
                +        horizontalScrollbarSize?: number;
                +        /**
                +         * Width in pixels for the vertical scrollbar.
                +         * Defaults to 10 (px).
                +         */
                +        verticalScrollbarSize?: number;
                +        /**
                +         * 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;
                +        /**
                +         * Scroll gutter clicks move by page vs jump to position.
                +         * Defaults to false.
                +         */
                +        scrollByPage?: boolean;
                +    }
                +
                +    export interface InternalEditorScrollbarOptions {
                +        readonly arrowSize: number;
                +        readonly vertical: ScrollbarVisibility;
                +        readonly horizontal: ScrollbarVisibility;
                +        readonly useShadows: boolean;
                +        readonly verticalHasArrows: boolean;
                +        readonly horizontalHasArrows: boolean;
                +        readonly handleMouseWheel: boolean;
                +        readonly alwaysConsumeMouseWheel: boolean;
                +        readonly horizontalScrollbarSize: number;
                +        readonly horizontalSliderSize: number;
                +        readonly verticalScrollbarSize: number;
                +        readonly verticalSliderSize: number;
                +        readonly scrollByPage: boolean;
                +    }
                +
                +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
                +
                +    /**
                +     * Configuration options for unicode highlighting.
                +     */
                +    export interface IUnicodeHighlightOptions {
                +        nonBasicASCII?: boolean | InUntrustedWorkspace;
                +        invisibleCharacters?: boolean;
                +        ambiguousCharacters?: boolean;
                +        includeComments?: boolean | InUntrustedWorkspace;
                +        /**
                +         * A map of allowed characters (true: allowed).
                +        */
                +        allowedCharacters?: Record<string, true>;
                +    }
                +
                +    export interface IInlineSuggestOptions {
                +        /**
                +         * Enable or disable the rendering of automatic inline completions.
                +        */
                +        enabled?: boolean;
                +        /**
                +         * Configures the mode.
                +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
                +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
                +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
                +         * Defaults to `prefix`.
                +        */
                +        mode?: 'prefix' | 'subword' | 'subwordSmart';
                +    }
                +
                +    export interface IBracketPairColorizationOptions {
                +        /**
                +         * Enable or disable bracket pair colorization.
                +        */
                +        enabled?: boolean;
                +    }
                +
                +    export interface IGuidesOptions {
                +        /**
                +         * Enable rendering of bracket pair guides.
                +         * Defaults to false.
                +        */
                +        bracketPairs?: boolean | 'active';
                +        /**
                +         * Enable rendering of vertical bracket pair guides.
                +         * Defaults to 'active'.
                +         */
                +        bracketPairsHorizontal?: boolean | 'active';
                +        /**
                +         * Enable highlighting of the active bracket pair.
                +         * Defaults to true.
                +        */
                +        highlightActiveBracketPair?: boolean;
                +        /**
                +         * Enable rendering of indent guides.
                +         * Defaults to true.
                +         */
                +        indentation?: boolean;
                +        /**
                +         * Enable highlighting of the active indent guide.
                +         * Defaults to true.
                +         */
                +        highlightActiveIndentation?: boolean;
                +    }
                +
                +    /**
                +     * Configuration options for editor suggest widget
                +     */
                +    export interface ISuggestOptions {
                +        /**
                +         * Overwrite word ends on accept. Default to false.
                +         */
                +        insertMode?: 'insert' | 'replace';
                +        /**
                +         * Enable graceful matching. Defaults to true.
                +         */
                +        filterGraceful?: boolean;
                +        /**
                +         * Prevent quick suggestions when a snippet is active. Defaults to true.
                +         */
                +        snippetsPreventQuickSuggestions?: boolean;
                +        /**
                +         * Favors words that appear close to the cursor.
                +         */
                +        localityBonus?: boolean;
                +        /**
                +         * Enable using global storage for remembering suggestions.
                +         */
                +        shareSuggestSelections?: boolean;
                +        /**
                +         * Enable or disable icons in suggestions. Defaults to true.
                +         */
                +        showIcons?: boolean;
                +        /**
                +         * 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.
                +         */
                +        showInlineDetails?: boolean;
                +        /**
                +         * Show method-suggestions.
                +         */
                +        showMethods?: boolean;
                +        /**
                +         * Show function-suggestions.
                +         */
                +        showFunctions?: boolean;
                +        /**
                +         * Show constructor-suggestions.
                +         */
                +        showConstructors?: boolean;
                +        /**
                +         * Show deprecated-suggestions.
                +         */
                +        showDeprecated?: boolean;
                +        /**
                +         * Show field-suggestions.
                +         */
                +        showFields?: boolean;
                +        /**
                +         * Show variable-suggestions.
                +         */
                +        showVariables?: boolean;
                +        /**
                +         * Show class-suggestions.
                +         */
                +        showClasses?: boolean;
                +        /**
                +         * Show struct-suggestions.
                +         */
                +        showStructs?: boolean;
                +        /**
                +         * Show interface-suggestions.
                +         */
                +        showInterfaces?: boolean;
                +        /**
                +         * Show module-suggestions.
                +         */
                +        showModules?: boolean;
                +        /**
                +         * Show property-suggestions.
                +         */
                +        showProperties?: boolean;
                +        /**
                +         * Show event-suggestions.
                +         */
                +        showEvents?: boolean;
                +        /**
                +         * Show operator-suggestions.
                +         */
                +        showOperators?: boolean;
                +        /**
                +         * Show unit-suggestions.
                +         */
                +        showUnits?: boolean;
                +        /**
                +         * Show value-suggestions.
                +         */
                +        showValues?: boolean;
                +        /**
                +         * Show constant-suggestions.
                +         */
                +        showConstants?: boolean;
                +        /**
                +         * Show enum-suggestions.
                +         */
                +        showEnums?: boolean;
                +        /**
                +         * Show enumMember-suggestions.
                +         */
                +        showEnumMembers?: boolean;
                +        /**
                +         * Show keyword-suggestions.
                +         */
                +        showKeywords?: boolean;
                +        /**
                +         * Show text-suggestions.
                +         */
                +        showWords?: boolean;
                +        /**
                +         * Show color-suggestions.
                +         */
                +        showColors?: boolean;
                +        /**
                +         * Show file-suggestions.
                +         */
                +        showFiles?: boolean;
                +        /**
                +         * Show reference-suggestions.
                +         */
                +        showReferences?: boolean;
                +        /**
                +         * Show folder-suggestions.
                +         */
                +        showFolders?: boolean;
                +        /**
                +         * Show typeParameter-suggestions.
                +         */
                +        showTypeParameters?: boolean;
                +        /**
                +         * Show issue-suggestions.
                +         */
                +        showIssues?: boolean;
                +        /**
                +         * Show user-suggestions.
                +         */
                +        showUsers?: boolean;
                +        /**
                +         * Show snippet-suggestions.
                +         */
                +        showSnippets?: boolean;
                +    }
                +
                +    export interface ISmartSelectOptions {
                +        selectLeadingAndTrailingWhitespace?: boolean;
                +    }
                +
                +    /**
                +     * Describes how to indent wrapped lines.
                +     */
                +    export enum WrappingIndent {
                +        /**
                +         * No indentation => wrapped lines begin at column 1.
                +         */
                +        None = 0,
                +        /**
                +         * Same => wrapped lines get the same indentation as the parent.
                +         */
                +        Same = 1,
                +        /**
                +         * Indent => wrapped lines get +1 indentation toward the parent.
                +         */
                +        Indent = 2,
                +        /**
                +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
                +         */
                +        DeepIndent = 3
                +    }
                +
                +    export interface EditorWrappingInfo {
                +        readonly isDominatedByLongLines: boolean;
                +        readonly isWordWrapMinified: boolean;
                +        readonly isViewportWrapping: boolean;
                +        readonly wrappingColumn: number;
                +    }
                +
                +    export enum EditorOption {
                +        acceptSuggestionOnCommitCharacter = 0,
                +        acceptSuggestionOnEnter = 1,
                +        accessibilitySupport = 2,
                +        accessibilityPageSize = 3,
                +        ariaLabel = 4,
                +        autoClosingBrackets = 5,
                +        autoClosingDelete = 6,
                +        autoClosingOvertype = 7,
                +        autoClosingQuotes = 8,
                +        autoIndent = 9,
                +        automaticLayout = 10,
                +        autoSurround = 11,
                +        bracketPairColorization = 12,
                +        guides = 13,
                +        codeLens = 14,
                +        codeLensFontFamily = 15,
                +        codeLensFontSize = 16,
                +        colorDecorators = 17,
                +        columnSelection = 18,
                +        comments = 19,
                +        contextmenu = 20,
                +        copyWithSyntaxHighlighting = 21,
                +        cursorBlinking = 22,
                +        cursorSmoothCaretAnimation = 23,
                +        cursorStyle = 24,
                +        cursorSurroundingLines = 25,
                +        cursorSurroundingLinesStyle = 26,
                +        cursorWidth = 27,
                +        disableLayerHinting = 28,
                +        disableMonospaceOptimizations = 29,
                +        domReadOnly = 30,
                +        dragAndDrop = 31,
                +        emptySelectionClipboard = 32,
                +        extraEditorClassName = 33,
                +        fastScrollSensitivity = 34,
                +        find = 35,
                +        fixedOverflowWidgets = 36,
                +        folding = 37,
                +        foldingStrategy = 38,
                +        foldingHighlight = 39,
                +        foldingImportsByDefault = 40,
                +        unfoldOnClickAfterEndOfLine = 41,
                +        fontFamily = 42,
                +        fontInfo = 43,
                +        fontLigatures = 44,
                +        fontSize = 45,
                +        fontWeight = 46,
                +        formatOnPaste = 47,
                +        formatOnType = 48,
                +        glyphMargin = 49,
                +        gotoLocation = 50,
                +        hideCursorInOverviewRuler = 51,
                +        hover = 52,
                +        inDiffEditor = 53,
                +        inlineSuggest = 54,
                +        letterSpacing = 55,
                +        lightbulb = 56,
                +        lineDecorationsWidth = 57,
                +        lineHeight = 58,
                +        lineNumbers = 59,
                +        lineNumbersMinChars = 60,
                +        linkedEditing = 61,
                +        links = 62,
                +        matchBrackets = 63,
                +        minimap = 64,
                +        mouseStyle = 65,
                +        mouseWheelScrollSensitivity = 66,
                +        mouseWheelZoom = 67,
                +        multiCursorMergeOverlapping = 68,
                +        multiCursorModifier = 69,
                +        multiCursorPaste = 70,
                +        occurrencesHighlight = 71,
                +        overviewRulerBorder = 72,
                +        overviewRulerLanes = 73,
                +        padding = 74,
                +        parameterHints = 75,
                +        peekWidgetDefaultFocus = 76,
                +        definitionLinkOpensInPeek = 77,
                +        quickSuggestions = 78,
                +        quickSuggestionsDelay = 79,
                +        readOnly = 80,
                +        renameOnType = 81,
                +        renderControlCharacters = 82,
                +        renderFinalNewline = 83,
                +        renderLineHighlight = 84,
                +        renderLineHighlightOnlyWhenFocus = 85,
                +        renderValidationDecorations = 86,
                +        renderWhitespace = 87,
                +        revealHorizontalRightPadding = 88,
                +        roundedSelection = 89,
                +        rulers = 90,
                +        scrollbar = 91,
                +        scrollBeyondLastColumn = 92,
                +        scrollBeyondLastLine = 93,
                +        scrollPredominantAxis = 94,
                +        selectionClipboard = 95,
                +        selectionHighlight = 96,
                +        selectOnLineNumbers = 97,
                +        showFoldingControls = 98,
                +        showUnused = 99,
                +        snippetSuggestions = 100,
                +        smartSelect = 101,
                +        smoothScrolling = 102,
                +        stickyTabStops = 103,
                +        stopRenderingLineAfter = 104,
                +        suggest = 105,
                +        suggestFontSize = 106,
                +        suggestLineHeight = 107,
                +        suggestOnTriggerCharacters = 108,
                +        suggestSelection = 109,
                +        tabCompletion = 110,
                +        tabIndex = 111,
                +        unicodeHighlighting = 112,
                +        unusualLineTerminators = 113,
                +        useShadowDOM = 114,
                +        useTabStops = 115,
                +        wordSeparators = 116,
                +        wordWrap = 117,
                +        wordWrapBreakAfterCharacters = 118,
                +        wordWrapBreakBeforeCharacters = 119,
                +        wordWrapColumn = 120,
                +        wordWrapOverride1 = 121,
                +        wordWrapOverride2 = 122,
                +        wrappingIndent = 123,
                +        wrappingStrategy = 124,
                +        showDeprecated = 125,
                +        inlayHints = 126,
                +        editorClassName = 127,
                +        pixelRatio = 128,
                +        tabFocusMode = 129,
                +        layoutInfo = 130,
                +        wrappingInfo = 131
                +    }
                +
                +    export const EditorOptions: {
                +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
                +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
                +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
                +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
                +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
                +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
                +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
                +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
                +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
                +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
                +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
                +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
                +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
                +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
                +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
                +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
                +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
                +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
                +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
                +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
                +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
                +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
                +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
                +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
                +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
                +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
                +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
                +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
                +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
                +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
                +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
                +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
                +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
                +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
                +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
                +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
                +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
                +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
                +        folding: IEditorOption<EditorOption.folding, boolean>;
                +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
                +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
                +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
                +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
                +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
                +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
                +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
                +        fontSize: IEditorOption<EditorOption.fontSize, number>;
                +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
                +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
                +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
                +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
                +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
                +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
                +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
                +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
                +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
                +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
                +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
                +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
                +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
                +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
                +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
                +        links: IEditorOption<EditorOption.links, boolean>;
                +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
                +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
                +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
                +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
                +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
                +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
                +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
                +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
                +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
                +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
                +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
                +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
                +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
                +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
                +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
                +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
                +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
                +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
                +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
                +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
                +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
                +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
                +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
                +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
                +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
                +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
                +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
                +        rulers: IEditorOption<EditorOption.rulers, {}>;
                +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
                +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
                +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
                +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
                +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
                +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
                +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
                +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
                +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
                +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
                +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
                +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
                +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
                +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
                +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
                +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
                +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
                +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
                +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
                +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
                +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
                +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
                +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
                +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
                +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
                +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
                +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
                +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
                +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
                +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
                +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
                +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
                +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
                +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
                +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
                +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
                +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
                +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
                +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
                +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
                +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
                +    };
                +
                +    type EditorOptionsType = typeof EditorOptions;
                +
                +    type FindEditorOptionsKeyById<T extends EditorOption> = {
                +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
                +    }[keyof EditorOptionsType];
                +
                +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
                +
                +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
                +
                +    /**
                +     * A view zone is a full horizontal rectangle that 'pushes' text down.
                +     * The editor reserves space for view zones when rendering.
                +     */
                +    export interface IViewZone {
                +        /**
                +         * The line number after which this zone should appear.
                +         * Use 0 to place a view zone before the first line number.
                +         */
                +        afterLineNumber: number;
                +        /**
                +         * The column after which this zone should appear.
                +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
                +         */
                +        afterColumn?: number;
                +        /**
                +         * Suppress mouse down events.
                +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
                +         * Defaults to false
                +         */
                +        suppressMouseDown?: boolean;
                +        /**
                +         * The height in lines of the view zone.
                +         * If specified, `heightInPx` will be used instead of this.
                +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
                +         */
                +        heightInLines?: number;
                +        /**
                +         * The height in px of the view zone.
                +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
                +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
                +         */
                +        heightInPx?: number;
                +        /**
                +         * The minimum width in px of the view zone.
                +         * If this is set, the editor will ensure that the scroll width is >= than this value.
                +         */
                +        minWidthInPx?: number;
                +        /**
                +         * The dom node of the view zone
                +         */
                +        domNode: HTMLElement;
                +        /**
                +         * An optional dom node for the view zone that will be placed in the margin area.
                +         */
                +        marginDomNode?: HTMLElement | null;
                +        /**
                +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
                +         */
                +        onDomNodeTop?: (top: number) => void;
                +        /**
                +         * Callback which gives the height in pixels of the view zone.
                +         */
                +        onComputedHeight?: (height: number) => void;
                +    }
                +
                +    /**
                +     * An accessor that allows for zones to be added or removed.
                +     */
                +    export interface IViewZoneChangeAccessor {
                +        /**
                +         * Create a new view zone.
                +         * @param zone Zone to create
                +         * @return A unique identifier to the view zone.
                +         */
                +        addZone(zone: IViewZone): string;
                +        /**
                +         * Remove a zone
                +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
                +         */
                +        removeZone(id: string): void;
                +        /**
                +         * Change a zone's position.
                +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
                +         */
                +        layoutZone(id: string): void;
                +    }
                +
                +    /**
                +     * A positioning preference for rendering content widgets.
                +     */
                +    export enum ContentWidgetPositionPreference {
                +        /**
                +         * Place the content widget exactly at a position
                +         */
                +        EXACT = 0,
                +        /**
                +         * Place the content widget above a position
                +         */
                +        ABOVE = 1,
                +        /**
                +         * Place the content widget below a position
                +         */
                +        BELOW = 2
                +    }
                +
                +    /**
                +     * A position for rendering content widgets.
                +     */
                +    export interface IContentWidgetPosition {
                +        /**
                +         * Desired position for the content widget.
                +         * `preference` will also affect the placement.
                +         */
                +        position: IPosition | null;
                +        /**
                +         * Optionally, a range can be provided to further
                +         * define the position of the content widget.
                +         */
                +        range?: IRange | null;
                +        /**
                +         * Placement preference for position, in order of preference.
                +         */
                +        preference: ContentWidgetPositionPreference[];
                +    }
                +
                +    /**
                +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
                +     */
                +    export interface IContentWidget {
                +        /**
                +         * Render this content widget in a location where it could overflow the editor's view dom node.
                +         */
                +        allowEditorOverflow?: boolean;
                +        suppressMouseDown?: boolean;
                +        /**
                +         * Get a unique identifier of the content widget.
                +         */
                +        getId(): string;
                +        /**
                +         * Get the dom node of the content widget.
                +         */
                +        getDomNode(): HTMLElement;
                +        /**
                +         * Get the placement of the content widget.
                +         * If null is returned, the content widget will be placed off screen.
                +         */
                +        getPosition(): IContentWidgetPosition | null;
                +        /**
                +         * Optional function that is invoked before rendering
                +         * the content widget. If a dimension is returned the editor will
                +         * attempt to use it.
                +         */
                +        beforeRender?(): IDimension | null;
                +        /**
                +         * Optional function that is invoked after rendering the content
                +         * widget. Is being invoked with the selected position preference
                +         * or `null` if not rendered.
                +         */
                +        afterRender?(position: ContentWidgetPositionPreference | null): void;
                +    }
                +
                +    /**
                +     * A positioning preference for rendering overlay widgets.
                +     */
                +    export enum OverlayWidgetPositionPreference {
                +        /**
                +         * Position the overlay widget in the top right corner
                +         */
                +        TOP_RIGHT_CORNER = 0,
                +        /**
                +         * Position the overlay widget in the bottom right corner
                +         */
                +        BOTTOM_RIGHT_CORNER = 1,
                +        /**
                +         * Position the overlay widget in the top center
                +         */
                +        TOP_CENTER = 2
                +    }
                +
                +    /**
                +     * A position for rendering overlay widgets.
                +     */
                +    export interface IOverlayWidgetPosition {
                +        /**
                +         * The position preference for the overlay widget.
                +         */
                +        preference: OverlayWidgetPositionPreference | null;
                +    }
                +
                +    /**
                +     * An overlay widgets renders on top of the text.
                +     */
                +    export interface IOverlayWidget {
                +        /**
                +         * Get a unique identifier of the overlay widget.
                +         */
                +        getId(): string;
                +        /**
                +         * Get the dom node of the overlay widget.
                +         */
                +        getDomNode(): HTMLElement;
                +        /**
                +         * Get the placement of the overlay widget.
                +         * If null is returned, the overlay widget is responsible to place itself.
                +         */
                +        getPosition(): IOverlayWidgetPosition | null;
                +    }
                +
                +    /**
                +     * Type of hit element with the mouse in the editor.
                +     */
                +    export enum MouseTargetType {
                +        /**
                +         * Mouse is on top of an unknown element.
                +         */
                +        UNKNOWN = 0,
                +        /**
                +         * Mouse is on top of the textarea used for input.
                +         */
                +        TEXTAREA = 1,
                +        /**
                +         * Mouse is on top of the glyph margin
                +         */
                +        GUTTER_GLYPH_MARGIN = 2,
                +        /**
                +         * Mouse is on top of the line numbers
                +         */
                +        GUTTER_LINE_NUMBERS = 3,
                +        /**
                +         * Mouse is on top of the line decorations
                +         */
                +        GUTTER_LINE_DECORATIONS = 4,
                +        /**
                +         * Mouse is on top of the whitespace left in the gutter by a view zone.
                +         */
                +        GUTTER_VIEW_ZONE = 5,
                +        /**
                +         * Mouse is on top of text in the content.
                +         */
                +        CONTENT_TEXT = 6,
                +        /**
                +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
                +         */
                +        CONTENT_EMPTY = 7,
                +        /**
                +         * Mouse is on top of a view zone in the content.
                +         */
                +        CONTENT_VIEW_ZONE = 8,
                +        /**
                +         * Mouse is on top of a content widget.
                +         */
                +        CONTENT_WIDGET = 9,
                +        /**
                +         * Mouse is on top of the decorations overview ruler.
                +         */
                +        OVERVIEW_RULER = 10,
                +        /**
                +         * Mouse is on top of a scrollbar.
                +         */
                +        SCROLLBAR = 11,
                +        /**
                +         * Mouse is on top of an overlay widget.
                +         */
                +        OVERLAY_WIDGET = 12,
                +        /**
                +         * Mouse is outside of the editor.
                +         */
                +        OUTSIDE_EDITOR = 13
                +    }
                +
                +    /**
                +     * Target hit with the mouse in the editor.
                +     */
                +    export interface IMouseTarget {
                +        /**
                +         * The target element
                +         */
                +        readonly element: Element | null;
                +        /**
                +         * The target type
                +         */
                +        readonly type: MouseTargetType;
                +        /**
                +         * The 'approximate' editor position
                +         */
                +        readonly position: Position | null;
                +        /**
                +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
                +         */
                +        readonly mouseColumn: number;
                +        /**
                +         * The 'approximate' editor range
                +         */
                +        readonly range: Range | null;
                +        /**
                +         * Some extra detail.
                +         */
                +        readonly detail: any;
                +    }
                +
                +    /**
                +     * A mouse event originating from the editor.
                +     */
                +    export interface IEditorMouseEvent {
                +        readonly event: IMouseEvent;
                +        readonly target: IMouseTarget;
                +    }
                +
                +    export interface IPartialEditorMouseEvent {
                +        readonly event: IMouseEvent;
                +        readonly target: IMouseTarget | null;
                +    }
                +
                +    /**
                +     * A paste event originating from the editor.
                +     */
                +    export interface IPasteEvent {
                +        readonly range: Range;
                +        readonly languageId: string | null;
                +    }
                +
                +    export interface IEditorConstructionOptions extends IEditorOptions {
                +        /**
                +         * The initial editor dimension (to avoid measuring the container).
                +         */
                +        dimension?: IDimension;
                +        /**
                +         * Place overflow widgets inside an external DOM node.
                +         * Defaults to an internal DOM node.
                +         */
                +        overflowWidgetsDomNode?: HTMLElement;
                +    }
                +
                +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
                +        /**
                +         * The initial editor dimension (to avoid measuring the container).
                +         */
                +        dimension?: IDimension;
                +        /**
                +         * Place overflow widgets inside an external DOM node.
                +         * Defaults to an internal DOM node.
                +         */
                +        overflowWidgetsDomNode?: HTMLElement;
                +        /**
                +         * Aria label for original editor.
                +         */
                +        originalAriaLabel?: string;
                +        /**
                +         * Aria label for modified editor.
                +         */
                +        modifiedAriaLabel?: string;
                +        /**
                +         * Is the diff editor inside another editor
                +         * Defaults to false
                +         */
                +        isInEmbeddedEditor?: boolean;
                +    }
                +
                +    /**
                +     * A rich code editor.
                +     */
                +    export interface ICodeEditor extends IEditor {
                +        /**
                +         * An event emitted when the content of the current model has changed.
                +         * @event
                +         */
                +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
                +        /**
                +         * An event emitted when the language of the current model has changed.
                +         * @event
                +         */
                +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
                +        /**
                +         * An event emitted when the language configuration of the current model has changed.
                +         * @event
                +         */
                +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
                +        /**
                +         * An event emitted when the options of the current model has changed.
                +         * @event
                +         */
                +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
                +        /**
                +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
                +         * @event
                +         */
                +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
                +        /**
                +         * An event emitted when the cursor position has changed.
                +         * @event
                +         */
                +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
                +        /**
                +         * An event emitted when the cursor selection has changed.
                +         * @event
                +         */
                +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
                +        /**
                +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
                +         * @event
                +         */
                +        onDidChangeModel: IEvent<IModelChangedEvent>;
                +        /**
                +         * An event emitted when the decorations of the current model have changed.
                +         * @event
                +         */
                +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
                +        /**
                +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
                +         * @event
                +         */
                +        onDidFocusEditorText(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
                +         * @event
                +         */
                +        onDidBlurEditorText(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted when the text inside this editor or an editor widget gained focus.
                +         * @event
                +         */
                +        onDidFocusEditorWidget(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted when the text inside this editor or an editor widget lost focus.
                +         * @event
                +         */
                +        onDidBlurEditorWidget(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted after composition has started.
                +         */
                +        onDidCompositionStart(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted after composition has ended.
                +         */
                +        onDidCompositionEnd(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted when editing failed because the editor is read-only.
                +         * @event
                +         */
                +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
                +        /**
                +         * An event emitted when users paste text in the editor.
                +         * @event
                +         */
                +        onDidPaste: IEvent<IPasteEvent>;
                +        /**
                +         * An event emitted on a "mouseup".
                +         * @event
                +         */
                +        onMouseUp: IEvent<IEditorMouseEvent>;
                +        /**
                +         * An event emitted on a "mousedown".
                +         * @event
                +         */
                +        onMouseDown: IEvent<IEditorMouseEvent>;
                +        /**
                +         * An event emitted on a "contextmenu".
                +         * @event
                +         */
                +        onContextMenu: IEvent<IEditorMouseEvent>;
                +        /**
                +         * An event emitted on a "mousemove".
                +         * @event
                +         */
                +        onMouseMove: IEvent<IEditorMouseEvent>;
                +        /**
                +         * An event emitted on a "mouseleave".
                +         * @event
                +         */
                +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
                +        /**
                +         * An event emitted on a "keyup".
                +         * @event
                +         */
                +        onKeyUp: IEvent<IKeyboardEvent>;
                +        /**
                +         * An event emitted on a "keydown".
                +         * @event
                +         */
                +        onKeyDown: IEvent<IKeyboardEvent>;
                +        /**
                +         * An event emitted when the layout of the editor has changed.
                +         * @event
                +         */
                +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
                +        /**
                +         * An event emitted when the content width or content height in the editor has changed.
                +         * @event
                +         */
                +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
                +        /**
                +         * An event emitted when the scroll in the editor has changed.
                +         * @event
                +         */
                +        onDidScrollChange: IEvent<IScrollEvent>;
                +        /**
                +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
                +         * @event
                +         */
                +        onDidChangeHiddenAreas: IEvent<void>;
                +        /**
                +         * Saves current view state of the editor in a serializable object.
                +         */
                +        saveViewState(): ICodeEditorViewState | null;
                +        /**
                +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
                +         */
                +        restoreViewState(state: ICodeEditorViewState): void;
                +        /**
                +         * Returns true if the text inside this editor or an editor widget has focus.
                +         */
                +        hasWidgetFocus(): boolean;
                +        /**
                +         * Get a contribution of this editor.
                +         * @id Unique identifier of the contribution.
                +         * @return The contribution or null if contribution not found.
                +         */
                +        getContribution<T extends IEditorContribution>(id: string): T;
                +        /**
                +         * Type the getModel() of IEditor.
                +         */
                +        getModel(): ITextModel | null;
                +        /**
                +         * Sets the current model attached to this editor.
                +         * If the previous model was created by the editor via the value key in the options
                +         * literal object, it will be destroyed. Otherwise, if the previous model was set
                +         * via setModel, or the model key in the options literal object, the previous model
                +         * will not be destroyed.
                +         * It is safe to call setModel(null) to simply detach the current model from the editor.
                +         */
                +        setModel(model: ITextModel | null): void;
                +        /**
                +         * Gets all the editor computed options.
                +         */
                +        getOptions(): IComputedEditorOptions;
                +        /**
                +         * Gets a specific editor option.
                +         */
                +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
                +        /**
                +         * Returns the editor's configuration (without any validation or defaults).
                +         */
                +        getRawOptions(): IEditorOptions;
                +        /**
                +         * Get value of the current model attached to this editor.
                +         * @see {@link ITextModel.getValue}
                +         */
                +        getValue(options?: {
                +            preserveBOM: boolean;
                +            lineEnding: string;
                +        }): string;
                +        /**
                +         * Set the value of the current model attached to this editor.
                +         * @see {@link ITextModel.setValue}
                +         */
                +        setValue(newValue: string): void;
                +        /**
                +         * Get the width of the editor's content.
                +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
                +         */
                +        getContentWidth(): number;
                +        /**
                +         * Get the scrollWidth of the editor's viewport.
                +         */
                +        getScrollWidth(): number;
                +        /**
                +         * Get the scrollLeft of the editor's viewport.
                +         */
                +        getScrollLeft(): number;
                +        /**
                +         * Get the height of the editor's content.
                +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
                +         */
                +        getContentHeight(): number;
                +        /**
                +         * Get the scrollHeight of the editor's viewport.
                +         */
                +        getScrollHeight(): number;
                +        /**
                +         * Get the scrollTop of the editor's viewport.
                +         */
                +        getScrollTop(): number;
                +        /**
                +         * Change the scrollLeft of the editor's viewport.
                +         */
                +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
                +        /**
                +         * Change the scrollTop of the editor's viewport.
                +         */
                +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
                +        /**
                +         * Change the scroll position of the editor's viewport.
                +         */
                +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
                +        /**
                +         * Get an action that is a contribution to this editor.
                +         * @id Unique identifier of the contribution.
                +         * @return The action or null if action not found.
                +         */
                +        getAction(id: string): IEditorAction;
                +        /**
                +         * Execute a command on the editor.
                +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
                +         * @param source The source of the call.
                +         * @param command The command to execute
                +         */
                +        executeCommand(source: string | null | undefined, command: ICommand): void;
                +        /**
                +         * Create an "undo stop" in the undo-redo stack.
                +         */
                +        pushUndoStop(): boolean;
                +        /**
                +         * Remove the "undo stop" in the undo-redo stack.
                +         */
                +        popUndoStop(): boolean;
                +        /**
                +         * Execute edits on the editor.
                +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
                +         * @param source The source of the call.
                +         * @param edits The edits to execute.
                +         * @param endCursorState Cursor state after the edits were applied.
                +         */
                +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
                +        /**
                +         * Execute multiple (concomitant) commands on the editor.
                +         * @param source The source of the call.
                +         * @param command The commands to execute
                +         */
                +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
                +        /**
                +         * Get all the decorations on a line (filtering out decorations from other editors).
                +         */
                +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
                +        /**
                +         * All decorations added through this call will get the ownerId of this editor.
                +         * @see {@link ITextModel.deltaDecorations}
                +         */
                +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
                +        /**
                +         * Get the layout info for the editor.
                +         */
                +        getLayoutInfo(): EditorLayoutInfo;
                +        /**
                +         * Returns the ranges that are currently visible.
                +         * Does not account for horizontal scrolling.
                +         */
                +        getVisibleRanges(): Range[];
                +        /**
                +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
                +         */
                +        getTopForLineNumber(lineNumber: number): number;
                +        /**
                +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
                +         */
                +        getTopForPosition(lineNumber: number, column: number): number;
                +        /**
                +         * Returns the editor's container dom node
                +         */
                +        getContainerDomNode(): HTMLElement;
                +        /**
                +         * Returns the editor's dom node
                +         */
                +        getDomNode(): HTMLElement | null;
                +        /**
                +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
                +         */
                +        addContentWidget(widget: IContentWidget): void;
                +        /**
                +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
                +         * and update appropriately.
                +         */
                +        layoutContentWidget(widget: IContentWidget): void;
                +        /**
                +         * Remove a content widget.
                +         */
                +        removeContentWidget(widget: IContentWidget): void;
                +        /**
                +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
                +         */
                +        addOverlayWidget(widget: IOverlayWidget): void;
                +        /**
                +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
                +         * and update appropriately.
                +         */
                +        layoutOverlayWidget(widget: IOverlayWidget): void;
                +        /**
                +         * Remove an overlay widget.
                +         */
                +        removeOverlayWidget(widget: IOverlayWidget): void;
                +        /**
                +         * Change the view zones. View zones are lost when a new model is attached to the editor.
                +         */
                +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
                +        /**
                +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
                +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
                +         * Use this method with caution.
                +         */
                +        getOffsetForColumn(lineNumber: number, column: number): number;
                +        /**
                +         * Force an editor render now.
                +         */
                +        render(forceRedraw?: boolean): void;
                +        /**
                +         * Get the hit test target at coordinates `clientX` and `clientY`.
                +         * The coordinates are relative to the top-left of the viewport.
                +         *
                +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
                +         */
                +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
                +        /**
                +         * Get the visible position for `position`.
                +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
                +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
                +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
                +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
                +         */
                +        getScrolledVisiblePosition(position: IPosition): {
                +            top: number;
                +            left: number;
                +            height: number;
                +        } | null;
                +        /**
                +         * Apply the same font settings as the editor to `target`.
                +         */
                +        applyFontInfo(target: HTMLElement): void;
                +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
                +    }
                +
                +    /**
                +     * Information about a line in the diff editor
                +     */
                +    export interface IDiffLineInformation {
                +        readonly equivalentLineNumber: number;
                +    }
                +
                +    /**
                +     * A rich diff editor.
                +     */
                +    export interface IDiffEditor extends IEditor {
                +        /**
                +         * @see {@link ICodeEditor.getDomNode}
                +         */
                +        getDomNode(): HTMLElement;
                +        /**
                +         * An event emitted when the diff information computed by this diff editor has been updated.
                +         * @event
                +         */
                +        onDidUpdateDiff(listener: () => void): IDisposable;
                +        /**
                +         * Saves current view state of the editor in a serializable object.
                +         */
                +        saveViewState(): IDiffEditorViewState | null;
                +        /**
                +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
                +         */
                +        restoreViewState(state: IDiffEditorViewState): void;
                +        /**
                +         * Type the getModel() of IEditor.
                +         */
                +        getModel(): IDiffEditorModel | null;
                +        /**
                +         * Sets the current model attached to this editor.
                +         * If the previous model was created by the editor via the value key in the options
                +         * literal object, it will be destroyed. Otherwise, if the previous model was set
                +         * via setModel, or the model key in the options literal object, the previous model
                +         * will not be destroyed.
                +         * It is safe to call setModel(null) to simply detach the current model from the editor.
                +         */
                +        setModel(model: IDiffEditorModel | null): void;
                +        /**
                +         * Get the `original` editor.
                +         */
                +        getOriginalEditor(): ICodeEditor;
                +        /**
                +         * Get the `modified` editor.
                +         */
                +        getModifiedEditor(): ICodeEditor;
                +        /**
                +         * Get the computed diff information.
                +         */
                +        getLineChanges(): ILineChange[] | null;
                +        /**
                +         * Get information based on computed diff about a line number from the original model.
                +         * If the diff computation is not finished or the model is missing, will return null.
                +         */
                +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
                +        /**
                +         * Get information based on computed diff about a line number from the modified model.
                +         * If the diff computation is not finished or the model is missing, will return null.
                +         */
                +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
                +        /**
                +         * Update the editor's options after the editor has been created.
                +         */
                +        updateOptions(newOptions: IDiffEditorOptions): void;
                +    }
                +
                +    export class FontInfo extends BareFontInfo {
                +        readonly _editorStylingBrand: void;
                +        readonly version: number;
                +        readonly isTrusted: boolean;
                +        readonly isMonospace: boolean;
                +        readonly typicalHalfwidthCharacterWidth: number;
                +        readonly typicalFullwidthCharacterWidth: number;
                +        readonly canUseHalfwidthRightwardsArrow: boolean;
                +        readonly spaceWidth: number;
                +        readonly middotWidth: number;
                +        readonly wsmiddotWidth: number;
                +        readonly maxDigitWidth: number;
                +    }
                +
                +    export class BareFontInfo {
                +        readonly _bareFontInfoBrand: void;
                +        readonly zoomLevel: number;
                +        readonly pixelRatio: number;
                +        readonly fontFamily: string;
                +        readonly fontWeight: string;
                +        readonly fontSize: number;
                +        readonly fontFeatureSettings: string;
                +        readonly lineHeight: number;
                +        readonly letterSpacing: number;
                +    }
                +
                +    //compatibility:
                +    export type IReadOnlyModel = ITextModel;
                +    export type IModel = ITextModel;
                +}
                +
                +declare namespace monaco.languages {
                +
                +
                +    /**
                +     * Register information about a new language.
                +     */
                +    export function register(language: ILanguageExtensionPoint): void;
                +
                +    /**
                +     * Get the information of all the registered languages.
                +     */
                +    export function getLanguages(): ILanguageExtensionPoint[];
                +
                +    export function getEncodedLanguageId(languageId: string): number;
                +
                +    /**
                +     * An event emitted when a language is first time needed (e.g. a model has it set).
                +     * @event
                +     */
                +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
                +
                +    /**
                +     * Set the editing configuration for a language.
                +     */
                +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
                +
                +    /**
                +     * A token.
                +     */
                +    export interface IToken {
                +        startIndex: number;
                +        scopes: string;
                +    }
                +
                +    /**
                +     * The result of a line tokenization.
                +     */
                +    export interface ILineTokens {
                +        /**
                +         * The list of tokens on the line.
                +         */
                +        tokens: IToken[];
                +        /**
                +         * The tokenization end state.
                +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
                +         */
                +        endState: IState;
                +    }
                +
                +    /**
                +     * The result of a line tokenization.
                +     */
                +    export interface IEncodedLineTokens {
                +        /**
                +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
                +         *  - at offset 2*i => startIndex
                +         *  - at offset 2*i + 1 => metadata
                +         * Meta data is in binary format:
                +         * - -------------------------------------------
                +         *     3322 2222 2222 1111 1111 1100 0000 0000
                +         *     1098 7654 3210 9876 5432 1098 7654 3210
                +         * - -------------------------------------------
                +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
                +         * - -------------------------------------------
                +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
                +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
                +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
                +         *  - f = foreground ColorId (9 bits)
                +         *  - b = background ColorId (9 bits)
                +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
                +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
                +         * id = 1 is for the default foreground color, id = 2 for the default background.
                +         */
                +        tokens: Uint32Array;
                +        /**
                +         * The tokenization end state.
                +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
                +         */
                +        endState: IState;
                +    }
                +
                +    /**
                +     * A "manual" provider of tokens.
                +     */
                +    export interface TokensProvider {
                +        /**
                +         * The initial state of a language. Will be the state passed in to tokenize the first line.
                +         */
                +        getInitialState(): IState;
                +        /**
                +         * Tokenize a line given the state at the beginning of the line.
                +         */
                +        tokenize(line: string, state: IState): ILineTokens;
                +    }
                +
                +    /**
                +     * A "manual" provider of tokens, returning tokens in a binary form.
                +     */
                +    export interface EncodedTokensProvider {
                +        /**
                +         * The initial state of a language. Will be the state passed in to tokenize the first line.
                +         */
                +        getInitialState(): IState;
                +        /**
                +         * Tokenize a line given the state at the beginning of the line.
                +         */
                +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
                +        /**
                +         * Tokenize a line given the state at the beginning of the line.
                +         */
                +        tokenize?(line: string, state: IState): ILineTokens;
                +    }
                +
                +    /**
                +     * Change the color map that is used for token colors.
                +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
                +     */
                +    export function setColorMap(colorMap: string[] | null): void;
                +
                +    /**
                +     * Set the tokens provider for a language (manual implementation).
                +     */
                +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
                +
                +    /**
                +     * Set the tokens provider for a language (monarch implementation).
                +     */
                +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
                +
                +    /**
                +     * Register a reference provider (used by e.g. reference search).
                +     */
                +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
                +
                +    /**
                +     * Register a rename provider (used by e.g. rename symbol).
                +     */
                +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
                +
                +    /**
                +     * Register a signature help provider (used by e.g. parameter hints).
                +     */
                +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
                +
                +    /**
                +     * Register a hover provider (used by e.g. editor hover).
                +     */
                +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
                +
                +    /**
                +     * Register a document symbol provider (used by e.g. outline).
                +     */
                +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
                +
                +    /**
                +     * Register a document highlight provider (used by e.g. highlight occurrences).
                +     */
                +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
                +
                +    /**
                +     * Register an linked editing range provider.
                +     */
                +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
                +
                +    /**
                +     * Register a definition provider (used by e.g. go to definition).
                +     */
                +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
                +
                +    /**
                +     * Register a implementation provider (used by e.g. go to implementation).
                +     */
                +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
                +
                +    /**
                +     * Register a type definition provider (used by e.g. go to type definition).
                +     */
                +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
                +
                +    /**
                +     * Register a code lens provider (used by e.g. inline code lenses).
                +     */
                +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
                +
                +    /**
                +     * Register a code action provider (used by e.g. quick fix).
                +     */
                +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
                +
                +    /**
                +     * Register a formatter that can handle only entire models.
                +     */
                +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
                +
                +    /**
                +     * Register a formatter that can handle a range inside a model.
                +     */
                +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
                +
                +    /**
                +     * Register a formatter than can do formatting as the user types.
                +     */
                +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
                +
                +    /**
                +     * Register a link provider that can find links in text.
                +     */
                +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
                +
                +    /**
                +     * Register a completion item provider (use by e.g. suggestions).
                +     */
                +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
                +
                +    /**
                +     * Register a document color provider (used by Color Picker, Color Decorator).
                +     */
                +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
                +
                +    /**
                +     * Register a folding range provider
                +     */
                +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
                +
                +    /**
                +     * Register a declaration provider
                +     */
                +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
                +
                +    /**
                +     * Register a selection range provider
                +     */
                +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
                +
                +    /**
                +     * Register a document semantic tokens provider
                +     */
                +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
                +
                +    /**
                +     * Register a document range semantic tokens provider
                +     */
                +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
                +
                +    /**
                +     * Register an inline completions provider.
                +     */
                +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
                +
                +    /**
                +     * Register an inlay hints provider.
                +     */
                +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
                +
                +    /**
                +     * Contains additional diagnostic information about the context in which
                +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
                +     */
                +    export interface CodeActionContext {
                +        /**
                +         * An array of diagnostics.
                +         */
                +        readonly markers: editor.IMarkerData[];
                +        /**
                +         * Requested kind of actions to return.
                +         */
                +        readonly only?: string;
                +    }
                +
                +    /**
                +     * The code action interface defines the contract between extensions and
                +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
                +     */
                +    export interface CodeActionProvider {
                +        /**
                +         * Provide commands for the given document and range.
                +         */
                +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
                +        /**
                +         * Given a code action fill in the edit. Will only invoked when missing.
                +         */
                +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
                +    }
                +
                +    /**
                +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
                +     */
                +    export interface CodeActionProviderMetadata {
                +        /**
                +         * List of code action kinds that a {@link CodeActionProvider} may return.
                +         *
                +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
                +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
                +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
                +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
                +         */
                +        readonly providedCodeActionKinds?: readonly string[];
                +    }
                +
                +    /**
                +     * Describes how comments for a language work.
                +     */
                +    export interface CommentRule {
                +        /**
                +         * The line comment token, like `// this is a comment`
                +         */
                +        lineComment?: string | null;
                +        /**
                +         * The block comment character pair, like `/* block comment *&#47;`
                +         */
                +        blockComment?: CharacterPair | null;
                +    }
                +
                +    /**
                +     * The language configuration interface defines the contract between extensions and
                +     * various editor features, like automatic bracket insertion, automatic indentation etc.
                +     */
                +    export interface LanguageConfiguration {
                +        /**
                +         * The language's comment settings.
                +         */
                +        comments?: CommentRule;
                +        /**
                +         * The language's brackets.
                +         * This configuration implicitly affects pressing Enter around these brackets.
                +         */
                +        brackets?: CharacterPair[];
                +        /**
                +         * The language's word definition.
                +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
                +         * to provide a word definition that uses exclusion of known separators.
                +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
                +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
                +         */
                +        wordPattern?: RegExp;
                +        /**
                +         * The language's indentation settings.
                +         */
                +        indentationRules?: IndentationRule;
                +        /**
                +         * The language's rules to be evaluated when pressing Enter.
                +         */
                +        onEnterRules?: OnEnterRule[];
                +        /**
                +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
                +         * 'open' character is typed. If not set, the configured brackets will be used.
                +         */
                +        autoClosingPairs?: IAutoClosingPairConditional[];
                +        /**
                +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
                +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
                +         * settings will be used.
                +         */
                +        surroundingPairs?: IAutoClosingPair[];
                +        /**
                +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
                +         * If not set, the configured brackets will be used.
                +        */
                +        colorizedBracketPairs?: CharacterPair[];
                +        /**
                +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
                +         *
                +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
                +         */
                +        autoCloseBefore?: string;
                +        /**
                +         * The language's folding rules.
                +         */
                +        folding?: FoldingRules;
                +        /**
                +         * **Deprecated** Do not use.
                +         *
                +         * @deprecated Will be replaced by a better API soon.
                +         */
                +        __electricCharacterSupport?: {
                +            docComment?: IDocComment;
                +        };
                +    }
                +
                +    /**
                +     * Describes indentation rules for a language.
                +     */
                +    export interface IndentationRule {
                +        /**
                +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
                +         */
                +        decreaseIndentPattern: RegExp;
                +        /**
                +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
                +         */
                +        increaseIndentPattern: RegExp;
                +        /**
                +         * If a line matches this pattern, then **only the next line** after it should be indented once.
                +         */
                +        indentNextLinePattern?: RegExp | null;
                +        /**
                +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
                +         */
                +        unIndentedLinePattern?: RegExp | null;
                +    }
                +
                +    /**
                +     * Describes language specific folding markers such as '#region' and '#endregion'.
                +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
                +     * - the regex should start with '^'
                +     * - regexp flags (i, g) are ignored
                +     */
                +    export interface FoldingMarkers {
                +        start: RegExp;
                +        end: RegExp;
                +    }
                +
                +    /**
                +     * Describes folding rules for a language.
                +     */
                +    export interface FoldingRules {
                +        /**
                +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
                +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
                +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
                +         * If not set, `false` is used and empty lines belong to the previous block.
                +         */
                +        offSide?: boolean;
                +        /**
                +         * Region markers used by the language.
                +         */
                +        markers?: FoldingMarkers;
                +    }
                +
                +    /**
                +     * Describes a rule to be evaluated when pressing Enter.
                +     */
                +    export interface OnEnterRule {
                +        /**
                +         * This rule will only execute if the text before the cursor matches this regular expression.
                +         */
                +        beforeText: RegExp;
                +        /**
                +         * This rule will only execute if the text after the cursor matches this regular expression.
                +         */
                +        afterText?: RegExp;
                +        /**
                +         * This rule will only execute if the text above the this line matches this regular expression.
                +         */
                +        previousLineText?: RegExp;
                +        /**
                +         * The action to execute.
                +         */
                +        action: EnterAction;
                +    }
                +
                +    /**
                +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
                +     */
                +    export interface IDocComment {
                +        /**
                +         * The string that starts a doc comment (e.g. '/**')
                +         */
                +        open: string;
                +        /**
                +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
                +         */
                +        close?: string;
                +    }
                +
                +    /**
                +     * A tuple of two characters, like a pair of
                +     * opening and closing brackets.
                +     */
                +    export type CharacterPair = [string, string];
                +
                +    export interface IAutoClosingPair {
                +        open: string;
                +        close: string;
                +    }
                +
                +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
                +        notIn?: string[];
                +    }
                +
                +    /**
                +     * Describes what to do with the indentation when pressing Enter.
                +     */
                +    export enum IndentAction {
                +        /**
                +         * Insert new line and copy the previous line's indentation.
                +         */
                +        None = 0,
                +        /**
                +         * Insert new line and indent once (relative to the previous line's indentation).
                +         */
                +        Indent = 1,
                +        /**
                +         * Insert two new lines:
                +         *  - the first one indented which will hold the cursor
                +         *  - the second one at the same indentation level
                +         */
                +        IndentOutdent = 2,
                +        /**
                +         * Insert new line and outdent once (relative to the previous line's indentation).
                +         */
                +        Outdent = 3
                +    }
                +
                +    /**
                +     * Describes what to do when pressing Enter.
                +     */
                +    export interface EnterAction {
                +        /**
                +         * Describe what to do with the indentation.
                +         */
                +        indentAction: IndentAction;
                +        /**
                +         * Describes text to be appended after the new line and after the indentation.
                +         */
                +        appendText?: string;
                +        /**
                +         * Describes the number of characters to remove from the new line's indentation.
                +         */
                +        removeText?: number;
                +    }
                +
                +    /**
                +     * The state of the tokenizer between two lines.
                +     * It is useful to store flags such as in multiline comment, etc.
                +     * The model will clone the previous line's state and pass it in to tokenize the next line.
                +     */
                +    export interface IState {
                +        clone(): IState;
                +        equals(other: IState): boolean;
                +    }
                +
                +    /**
                +     * A provider result represents the values a provider, like the {@link HoverProvider},
                +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
                +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
                +     * thenable.
                +     */
                +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
                +
                +    /**
                +     * A hover represents additional information for a symbol or word. Hovers are
                +     * rendered in a tooltip-like widget.
                +     */
                +    export interface Hover {
                +        /**
                +         * The contents of this hover.
                +         */
                +        contents: IMarkdownString[];
                +        /**
                +         * The range to which this hover applies. When missing, the
                +         * editor will use the range at the current position or the
                +         * current position itself.
                +         */
                +        range?: IRange;
                +    }
                +
                +    /**
                +     * The hover provider interface defines the contract between extensions and
                +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
                +     */
                +    export interface HoverProvider {
                +        /**
                +         * Provide a hover for the given position and document. Multiple hovers at the same
                +         * position will be merged by the editor. A hover can have a range which defaults
                +         * to the word range at the position when omitted.
                +         */
                +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
                +    }
                +
                +    export enum CompletionItemKind {
                +        Method = 0,
                +        Function = 1,
                +        Constructor = 2,
                +        Field = 3,
                +        Variable = 4,
                +        Class = 5,
                +        Struct = 6,
                +        Interface = 7,
                +        Module = 8,
                +        Property = 9,
                +        Event = 10,
                +        Operator = 11,
                +        Unit = 12,
                +        Value = 13,
                +        Constant = 14,
                +        Enum = 15,
                +        EnumMember = 16,
                +        Keyword = 17,
                +        Text = 18,
                +        Color = 19,
                +        File = 20,
                +        Reference = 21,
                +        Customcolor = 22,
                +        Folder = 23,
                +        TypeParameter = 24,
                +        User = 25,
                +        Issue = 26,
                +        Snippet = 27
                +    }
                +
                +    export interface CompletionItemLabel {
                +        label: string;
                +        detail?: string;
                +        description?: string;
                +    }
                +
                +    export enum CompletionItemTag {
                +        Deprecated = 1
                +    }
                +
                +    export enum CompletionItemInsertTextRule {
                +        /**
                +         * Adjust whitespace/indentation of multiline insert texts to
                +         * match the current line indentation.
                +         */
                +        KeepWhitespace = 1,
                +        /**
                +         * `insertText` is a snippet.
                +         */
                +        InsertAsSnippet = 4
                +    }
                +
                +    export interface CompletionItemRanges {
                +        insert: IRange;
                +        replace: IRange;
                +    }
                +
                +    /**
                +     * A completion item represents a text snippet that is
                +     * proposed to complete text that is being typed.
                +     */
                +    export interface CompletionItem {
                +        /**
                +         * The label of this completion item. By default
                +         * this is also the text that is inserted when selecting
                +         * this completion.
                +         */
                +        label: string | CompletionItemLabel;
                +        /**
                +         * The kind of this completion item. Based on the kind
                +         * an icon is chosen by the editor.
                +         */
                +        kind: CompletionItemKind;
                +        /**
                +         * A modifier to the `kind` which affect how the item
                +         * is rendered, e.g. Deprecated is rendered with a strikeout
                +         */
                +        tags?: ReadonlyArray<CompletionItemTag>;
                +        /**
                +         * A human-readable string with additional information
                +         * about this item, like type or symbol information.
                +         */
                +        detail?: string;
                +        /**
                +         * A human-readable string that represents a doc-comment.
                +         */
                +        documentation?: string | IMarkdownString;
                +        /**
                +         * A string that should be used when comparing this item
                +         * with other items. When `falsy` the {@link CompletionItem.label label}
                +         * is used.
                +         */
                +        sortText?: string;
                +        /**
                +         * A string that should be used when filtering a set of
                +         * completion items. When `falsy` the {@link CompletionItem.label label}
                +         * is used.
                +         */
                +        filterText?: string;
                +        /**
                +         * Select this item when showing. *Note* that only one completion item can be selected and
                +         * that the editor decides which item that is. The rule is that the *first* item of those
                +         * that match best is selected.
                +         */
                +        preselect?: boolean;
                +        /**
                +         * A string or snippet that should be inserted in a document when selecting
                +         * this completion.
                +         */
                +        insertText: string;
                +        /**
                +         * Additional rules (as bitmask) that should be applied when inserting
                +         * this completion.
                +         */
                +        insertTextRules?: CompletionItemInsertTextRule;
                +        /**
                +         * A range of text that should be replaced by this completion item.
                +         *
                +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
                +         * current position.
                +         *
                +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
                +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
                +         */
                +        range: IRange | CompletionItemRanges;
                +        /**
                +         * An optional set of characters that when pressed while this completion is active will accept it first and
                +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
                +         * characters will be ignored.
                +         */
                +        commitCharacters?: string[];
                +        /**
                +         * An optional array of additional text edits that are applied when
                +         * selecting this completion. Edits must not overlap with the main edit
                +         * nor with themselves.
                +         */
                +        additionalTextEdits?: editor.ISingleEditOperation[];
                +        /**
                +         * A command that should be run upon acceptance of this item.
                +         */
                +        command?: Command;
                +    }
                +
                +    export interface CompletionList {
                +        suggestions: CompletionItem[];
                +        incomplete?: boolean;
                +        dispose?(): void;
                +    }
                +
                +    /**
                +     * How a suggest provider was triggered.
                +     */
                +    export enum CompletionTriggerKind {
                +        Invoke = 0,
                +        TriggerCharacter = 1,
                +        TriggerForIncompleteCompletions = 2
                +    }
                +
                +    /**
                +     * Contains additional information about the context in which
                +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
                +     */
                +    export interface CompletionContext {
                +        /**
                +         * How the completion was triggered.
                +         */
                +        triggerKind: CompletionTriggerKind;
                +        /**
                +         * Character that triggered the completion item provider.
                +         *
                +         * `undefined` if provider was not triggered by a character.
                +         */
                +        triggerCharacter?: string;
                +    }
                +
                +    /**
                +     * The completion item provider interface defines the contract between extensions and
                +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
                +     *
                +     * When computing *complete* completion items is expensive, providers can optionally implement
                +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
                +     * items with a {@link CompletionItem.label label} from the
                +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
                +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
                +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
                +     */
                +    export interface CompletionItemProvider {
                +        triggerCharacters?: string[];
                +        /**
                +         * Provide completion items for the given position and document.
                +         */
                +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
                +        /**
                +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
                +         * or {@link CompletionItem.detail details}.
                +         *
                +         * The editor will only resolve a completion item once.
                +         */
                +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
                +    }
                +
                +    /**
                +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
                +     */
                +    export enum InlineCompletionTriggerKind {
                +        /**
                +         * Completion was triggered automatically while editing.
                +         * It is sufficient to return a single completion item in this case.
                +         */
                +        Automatic = 0,
                +        /**
                +         * Completion was triggered explicitly by a user gesture.
                +         * Return multiple completion items to enable cycling through them.
                +         */
                +        Explicit = 1
                +    }
                +
                +    export interface InlineCompletionContext {
                +        /**
                +         * How the completion was triggered.
                +         */
                +        readonly triggerKind: InlineCompletionTriggerKind;
                +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
                +    }
                +
                +    export interface SelectedSuggestionInfo {
                +        range: IRange;
                +        text: string;
                +        isSnippetText: boolean;
                +        completionKind: CompletionItemKind;
                +    }
                +
                +    export interface InlineCompletion {
                +        /**
                +         * The text to insert.
                +         * If the text contains a line break, the range must end at the end of a line.
                +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
                +        */
                +        readonly text: string;
                +        /**
                +         * The range to replace.
                +         * Must begin and end on the same line.
                +        */
                +        readonly range?: IRange;
                +        readonly command?: Command;
                +    }
                +
                +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
                +        readonly items: readonly TItem[];
                +    }
                +
                +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
                +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
                +        /**
                +         * Will be called when an item is shown.
                +        */
                +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
                +        /**
                +         * Will be called when a completions list is no longer in use and can be garbage-collected.
                +        */
                +        freeInlineCompletions(completions: T): void;
                +    }
                +
                +    export interface CodeAction {
                +        title: string;
                +        command?: Command;
                +        edit?: WorkspaceEdit;
                +        diagnostics?: editor.IMarkerData[];
                +        kind?: string;
                +        isPreferred?: boolean;
                +        disabled?: string;
                +    }
                +
                +    export interface CodeActionList extends IDisposable {
                +        readonly actions: ReadonlyArray<CodeAction>;
                +    }
                +
                +    /**
                +     * Represents a parameter of a callable-signature. A parameter can
                +     * have a label and a doc-comment.
                +     */
                +    export interface ParameterInformation {
                +        /**
                +         * The label of this signature. Will be shown in
                +         * the UI.
                +         */
                +        label: string | [number, number];
                +        /**
                +         * The human-readable doc-comment of this signature. Will be shown
                +         * in the UI but can be omitted.
                +         */
                +        documentation?: string | IMarkdownString;
                +    }
                +
                +    /**
                +     * Represents the signature of something callable. A signature
                +     * can have a label, like a function-name, a doc-comment, and
                +     * a set of parameters.
                +     */
                +    export interface SignatureInformation {
                +        /**
                +         * The label of this signature. Will be shown in
                +         * the UI.
                +         */
                +        label: string;
                +        /**
                +         * The human-readable doc-comment of this signature. Will be shown
                +         * in the UI but can be omitted.
                +         */
                +        documentation?: string | IMarkdownString;
                +        /**
                +         * The parameters of this signature.
                +         */
                +        parameters: ParameterInformation[];
                +        /**
                +         * Index of the active parameter.
                +         *
                +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
                +         */
                +        activeParameter?: number;
                +    }
                +
                +    /**
                +     * Signature help represents the signature of something
                +     * callable. There can be multiple signatures but only one
                +     * active and only one active parameter.
                +     */
                +    export interface SignatureHelp {
                +        /**
                +         * One or more signatures.
                +         */
                +        signatures: SignatureInformation[];
                +        /**
                +         * The active signature.
                +         */
                +        activeSignature: number;
                +        /**
                +         * The active parameter of the active signature.
                +         */
                +        activeParameter: number;
                +    }
                +
                +    export interface SignatureHelpResult extends IDisposable {
                +        value: SignatureHelp;
                +    }
                +
                +    export enum SignatureHelpTriggerKind {
                +        Invoke = 1,
                +        TriggerCharacter = 2,
                +        ContentChange = 3
                +    }
                +
                +    export interface SignatureHelpContext {
                +        readonly triggerKind: SignatureHelpTriggerKind;
                +        readonly triggerCharacter?: string;
                +        readonly isRetrigger: boolean;
                +        readonly activeSignatureHelp?: SignatureHelp;
                +    }
                +
                +    /**
                +     * The signature help provider interface defines the contract between extensions and
                +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
                +     */
                +    export interface SignatureHelpProvider {
                +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
                +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
                +        /**
                +         * Provide help for the signature at the given position and document.
                +         */
                +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
                +    }
                +
                +    /**
                +     * A document highlight kind.
                +     */
                +    export enum DocumentHighlightKind {
                +        /**
                +         * A textual occurrence.
                +         */
                +        Text = 0,
                +        /**
                +         * Read-access of a symbol, like reading a variable.
                +         */
                +        Read = 1,
                +        /**
                +         * Write-access of a symbol, like writing to a variable.
                +         */
                +        Write = 2
                +    }
                +
                +    /**
                +     * A document highlight is a range inside a text document which deserves
                +     * special attention. Usually a document highlight is visualized by changing
                +     * the background color of its range.
                +     */
                +    export interface DocumentHighlight {
                +        /**
                +         * The range this highlight applies to.
                +         */
                +        range: IRange;
                +        /**
                +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
                +         */
                +        kind?: DocumentHighlightKind;
                +    }
                +
                +    /**
                +     * The document highlight provider interface defines the contract between extensions and
                +     * the word-highlight-feature.
                +     */
                +    export interface DocumentHighlightProvider {
                +        /**
                +         * Provide a set of document highlights, like all occurrences of a variable or
                +         * all exit-points of a function.
                +         */
                +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
                +    }
                +
                +    /**
                +     * The linked editing range provider interface defines the contract between extensions and
                +     * the linked editing feature.
                +     */
                +    export interface LinkedEditingRangeProvider {
                +        /**
                +         * Provide a list of ranges that can be edited together.
                +         */
                +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
                +    }
                +
                +    /**
                +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
                +     */
                +    export interface LinkedEditingRanges {
                +        /**
                +         * A list of ranges that can be edited together. The ranges must have
                +         * identical length and text content. The ranges cannot overlap
                +         */
                +        ranges: IRange[];
                +        /**
                +         * An optional word pattern that describes valid contents for the given ranges.
                +         * If no pattern is provided, the language configuration's word pattern will be used.
                +         */
                +        wordPattern?: RegExp;
                +    }
                +
                +    /**
                +     * Value-object that contains additional information when
                +     * requesting references.
                +     */
                +    export interface ReferenceContext {
                +        /**
                +         * Include the declaration of the current symbol.
                +         */
                +        includeDeclaration: boolean;
                +    }
                +
                +    /**
                +     * The reference provider interface defines the contract between extensions and
                +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
                +     */
                +    export interface ReferenceProvider {
                +        /**
                +         * Provide a set of project-wide references for the given position and document.
                +         */
                +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
                +    }
                +
                +    /**
                +     * Represents a location inside a resource, such as a line
                +     * inside a text file.
                +     */
                +    export interface Location {
                +        /**
                +         * The resource identifier of this location.
                +         */
                +        uri: Uri;
                +        /**
                +         * The document range of this locations.
                +         */
                +        range: IRange;
                +    }
                +
                +    export interface LocationLink {
                +        /**
                +         * A range to select where this link originates from.
                +         */
                +        originSelectionRange?: IRange;
                +        /**
                +         * The target uri this link points to.
                +         */
                +        uri: Uri;
                +        /**
                +         * The full range this link points to.
                +         */
                +        range: IRange;
                +        /**
                +         * A range to select this link points to. Must be contained
                +         * in `LocationLink.range`.
                +         */
                +        targetSelectionRange?: IRange;
                +    }
                +
                +    export type Definition = Location | Location[] | LocationLink[];
                +
                +    /**
                +     * The definition provider interface defines the contract between extensions and
                +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
                +     * and peek definition features.
                +     */
                +    export interface DefinitionProvider {
                +        /**
                +         * Provide the definition of the symbol at the given position and document.
                +         */
                +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                +    }
                +
                +    /**
                +     * The definition provider interface defines the contract between extensions and
                +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
                +     * and peek definition features.
                +     */
                +    export interface DeclarationProvider {
                +        /**
                +         * Provide the declaration of the symbol at the given position and document.
                +         */
                +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                +    }
                +
                +    /**
                +     * The implementation provider interface defines the contract between extensions and
                +     * the go to implementation feature.
                +     */
                +    export interface ImplementationProvider {
                +        /**
                +         * Provide the implementation of the symbol at the given position and document.
                +         */
                +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                +    }
                +
                +    /**
                +     * The type definition provider interface defines the contract between extensions and
                +     * the go to type definition feature.
                +     */
                +    export interface TypeDefinitionProvider {
                +        /**
                +         * Provide the type definition of the symbol at the given position and document.
                +         */
                +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                +    }
                +
                +    /**
                +     * A symbol kind.
                +     */
                +    export enum SymbolKind {
                +        File = 0,
                +        Module = 1,
                +        Namespace = 2,
                +        Package = 3,
                +        Class = 4,
                +        Method = 5,
                +        Property = 6,
                +        Field = 7,
                +        Constructor = 8,
                +        Enum = 9,
                +        Interface = 10,
                +        Function = 11,
                +        Variable = 12,
                +        Constant = 13,
                +        String = 14,
                +        Number = 15,
                +        Boolean = 16,
                +        Array = 17,
                +        Object = 18,
                +        Key = 19,
                +        Null = 20,
                +        EnumMember = 21,
                +        Struct = 22,
                +        Event = 23,
                +        Operator = 24,
                +        TypeParameter = 25
                +    }
                +
                +    export enum SymbolTag {
                +        Deprecated = 1
                +    }
                +
                +    export interface DocumentSymbol {
                +        name: string;
                +        detail: string;
                +        kind: SymbolKind;
                +        tags: ReadonlyArray<SymbolTag>;
                +        containerName?: string;
                +        range: IRange;
                +        selectionRange: IRange;
                +        children?: DocumentSymbol[];
                +    }
                +
                +    /**
                +     * The document symbol provider interface defines the contract between extensions and
                +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
                +     */
                +    export interface DocumentSymbolProvider {
                +        displayName?: string;
                +        /**
                +         * Provide symbol information for the given document.
                +         */
                +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
                +    }
                +
                +    export type TextEdit = {
                +        range: IRange;
                +        text: string;
                +        eol?: editor.EndOfLineSequence;
                +    };
                +
                +    /**
                +     * Interface used to format a model
                +     */
                +    export interface FormattingOptions {
                +        /**
                +         * Size of a tab in spaces.
                +         */
                +        tabSize: number;
                +        /**
                +         * Prefer spaces over tabs.
                +         */
                +        insertSpaces: boolean;
                +    }
                +
                +    /**
                +     * The document formatting provider interface defines the contract between extensions and
                +     * the formatting-feature.
                +     */
                +    export interface DocumentFormattingEditProvider {
                +        readonly displayName?: string;
                +        /**
                +         * Provide formatting edits for a whole document.
                +         */
                +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
                +    }
                +
                +    /**
                +     * The document formatting provider interface defines the contract between extensions and
                +     * the formatting-feature.
                +     */
                +    export interface DocumentRangeFormattingEditProvider {
                +        readonly displayName?: string;
                +        /**
                +         * Provide formatting edits for a range in a document.
                +         *
                +         * The given range is a hint and providers can decide to format a smaller
                +         * or larger range. Often this is done by adjusting the start and end
                +         * of the range to full syntax nodes.
                +         */
                +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
                +    }
                +
                +    /**
                +     * The document formatting provider interface defines the contract between extensions and
                +     * the formatting-feature.
                +     */
                +    export interface OnTypeFormattingEditProvider {
                +        autoFormatTriggerCharacters: string[];
                +        /**
                +         * Provide formatting edits after a character has been typed.
                +         *
                +         * The given position and character should hint to the provider
                +         * what range the position to expand to, like find the matching `{`
                +         * when `}` has been entered.
                +         */
                +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
                +    }
                +
                +    /**
                +     * A link inside the editor.
                +     */
                +    export interface ILink {
                +        range: IRange;
                +        url?: Uri | string;
                +        tooltip?: string;
                +    }
                +
                +    export interface ILinksList {
                +        links: ILink[];
                +        dispose?(): void;
                +    }
                +
                +    /**
                +     * A provider of links.
                +     */
                +    export interface LinkProvider {
                +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
                +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
                +    }
                +
                +    /**
                +     * A color in RGBA format.
                +     */
                +    export interface IColor {
                +        /**
                +         * The red component in the range [0-1].
                +         */
                +        readonly red: number;
                +        /**
                +         * The green component in the range [0-1].
                +         */
                +        readonly green: number;
                +        /**
                +         * The blue component in the range [0-1].
                +         */
                +        readonly blue: number;
                +        /**
                +         * The alpha component in the range [0-1].
                +         */
                +        readonly alpha: number;
                +    }
                +
                +    /**
                +     * String representations for a color
                +     */
                +    export interface IColorPresentation {
                +        /**
                +         * The label of this color presentation. It will be shown on the color
                +         * picker header. By default this is also the text that is inserted when selecting
                +         * this color presentation.
                +         */
                +        label: string;
                +        /**
                +         * An {@link TextEdit edit} which is applied to a document when selecting
                +         * this presentation for the color.
                +         */
                +        textEdit?: TextEdit;
                +        /**
                +         * An optional array of additional {@link TextEdit text edits} that are applied when
                +         * selecting this color presentation.
                +         */
                +        additionalTextEdits?: TextEdit[];
                +    }
                +
                +    /**
                +     * A color range is a range in a text model which represents a color.
                +     */
                +    export interface IColorInformation {
                +        /**
                +         * The range within the model.
                +         */
                +        range: IRange;
                +        /**
                +         * The color represented in this range.
                +         */
                +        color: IColor;
                +    }
                +
                +    /**
                +     * A provider of colors for editor models.
                +     */
                +    export interface DocumentColorProvider {
                +        /**
                +         * Provides the color ranges for a specific model.
                +         */
                +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
                +        /**
                +         * Provide the string representations for a color.
                +         */
                +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
                +    }
                +
                +    export interface SelectionRange {
                +        range: IRange;
                +    }
                +
                +    export interface SelectionRangeProvider {
                +        /**
                +         * Provide ranges that should be selected from the given position.
                +         */
                +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
                +    }
                +
                +    export interface FoldingContext {
                +    }
                +
                +    /**
                +     * A provider of folding ranges for editor models.
                +     */
                +    export interface FoldingRangeProvider {
                +        /**
                +         * An optional event to signal that the folding ranges from this provider have changed.
                +         */
                +        onDidChange?: IEvent<this>;
                +        /**
                +         * Provides the folding ranges for a specific model.
                +         */
                +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
                +    }
                +
                +    export interface FoldingRange {
                +        /**
                +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
                +         */
                +        start: number;
                +        /**
                +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
                +         */
                +        end: number;
                +        /**
                +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
                +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
                +         * like 'Fold all comments'. See
                +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
                +         */
                +        kind?: FoldingRangeKind;
                +    }
                +
                +    export class FoldingRangeKind {
                +        value: string;
                +        /**
                +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
                +         */
                +        static readonly Comment: FoldingRangeKind;
                +        /**
                +         * Kind for folding range representing a import. The value of the kind is 'imports'.
                +         */
                +        static readonly Imports: FoldingRangeKind;
                +        /**
                +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
                +         * The value of the kind is 'region'.
                +         */
                +        static readonly Region: FoldingRangeKind;
                +        /**
                +         * Creates a new {@link FoldingRangeKind}.
                +         *
                +         * @param value of the kind.
                +         */
                +        constructor(value: string);
                +    }
                +
                +    export interface WorkspaceEditMetadata {
                +        needsConfirmation: boolean;
                +        label: string;
                +        description?: string;
                +    }
                +
                +    export interface WorkspaceFileEditOptions {
                +        overwrite?: boolean;
                +        ignoreIfNotExists?: boolean;
                +        ignoreIfExists?: boolean;
                +        recursive?: boolean;
                +        copy?: boolean;
                +        folder?: boolean;
                +        skipTrashBin?: boolean;
                +        maxSize?: number;
                +    }
                +
                +    export interface WorkspaceFileEdit {
                +        oldUri?: Uri;
                +        newUri?: Uri;
                +        options?: WorkspaceFileEditOptions;
                +        metadata?: WorkspaceEditMetadata;
                +    }
                +
                +    export interface WorkspaceTextEdit {
                +        resource: Uri;
                +        edit: TextEdit;
                +        modelVersionId?: number;
                +        metadata?: WorkspaceEditMetadata;
                +    }
                +
                +    export interface WorkspaceEdit {
                +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
                +    }
                +
                +    export interface Rejection {
                +        rejectReason?: string;
                +    }
                +
                +    export interface RenameLocation {
                +        range: IRange;
                +        text: string;
                +    }
                +
                +    export interface RenameProvider {
                +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
                +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
                +    }
                +
                +    export interface Command {
                +        id: string;
                +        title: string;
                +        tooltip?: string;
                +        arguments?: any[];
                +    }
                +
                +    export interface CodeLens {
                +        range: IRange;
                +        id?: string;
                +        command?: Command;
                +    }
                +
                +    export interface CodeLensList {
                +        lenses: CodeLens[];
                +        dispose(): void;
                +    }
                +
                +    export interface CodeLensProvider {
                +        onDidChange?: IEvent<this>;
                +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
                +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
                +    }
                +
                +    export enum InlayHintKind {
                +        Other = 0,
                +        Type = 1,
                +        Parameter = 2
                +    }
                +
                +    export interface InlayHint {
                +        text: string;
                +        position: IPosition;
                +        kind: InlayHintKind;
                +        whitespaceBefore?: boolean;
                +        whitespaceAfter?: boolean;
                +    }
                +
                +    export interface InlayHintsProvider {
                +        onDidChangeInlayHints?: IEvent<void>;
                +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
                +    }
                +
                +    export interface SemanticTokensLegend {
                +        readonly tokenTypes: string[];
                +        readonly tokenModifiers: string[];
                +    }
                +
                +    export interface SemanticTokens {
                +        readonly resultId?: string;
                +        readonly data: Uint32Array;
                +    }
                +
                +    export interface SemanticTokensEdit {
                +        readonly start: number;
                +        readonly deleteCount: number;
                +        readonly data?: Uint32Array;
                +    }
                +
                +    export interface SemanticTokensEdits {
                +        readonly resultId?: string;
                +        readonly edits: SemanticTokensEdit[];
                +    }
                +
                +    export interface DocumentSemanticTokensProvider {
                +        onDidChange?: IEvent<void>;
                +        getLegend(): SemanticTokensLegend;
                +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
                +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
                +    }
                +
                +    export interface DocumentRangeSemanticTokensProvider {
                +        getLegend(): SemanticTokensLegend;
                +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
                +    }
                +
                +    export interface ILanguageExtensionPoint {
                +        id: string;
                +        extensions?: string[];
                +        filenames?: string[];
                +        filenamePatterns?: string[];
                +        firstLine?: string;
                +        aliases?: string[];
                +        mimetypes?: string[];
                +        configuration?: Uri;
                +    }
                +    /**
                +     * A Monarch language definition
                +     */
                +    export interface IMonarchLanguage {
                +        /**
                +         * map from string to ILanguageRule[]
                +         */
                +        tokenizer: {
                +            [name: string]: IMonarchLanguageRule[];
                +        };
                +        /**
                +         * is the language case insensitive?
                +         */
                +        ignoreCase?: boolean;
                +        /**
                +         * is the language unicode-aware? (i.e., /\u{1D306}/)
                +         */
                +        unicode?: boolean;
                +        /**
                +         * if no match in the tokenizer assign this token class (default 'source')
                +         */
                +        defaultToken?: string;
                +        /**
                +         * for example [['{','}','delimiter.curly']]
                +         */
                +        brackets?: IMonarchLanguageBracket[];
                +        /**
                +         * start symbol in the tokenizer (by default the first entry is used)
                +         */
                +        start?: string;
                +        /**
                +         * attach this to every token class (by default '.' + name)
                +         */
                +        tokenPostfix?: string;
                +        /**
                +         * include line feeds (in the form of a \n character) at the end of lines
                +         * Defaults to false
                +         */
                +        includeLF?: boolean;
                +        /**
                +         * Other keys that can be referred to by the tokenizer.
                +         */
                +        [key: string]: any;
                +    }
                +
                +    /**
                +     * A rule is either a regular expression and an action
                +     * 		shorthands: [reg,act] == { regex: reg, action: act}
                +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
                +     */
                +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
                +
                +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
                +
                +    export interface IExpandedMonarchLanguageRule {
                +        /**
                +         * match tokens
                +         */
                +        regex?: string | RegExp;
                +        /**
                +         * action to take on match
                +         */
                +        action?: IMonarchLanguageAction;
                +        /**
                +         * or an include rule. include all rules from the included state
                +         */
                +        include?: string;
                +    }
                +
                +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
                +
                +    /**
                +     * An action is either an array of actions...
                +     * ... or a case statement with guards...
                +     * ... or a basic action with a token value.
                +     */
                +    export type IShortMonarchLanguageAction = string;
                +
                +    export interface IExpandedMonarchLanguageAction {
                +        /**
                +         * array of actions for each parenthesized match group
                +         */
                +        group?: IMonarchLanguageAction[];
                +        /**
                +         * map from string to ILanguageAction
                +         */
                +        cases?: Object;
                +        /**
                +         * token class (ie. css class) (or "@brackets" or "@rematch")
                +         */
                +        token?: string;
                +        /**
                +         * the next state to push, or "@push", "@pop", "@popall"
                +         */
                +        next?: string;
                +        /**
                +         * switch to this state
                +         */
                +        switchTo?: string;
                +        /**
                +         * go back n characters in the stream
                +         */
                +        goBack?: number;
                +        /**
                +         * @open or @close
                +         */
                +        bracket?: string;
                +        /**
                +         * switch to embedded language (using the mimetype) or get out using "@pop"
                +         */
                +        nextEmbedded?: string;
                +        /**
                +         * log a message to the browser console window
                +         */
                +        log?: string;
                +    }
                +
                +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
                +
                +    /**
                +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
                +     */
                +    export interface IMonarchLanguageBracket {
                +        /**
                +         * open bracket
                +         */
                +        open: string;
                +        /**
                +         * closing bracket
                +         */
                +        close: string;
                +        /**
                +         * token class
                +         */
                +        token: string;
                +    }
                +
                +}
                +
                +declare namespace monaco.worker {
                +
                +
                +    export interface IMirrorTextModel {
                +        readonly version: number;
                +    }
                +
                +    export interface IMirrorModel extends IMirrorTextModel {
                +        readonly uri: Uri;
                +        readonly version: number;
                +        getValue(): string;
                +    }
                +
                +    export interface IWorkerContext<H = undefined> {
                +        /**
                +         * A proxy to the main thread host object.
                +         */
                +        host: H;
                +        /**
                +         * Get all available mirror models in this worker.
                +         */
                +        getMirrorModels(): IMirrorModel[];
                +    }
                +
                +}
                +
                +//dtsv=3
                +
                +/*---------------------------------------------------------------------------------------------
                + *  Copyright (c) Microsoft Corporation. All rights reserved.
                + *  Licensed under the MIT License. See License.txt in the project root for license information.
                + *--------------------------------------------------------------------------------------------*/
                +
                +declare namespace monaco.languages.typescript {
                +    export enum ModuleKind {
                +        None = 0,
                +        CommonJS = 1,
                +        AMD = 2,
                +        UMD = 3,
                +        System = 4,
                +        ES2015 = 5,
                +        ESNext = 99
                +    }
                +    export enum JsxEmit {
                +        None = 0,
                +        Preserve = 1,
                +        React = 2,
                +        ReactNative = 3,
                +        ReactJSX = 4,
                +        ReactJSXDev = 5
                +    }
                +    export enum NewLineKind {
                +        CarriageReturnLineFeed = 0,
                +        LineFeed = 1
                +    }
                +    export enum ScriptTarget {
                +        ES3 = 0,
                +        ES5 = 1,
                +        ES2015 = 2,
                +        ES2016 = 3,
                +        ES2017 = 4,
                +        ES2018 = 5,
                +        ES2019 = 6,
                +        ES2020 = 7,
                +        ESNext = 99,
                +        JSON = 100,
                +        Latest = 99
                +    }
                +    export enum ModuleResolutionKind {
                +        Classic = 1,
                +        NodeJs = 2
                +    }
                +    interface MapLike<T> {
                +        [index: string]: T;
                +    }
                +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
                +    interface CompilerOptions {
                +        allowJs?: boolean;
                +        allowSyntheticDefaultImports?: boolean;
                +        allowUmdGlobalAccess?: boolean;
                +        allowUnreachableCode?: boolean;
                +        allowUnusedLabels?: boolean;
                +        alwaysStrict?: boolean;
                +        baseUrl?: string;
                +        charset?: string;
                +        checkJs?: boolean;
                +        declaration?: boolean;
                +        declarationMap?: boolean;
                +        emitDeclarationOnly?: boolean;
                +        declarationDir?: string;
                +        disableSizeLimit?: boolean;
                +        disableSourceOfProjectReferenceRedirect?: boolean;
                +        downlevelIteration?: boolean;
                +        emitBOM?: boolean;
                +        emitDecoratorMetadata?: boolean;
                +        experimentalDecorators?: boolean;
                +        forceConsistentCasingInFileNames?: boolean;
                +        importHelpers?: boolean;
                +        inlineSourceMap?: boolean;
                +        inlineSources?: boolean;
                +        isolatedModules?: boolean;
                +        jsx?: JsxEmit;
                +        keyofStringsOnly?: boolean;
                +        lib?: string[];
                +        locale?: string;
                +        mapRoot?: string;
                +        maxNodeModuleJsDepth?: number;
                +        module?: ModuleKind;
                +        moduleResolution?: ModuleResolutionKind;
                +        newLine?: NewLineKind;
                +        noEmit?: boolean;
                +        noEmitHelpers?: boolean;
                +        noEmitOnError?: boolean;
                +        noErrorTruncation?: boolean;
                +        noFallthroughCasesInSwitch?: boolean;
                +        noImplicitAny?: boolean;
                +        noImplicitReturns?: boolean;
                +        noImplicitThis?: boolean;
                +        noStrictGenericChecks?: boolean;
                +        noUnusedLocals?: boolean;
                +        noUnusedParameters?: boolean;
                +        noImplicitUseStrict?: boolean;
                +        noLib?: boolean;
                +        noResolve?: boolean;
                +        out?: string;
                +        outDir?: string;
                +        outFile?: string;
                +        paths?: MapLike<string[]>;
                +        preserveConstEnums?: boolean;
                +        preserveSymlinks?: boolean;
                +        project?: string;
                +        reactNamespace?: string;
                +        jsxFactory?: string;
                +        composite?: boolean;
                +        removeComments?: boolean;
                +        rootDir?: string;
                +        rootDirs?: string[];
                +        skipLibCheck?: boolean;
                +        skipDefaultLibCheck?: boolean;
                +        sourceMap?: boolean;
                +        sourceRoot?: string;
                +        strict?: boolean;
                +        strictFunctionTypes?: boolean;
                +        strictBindCallApply?: boolean;
                +        strictNullChecks?: boolean;
                +        strictPropertyInitialization?: boolean;
                +        stripInternal?: boolean;
                +        suppressExcessPropertyErrors?: boolean;
                +        suppressImplicitAnyIndexErrors?: boolean;
                +        target?: ScriptTarget;
                +        traceResolution?: boolean;
                +        resolveJsonModule?: boolean;
                +        types?: string[];
                +        /** Paths used to compute primary types search locations */
                +        typeRoots?: string[];
                +        esModuleInterop?: boolean;
                +        useDefineForClassFields?: boolean;
                +        [option: string]: CompilerOptionsValue | undefined;
                +    }
                +    export interface DiagnosticsOptions {
                +        noSemanticValidation?: boolean;
                +        noSyntaxValidation?: boolean;
                +        noSuggestionDiagnostics?: boolean;
                +        /**
                +         * Limit diagnostic computation to only visible files.
                +         * Defaults to false.
                +         */
                +        onlyVisible?: boolean;
                +        diagnosticCodesToIgnore?: number[];
                +    }
                +    export interface WorkerOptions {
                +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
                +        customWorkerPath?: string;
                +    }
                +    interface InlayHintsOptions {
                +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
                +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
                +        readonly includeInlayFunctionParameterTypeHints?: boolean;
                +        readonly includeInlayVariableTypeHints?: boolean;
                +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
                +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
                +        readonly includeInlayEnumMemberValueHints?: boolean;
                +    }
                +    interface IExtraLib {
                +        content: string;
                +        version: number;
                +    }
                +    export interface IExtraLibs {
                +        [path: string]: IExtraLib;
                +    }
                +    /**
                +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
                +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
                +     */
                +    interface DiagnosticMessageChain {
                +        messageText: string;
                +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
                +        category: 0 | 1 | 2 | 3;
                +        code: number;
                +        next?: DiagnosticMessageChain[];
                +    }
                +    export interface Diagnostic extends DiagnosticRelatedInformation {
                +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
                +        reportsUnnecessary?: {};
                +        reportsDeprecated?: {};
                +        source?: string;
                +        relatedInformation?: DiagnosticRelatedInformation[];
                +    }
                +    export interface DiagnosticRelatedInformation {
                +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
                +        category: 0 | 1 | 2 | 3;
                +        code: number;
                +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
                +        file: {
                +            fileName: string;
                +        } | undefined;
                +        start: number | undefined;
                +        length: number | undefined;
                +        messageText: string | DiagnosticMessageChain;
                +    }
                +    interface EmitOutput {
                +        outputFiles: OutputFile[];
                +        emitSkipped: boolean;
                +    }
                +    interface OutputFile {
                +        name: string;
                +        writeByteOrderMark: boolean;
                +        text: string;
                +    }
                +    export interface LanguageServiceDefaults {
                +        /**
                +         * Event fired when compiler options or diagnostics options are changed.
                +         */
                +        readonly onDidChange: IEvent<void>;
                +        /**
                +         * Event fired when extra libraries registered with the language service change.
                +         */
                +        readonly onDidExtraLibsChange: IEvent<void>;
                +        readonly workerOptions: WorkerOptions;
                +        readonly inlayHintsOptions: InlayHintsOptions;
                +        /**
                +         * Get the current extra libs registered with the language service.
                +         */
                +        getExtraLibs(): IExtraLibs;
                +        /**
                +         * Add an additional source file to the language service. Use this
                +         * for typescript (definition) files that won't be loaded as editor
                +         * documents, like `jquery.d.ts`.
                +         *
                +         * @param content The file content
                +         * @param filePath An optional file path
                +         * @returns A disposable which will remove the file from the
                +         * language service upon disposal.
                +         */
                +        addExtraLib(content: string, filePath?: string): IDisposable;
                +        /**
                +         * Remove all existing extra libs and set the additional source
                +         * files to the language service. Use this for typescript definition
                +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
                +         * @param libs An array of entries to register.
                +         */
                +        setExtraLibs(libs: {
                +            content: string;
                +            filePath?: string;
                +        }[]): void;
                +        /**
                +         * Get current TypeScript compiler options for the language service.
                +         */
                +        getCompilerOptions(): CompilerOptions;
                +        /**
                +         * Set TypeScript compiler options.
                +         */
                +        setCompilerOptions(options: CompilerOptions): void;
                +        /**
                +         * Get the current diagnostics options for the language service.
                +         */
                +        getDiagnosticsOptions(): DiagnosticsOptions;
                +        /**
                +         * Configure whether syntactic and/or semantic validation should
                +         * be performed
                +         */
                +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
                +        /**
                +         * Configure webworker options
                +         */
                +        setWorkerOptions(options: WorkerOptions): void;
                +        /**
                +         * No-op.
                +         */
                +        setMaximumWorkerIdleTime(value: number): void;
                +        /**
                +         * Configure if all existing models should be eagerly sync'd
                +         * to the worker on start or restart.
                +         */
                +        setEagerModelSync(value: boolean): void;
                +        /**
                +         * Get the current setting for whether all existing models should be eagerly sync'd
                +         * to the worker on start or restart.
                +         */
                +        getEagerModelSync(): boolean;
                +        /**
                +         * Configure inlay hints options.
                +         */
                +        setInlayHintsOptions(options: InlayHintsOptions): void;
                +    }
                +    export interface TypeScriptWorker {
                +        /**
                +         * Get diagnostic messages for any syntax issues in the given file.
                +         */
                +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
                +        /**
                +         * Get diagnostic messages for any semantic issues in the given file.
                +         */
                +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
                +        /**
                +         * Get diagnostic messages for any suggestions related to the given file.
                +         */
                +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
                +        /**
                +         * Get the content of a given file.
                +         */
                +        getScriptText(fileName: string): Promise<string | undefined>;
                +        /**
                +         * Get diagnostic messages related to the current compiler options.
                +         * @param fileName Not used
                +         */
                +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
                +        /**
                +         * Get code completions for the given file and position.
                +         * @returns `Promise<typescript.CompletionInfo | undefined>`
                +         */
                +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
                +        /**
                +         * Get code completion details for the given file, position, and entry.
                +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
                +         */
                +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
                +        /**
                +         * Get signature help items for the item at the given file and position.
                +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
                +         */
                +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
                +        /**
                +         * Get quick info for the item at the given position in the file.
                +         * @returns `Promise<typescript.QuickInfo | undefined>`
                +         */
                +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
                +        /**
                +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
                +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
                +         */
                +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
                +        /**
                +         * Get the definition of the item at the given position in the file.
                +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
                +         */
                +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
                +        /**
                +         * Get references to the item at the given position in the file.
                +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
                +         */
                +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
                +        /**
                +         * Get outline entries for the item at the given position in the file.
                +         * @returns `Promise<typescript.NavigationBarItem[]>`
                +         */
                +        getNavigationBarItems(fileName: string): Promise<any[]>;
                +        /**
                +         * Get changes which should be applied to format the given file.
                +         * @param options `typescript.FormatCodeOptions`
                +         * @returns `Promise<typescript.TextChange[]>`
                +         */
                +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
                +        /**
                +         * Get changes which should be applied to format the given range in the file.
                +         * @param options `typescript.FormatCodeOptions`
                +         * @returns `Promise<typescript.TextChange[]>`
                +         */
                +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
                +        /**
                +         * Get formatting changes which should be applied after the given keystroke.
                +         * @param options `typescript.FormatCodeOptions`
                +         * @returns `Promise<typescript.TextChange[]>`
                +         */
                +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
                +        /**
                +         * Get other occurrences which should be updated when renaming the item at the given file and position.
                +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
                +         */
                +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
                +        /**
                +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
                +         * @param options `typescript.RenameInfoOptions`
                +         * @returns `Promise<typescript.RenameInfo>`
                +         */
                +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
                +        /**
                +         * Get transpiled output for the given file.
                +         * @returns `typescript.EmitOutput`
                +         */
                +        getEmitOutput(fileName: string): Promise<EmitOutput>;
                +        /**
                +         * Get possible code fixes at the given position in the file.
                +         * @param formatOptions `typescript.FormatCodeOptions`
                +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
                +         */
                +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
                +        /**
                +         * Get inlay hints in the range of the file.
                +         * @param fileName
                +         * @returns `Promise<typescript.InlayHint[]>`
                +         */
                +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
                +    }
                +    export const typescriptVersion: string;
                +    export const typescriptDefaults: LanguageServiceDefaults;
                +    export const javascriptDefaults: LanguageServiceDefaults;
                +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
                +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
                +}
                +
                +/*---------------------------------------------------------------------------------------------
                + *  Copyright (c) Microsoft Corporation. All rights reserved.
                + *  Licensed under the MIT License. See License.txt in the project root for license information.
                + *--------------------------------------------------------------------------------------------*/
                +
                +declare namespace monaco.languages.css {
                +    export interface Options {
                +        readonly validate?: boolean;
                +        readonly lint?: {
                +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
                +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
                +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
                +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
                +            readonly importStatement?: 'ignore' | 'warning' | 'error';
                +            readonly boxModel?: 'ignore' | 'warning' | 'error';
                +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
                +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
                +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
                +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
                +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
                +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
                +            readonly ieHack?: 'ignore' | 'warning' | 'error';
                +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
                +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
                +            readonly important?: 'ignore' | 'warning' | 'error';
                +            readonly float?: 'ignore' | 'warning' | 'error';
                +            readonly idSelector?: 'ignore' | 'warning' | 'error';
                +        };
                +        /**
                +         * Configures the CSS data types known by the langauge service.
                +         */
                +        readonly data?: CSSDataConfiguration;
                +    }
                +    export interface ModeConfiguration {
                +        /**
                +         * Defines whether the built-in completionItemProvider is enabled.
                +         */
                +        readonly completionItems?: boolean;
                +        /**
                +         * Defines whether the built-in hoverProvider is enabled.
                +         */
                +        readonly hovers?: boolean;
                +        /**
                +         * Defines whether the built-in documentSymbolProvider is enabled.
                +         */
                +        readonly documentSymbols?: boolean;
                +        /**
                +         * Defines whether the built-in definitions provider is enabled.
                +         */
                +        readonly definitions?: boolean;
                +        /**
                +         * Defines whether the built-in references provider is enabled.
                +         */
                +        readonly references?: boolean;
                +        /**
                +         * Defines whether the built-in references provider is enabled.
                +         */
                +        readonly documentHighlights?: boolean;
                +        /**
                +         * Defines whether the built-in rename provider is enabled.
                +         */
                +        readonly rename?: boolean;
                +        /**
                +         * Defines whether the built-in color provider is enabled.
                +         */
                +        readonly colors?: boolean;
                +        /**
                +         * Defines whether the built-in foldingRange provider is enabled.
                +         */
                +        readonly foldingRanges?: boolean;
                +        /**
                +         * Defines whether the built-in diagnostic provider is enabled.
                +         */
                +        readonly diagnostics?: boolean;
                +        /**
                +         * Defines whether the built-in selection range provider is enabled.
                +         */
                +        readonly selectionRanges?: boolean;
                +    }
                +    export interface LanguageServiceDefaults {
                +        readonly languageId: string;
                +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
                +        readonly modeConfiguration: ModeConfiguration;
                +        readonly options: Options;
                +        setOptions(options: Options): void;
                +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
                +        /** @deprecated Use options instead */
                +        readonly diagnosticsOptions: DiagnosticsOptions;
                +        /** @deprecated Use setOptions instead */
                +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
                +    }
                +    /** @deprecated Use Options instead */
                +    export type DiagnosticsOptions = Options;
                +    export const cssDefaults: LanguageServiceDefaults;
                +    export const scssDefaults: LanguageServiceDefaults;
                +    export const lessDefaults: LanguageServiceDefaults;
                +    export interface CSSDataConfiguration {
                +        /**
                +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
                +         */
                +        useDefaultDataProvider?: boolean;
                +        /**
                +         * Provides a set of custom data providers.
                +         */
                +        dataProviders?: {
                +            [providerId: string]: CSSDataV1;
                +        };
                +    }
                +    /**
                +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
                +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
                +     */
                +    export interface CSSDataV1 {
                +        version: 1 | 1.1;
                +        properties?: IPropertyData[];
                +        atDirectives?: IAtDirectiveData[];
                +        pseudoClasses?: IPseudoClassData[];
                +        pseudoElements?: IPseudoElementData[];
                +    }
                +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
                +    export interface IReference {
                +        name: string;
                +        url: string;
                +    }
                +    export interface IPropertyData {
                +        name: string;
                +        description?: string | MarkupContent;
                +        browsers?: string[];
                +        restrictions?: string[];
                +        status?: EntryStatus;
                +        syntax?: string;
                +        values?: IValueData[];
                +        references?: IReference[];
                +        relevance?: number;
                +    }
                +    export interface IAtDirectiveData {
                +        name: string;
                +        description?: string | MarkupContent;
                +        browsers?: string[];
                +        status?: EntryStatus;
                +        references?: IReference[];
                +    }
                +    export interface IPseudoClassData {
                +        name: string;
                +        description?: string | MarkupContent;
                +        browsers?: string[];
                +        status?: EntryStatus;
                +        references?: IReference[];
                +    }
                +    export interface IPseudoElementData {
                +        name: string;
                +        description?: string | MarkupContent;
                +        browsers?: string[];
                +        status?: EntryStatus;
                +        references?: IReference[];
                +    }
                +    export interface IValueData {
                +        name: string;
                +        description?: string | MarkupContent;
                +        browsers?: string[];
                +        status?: EntryStatus;
                +        references?: IReference[];
                +    }
                +    export interface MarkupContent {
                +        kind: MarkupKind;
                +        value: string;
                +    }
                +    export type MarkupKind = 'plaintext' | 'markdown';
                +}
                +
                +/*---------------------------------------------------------------------------------------------
                + *  Copyright (c) Microsoft Corporation. All rights reserved.
                + *  Licensed under the MIT License. See License.txt in the project root for license information.
                + *--------------------------------------------------------------------------------------------*/
                +
                +declare namespace monaco.languages.json {
                +    export interface DiagnosticsOptions {
                +        /**
                +         * If set, the validator will be enabled and perform syntax and schema based validation,
                +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
                +         */
                +        readonly validate?: boolean;
                +        /**
                +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
                +         * `DiagnosticsOptions.allowComments` will override this setting.
                +         */
                +        readonly allowComments?: boolean;
                +        /**
                +         * A list of known schemas and/or associations of schemas to file names.
                +         */
                +        readonly schemas?: {
                +            /**
                +             * The URI of the schema, which is also the identifier of the schema.
                +             */
                +            readonly uri: string;
                +            /**
                +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
                +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
                +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
                +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
                +             */
                +            readonly fileMatch?: string[];
                +            /**
                +             * The schema for the given URI.
                +             */
                +            readonly schema?: any;
                +        }[];
                +        /**
                +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
                +         */
                +        readonly enableSchemaRequest?: boolean;
                +        /**
                +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
                +         */
                +        readonly schemaValidation?: SeverityLevel;
                +        /**
                +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
                +         */
                +        readonly schemaRequest?: SeverityLevel;
                +        /**
                +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
                +         */
                +        readonly trailingCommas?: SeverityLevel;
                +        /**
                +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
                +         */
                +        readonly comments?: SeverityLevel;
                +    }
                +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
                +    export interface ModeConfiguration {
                +        /**
                +         * Defines whether the built-in documentFormattingEdit provider is enabled.
                +         */
                +        readonly documentFormattingEdits?: boolean;
                +        /**
                +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
                +         */
                +        readonly documentRangeFormattingEdits?: boolean;
                +        /**
                +         * Defines whether the built-in completionItemProvider is enabled.
                +         */
                +        readonly completionItems?: boolean;
                +        /**
                +         * Defines whether the built-in hoverProvider is enabled.
                +         */
                +        readonly hovers?: boolean;
                +        /**
                +         * Defines whether the built-in documentSymbolProvider is enabled.
                +         */
                +        readonly documentSymbols?: boolean;
                +        /**
                +         * Defines whether the built-in tokens provider is enabled.
                +         */
                +        readonly tokens?: boolean;
                +        /**
                +         * Defines whether the built-in color provider is enabled.
                +         */
                +        readonly colors?: boolean;
                +        /**
                +         * Defines whether the built-in foldingRange provider is enabled.
                +         */
                +        readonly foldingRanges?: boolean;
                +        /**
                +         * Defines whether the built-in diagnostic provider is enabled.
                +         */
                +        readonly diagnostics?: boolean;
                +        /**
                +         * Defines whether the built-in selection range provider is enabled.
                +         */
                +        readonly selectionRanges?: boolean;
                +    }
                +    export interface LanguageServiceDefaults {
                +        readonly languageId: string;
                +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
                +        readonly diagnosticsOptions: DiagnosticsOptions;
                +        readonly modeConfiguration: ModeConfiguration;
                +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
                +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
                +    }
                +    export const jsonDefaults: LanguageServiceDefaults;
                +}
                +
                +/*---------------------------------------------------------------------------------------------
                + *  Copyright (c) Microsoft Corporation. All rights reserved.
                + *  Licensed under the MIT License. See License.txt in the project root for license information.
                + *--------------------------------------------------------------------------------------------*/
                +
                +declare namespace monaco.languages.html {
                +    export interface HTMLFormatConfiguration {
                +        readonly tabSize: number;
                +        readonly insertSpaces: boolean;
                +        readonly wrapLineLength: number;
                +        readonly unformatted: string;
                +        readonly contentUnformatted: string;
                +        readonly indentInnerHtml: boolean;
                +        readonly preserveNewLines: boolean;
                +        readonly maxPreserveNewLines: number | undefined;
                +        readonly indentHandlebars: boolean;
                +        readonly endWithNewline: boolean;
                +        readonly extraLiners: string;
                +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
                +    }
                +    export interface CompletionConfiguration {
                +        readonly [providerId: string]: boolean;
                +    }
                +    export interface Options {
                +        /**
                +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
                +         */
                +        readonly format?: HTMLFormatConfiguration;
                +        /**
                +         * A list of known schemas and/or associations of schemas to file names.
                +         */
                +        readonly suggest?: CompletionConfiguration;
                +        /**
                +         * Configures the HTML data types known by the HTML langauge service.
                +         */
                +        readonly data?: HTMLDataConfiguration;
                +    }
                +    export interface ModeConfiguration {
                +        /**
                +         * Defines whether the built-in completionItemProvider is enabled.
                +         */
                +        readonly completionItems?: boolean;
                +        /**
                +         * Defines whether the built-in hoverProvider is enabled.
                +         */
                +        readonly hovers?: boolean;
                +        /**
                +         * Defines whether the built-in documentSymbolProvider is enabled.
                +         */
                +        readonly documentSymbols?: boolean;
                +        /**
                +         * Defines whether the built-in definitions provider is enabled.
                +         */
                +        readonly links?: boolean;
                +        /**
                +         * Defines whether the built-in references provider is enabled.
                +         */
                +        readonly documentHighlights?: boolean;
                +        /**
                +         * Defines whether the built-in rename provider is enabled.
                +         */
                +        readonly rename?: boolean;
                +        /**
                +         * Defines whether the built-in color provider is enabled.
                +         */
                +        readonly colors?: boolean;
                +        /**
                +         * Defines whether the built-in foldingRange provider is enabled.
                +         */
                +        readonly foldingRanges?: boolean;
                +        /**
                +         * Defines whether the built-in diagnostic provider is enabled.
                +         */
                +        readonly diagnostics?: boolean;
                +        /**
                +         * Defines whether the built-in selection range provider is enabled.
                +         */
                +        readonly selectionRanges?: boolean;
                +        /**
                +         * Defines whether the built-in documentFormattingEdit provider is enabled.
                +         */
                +        readonly documentFormattingEdits?: boolean;
                +        /**
                +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
                +         */
                +        readonly documentRangeFormattingEdits?: boolean;
                +    }
                +    export interface LanguageServiceDefaults {
                +        readonly languageId: string;
                +        readonly modeConfiguration: ModeConfiguration;
                +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
                +        readonly options: Options;
                +        setOptions(options: Options): void;
                +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
                +    }
                +    export const htmlLanguageService: LanguageServiceRegistration;
                +    export const htmlDefaults: LanguageServiceDefaults;
                +    export const handlebarLanguageService: LanguageServiceRegistration;
                +    export const handlebarDefaults: LanguageServiceDefaults;
                +    export const razorLanguageService: LanguageServiceRegistration;
                +    export const razorDefaults: LanguageServiceDefaults;
                +    export interface LanguageServiceRegistration extends IDisposable {
                +        readonly defaults: LanguageServiceDefaults;
                +    }
                +    /**
                +     * Registers a new HTML language service for the languageId.
                +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
                +     *
                +     * Use this method to register additional language ids with a HTML service.
                +     * The language server has to be registered before an editor model is opened.
                +     */
                +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
                +    export interface HTMLDataConfiguration {
                +        /**
                +         * Defines whether the standard HTML tags and attributes are shown
                +         */
                +        readonly useDefaultDataProvider?: boolean;
                +        /**
                +         * Provides a set of custom data providers.
                +         */
                +        readonly dataProviders?: {
                +            [providerId: string]: HTMLDataV1;
                +        };
                +    }
                +    /**
                +     * Custom HTML tags attributes and attribute values
                +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
                +     */
                +    export interface HTMLDataV1 {
                +        readonly version: 1 | 1.1;
                +        readonly tags?: ITagData[];
                +        readonly globalAttributes?: IAttributeData[];
                +        readonly valueSets?: IValueSet[];
                +    }
                +    export interface IReference {
                +        readonly name: string;
                +        readonly url: string;
                +    }
                +    export interface ITagData {
                +        readonly name: string;
                +        readonly description?: string | MarkupContent;
                +        readonly attributes: IAttributeData[];
                +        readonly references?: IReference[];
                +    }
                +    export interface IAttributeData {
                +        readonly name: string;
                +        readonly description?: string | MarkupContent;
                +        readonly valueSet?: string;
                +        readonly values?: IValueData[];
                +        readonly references?: IReference[];
                +    }
                +    export interface IValueData {
                +        readonly name: string;
                +        readonly description?: string | MarkupContent;
                +        readonly references?: IReference[];
                +    }
                +    export interface IValueSet {
                +        readonly name: string;
                +        readonly values: IValueData[];
                +    }
                +    export interface MarkupContent {
                +        readonly kind: MarkupKind;
                +        readonly value: string;
                +    }
                +    export type MarkupKind = 'plaintext' | 'markdown';
                +}
                +
                +
                +
                + + + + + + + + +
                +
                +

                results matching ""

                +
                  +
                  +
                  +

                  No results matching ""

                  +
                  +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/classes/Uri.html b/docs/api-reference/classes/Uri.html new file mode 100644 index 00000000..2372900b --- /dev/null +++ b/docs/api-reference/classes/Uri.html @@ -0,0 +1,9192 @@ + + + + + + ngx-monaco-editor-demo documentation + + + + + + + + + + + + + + +
                  +
                  + + +
                  +
                  + + + + + + + + + + + + + + + +
                  +
                  +

                  +

                  File

                  +

                  +

                  + src/ngx-monaco-editor/src/lib/interfaces/monaco.ts +

                  + + +

                  +

                  Description

                  +

                  +

                  +

                  Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986. +This class is a simple parser which creates the basic component parts +(http://tools.ietf.org/html/rfc3986#section-3) with minimal validation +and encoding.

                  +
                        foo://example.com:8042/over/there?name=ferret#nose
                  +      \_/   \______________/\_________/ \_________/ \__/
                  +       |           |            |            |        |
                  +    scheme     authority       path        query   fragment
                  +       |   _____________________|__
                  +      / \ /                        \
                  +      urn:example:animal:ferret:nose
                  +

                  + + +

                  +

                  Implements

                  +

                  +

                  + UriComponents +

                  + + +
                  +

                  Index

                  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  +
                  Properties
                  +
                  + +
                  +
                  Methods
                  +
                  + +
                  +
                  Accessors
                  +
                  + +
                  +
                  + + +
                  + +

                  + Properties +

                  + + + + + + + + + + + + + + + + + +
                  + + + Readonly + authority + + +
                  + Type : string + +
                  + +
                  +

                  authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'. +The part between the first double slashes and the next slash.

                  +
                  +
                  + + + + + + + + + + + + + + + + + +
                  + + + Readonly + fragment + + +
                  + Type : string + +
                  + +
                  +

                  fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.

                  +
                  +
                  + + + + + + + + + + + + + + + + + +
                  + + + Readonly + path + + +
                  + Type : string + +
                  + +
                  +

                  path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.

                  +
                  +
                  + + + + + + + + + + + + + + + + + +
                  + + + Readonly + query + + +
                  + Type : string + +
                  + +
                  +

                  query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.

                  +
                  +
                  + + + + + + + + + + + + + + + + + +
                  + + + Readonly + scheme + + +
                  + Type : string + +
                  + +
                  +

                  scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'. +The part before the first colon.

                  +
                  +
                  +
                  + +
                  + +

                  + Methods +

                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + file + + +
                  + + file(path: string) +
                  + +
                  +

                  Creates a new Uri from a file system path, e.g. c:\my\files, +/usr/home, or \\server\share\some\path.

                  +

                  The difference between Uri#parse and Uri#file is that the latter treats the argument +as path, not as stringified-uri. E.g. Uri.file(path) is not the same as +Uri.parse('file://' + path) because the path might contain characters that are +interpreted (# and ?). See the following sample:

                  +
                  const good = Uri.file('/coding/c#/project1');
                  +good.scheme === 'file';
                  +good.path === '/coding/c#/project1';
                  +good.fragment === '';
                  +const bad = Uri.parse('file://' + '/coding/c#/project1');
                  +bad.scheme === 'file';
                  +bad.path === '/coding/c'; // path is now broken
                  +bad.fragment === '/project1';
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptionalDescription
                  path + string + + No + +

                  A file system path (see Uri#fsPath)

                  + +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + from + + +
                  + + from(components: literal type) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  components + literal type + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + isUri + + +
                  + + isUri(thing: any) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  thing + any + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + joinPath + + +
                  + + joinPath(uri: Uri, ...pathFragment: string[]) +
                  + +
                  +

                  Join a Uri path with path fragments and normalizes the resulting path.

                  +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptionalDescription
                  uri + Uri + + No + +

                  The input Uri.

                  + +
                  pathFragment + string[] + + No + +

                  The path fragment to add to the Uri path.

                  + +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  +

                  The resulting Uri.

                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + parse + + +
                  + + parse(value: string, _strict?: boolean) +
                  + +
                  +

                  Creates a new Uri from a string, e.g. http://www.msft.com/some/path, +file:///usr/home, or scheme:with/path.

                  +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptionalDescription
                  value + string + + No + +

                  A string which represents an Uri (see Uri#toString).

                  + +
                  _strict + boolean + + Yes + +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + revive + + +
                  + + revive(data: UriComponents | Uri) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  data + UriComponents | Uri + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + revive + + +
                  + + revive(data: UriComponents | Uri | undefined) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  data + UriComponents | Uri | undefined + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri | undefined + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + revive + + +
                  + + revive(data: UriComponents | Uri | null) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  data + UriComponents | Uri | null + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri | null + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + Static + revive + + +
                  + + revive(data: UriComponents | Uri | undefined | null) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  data + UriComponents | Uri | undefined | null + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri | undefined | null + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + toJSON + + +
                  +toJSON() +
                  + +
                  + +
                  + Returns : UriComponents + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + toString + + +
                  +toString(skipEncoding?: boolean) +
                  + +
                  +

                  Creates a string representation for this Uri. It's guaranteed that calling +Uri.parse with the result of this function creates an Uri which is equal +to this Uri.

                  +
                    +
                  • The result shall not be used for display purposes but for externalization or transport.
                  • +
                  • The result will be encoded using the percentage encoding and encoding happens mostly +ignore the scheme-specific encoding rules.
                  • +
                  +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptionalDescription
                  skipEncoding + boolean + + Yes + +

                  Do not encode the result, default is false

                  + +
                  +
                  +
                  +
                  +
                  + Returns : string + +
                  +
                  + +
                  +
                  + + + + + + + + + + + + + + + + + + + +
                  + + + with + + +
                  +with(change: literal type) +
                  + +
                  + +
                  + Parameters : + + + + + + + + + + + + + + + + + + + +
                  NameTypeOptional
                  change + literal type + + No +
                  +
                  +
                  +
                  +
                  + Returns : Uri + +
                  +
                  + +
                  +
                  +
                  + + + + + +
                  +

                  + Accessors +

                  + + + + + + + + + + + + + + + + + +
                  + + fsPath +
                  + getfsPath() +
                  + +
                  +

                  Returns a string representing the corresponding file system path of this Uri. +Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the +platform specific path separator.

                  +
                    +
                  • Will not validate the path for invalid characters and semantics.
                  • +
                  • Will not look at the scheme of this Uri.
                  • +
                  • The result shall not be used for display purposes but for accessing a file on disk.
                  • +
                  +

                  The difference to Uri#path is the use of the platform specific separator and the handling +of UNC paths. See the below sample of a file-uri with an authority (UNC path).

                  +
                  const u = Uri.parse('file://server/c$/folder/file.txt')
                  +u.authority === 'server'
                  +u.path === '/shares/c$/file.txt'
                  +u.fsPath === '\\server\c$\folder\file.txt'

                  Using Uri#path to read a file (using fs-apis) would not be enough because parts of the path, +namely the server name, would be missing. Therefore Uri#fsPath exists - it's sugar to ease working +with URIs that represent files on disk (file scheme).

                  +
                  + +
                  + Returns : string + +
                  +
                  +
                  +
                  + + +
                  +
                  declare let MonacoEnvironment: monaco.Environment | undefined;
                  +
                  +interface Window {
                  +    MonacoEnvironment?: monaco.Environment | undefined;
                  +}
                  +
                  +declare namespace monaco {
                  +
                  +    export type Thenable<T> = PromiseLike<T>;
                  +
                  +    export interface Environment {
                  +        globalAPI?: boolean;
                  +        baseUrl?: string;
                  +        getWorker?(workerId: string, label: string): Worker;
                  +        getWorkerUrl?(workerId: string, label: string): string;
                  +    }
                  +
                  +    export interface IDisposable {
                  +        dispose(): void;
                  +    }
                  +
                  +    export interface IEvent<T> {
                  +        (listener: (e: T) => any, thisArg?: any): IDisposable;
                  +    }
                  +
                  +    /**
                  +     * A helper that allows to emit and listen to typed events
                  +     */
                  +    export class Emitter<T> {
                  +        constructor();
                  +        readonly event: IEvent<T>;
                  +        fire(event: T): void;
                  +        dispose(): void;
                  +    }
                  +
                  +
                  +    export enum MarkerTag {
                  +        Unnecessary = 1,
                  +        Deprecated = 2
                  +    }
                  +
                  +    export enum MarkerSeverity {
                  +        Hint = 1,
                  +        Info = 2,
                  +        Warning = 4,
                  +        Error = 8
                  +    }
                  +
                  +    export class CancellationTokenSource {
                  +        constructor(parent?: CancellationToken);
                  +        get token(): CancellationToken;
                  +        cancel(): void;
                  +        dispose(cancel?: boolean): void;
                  +    }
                  +
                  +    export interface CancellationToken {
                  +        /**
                  +         * A flag signalling is cancellation has been requested.
                  +         */
                  +        readonly isCancellationRequested: boolean;
                  +        /**
                  +         * An event which fires when cancellation is requested. This event
                  +         * only ever fires `once` as cancellation can only happen once. Listeners
                  +         * that are registered after cancellation will be called (next event loop run),
                  +         * but also only once.
                  +         *
                  +         * @event
                  +         */
                  +        readonly onCancellationRequested: (listener: (e: any) => any, thisArgs?: any, disposables?: IDisposable[]) => IDisposable;
                  +    }
                  +    /**
                  +     * Uniform Resource Identifier (Uri) http://tools.ietf.org/html/rfc3986.
                  +     * This class is a simple parser which creates the basic component parts
                  +     * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
                  +     * and encoding.
                  +     *
                  +     * ```txt
                  +     *       foo://example.com:8042/over/there?name=ferret#nose
                  +     *       \_/   \______________/\_________/ \_________/ \__/
                  +     *        |           |            |            |        |
                  +     *     scheme     authority       path        query   fragment
                  +     *        |   _____________________|__
                  +     *       / \ /                        \
                  +     *       urn:example:animal:ferret:nose
                  +     * ```
                  +     */
                  +    export class Uri implements UriComponents {
                  +        static isUri(thing: any): thing is Uri;
                  +        /**
                  +         * scheme is the 'http' part of 'http://www.msft.com/some/path?query#fragment'.
                  +         * The part before the first colon.
                  +         */
                  +        readonly scheme: string;
                  +        /**
                  +         * authority is the 'www.msft.com' part of 'http://www.msft.com/some/path?query#fragment'.
                  +         * The part between the first double slashes and the next slash.
                  +         */
                  +        readonly authority: string;
                  +        /**
                  +         * path is the '/some/path' part of 'http://www.msft.com/some/path?query#fragment'.
                  +         */
                  +        readonly path: string;
                  +        /**
                  +         * query is the 'query' part of 'http://www.msft.com/some/path?query#fragment'.
                  +         */
                  +        readonly query: string;
                  +        /**
                  +         * fragment is the 'fragment' part of 'http://www.msft.com/some/path?query#fragment'.
                  +         */
                  +        readonly fragment: string;
                  +        /**
                  +         * Returns a string representing the corresponding file system path of this Uri.
                  +         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
                  +         * platform specific path separator.
                  +         *
                  +         * * Will *not* validate the path for invalid characters and semantics.
                  +         * * Will *not* look at the scheme of this Uri.
                  +         * * The result shall *not* be used for display purposes but for accessing a file on disk.
                  +         *
                  +         *
                  +         * The *difference* to `Uri#path` is the use of the platform specific separator and the handling
                  +         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
                  +         *
                  +         * ```ts
                  +            const u = Uri.parse('file://server/c$/folder/file.txt')
                  +            u.authority === 'server'
                  +            u.path === '/shares/c$/file.txt'
                  +            u.fsPath === '\\server\c$\folder\file.txt'
                  +        ```
                  +         *
                  +         * Using `Uri#path` to read a file (using fs-apis) would not be enough because parts of the path,
                  +         * namely the server name, would be missing. Therefore `Uri#fsPath` exists - it's sugar to ease working
                  +         * with URIs that represent files on disk (`file` scheme).
                  +         */
                  +        get fsPath(): string;
                  +        with(change: {
                  +            scheme?: string;
                  +            authority?: string | null;
                  +            path?: string | null;
                  +            query?: string | null;
                  +            fragment?: string | null;
                  +        }): Uri;
                  +        /**
                  +         * Creates a new Uri from a string, e.g. `http://www.msft.com/some/path`,
                  +         * `file:///usr/home`, or `scheme:with/path`.
                  +         *
                  +         * @param value A string which represents an Uri (see `Uri#toString`).
                  +         */
                  +        static parse(value: string, _strict?: boolean): Uri;
                  +        /**
                  +         * Creates a new Uri from a file system path, e.g. `c:\my\files`,
                  +         * `/usr/home`, or `\\server\share\some\path`.
                  +         *
                  +         * The *difference* between `Uri#parse` and `Uri#file` is that the latter treats the argument
                  +         * as path, not as stringified-uri. E.g. `Uri.file(path)` is **not the same as**
                  +         * `Uri.parse('file://' + path)` because the path might contain characters that are
                  +         * interpreted (# and ?). See the following sample:
                  +         * ```ts
                  +        const good = Uri.file('/coding/c#/project1');
                  +        good.scheme === 'file';
                  +        good.path === '/coding/c#/project1';
                  +        good.fragment === '';
                  +        const bad = Uri.parse('file://' + '/coding/c#/project1');
                  +        bad.scheme === 'file';
                  +        bad.path === '/coding/c'; // path is now broken
                  +        bad.fragment === '/project1';
                  +        ```
                  +         *
                  +         * @param path A file system path (see `Uri#fsPath`)
                  +         */
                  +        static file(path: string): Uri;
                  +        static from(components: {
                  +            scheme: string;
                  +            authority?: string;
                  +            path?: string;
                  +            query?: string;
                  +            fragment?: string;
                  +        }): Uri;
                  +        /**
                  +         * Join a Uri path with path fragments and normalizes the resulting path.
                  +         *
                  +         * @param uri The input Uri.
                  +         * @param pathFragment The path fragment to add to the Uri path.
                  +         * @returns The resulting Uri.
                  +         */
                  +        static joinPath(uri: Uri, ...pathFragment: string[]): Uri;
                  +        /**
                  +         * Creates a string representation for this Uri. It's guaranteed that calling
                  +         * `Uri.parse` with the result of this function creates an Uri which is equal
                  +         * to this Uri.
                  +         *
                  +         * * The result shall *not* be used for display purposes but for externalization or transport.
                  +         * * The result will be encoded using the percentage encoding and encoding happens mostly
                  +         * ignore the scheme-specific encoding rules.
                  +         *
                  +         * @param skipEncoding Do not encode the result, default is `false`
                  +         */
                  +        toString(skipEncoding?: boolean): string;
                  +        toJSON(): UriComponents;
                  +        static revive(data: UriComponents | Uri): Uri;
                  +        static revive(data: UriComponents | Uri | undefined): Uri | undefined;
                  +        static revive(data: UriComponents | Uri | null): Uri | null;
                  +        static revive(data: UriComponents | Uri | undefined | null): Uri | undefined | null;
                  +    }
                  +
                  +    export interface UriComponents {
                  +        scheme: string;
                  +        authority: string;
                  +        path: string;
                  +        query: string;
                  +        fragment: string;
                  +    }
                  +    /**
                  +     * Virtual Key Codes, the value does not hold any inherent meaning.
                  +     * Inspired somewhat from https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
                  +     * But these are "more general", as they should work across browsers & OS`s.
                  +     */
                  +    export enum KeyCode {
                  +        DependsOnKbLayout = -1,
                  +        /**
                  +         * Placed first to cover the 0 value of the enum.
                  +         */
                  +        Unknown = 0,
                  +        Backspace = 1,
                  +        Tab = 2,
                  +        Enter = 3,
                  +        Shift = 4,
                  +        Ctrl = 5,
                  +        Alt = 6,
                  +        PauseBreak = 7,
                  +        CapsLock = 8,
                  +        Escape = 9,
                  +        Space = 10,
                  +        PageUp = 11,
                  +        PageDown = 12,
                  +        End = 13,
                  +        Home = 14,
                  +        LeftArrow = 15,
                  +        UpArrow = 16,
                  +        RightArrow = 17,
                  +        DownArrow = 18,
                  +        Insert = 19,
                  +        Delete = 20,
                  +        Digit0 = 21,
                  +        Digit1 = 22,
                  +        Digit2 = 23,
                  +        Digit3 = 24,
                  +        Digit4 = 25,
                  +        Digit5 = 26,
                  +        Digit6 = 27,
                  +        Digit7 = 28,
                  +        Digit8 = 29,
                  +        Digit9 = 30,
                  +        KeyA = 31,
                  +        KeyB = 32,
                  +        KeyC = 33,
                  +        KeyD = 34,
                  +        KeyE = 35,
                  +        KeyF = 36,
                  +        KeyG = 37,
                  +        KeyH = 38,
                  +        KeyI = 39,
                  +        KeyJ = 40,
                  +        KeyK = 41,
                  +        KeyL = 42,
                  +        KeyM = 43,
                  +        KeyN = 44,
                  +        KeyO = 45,
                  +        KeyP = 46,
                  +        KeyQ = 47,
                  +        KeyR = 48,
                  +        KeyS = 49,
                  +        KeyT = 50,
                  +        KeyU = 51,
                  +        KeyV = 52,
                  +        KeyW = 53,
                  +        KeyX = 54,
                  +        KeyY = 55,
                  +        KeyZ = 56,
                  +        Meta = 57,
                  +        ContextMenu = 58,
                  +        F1 = 59,
                  +        F2 = 60,
                  +        F3 = 61,
                  +        F4 = 62,
                  +        F5 = 63,
                  +        F6 = 64,
                  +        F7 = 65,
                  +        F8 = 66,
                  +        F9 = 67,
                  +        F10 = 68,
                  +        F11 = 69,
                  +        F12 = 70,
                  +        F13 = 71,
                  +        F14 = 72,
                  +        F15 = 73,
                  +        F16 = 74,
                  +        F17 = 75,
                  +        F18 = 76,
                  +        F19 = 77,
                  +        NumLock = 78,
                  +        ScrollLock = 79,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the ';:' key
                  +         */
                  +        Semicolon = 80,
                  +        /**
                  +         * For any country/region, the '+' key
                  +         * For the US standard keyboard, the '=+' key
                  +         */
                  +        Equal = 81,
                  +        /**
                  +         * For any country/region, the ',' key
                  +         * For the US standard keyboard, the ',<' key
                  +         */
                  +        Comma = 82,
                  +        /**
                  +         * For any country/region, the '-' key
                  +         * For the US standard keyboard, the '-_' key
                  +         */
                  +        Minus = 83,
                  +        /**
                  +         * For any country/region, the '.' key
                  +         * For the US standard keyboard, the '.>' key
                  +         */
                  +        Period = 84,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the '/?' key
                  +         */
                  +        Slash = 85,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the '`~' key
                  +         */
                  +        Backquote = 86,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the '[{' key
                  +         */
                  +        BracketLeft = 87,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the '\|' key
                  +         */
                  +        Backslash = 88,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the ']}' key
                  +         */
                  +        BracketRight = 89,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         * For the US standard keyboard, the ''"' key
                  +         */
                  +        Quote = 90,
                  +        /**
                  +         * Used for miscellaneous characters; it can vary by keyboard.
                  +         */
                  +        OEM_8 = 91,
                  +        /**
                  +         * Either the angle bracket key or the backslash key on the RT 102-key keyboard.
                  +         */
                  +        IntlBackslash = 92,
                  +        Numpad0 = 93,
                  +        Numpad1 = 94,
                  +        Numpad2 = 95,
                  +        Numpad3 = 96,
                  +        Numpad4 = 97,
                  +        Numpad5 = 98,
                  +        Numpad6 = 99,
                  +        Numpad7 = 100,
                  +        Numpad8 = 101,
                  +        Numpad9 = 102,
                  +        NumpadMultiply = 103,
                  +        NumpadAdd = 104,
                  +        NUMPAD_SEPARATOR = 105,
                  +        NumpadSubtract = 106,
                  +        NumpadDecimal = 107,
                  +        NumpadDivide = 108,
                  +        /**
                  +         * Cover all key codes when IME is processing input.
                  +         */
                  +        KEY_IN_COMPOSITION = 109,
                  +        ABNT_C1 = 110,
                  +        ABNT_C2 = 111,
                  +        AudioVolumeMute = 112,
                  +        AudioVolumeUp = 113,
                  +        AudioVolumeDown = 114,
                  +        BrowserSearch = 115,
                  +        BrowserHome = 116,
                  +        BrowserBack = 117,
                  +        BrowserForward = 118,
                  +        MediaTrackNext = 119,
                  +        MediaTrackPrevious = 120,
                  +        MediaStop = 121,
                  +        MediaPlayPause = 122,
                  +        LaunchMediaPlayer = 123,
                  +        LaunchMail = 124,
                  +        LaunchApp2 = 125,
                  +        /**
                  +         * Placed last to cover the length of the enum.
                  +         * Please do not depend on this value!
                  +         */
                  +        MAX_VALUE = 126
                  +    }
                  +    export class KeyMod {
                  +        static readonly CtrlCmd: number;
                  +        static readonly Shift: number;
                  +        static readonly Alt: number;
                  +        static readonly WinCtrl: number;
                  +        static chord(firstPart: number, secondPart: number): number;
                  +    }
                  +
                  +    export interface IMarkdownString {
                  +        readonly value: string;
                  +        readonly isTrusted?: boolean;
                  +        readonly supportThemeIcons?: boolean;
                  +        readonly supportHtml?: boolean;
                  +        uris?: {
                  +            [href: string]: UriComponents;
                  +        };
                  +    }
                  +
                  +    export interface IKeyboardEvent {
                  +        readonly _standardKeyboardEventBrand: true;
                  +        readonly browserEvent: KeyboardEvent;
                  +        readonly target: HTMLElement;
                  +        readonly ctrlKey: boolean;
                  +        readonly shiftKey: boolean;
                  +        readonly altKey: boolean;
                  +        readonly metaKey: boolean;
                  +        readonly keyCode: KeyCode;
                  +        readonly code: string;
                  +        equals(keybinding: number): boolean;
                  +        preventDefault(): void;
                  +        stopPropagation(): void;
                  +    }
                  +    export interface IMouseEvent {
                  +        readonly browserEvent: MouseEvent;
                  +        readonly leftButton: boolean;
                  +        readonly middleButton: boolean;
                  +        readonly rightButton: boolean;
                  +        readonly buttons: number;
                  +        readonly target: HTMLElement;
                  +        readonly detail: number;
                  +        readonly posx: number;
                  +        readonly posy: number;
                  +        readonly ctrlKey: boolean;
                  +        readonly shiftKey: boolean;
                  +        readonly altKey: boolean;
                  +        readonly metaKey: boolean;
                  +        readonly timestamp: number;
                  +        preventDefault(): void;
                  +        stopPropagation(): void;
                  +    }
                  +
                  +    export interface IScrollEvent {
                  +        readonly scrollTop: number;
                  +        readonly scrollLeft: number;
                  +        readonly scrollWidth: number;
                  +        readonly scrollHeight: number;
                  +        readonly scrollTopChanged: boolean;
                  +        readonly scrollLeftChanged: boolean;
                  +        readonly scrollWidthChanged: boolean;
                  +        readonly scrollHeightChanged: boolean;
                  +    }
                  +    /**
                  +     * A position in the editor. This interface is suitable for serialization.
                  +     */
                  +    export interface IPosition {
                  +        /**
                  +         * line number (starts at 1)
                  +         */
                  +        readonly lineNumber: number;
                  +        /**
                  +         * column (the first character in a line is between column 1 and column 2)
                  +         */
                  +        readonly column: number;
                  +    }
                  +
                  +    /**
                  +     * A position in the editor.
                  +     */
                  +    export class Position {
                  +        /**
                  +         * line number (starts at 1)
                  +         */
                  +        readonly lineNumber: number;
                  +        /**
                  +         * column (the first character in a line is between column 1 and column 2)
                  +         */
                  +        readonly column: number;
                  +        constructor(lineNumber: number, column: number);
                  +        /**
                  +         * Create a new position from this position.
                  +         *
                  +         * @param newLineNumber new line number
                  +         * @param newColumn new column
                  +         */
                  +        with(newLineNumber?: number, newColumn?: number): Position;
                  +        /**
                  +         * Derive a new position from this position.
                  +         *
                  +         * @param deltaLineNumber line number delta
                  +         * @param deltaColumn column delta
                  +         */
                  +        delta(deltaLineNumber?: number, deltaColumn?: number): Position;
                  +        /**
                  +         * Test if this position equals other position
                  +         */
                  +        equals(other: IPosition): boolean;
                  +        /**
                  +         * Test if position `a` equals position `b`
                  +         */
                  +        static equals(a: IPosition | null, b: IPosition | null): boolean;
                  +        /**
                  +         * Test if this position is before other position.
                  +         * If the two positions are equal, the result will be false.
                  +         */
                  +        isBefore(other: IPosition): boolean;
                  +        /**
                  +         * Test if position `a` is before position `b`.
                  +         * If the two positions are equal, the result will be false.
                  +         */
                  +        static isBefore(a: IPosition, b: IPosition): boolean;
                  +        /**
                  +         * Test if this position is before other position.
                  +         * If the two positions are equal, the result will be true.
                  +         */
                  +        isBeforeOrEqual(other: IPosition): boolean;
                  +        /**
                  +         * Test if position `a` is before position `b`.
                  +         * If the two positions are equal, the result will be true.
                  +         */
                  +        static isBeforeOrEqual(a: IPosition, b: IPosition): boolean;
                  +        /**
                  +         * A function that compares positions, useful for sorting
                  +         */
                  +        static compare(a: IPosition, b: IPosition): number;
                  +        /**
                  +         * Clone this position.
                  +         */
                  +        clone(): Position;
                  +        /**
                  +         * Convert to a human-readable representation.
                  +         */
                  +        toString(): string;
                  +        /**
                  +         * Create a `Position` from an `IPosition`.
                  +         */
                  +        static lift(pos: IPosition): Position;
                  +        /**
                  +         * Test if `obj` is an `IPosition`.
                  +         */
                  +        static isIPosition(obj: any): obj is IPosition;
                  +    }
                  +
                  +    /**
                  +     * A range in the editor. This interface is suitable for serialization.
                  +     */
                  +    export interface IRange {
                  +        /**
                  +         * Line number on which the range starts (starts at 1).
                  +         */
                  +        readonly startLineNumber: number;
                  +        /**
                  +         * Column on which the range starts in line `startLineNumber` (starts at 1).
                  +         */
                  +        readonly startColumn: number;
                  +        /**
                  +         * Line number on which the range ends.
                  +         */
                  +        readonly endLineNumber: number;
                  +        /**
                  +         * Column on which the range ends in line `endLineNumber`.
                  +         */
                  +        readonly endColumn: number;
                  +    }
                  +
                  +    /**
                  +     * A range in the editor. (startLineNumber,startColumn) is <= (endLineNumber,endColumn)
                  +     */
                  +    export class Range {
                  +        /**
                  +         * Line number on which the range starts (starts at 1).
                  +         */
                  +        readonly startLineNumber: number;
                  +        /**
                  +         * Column on which the range starts in line `startLineNumber` (starts at 1).
                  +         */
                  +        readonly startColumn: number;
                  +        /**
                  +         * Line number on which the range ends.
                  +         */
                  +        readonly endLineNumber: number;
                  +        /**
                  +         * Column on which the range ends in line `endLineNumber`.
                  +         */
                  +        readonly endColumn: number;
                  +        constructor(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number);
                  +        /**
                  +         * Test if this range is empty.
                  +         */
                  +        isEmpty(): boolean;
                  +        /**
                  +         * Test if `range` is empty.
                  +         */
                  +        static isEmpty(range: IRange): boolean;
                  +        /**
                  +         * Test if position is in this range. If the position is at the edges, will return true.
                  +         */
                  +        containsPosition(position: IPosition): boolean;
                  +        /**
                  +         * Test if `position` is in `range`. If the position is at the edges, will return true.
                  +         */
                  +        static containsPosition(range: IRange, position: IPosition): boolean;
                  +        /**
                  +         * Test if range is in this range. If the range is equal to this range, will return true.
                  +         */
                  +        containsRange(range: IRange): boolean;
                  +        /**
                  +         * Test if `otherRange` is in `range`. If the ranges are equal, will return true.
                  +         */
                  +        static containsRange(range: IRange, otherRange: IRange): boolean;
                  +        /**
                  +         * Test if `range` is strictly in this range. `range` must start after and end before this range for the result to be true.
                  +         */
                  +        strictContainsRange(range: IRange): boolean;
                  +        /**
                  +         * Test if `otherRange` is strictly in `range` (must start after, and end before). If the ranges are equal, will return false.
                  +         */
                  +        static strictContainsRange(range: IRange, otherRange: IRange): boolean;
                  +        /**
                  +         * A reunion of the two ranges.
                  +         * The smallest position will be used as the start point, and the largest one as the end point.
                  +         */
                  +        plusRange(range: IRange): Range;
                  +        /**
                  +         * A reunion of the two ranges.
                  +         * The smallest position will be used as the start point, and the largest one as the end point.
                  +         */
                  +        static plusRange(a: IRange, b: IRange): Range;
                  +        /**
                  +         * A intersection of the two ranges.
                  +         */
                  +        intersectRanges(range: IRange): Range | null;
                  +        /**
                  +         * A intersection of the two ranges.
                  +         */
                  +        static intersectRanges(a: IRange, b: IRange): Range | null;
                  +        /**
                  +         * Test if this range equals other.
                  +         */
                  +        equalsRange(other: IRange | null): boolean;
                  +        /**
                  +         * Test if range `a` equals `b`.
                  +         */
                  +        static equalsRange(a: IRange | null, b: IRange | null): boolean;
                  +        /**
                  +         * Return the end position (which will be after or equal to the start position)
                  +         */
                  +        getEndPosition(): Position;
                  +        /**
                  +         * Return the end position (which will be after or equal to the start position)
                  +         */
                  +        static getEndPosition(range: IRange): Position;
                  +        /**
                  +         * Return the start position (which will be before or equal to the end position)
                  +         */
                  +        getStartPosition(): Position;
                  +        /**
                  +         * Return the start position (which will be before or equal to the end position)
                  +         */
                  +        static getStartPosition(range: IRange): Position;
                  +        /**
                  +         * Transform to a user presentable string representation.
                  +         */
                  +        toString(): string;
                  +        /**
                  +         * Create a new range using this range's start position, and using endLineNumber and endColumn as the end position.
                  +         */
                  +        setEndPosition(endLineNumber: number, endColumn: number): Range;
                  +        /**
                  +         * Create a new range using this range's end position, and using startLineNumber and startColumn as the start position.
                  +         */
                  +        setStartPosition(startLineNumber: number, startColumn: number): Range;
                  +        /**
                  +         * Create a new empty range using this range's start position.
                  +         */
                  +        collapseToStart(): Range;
                  +        /**
                  +         * Create a new empty range using this range's start position.
                  +         */
                  +        static collapseToStart(range: IRange): Range;
                  +        static fromPositions(start: IPosition, end?: IPosition): Range;
                  +        /**
                  +         * Create a `Range` from an `IRange`.
                  +         */
                  +        static lift(range: undefined | null): null;
                  +        static lift(range: IRange): Range;
                  +        /**
                  +         * Test if `obj` is an `IRange`.
                  +         */
                  +        static isIRange(obj: any): obj is IRange;
                  +        /**
                  +         * Test if the two ranges are touching in any way.
                  +         */
                  +        static areIntersectingOrTouching(a: IRange, b: IRange): boolean;
                  +        /**
                  +         * Test if the two ranges are intersecting. If the ranges are touching it returns true.
                  +         */
                  +        static areIntersecting(a: IRange, b: IRange): boolean;
                  +        /**
                  +         * A function that compares ranges, useful for sorting ranges
                  +         * It will first compare ranges on the startPosition and then on the endPosition
                  +         */
                  +        static compareRangesUsingStarts(a: IRange | null | undefined, b: IRange | null | undefined): number;
                  +        /**
                  +         * A function that compares ranges, useful for sorting ranges
                  +         * It will first compare ranges on the endPosition and then on the startPosition
                  +         */
                  +        static compareRangesUsingEnds(a: IRange, b: IRange): number;
                  +        /**
                  +         * Test if the range spans multiple lines.
                  +         */
                  +        static spansMultipleLines(range: IRange): boolean;
                  +    }
                  +
                  +    /**
                  +     * A selection in the editor.
                  +     * The selection is a range that has an orientation.
                  +     */
                  +    export interface ISelection {
                  +        /**
                  +         * The line number on which the selection has started.
                  +         */
                  +        readonly selectionStartLineNumber: number;
                  +        /**
                  +         * The column on `selectionStartLineNumber` where the selection has started.
                  +         */
                  +        readonly selectionStartColumn: number;
                  +        /**
                  +         * The line number on which the selection has ended.
                  +         */
                  +        readonly positionLineNumber: number;
                  +        /**
                  +         * The column on `positionLineNumber` where the selection has ended.
                  +         */
                  +        readonly positionColumn: number;
                  +    }
                  +
                  +    /**
                  +     * A selection in the editor.
                  +     * The selection is a range that has an orientation.
                  +     */
                  +    export class Selection extends Range {
                  +        /**
                  +         * The line number on which the selection has started.
                  +         */
                  +        readonly selectionStartLineNumber: number;
                  +        /**
                  +         * The column on `selectionStartLineNumber` where the selection has started.
                  +         */
                  +        readonly selectionStartColumn: number;
                  +        /**
                  +         * The line number on which the selection has ended.
                  +         */
                  +        readonly positionLineNumber: number;
                  +        /**
                  +         * The column on `positionLineNumber` where the selection has ended.
                  +         */
                  +        readonly positionColumn: number;
                  +        constructor(selectionStartLineNumber: number, selectionStartColumn: number, positionLineNumber: number, positionColumn: number);
                  +        /**
                  +         * Transform to a human-readable representation.
                  +         */
                  +        toString(): string;
                  +        /**
                  +         * Test if equals other selection.
                  +         */
                  +        equalsSelection(other: ISelection): boolean;
                  +        /**
                  +         * Test if the two selections are equal.
                  +         */
                  +        static selectionsEqual(a: ISelection, b: ISelection): boolean;
                  +        /**
                  +         * Get directions (LTR or RTL).
                  +         */
                  +        getDirection(): SelectionDirection;
                  +        /**
                  +         * Create a new selection with a different `positionLineNumber` and `positionColumn`.
                  +         */
                  +        setEndPosition(endLineNumber: number, endColumn: number): Selection;
                  +        /**
                  +         * Get the position at `positionLineNumber` and `positionColumn`.
                  +         */
                  +        getPosition(): Position;
                  +        /**
                  +         * Get the position at the start of the selection.
                  +        */
                  +        getSelectionStart(): Position;
                  +        /**
                  +         * Create a new selection with a different `selectionStartLineNumber` and `selectionStartColumn`.
                  +         */
                  +        setStartPosition(startLineNumber: number, startColumn: number): Selection;
                  +        /**
                  +         * Create a `Selection` from one or two positions
                  +         */
                  +        static fromPositions(start: IPosition, end?: IPosition): Selection;
                  +        /**
                  +         * Creates a `Selection` from a range, given a direction.
                  +         */
                  +        static fromRange(range: Range, direction: SelectionDirection): Selection;
                  +        /**
                  +         * Create a `Selection` from an `ISelection`.
                  +         */
                  +        static liftSelection(sel: ISelection): Selection;
                  +        /**
                  +         * `a` equals `b`.
                  +         */
                  +        static selectionsArrEqual(a: ISelection[], b: ISelection[]): boolean;
                  +        /**
                  +         * Test if `obj` is an `ISelection`.
                  +         */
                  +        static isISelection(obj: any): obj is ISelection;
                  +        /**
                  +         * Create with a direction.
                  +         */
                  +        static createWithDirection(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, direction: SelectionDirection): Selection;
                  +    }
                  +
                  +    /**
                  +     * The direction of a selection.
                  +     */
                  +    export enum SelectionDirection {
                  +        /**
                  +         * The selection starts above where it ends.
                  +         */
                  +        LTR = 0,
                  +        /**
                  +         * The selection starts below where it ends.
                  +         */
                  +        RTL = 1
                  +    }
                  +
                  +    export class Token {
                  +        _tokenBrand: void;
                  +        readonly offset: number;
                  +        readonly type: string;
                  +        readonly language: string;
                  +        constructor(offset: number, type: string, language: string);
                  +        toString(): string;
                  +    }
                  +}
                  +
                  +declare namespace monaco.editor {
                  +
                  +    export interface IDiffNavigator {
                  +        canNavigate(): boolean;
                  +        next(): void;
                  +        previous(): void;
                  +        dispose(): void;
                  +    }
                  +
                  +    /**
                  +     * Create a new editor under `domElement`.
                  +     * `domElement` should be empty (not contain other dom nodes).
                  +     * The editor will read the size of `domElement`.
                  +     */
                  +    export function create(domElement: HTMLElement, options?: IStandaloneEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneCodeEditor;
                  +
                  +    /**
                  +     * Emitted when an editor is created.
                  +     * Creating a diff editor might cause this listener to be invoked with the two editors.
                  +     * @event
                  +     */
                  +    export function onDidCreateEditor(listener: (codeEditor: ICodeEditor) => void): IDisposable;
                  +
                  +    /**
                  +     * Create a new diff editor under `domElement`.
                  +     * `domElement` should be empty (not contain other dom nodes).
                  +     * The editor will read the size of `domElement`.
                  +     */
                  +    export function createDiffEditor(domElement: HTMLElement, options?: IStandaloneDiffEditorConstructionOptions, override?: IEditorOverrideServices): IStandaloneDiffEditor;
                  +
                  +    export interface IDiffNavigatorOptions {
                  +        readonly followsCaret?: boolean;
                  +        readonly ignoreCharChanges?: boolean;
                  +        readonly alwaysRevealFirst?: boolean;
                  +    }
                  +
                  +    export function createDiffNavigator(diffEditor: IStandaloneDiffEditor, opts?: IDiffNavigatorOptions): IDiffNavigator;
                  +
                  +    /**
                  +     * Create a new editor model.
                  +     * You can specify the language that should be set for this model or let the language be inferred from the `uri`.
                  +     */
                  +    export function createModel(value: string, language?: string, uri?: Uri): ITextModel;
                  +
                  +    /**
                  +     * Change the language for a model.
                  +     */
                  +    export function setModelLanguage(model: ITextModel, languageId: string): void;
                  +
                  +    /**
                  +     * Set the markers for a model.
                  +     */
                  +    export function setModelMarkers(model: ITextModel, owner: string, markers: IMarkerData[]): void;
                  +
                  +    /**
                  +     * Get markers for owner and/or resource
                  +     *
                  +     * @returns list of markers
                  +     */
                  +    export function getModelMarkers(filter: {
                  +        owner?: string;
                  +        resource?: Uri;
                  +        take?: number;
                  +    }): IMarker[];
                  +
                  +    /**
                  +     * Emitted when markers change for a model.
                  +     * @event
                  +     */
                  +    export function onDidChangeMarkers(listener: (e: readonly Uri[]) => void): IDisposable;
                  +
                  +    /**
                  +     * Get the model that has `uri` if it exists.
                  +     */
                  +    export function getModel(uri: Uri): ITextModel | null;
                  +
                  +    /**
                  +     * Get all the created models.
                  +     */
                  +    export function getModels(): ITextModel[];
                  +
                  +    /**
                  +     * Emitted when a model is created.
                  +     * @event
                  +     */
                  +    export function onDidCreateModel(listener: (model: ITextModel) => void): IDisposable;
                  +
                  +    /**
                  +     * Emitted right before a model is disposed.
                  +     * @event
                  +     */
                  +    export function onWillDisposeModel(listener: (model: ITextModel) => void): IDisposable;
                  +
                  +    /**
                  +     * Emitted when a different language is set to a model.
                  +     * @event
                  +     */
                  +    export function onDidChangeModelLanguage(listener: (e: {
                  +        readonly model: ITextModel;
                  +        readonly oldLanguage: string;
                  +    }) => void): IDisposable;
                  +
                  +    /**
                  +     * Create a new web worker that has model syncing capabilities built in.
                  +     * Specify an AMD module to load that will `create` an object that will be proxied.
                  +     */
                  +    export function createWebWorker<T>(opts: IWebWorkerOptions): MonacoWebWorker<T>;
                  +
                  +    /**
                  +     * Colorize the contents of `domNode` using attribute `data-lang`.
                  +     */
                  +    export function colorizeElement(domNode: HTMLElement, options: IColorizerElementOptions): Promise<void>;
                  +
                  +    /**
                  +     * Colorize `text` using language `languageId`.
                  +     */
                  +    export function colorize(text: string, languageId: string, options: IColorizerOptions): Promise<string>;
                  +
                  +    /**
                  +     * Colorize a line in a model.
                  +     */
                  +    export function colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string;
                  +
                  +    /**
                  +     * Tokenize `text` using language `languageId`
                  +     */
                  +    export function tokenize(text: string, languageId: string): Token[][];
                  +
                  +    /**
                  +     * Define a new theme or update an existing theme.
                  +     */
                  +    export function defineTheme(themeName: string, themeData: IStandaloneThemeData): void;
                  +
                  +    /**
                  +     * Switches to a theme.
                  +     */
                  +    export function setTheme(themeName: string): void;
                  +
                  +    /**
                  +     * Clears all cached font measurements and triggers re-measurement.
                  +     */
                  +    export function remeasureFonts(): void;
                  +
                  +    /**
                  +     * Register a command.
                  +     */
                  +    export function registerCommand(id: string, handler: (accessor: any, ...args: any[]) => void): IDisposable;
                  +
                  +    export type BuiltinTheme = 'vs' | 'vs-dark' | 'hc-black';
                  +
                  +    export interface IStandaloneThemeData {
                  +        base: BuiltinTheme;
                  +        inherit: boolean;
                  +        rules: ITokenThemeRule[];
                  +        encodedTokensColors?: string[];
                  +        colors: IColors;
                  +    }
                  +
                  +    export type IColors = {
                  +        [colorId: string]: string;
                  +    };
                  +
                  +    export interface ITokenThemeRule {
                  +        token: string;
                  +        foreground?: string;
                  +        background?: string;
                  +        fontStyle?: string;
                  +    }
                  +
                  +    /**
                  +     * A web worker that can provide a proxy to an arbitrary file.
                  +     */
                  +    export interface MonacoWebWorker<T> {
                  +        /**
                  +         * Terminate the web worker, thus invalidating the returned proxy.
                  +         */
                  +        dispose(): void;
                  +        /**
                  +         * Get a proxy to the arbitrary loaded code.
                  +         */
                  +        getProxy(): Promise<T>;
                  +        /**
                  +         * Synchronize (send) the models at `resources` to the web worker,
                  +         * making them available in the monaco.worker.getMirrorModels().
                  +         */
                  +        withSyncedResources(resources: Uri[]): Promise<T>;
                  +    }
                  +
                  +    export interface IWebWorkerOptions {
                  +        /**
                  +         * The AMD moduleId to load.
                  +         * It should export a function `create` that should return the exported proxy.
                  +         */
                  +        moduleId: string;
                  +        /**
                  +         * The data to send over when calling create on the module.
                  +         */
                  +        createData?: any;
                  +        /**
                  +         * A label to be used to identify the web worker for debugging purposes.
                  +         */
                  +        label?: string;
                  +        /**
                  +         * An object that can be used by the web worker to make calls back to the main thread.
                  +         */
                  +        host?: any;
                  +        /**
                  +         * Keep idle models.
                  +         * Defaults to false, which means that idle models will stop syncing after a while.
                  +         */
                  +        keepIdleModels?: boolean;
                  +    }
                  +
                  +    /**
                  +     * Description of an action contribution
                  +     */
                  +    export interface IActionDescriptor {
                  +        /**
                  +         * An unique identifier of the contributed action.
                  +         */
                  +        id: string;
                  +        /**
                  +         * A label of the action that will be presented to the user.
                  +         */
                  +        label: string;
                  +        /**
                  +         * Precondition rule.
                  +         */
                  +        precondition?: string;
                  +        /**
                  +         * An array of keybindings for the action.
                  +         */
                  +        keybindings?: number[];
                  +        /**
                  +         * The keybinding rule (condition on top of precondition).
                  +         */
                  +        keybindingContext?: string;
                  +        /**
                  +         * Control if the action should show up in the context menu and where.
                  +         * The context menu of the editor has these default:
                  +         *   navigation - The navigation group comes first in all cases.
                  +         *   1_modification - This group comes next and contains commands that modify your code.
                  +         *   9_cutcopypaste - The last default group with the basic editing commands.
                  +         * You can also create your own group.
                  +         * Defaults to null (don't show in context menu).
                  +         */
                  +        contextMenuGroupId?: string;
                  +        /**
                  +         * Control the order in the context menu group.
                  +         */
                  +        contextMenuOrder?: number;
                  +        /**
                  +         * Method that will be executed when the action is triggered.
                  +         * @param editor The editor instance is passed in as a convenience
                  +         */
                  +        run(editor: ICodeEditor, ...args: any[]): void | Promise<void>;
                  +    }
                  +
                  +    /**
                  +     * Options which apply for all editors.
                  +     */
                  +    export interface IGlobalEditorOptions {
                  +        /**
                  +         * The number of spaces a tab is equal to.
                  +         * This setting is overridden based on the file contents when `detectIndentation` is on.
                  +         * Defaults to 4.
                  +         */
                  +        tabSize?: number;
                  +        /**
                  +         * Insert spaces when pressing `Tab`.
                  +         * This setting is overridden based on the file contents when `detectIndentation` is on.
                  +         * Defaults to true.
                  +         */
                  +        insertSpaces?: boolean;
                  +        /**
                  +         * Controls whether `tabSize` and `insertSpaces` will be automatically detected when a file is opened based on the file contents.
                  +         * Defaults to true.
                  +         */
                  +        detectIndentation?: boolean;
                  +        /**
                  +         * Remove trailing auto inserted whitespace.
                  +         * Defaults to true.
                  +         */
                  +        trimAutoWhitespace?: boolean;
                  +        /**
                  +         * Special handling for large files to disable certain memory intensive features.
                  +         * Defaults to true.
                  +         */
                  +        largeFileOptimizations?: boolean;
                  +        /**
                  +         * Controls whether completions should be computed based on words in the document.
                  +         * Defaults to true.
                  +         */
                  +        wordBasedSuggestions?: boolean;
                  +        /**
                  +         * Controls whether word based completions should be included from opened documents of the same language or any language.
                  +         */
                  +        wordBasedSuggestionsOnlySameLanguage?: boolean;
                  +        /**
                  +         * Controls whether the semanticHighlighting is shown for the languages that support it.
                  +         * true: semanticHighlighting is enabled for all themes
                  +         * false: semanticHighlighting is disabled for all themes
                  +         * 'configuredByTheme': semanticHighlighting is controlled by the current color theme's semanticHighlighting setting.
                  +         * Defaults to 'byTheme'.
                  +         */
                  +        'semanticHighlighting.enabled'?: true | false | 'configuredByTheme';
                  +        /**
                  +         * Keep peek editors open even when double clicking their content or when hitting `Escape`.
                  +         * Defaults to false.
                  +         */
                  +        stablePeek?: boolean;
                  +        /**
                  +         * Lines above this length will not be tokenized for performance reasons.
                  +         * Defaults to 20000.
                  +         */
                  +        maxTokenizationLineLength?: number;
                  +        /**
                  +         * Theme to be used for rendering.
                  +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
                  +         * You can create custom themes via `monaco.editor.defineTheme`.
                  +         * To switch a theme, use `monaco.editor.setTheme`.
                  +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
                  +         */
                  +        theme?: string;
                  +        /**
                  +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
                  +         * Defaults to true.
                  +         */
                  +        autoDetectHighContrast?: boolean;
                  +    }
                  +
                  +    /**
                  +     * The options to create an editor.
                  +     */
                  +    export interface IStandaloneEditorConstructionOptions extends IEditorConstructionOptions, IGlobalEditorOptions {
                  +        /**
                  +         * The initial model associated with this code editor.
                  +         */
                  +        model?: ITextModel | null;
                  +        /**
                  +         * The initial value of the auto created model in the editor.
                  +         * To not automatically create a model, use `model: null`.
                  +         */
                  +        value?: string;
                  +        /**
                  +         * The initial language of the auto created model in the editor.
                  +         * To not automatically create a model, use `model: null`.
                  +         */
                  +        language?: string;
                  +        /**
                  +         * Initial theme to be used for rendering.
                  +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
                  +         * You can create custom themes via `monaco.editor.defineTheme`.
                  +         * To switch a theme, use `monaco.editor.setTheme`.
                  +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
                  +         */
                  +        theme?: string;
                  +        /**
                  +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
                  +         * Defaults to true.
                  +         */
                  +        autoDetectHighContrast?: boolean;
                  +        /**
                  +         * An URL to open when Ctrl+H (Windows and Linux) or Cmd+H (OSX) is pressed in
                  +         * the accessibility help dialog in the editor.
                  +         *
                  +         * Defaults to "https://go.microsoft.com/fwlink/?linkid=852450"
                  +         */
                  +        accessibilityHelpUrl?: string;
                  +        /**
                  +         * Container element to use for ARIA messages.
                  +         * Defaults to document.body.
                  +         */
                  +        ariaContainerElement?: HTMLElement;
                  +    }
                  +
                  +    /**
                  +     * The options to create a diff editor.
                  +     */
                  +    export interface IStandaloneDiffEditorConstructionOptions extends IDiffEditorConstructionOptions {
                  +        /**
                  +         * Initial theme to be used for rendering.
                  +         * The current out-of-the-box available themes are: 'vs' (default), 'vs-dark', 'hc-black'.
                  +         * You can create custom themes via `monaco.editor.defineTheme`.
                  +         * To switch a theme, use `monaco.editor.setTheme`.
                  +         * **NOTE**: The theme might be overwritten if the OS is in high contrast mode, unless `autoDetectHighContrast` is set to false.
                  +         */
                  +        theme?: string;
                  +        /**
                  +         * If enabled, will automatically change to high contrast theme if the OS is using a high contrast theme.
                  +         * Defaults to true.
                  +         */
                  +        autoDetectHighContrast?: boolean;
                  +    }
                  +
                  +    export interface IStandaloneCodeEditor extends ICodeEditor {
                  +        updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void;
                  +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
                  +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
                  +        addAction(descriptor: IActionDescriptor): IDisposable;
                  +    }
                  +
                  +    export interface IStandaloneDiffEditor extends IDiffEditor {
                  +        addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null;
                  +        createContextKey<T>(key: string, defaultValue: T): IContextKey<T>;
                  +        addAction(descriptor: IActionDescriptor): IDisposable;
                  +        getOriginalEditor(): IStandaloneCodeEditor;
                  +        getModifiedEditor(): IStandaloneCodeEditor;
                  +    }
                  +    export interface ICommandHandler {
                  +        (...args: any[]): void;
                  +    }
                  +
                  +    export interface IContextKey<T> {
                  +        set(value: T): void;
                  +        reset(): void;
                  +        get(): T | undefined;
                  +    }
                  +
                  +    export interface IEditorOverrideServices {
                  +        [index: string]: any;
                  +    }
                  +
                  +    export interface IMarker {
                  +        owner: string;
                  +        resource: Uri;
                  +        severity: MarkerSeverity;
                  +        code?: string | {
                  +            value: string;
                  +            target: Uri;
                  +        };
                  +        message: string;
                  +        source?: string;
                  +        startLineNumber: number;
                  +        startColumn: number;
                  +        endLineNumber: number;
                  +        endColumn: number;
                  +        relatedInformation?: IRelatedInformation[];
                  +        tags?: MarkerTag[];
                  +    }
                  +
                  +    /**
                  +     * A structure defining a problem/warning/etc.
                  +     */
                  +    export interface IMarkerData {
                  +        code?: string | {
                  +            value: string;
                  +            target: Uri;
                  +        };
                  +        severity: MarkerSeverity;
                  +        message: string;
                  +        source?: string;
                  +        startLineNumber: number;
                  +        startColumn: number;
                  +        endLineNumber: number;
                  +        endColumn: number;
                  +        relatedInformation?: IRelatedInformation[];
                  +        tags?: MarkerTag[];
                  +    }
                  +
                  +    /**
                  +     *
                  +     */
                  +    export interface IRelatedInformation {
                  +        resource: Uri;
                  +        message: string;
                  +        startLineNumber: number;
                  +        startColumn: number;
                  +        endLineNumber: number;
                  +        endColumn: number;
                  +    }
                  +
                  +    export interface IColorizerOptions {
                  +        tabSize?: number;
                  +    }
                  +
                  +    export interface IColorizerElementOptions extends IColorizerOptions {
                  +        theme?: string;
                  +        mimeType?: string;
                  +    }
                  +
                  +    export enum ScrollbarVisibility {
                  +        Auto = 1,
                  +        Hidden = 2,
                  +        Visible = 3
                  +    }
                  +
                  +    export interface ThemeColor {
                  +        id: string;
                  +    }
                  +
                  +    /**
                  +     * Vertical Lane in the overview ruler of the editor.
                  +     */
                  +    export enum OverviewRulerLane {
                  +        Left = 1,
                  +        Center = 2,
                  +        Right = 4,
                  +        Full = 7
                  +    }
                  +
                  +    /**
                  +     * Position in the minimap to render the decoration.
                  +     */
                  +    export enum MinimapPosition {
                  +        Inline = 1,
                  +        Gutter = 2
                  +    }
                  +
                  +    export interface IDecorationOptions {
                  +        /**
                  +         * CSS color to render.
                  +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
                  +         */
                  +        color: string | ThemeColor | undefined;
                  +        /**
                  +         * CSS color to render.
                  +         * e.g.: rgba(100, 100, 100, 0.5) or a color from the color registry
                  +         */
                  +        darkColor?: string | ThemeColor;
                  +    }
                  +
                  +    /**
                  +     * Options for rendering a model decoration in the overview ruler.
                  +     */
                  +    export interface IModelDecorationOverviewRulerOptions extends IDecorationOptions {
                  +        /**
                  +         * The position in the overview ruler.
                  +         */
                  +        position: OverviewRulerLane;
                  +    }
                  +
                  +    /**
                  +     * Options for rendering a model decoration in the overview ruler.
                  +     */
                  +    export interface IModelDecorationMinimapOptions extends IDecorationOptions {
                  +        /**
                  +         * The position in the overview ruler.
                  +         */
                  +        position: MinimapPosition;
                  +    }
                  +
                  +    /**
                  +     * Options for a model decoration.
                  +     */
                  +    export interface IModelDecorationOptions {
                  +        /**
                  +         * Customize the growing behavior of the decoration when typing at the edges of the decoration.
                  +         * Defaults to TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
                  +         */
                  +        stickiness?: TrackedRangeStickiness;
                  +        /**
                  +         * CSS class name describing the decoration.
                  +         */
                  +        className?: string | null;
                  +        /**
                  +         * Message to be rendered when hovering over the glyph margin decoration.
                  +         */
                  +        glyphMarginHoverMessage?: IMarkdownString | IMarkdownString[] | null;
                  +        /**
                  +         * Array of MarkdownString to render as the decoration message.
                  +         */
                  +        hoverMessage?: IMarkdownString | IMarkdownString[] | null;
                  +        /**
                  +         * Should the decoration expand to encompass a whole line.
                  +         */
                  +        isWholeLine?: boolean;
                  +        /**
                  +         * Specifies the stack order of a decoration.
                  +         * A decoration with greater stack order is always in front of a decoration with
                  +         * a lower stack order when the decorations are on the same line.
                  +         */
                  +        zIndex?: number;
                  +        /**
                  +         * If set, render this decoration in the overview ruler.
                  +         */
                  +        overviewRuler?: IModelDecorationOverviewRulerOptions | null;
                  +        /**
                  +         * If set, render this decoration in the minimap.
                  +         */
                  +        minimap?: IModelDecorationMinimapOptions | null;
                  +        /**
                  +         * If set, the decoration will be rendered in the glyph margin with this CSS class name.
                  +         */
                  +        glyphMarginClassName?: string | null;
                  +        /**
                  +         * If set, the decoration will be rendered in the lines decorations with this CSS class name.
                  +         */
                  +        linesDecorationsClassName?: string | null;
                  +        /**
                  +         * If set, the decoration will be rendered in the lines decorations with this CSS class name, but only for the first line in case of line wrapping.
                  +         */
                  +        firstLineDecorationClassName?: string | null;
                  +        /**
                  +         * If set, the decoration will be rendered in the margin (covering its full width) with this CSS class name.
                  +         */
                  +        marginClassName?: string | null;
                  +        /**
                  +         * If set, the decoration will be rendered inline with the text with this CSS class name.
                  +         * Please use this only for CSS rules that must impact the text. For example, use `className`
                  +         * to have a background color decoration.
                  +         */
                  +        inlineClassName?: string | null;
                  +        /**
                  +         * If there is an `inlineClassName` which affects letter spacing.
                  +         */
                  +        inlineClassNameAffectsLetterSpacing?: boolean;
                  +        /**
                  +         * If set, the decoration will be rendered before the text with this CSS class name.
                  +         */
                  +        beforeContentClassName?: string | null;
                  +        /**
                  +         * If set, the decoration will be rendered after the text with this CSS class name.
                  +         */
                  +        afterContentClassName?: string | null;
                  +        /**
                  +         * If set, text will be injected in the view after the range.
                  +         */
                  +        after?: InjectedTextOptions | null;
                  +        /**
                  +         * If set, text will be injected in the view before the range.
                  +         */
                  +        before?: InjectedTextOptions | null;
                  +    }
                  +
                  +    /**
                  +     * Configures text that is injected into the view without changing the underlying document.
                  +    */
                  +    export interface InjectedTextOptions {
                  +        /**
                  +         * Sets the text to inject. Must be a single line.
                  +         */
                  +        readonly content: string;
                  +        /**
                  +         * If set, the decoration will be rendered inline with the text with this CSS class name.
                  +         */
                  +        readonly inlineClassName?: string | null;
                  +        /**
                  +         * If there is an `inlineClassName` which affects letter spacing.
                  +         */
                  +        readonly inlineClassNameAffectsLetterSpacing?: boolean;
                  +    }
                  +
                  +    /**
                  +     * New model decorations.
                  +     */
                  +    export interface IModelDeltaDecoration {
                  +        /**
                  +         * Range that this decoration covers.
                  +         */
                  +        range: IRange;
                  +        /**
                  +         * Options associated with this decoration.
                  +         */
                  +        options: IModelDecorationOptions;
                  +    }
                  +
                  +    /**
                  +     * A decoration in the model.
                  +     */
                  +    export interface IModelDecoration {
                  +        /**
                  +         * Identifier for a decoration.
                  +         */
                  +        readonly id: string;
                  +        /**
                  +         * Identifier for a decoration's owner.
                  +         */
                  +        readonly ownerId: number;
                  +        /**
                  +         * Range that this decoration covers.
                  +         */
                  +        readonly range: Range;
                  +        /**
                  +         * Options associated with this decoration.
                  +         */
                  +        readonly options: IModelDecorationOptions;
                  +    }
                  +
                  +    /**
                  +     * Word inside a model.
                  +     */
                  +    export interface IWordAtPosition {
                  +        /**
                  +         * The word.
                  +         */
                  +        readonly word: string;
                  +        /**
                  +         * The column where the word starts.
                  +         */
                  +        readonly startColumn: number;
                  +        /**
                  +         * The column where the word ends.
                  +         */
                  +        readonly endColumn: number;
                  +    }
                  +
                  +    /**
                  +     * End of line character preference.
                  +     */
                  +    export enum EndOfLinePreference {
                  +        /**
                  +         * Use the end of line character identified in the text buffer.
                  +         */
                  +        TextDefined = 0,
                  +        /**
                  +         * Use line feed (\n) as the end of line character.
                  +         */
                  +        LF = 1,
                  +        /**
                  +         * Use carriage return and line feed (\r\n) as the end of line character.
                  +         */
                  +        CRLF = 2
                  +    }
                  +
                  +    /**
                  +     * The default end of line to use when instantiating models.
                  +     */
                  +    export enum DefaultEndOfLine {
                  +        /**
                  +         * Use line feed (\n) as the end of line character.
                  +         */
                  +        LF = 1,
                  +        /**
                  +         * Use carriage return and line feed (\r\n) as the end of line character.
                  +         */
                  +        CRLF = 2
                  +    }
                  +
                  +    /**
                  +     * End of line character preference.
                  +     */
                  +    export enum EndOfLineSequence {
                  +        /**
                  +         * Use line feed (\n) as the end of line character.
                  +         */
                  +        LF = 0,
                  +        /**
                  +         * Use carriage return and line feed (\r\n) as the end of line character.
                  +         */
                  +        CRLF = 1
                  +    }
                  +
                  +    /**
                  +     * A single edit operation, that acts as a simple replace.
                  +     * i.e. Replace text at `range` with `text` in model.
                  +     */
                  +    export interface ISingleEditOperation {
                  +        /**
                  +         * The range to replace. This can be empty to emulate a simple insert.
                  +         */
                  +        range: IRange;
                  +        /**
                  +         * The text to replace with. This can be null to emulate a simple delete.
                  +         */
                  +        text: string | null;
                  +        /**
                  +         * This indicates that this operation has "insert" semantics.
                  +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
                  +         */
                  +        forceMoveMarkers?: boolean;
                  +    }
                  +
                  +    /**
                  +     * A single edit operation, that has an identifier.
                  +     */
                  +    export interface IIdentifiedSingleEditOperation {
                  +        /**
                  +         * The range to replace. This can be empty to emulate a simple insert.
                  +         */
                  +        range: IRange;
                  +        /**
                  +         * The text to replace with. This can be null to emulate a simple delete.
                  +         */
                  +        text: string | null;
                  +        /**
                  +         * This indicates that this operation has "insert" semantics.
                  +         * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
                  +         */
                  +        forceMoveMarkers?: boolean;
                  +    }
                  +
                  +    export interface IValidEditOperation {
                  +        /**
                  +         * The range to replace. This can be empty to emulate a simple insert.
                  +         */
                  +        range: Range;
                  +        /**
                  +         * The text to replace with. This can be empty to emulate a simple delete.
                  +         */
                  +        text: string;
                  +    }
                  +
                  +    /**
                  +     * A callback that can compute the cursor state after applying a series of edit operations.
                  +     */
                  +    export interface ICursorStateComputer {
                  +        /**
                  +         * A callback that can compute the resulting cursors state after some edit operations have been executed.
                  +         */
                  +        (inverseEditOperations: IValidEditOperation[]): Selection[] | null;
                  +    }
                  +
                  +    export class TextModelResolvedOptions {
                  +        _textModelResolvedOptionsBrand: void;
                  +        readonly tabSize: number;
                  +        readonly indentSize: number;
                  +        readonly insertSpaces: boolean;
                  +        readonly defaultEOL: DefaultEndOfLine;
                  +        readonly trimAutoWhitespace: boolean;
                  +        readonly bracketPairColorizationOptions: BracketPairColorizationOptions;
                  +    }
                  +
                  +    export interface BracketPairColorizationOptions {
                  +        enabled: boolean;
                  +    }
                  +
                  +    export interface ITextModelUpdateOptions {
                  +        tabSize?: number;
                  +        indentSize?: number;
                  +        insertSpaces?: boolean;
                  +        trimAutoWhitespace?: boolean;
                  +        bracketColorizationOptions?: BracketPairColorizationOptions;
                  +    }
                  +
                  +    export class FindMatch {
                  +        _findMatchBrand: void;
                  +        readonly range: Range;
                  +        readonly matches: string[] | null;
                  +    }
                  +
                  +    /**
                  +     * Describes the behavior of decorations when typing/editing near their edges.
                  +     * Note: Please do not edit the values, as they very carefully match `DecorationRangeBehavior`
                  +     */
                  +    export enum TrackedRangeStickiness {
                  +        AlwaysGrowsWhenTypingAtEdges = 0,
                  +        NeverGrowsWhenTypingAtEdges = 1,
                  +        GrowsOnlyWhenTypingBefore = 2,
                  +        GrowsOnlyWhenTypingAfter = 3
                  +    }
                  +
                  +    /**
                  +     * A model.
                  +     */
                  +    export interface ITextModel {
                  +        /**
                  +         * Gets the resource associated with this editor model.
                  +         */
                  +        readonly uri: Uri;
                  +        /**
                  +         * A unique identifier associated with this model.
                  +         */
                  +        readonly id: string;
                  +        /**
                  +         * Get the resolved options for this model.
                  +         */
                  +        getOptions(): TextModelResolvedOptions;
                  +        /**
                  +         * Get the current version id of the model.
                  +         * Anytime a change happens to the model (even undo/redo),
                  +         * the version id is incremented.
                  +         */
                  +        getVersionId(): number;
                  +        /**
                  +         * Get the alternative version id of the model.
                  +         * This alternative version id is not always incremented,
                  +         * it will return the same values in the case of undo-redo.
                  +         */
                  +        getAlternativeVersionId(): number;
                  +        /**
                  +         * Replace the entire text buffer value contained in this model.
                  +         */
                  +        setValue(newValue: string): void;
                  +        /**
                  +         * Get the text stored in this model.
                  +         * @param eol The end of line character preference. Defaults to `EndOfLinePreference.TextDefined`.
                  +         * @param preserverBOM Preserve a BOM character if it was detected when the model was constructed.
                  +         * @return The text.
                  +         */
                  +        getValue(eol?: EndOfLinePreference, preserveBOM?: boolean): string;
                  +        /**
                  +         * Get the length of the text stored in this model.
                  +         */
                  +        getValueLength(eol?: EndOfLinePreference, preserveBOM?: boolean): number;
                  +        /**
                  +         * Get the text in a certain range.
                  +         * @param range The range describing what text to get.
                  +         * @param eol The end of line character preference. This will only be used for multiline ranges. Defaults to `EndOfLinePreference.TextDefined`.
                  +         * @return The text.
                  +         */
                  +        getValueInRange(range: IRange, eol?: EndOfLinePreference): string;
                  +        /**
                  +         * Get the length of text in a certain range.
                  +         * @param range The range describing what text length to get.
                  +         * @return The text length.
                  +         */
                  +        getValueLengthInRange(range: IRange): number;
                  +        /**
                  +         * Get the character count of text in a certain range.
                  +         * @param range The range describing what text length to get.
                  +         */
                  +        getCharacterCountInRange(range: IRange): number;
                  +        /**
                  +         * Get the number of lines in the model.
                  +         */
                  +        getLineCount(): number;
                  +        /**
                  +         * Get the text for a certain line.
                  +         */
                  +        getLineContent(lineNumber: number): string;
                  +        /**
                  +         * Get the text length for a certain line.
                  +         */
                  +        getLineLength(lineNumber: number): number;
                  +        /**
                  +         * Get the text for all lines.
                  +         */
                  +        getLinesContent(): string[];
                  +        /**
                  +         * Get the end of line sequence predominantly used in the text buffer.
                  +         * @return EOL char sequence (e.g.: '\n' or '\r\n').
                  +         */
                  +        getEOL(): string;
                  +        /**
                  +         * Get the end of line sequence predominantly used in the text buffer.
                  +         */
                  +        getEndOfLineSequence(): EndOfLineSequence;
                  +        /**
                  +         * Get the minimum legal column for line at `lineNumber`
                  +         */
                  +        getLineMinColumn(lineNumber: number): number;
                  +        /**
                  +         * Get the maximum legal column for line at `lineNumber`
                  +         */
                  +        getLineMaxColumn(lineNumber: number): number;
                  +        /**
                  +         * Returns the column before the first non whitespace character for line at `lineNumber`.
                  +         * Returns 0 if line is empty or contains only whitespace.
                  +         */
                  +        getLineFirstNonWhitespaceColumn(lineNumber: number): number;
                  +        /**
                  +         * Returns the column after the last non whitespace character for line at `lineNumber`.
                  +         * Returns 0 if line is empty or contains only whitespace.
                  +         */
                  +        getLineLastNonWhitespaceColumn(lineNumber: number): number;
                  +        /**
                  +         * Create a valid position.
                  +         */
                  +        validatePosition(position: IPosition): Position;
                  +        /**
                  +         * Advances the given position by the given offset (negative offsets are also accepted)
                  +         * and returns it as a new valid position.
                  +         *
                  +         * If the offset and position are such that their combination goes beyond the beginning or
                  +         * end of the model, throws an exception.
                  +         *
                  +         * If the offset is such that the new position would be in the middle of a multi-byte
                  +         * line terminator, throws an exception.
                  +         */
                  +        modifyPosition(position: IPosition, offset: number): Position;
                  +        /**
                  +         * Create a valid range.
                  +         */
                  +        validateRange(range: IRange): Range;
                  +        /**
                  +         * Converts the position to a zero-based offset.
                  +         *
                  +         * The position will be [adjusted](#TextDocument.validatePosition).
                  +         *
                  +         * @param position A position.
                  +         * @return A valid zero-based offset.
                  +         */
                  +        getOffsetAt(position: IPosition): number;
                  +        /**
                  +         * Converts a zero-based offset to a position.
                  +         *
                  +         * @param offset A zero-based offset.
                  +         * @return A valid [position](#Position).
                  +         */
                  +        getPositionAt(offset: number): Position;
                  +        /**
                  +         * Get a range covering the entire model.
                  +         */
                  +        getFullModelRange(): Range;
                  +        /**
                  +         * Returns if the model was disposed or not.
                  +         */
                  +        isDisposed(): boolean;
                  +        /**
                  +         * Search the model.
                  +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                  +         * @param searchOnlyEditableRange Limit the searching to only search inside the editable range of the model.
                  +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                  +         * @param matchCase Force the matching to match lower/upper case exactly.
                  +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                  +         * @param captureMatches The result will contain the captured groups.
                  +         * @param limitResultCount Limit the number of results
                  +         * @return The ranges where the matches are. It is empty if not matches have been found.
                  +         */
                  +        findMatches(searchString: string, searchOnlyEditableRange: boolean, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
                  +        /**
                  +         * Search the model.
                  +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                  +         * @param searchScope Limit the searching to only search inside these ranges.
                  +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                  +         * @param matchCase Force the matching to match lower/upper case exactly.
                  +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                  +         * @param captureMatches The result will contain the captured groups.
                  +         * @param limitResultCount Limit the number of results
                  +         * @return The ranges where the matches are. It is empty if no matches have been found.
                  +         */
                  +        findMatches(searchString: string, searchScope: IRange | IRange[], isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean, limitResultCount?: number): FindMatch[];
                  +        /**
                  +         * Search the model for the next match. Loops to the beginning of the model if needed.
                  +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                  +         * @param searchStart Start the searching at the specified position.
                  +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                  +         * @param matchCase Force the matching to match lower/upper case exactly.
                  +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                  +         * @param captureMatches The result will contain the captured groups.
                  +         * @return The range where the next match is. It is null if no next match has been found.
                  +         */
                  +        findNextMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
                  +        /**
                  +         * Search the model for the previous match. Loops to the end of the model if needed.
                  +         * @param searchString The string used to search. If it is a regular expression, set `isRegex` to true.
                  +         * @param searchStart Start the searching at the specified position.
                  +         * @param isRegex Used to indicate that `searchString` is a regular expression.
                  +         * @param matchCase Force the matching to match lower/upper case exactly.
                  +         * @param wordSeparators Force the matching to match entire words only. Pass null otherwise.
                  +         * @param captureMatches The result will contain the captured groups.
                  +         * @return The range where the previous match is. It is null if no previous match has been found.
                  +         */
                  +        findPreviousMatch(searchString: string, searchStart: IPosition, isRegex: boolean, matchCase: boolean, wordSeparators: string | null, captureMatches: boolean): FindMatch | null;
                  +        /**
                  +         * Get the language associated with this model.
                  +         */
                  +        getLanguageId(): string;
                  +        /**
                  +         * Get the word under or besides `position`.
                  +         * @param position The position to look for a word.
                  +         * @return The word under or besides `position`. Might be null.
                  +         */
                  +        getWordAtPosition(position: IPosition): IWordAtPosition | null;
                  +        /**
                  +         * Get the word under or besides `position` trimmed to `position`.column
                  +         * @param position The position to look for a word.
                  +         * @return The word under or besides `position`. Will never be null.
                  +         */
                  +        getWordUntilPosition(position: IPosition): IWordAtPosition;
                  +        /**
                  +         * Perform a minimum amount of operations, in order to transform the decorations
                  +         * identified by `oldDecorations` to the decorations described by `newDecorations`
                  +         * and returns the new identifiers associated with the resulting decorations.
                  +         *
                  +         * @param oldDecorations Array containing previous decorations identifiers.
                  +         * @param newDecorations Array describing what decorations should result after the call.
                  +         * @param ownerId Identifies the editor id in which these decorations should appear. If no `ownerId` is provided, the decorations will appear in all editors that attach this model.
                  +         * @return An array containing the new decorations identifiers.
                  +         */
                  +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[], ownerId?: number): string[];
                  +        /**
                  +         * Get the options associated with a decoration.
                  +         * @param id The decoration id.
                  +         * @return The decoration options or null if the decoration was not found.
                  +         */
                  +        getDecorationOptions(id: string): IModelDecorationOptions | null;
                  +        /**
                  +         * Get the range associated with a decoration.
                  +         * @param id The decoration id.
                  +         * @return The decoration range or null if the decoration was not found.
                  +         */
                  +        getDecorationRange(id: string): Range | null;
                  +        /**
                  +         * Gets all the decorations for the line `lineNumber` as an array.
                  +         * @param lineNumber The line number
                  +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                  +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                  +         * @return An array with the decorations
                  +         */
                  +        getLineDecorations(lineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                  +        /**
                  +         * Gets all the decorations for the lines between `startLineNumber` and `endLineNumber` as an array.
                  +         * @param startLineNumber The start line number
                  +         * @param endLineNumber The end line number
                  +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                  +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                  +         * @return An array with the decorations
                  +         */
                  +        getLinesDecorations(startLineNumber: number, endLineNumber: number, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                  +        /**
                  +         * Gets all the decorations in a range as an array. Only `startLineNumber` and `endLineNumber` from `range` are used for filtering.
                  +         * So for now it returns all the decorations on the same line as `range`.
                  +         * @param range The range to search in
                  +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                  +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                  +         * @return An array with the decorations
                  +         */
                  +        getDecorationsInRange(range: IRange, ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                  +        /**
                  +         * Gets all the decorations as an array.
                  +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                  +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                  +         */
                  +        getAllDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                  +        /**
                  +         * Gets all the decorations that should be rendered in the overview ruler as an array.
                  +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                  +         * @param filterOutValidation If set, it will ignore decorations specific to validation (i.e. warnings, errors).
                  +         */
                  +        getOverviewRulerDecorations(ownerId?: number, filterOutValidation?: boolean): IModelDecoration[];
                  +        /**
                  +         * Gets all the decorations that contain injected text.
                  +         * @param ownerId If set, it will ignore decorations belonging to other owners.
                  +         */
                  +        getInjectedTextDecorations(ownerId?: number): IModelDecoration[];
                  +        /**
                  +         * Normalize a string containing whitespace according to indentation rules (converts to spaces or to tabs).
                  +         */
                  +        normalizeIndentation(str: string): string;
                  +        /**
                  +         * Change the options of this model.
                  +         */
                  +        updateOptions(newOpts: ITextModelUpdateOptions): void;
                  +        /**
                  +         * Detect the indentation options for this model from its content.
                  +         */
                  +        detectIndentation(defaultInsertSpaces: boolean, defaultTabSize: number): void;
                  +        /**
                  +         * Close the current undo-redo element.
                  +         * This offers a way to create an undo/redo stop point.
                  +         */
                  +        pushStackElement(): void;
                  +        /**
                  +         * Open the current undo-redo element.
                  +         * This offers a way to remove the current undo/redo stop point.
                  +         */
                  +        popStackElement(): void;
                  +        /**
                  +         * Push edit operations, basically editing the model. This is the preferred way
                  +         * of editing the model. The edit operations will land on the undo stack.
                  +         * @param beforeCursorState The cursor state before the edit operations. This cursor state will be returned when `undo` or `redo` are invoked.
                  +         * @param editOperations The edit operations.
                  +         * @param cursorStateComputer A callback that can compute the resulting cursors state after the edit operations have been executed.
                  +         * @return The cursor state returned by the `cursorStateComputer`.
                  +         */
                  +        pushEditOperations(beforeCursorState: Selection[] | null, editOperations: IIdentifiedSingleEditOperation[], cursorStateComputer: ICursorStateComputer): Selection[] | null;
                  +        /**
                  +         * Change the end of line sequence. This is the preferred way of
                  +         * changing the eol sequence. This will land on the undo stack.
                  +         */
                  +        pushEOL(eol: EndOfLineSequence): void;
                  +        /**
                  +         * Edit the model without adding the edits to the undo stack.
                  +         * This can have dire consequences on the undo stack! See @pushEditOperations for the preferred way.
                  +         * @param operations The edit operations.
                  +         * @return If desired, the inverse edit operations, that, when applied, will bring the model back to the previous state.
                  +         */
                  +        applyEdits(operations: IIdentifiedSingleEditOperation[]): void;
                  +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: false): void;
                  +        applyEdits(operations: IIdentifiedSingleEditOperation[], computeUndoEdits: true): IValidEditOperation[];
                  +        /**
                  +         * Change the end of line sequence without recording in the undo stack.
                  +         * This can have dire consequences on the undo stack! See @pushEOL for the preferred way.
                  +         */
                  +        setEOL(eol: EndOfLineSequence): void;
                  +        /**
                  +         * An event emitted when the contents of the model have changed.
                  +         * @event
                  +         */
                  +        onDidChangeContent(listener: (e: IModelContentChangedEvent) => void): IDisposable;
                  +        /**
                  +         * An event emitted when decorations of the model have changed.
                  +         * @event
                  +         */
                  +        onDidChangeDecorations(listener: (e: IModelDecorationsChangedEvent) => void): IDisposable;
                  +        /**
                  +         * An event emitted when the model options have changed.
                  +         * @event
                  +         */
                  +        onDidChangeOptions(listener: (e: IModelOptionsChangedEvent) => void): IDisposable;
                  +        /**
                  +         * An event emitted when the language associated with the model has changed.
                  +         * @event
                  +         */
                  +        onDidChangeLanguage(listener: (e: IModelLanguageChangedEvent) => void): IDisposable;
                  +        /**
                  +         * An event emitted when the language configuration associated with the model has changed.
                  +         * @event
                  +         */
                  +        onDidChangeLanguageConfiguration(listener: (e: IModelLanguageConfigurationChangedEvent) => void): IDisposable;
                  +        /**
                  +         * An event emitted when the model has been attached to the first editor or detached from the last editor.
                  +         * @event
                  +         */
                  +        onDidChangeAttached(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted right before disposing the model.
                  +         * @event
                  +         */
                  +        onWillDispose(listener: () => void): IDisposable;
                  +        /**
                  +         * Destroy this model.
                  +         */
                  +        dispose(): void;
                  +        /**
                  +         * Returns if this model is attached to an editor or not.
                  +         */
                  +        isAttachedToEditor(): boolean;
                  +    }
                  +
                  +    /**
                  +     * A builder and helper for edit operations for a command.
                  +     */
                  +    export interface IEditOperationBuilder {
                  +        /**
                  +         * Add a new edit operation (a replace operation).
                  +         * @param range The range to replace (delete). May be empty to represent a simple insert.
                  +         * @param text The text to replace with. May be null to represent a simple delete.
                  +         */
                  +        addEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
                  +        /**
                  +         * Add a new edit operation (a replace operation).
                  +         * The inverse edits will be accessible in `ICursorStateComputerData.getInverseEditOperations()`
                  +         * @param range The range to replace (delete). May be empty to represent a simple insert.
                  +         * @param text The text to replace with. May be null to represent a simple delete.
                  +         */
                  +        addTrackedEditOperation(range: IRange, text: string | null, forceMoveMarkers?: boolean): void;
                  +        /**
                  +         * Track `selection` when applying edit operations.
                  +         * A best effort will be made to not grow/expand the selection.
                  +         * An empty selection will clamp to a nearby character.
                  +         * @param selection The selection to track.
                  +         * @param trackPreviousOnEmpty If set, and the selection is empty, indicates whether the selection
                  +         *           should clamp to the previous or the next character.
                  +         * @return A unique identifier.
                  +         */
                  +        trackSelection(selection: Selection, trackPreviousOnEmpty?: boolean): string;
                  +    }
                  +
                  +    /**
                  +     * A helper for computing cursor state after a command.
                  +     */
                  +    export interface ICursorStateComputerData {
                  +        /**
                  +         * Get the inverse edit operations of the added edit operations.
                  +         */
                  +        getInverseEditOperations(): IValidEditOperation[];
                  +        /**
                  +         * Get a previously tracked selection.
                  +         * @param id The unique identifier returned by `trackSelection`.
                  +         * @return The selection.
                  +         */
                  +        getTrackedSelection(id: string): Selection;
                  +    }
                  +
                  +    /**
                  +     * A command that modifies text / cursor state on a model.
                  +     */
                  +    export interface ICommand {
                  +        /**
                  +         * Get the edit operations needed to execute this command.
                  +         * @param model The model the command will execute on.
                  +         * @param builder A helper to collect the needed edit operations and to track selections.
                  +         */
                  +        getEditOperations(model: ITextModel, builder: IEditOperationBuilder): void;
                  +        /**
                  +         * Compute the cursor state after the edit operations were applied.
                  +         * @param model The model the command has executed on.
                  +         * @param helper A helper to get inverse edit operations and to get previously tracked selections.
                  +         * @return The cursor state after the command executed.
                  +         */
                  +        computeCursorState(model: ITextModel, helper: ICursorStateComputerData): Selection;
                  +    }
                  +
                  +    /**
                  +     * A model for the diff editor.
                  +     */
                  +    export interface IDiffEditorModel {
                  +        /**
                  +         * Original model.
                  +         */
                  +        original: ITextModel;
                  +        /**
                  +         * Modified model.
                  +         */
                  +        modified: ITextModel;
                  +    }
                  +
                  +    /**
                  +     * An event describing that an editor has had its model reset (i.e. `editor.setModel()`).
                  +     */
                  +    export interface IModelChangedEvent {
                  +        /**
                  +         * The `uri` of the previous model or null.
                  +         */
                  +        readonly oldModelUrl: Uri | null;
                  +        /**
                  +         * The `uri` of the new model or null.
                  +         */
                  +        readonly newModelUrl: Uri | null;
                  +    }
                  +
                  +    export interface IDimension {
                  +        width: number;
                  +        height: number;
                  +    }
                  +
                  +    /**
                  +     * A change
                  +     */
                  +    export interface IChange {
                  +        readonly originalStartLineNumber: number;
                  +        readonly originalEndLineNumber: number;
                  +        readonly modifiedStartLineNumber: number;
                  +        readonly modifiedEndLineNumber: number;
                  +    }
                  +
                  +    /**
                  +     * A character level change.
                  +     */
                  +    export interface ICharChange extends IChange {
                  +        readonly originalStartColumn: number;
                  +        readonly originalEndColumn: number;
                  +        readonly modifiedStartColumn: number;
                  +        readonly modifiedEndColumn: number;
                  +    }
                  +
                  +    /**
                  +     * A line change
                  +     */
                  +    export interface ILineChange extends IChange {
                  +        readonly charChanges: ICharChange[] | undefined;
                  +    }
                  +
                  +    export interface IContentSizeChangedEvent {
                  +        readonly contentWidth: number;
                  +        readonly contentHeight: number;
                  +        readonly contentWidthChanged: boolean;
                  +        readonly contentHeightChanged: boolean;
                  +    }
                  +
                  +    export interface INewScrollPosition {
                  +        scrollLeft?: number;
                  +        scrollTop?: number;
                  +    }
                  +
                  +    export interface IEditorAction {
                  +        readonly id: string;
                  +        readonly label: string;
                  +        readonly alias: string;
                  +        isSupported(): boolean;
                  +        run(): Promise<void>;
                  +    }
                  +
                  +    export type IEditorModel = ITextModel | IDiffEditorModel;
                  +
                  +    /**
                  +     * A (serializable) state of the cursors.
                  +     */
                  +    export interface ICursorState {
                  +        inSelectionMode: boolean;
                  +        selectionStart: IPosition;
                  +        position: IPosition;
                  +    }
                  +
                  +    /**
                  +     * A (serializable) state of the view.
                  +     */
                  +    export interface IViewState {
                  +        /** written by previous versions */
                  +        scrollTop?: number;
                  +        /** written by previous versions */
                  +        scrollTopWithoutViewZones?: number;
                  +        scrollLeft: number;
                  +        firstPosition: IPosition;
                  +        firstPositionDeltaTop: number;
                  +    }
                  +
                  +    /**
                  +     * A (serializable) state of the code editor.
                  +     */
                  +    export interface ICodeEditorViewState {
                  +        cursorState: ICursorState[];
                  +        viewState: IViewState;
                  +        contributionsState: {
                  +            [id: string]: any;
                  +        };
                  +    }
                  +
                  +    /**
                  +     * (Serializable) View state for the diff editor.
                  +     */
                  +    export interface IDiffEditorViewState {
                  +        original: ICodeEditorViewState | null;
                  +        modified: ICodeEditorViewState | null;
                  +    }
                  +
                  +    /**
                  +     * An editor view state.
                  +     */
                  +    export type IEditorViewState = ICodeEditorViewState | IDiffEditorViewState;
                  +
                  +    export enum ScrollType {
                  +        Smooth = 0,
                  +        Immediate = 1
                  +    }
                  +
                  +    /**
                  +     * An editor.
                  +     */
                  +    export interface IEditor {
                  +        /**
                  +         * An event emitted when the editor has been disposed.
                  +         * @event
                  +         */
                  +        onDidDispose(listener: () => void): IDisposable;
                  +        /**
                  +         * Dispose the editor.
                  +         */
                  +        dispose(): void;
                  +        /**
                  +         * Get a unique id for this editor instance.
                  +         */
                  +        getId(): string;
                  +        /**
                  +         * Get the editor type. Please see `EditorType`.
                  +         * This is to avoid an instanceof check
                  +         */
                  +        getEditorType(): string;
                  +        /**
                  +         * Update the editor's options after the editor has been created.
                  +         */
                  +        updateOptions(newOptions: IEditorOptions): void;
                  +        /**
                  +         * Instructs the editor to remeasure its container. This method should
                  +         * be called when the container of the editor gets resized.
                  +         *
                  +         * If a dimension is passed in, the passed in value will be used.
                  +         */
                  +        layout(dimension?: IDimension): void;
                  +        /**
                  +         * Brings browser focus to the editor text
                  +         */
                  +        focus(): void;
                  +        /**
                  +         * Returns true if the text inside this editor is focused (i.e. cursor is blinking).
                  +         */
                  +        hasTextFocus(): boolean;
                  +        /**
                  +         * Returns all actions associated with this editor.
                  +         */
                  +        getSupportedActions(): IEditorAction[];
                  +        /**
                  +         * Saves current view state of the editor in a serializable object.
                  +         */
                  +        saveViewState(): IEditorViewState | null;
                  +        /**
                  +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
                  +         */
                  +        restoreViewState(state: IEditorViewState): void;
                  +        /**
                  +         * Given a position, returns a column number that takes tab-widths into account.
                  +         */
                  +        getVisibleColumnFromPosition(position: IPosition): number;
                  +        /**
                  +         * Returns the primary position of the cursor.
                  +         */
                  +        getPosition(): Position | null;
                  +        /**
                  +         * Set the primary position of the cursor. This will remove any secondary cursors.
                  +         * @param position New primary cursor's position
                  +         */
                  +        setPosition(position: IPosition): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal a line.
                  +         */
                  +        revealLine(lineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal a line centered vertically.
                  +         */
                  +        revealLineInCenter(lineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport.
                  +         */
                  +        revealLineInCenterIfOutsideViewport(lineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal a line close to the top of the viewport,
                  +         * optimized for viewing a code definition.
                  +         */
                  +        revealLineNearTop(lineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a position.
                  +         */
                  +        revealPosition(position: IPosition, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically.
                  +         */
                  +        revealPositionInCenter(position: IPosition, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a position centered vertically only if it lies outside the viewport.
                  +         */
                  +        revealPositionInCenterIfOutsideViewport(position: IPosition, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a position close to the top of the viewport,
                  +         * optimized for viewing a code definition.
                  +         */
                  +        revealPositionNearTop(position: IPosition, scrollType?: ScrollType): void;
                  +        /**
                  +         * Returns the primary selection of the editor.
                  +         */
                  +        getSelection(): Selection | null;
                  +        /**
                  +         * Returns all the selections of the editor.
                  +         */
                  +        getSelections(): Selection[] | null;
                  +        /**
                  +         * Set the primary selection of the editor. This will remove any secondary cursors.
                  +         * @param selection The new selection
                  +         */
                  +        setSelection(selection: IRange): void;
                  +        /**
                  +         * Set the primary selection of the editor. This will remove any secondary cursors.
                  +         * @param selection The new selection
                  +         */
                  +        setSelection(selection: Range): void;
                  +        /**
                  +         * Set the primary selection of the editor. This will remove any secondary cursors.
                  +         * @param selection The new selection
                  +         */
                  +        setSelection(selection: ISelection): void;
                  +        /**
                  +         * Set the primary selection of the editor. This will remove any secondary cursors.
                  +         * @param selection The new selection
                  +         */
                  +        setSelection(selection: Selection): void;
                  +        /**
                  +         * Set the selections for all the cursors of the editor.
                  +         * Cursors will be removed or added, as necessary.
                  +         */
                  +        setSelections(selections: readonly ISelection[]): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal lines.
                  +         */
                  +        revealLines(startLineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal lines centered vertically.
                  +         */
                  +        revealLinesInCenter(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal lines centered vertically only if it lies outside the viewport.
                  +         */
                  +        revealLinesInCenterIfOutsideViewport(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically as necessary and reveal lines close to the top of the viewport,
                  +         * optimized for viewing a code definition.
                  +         */
                  +        revealLinesNearTop(lineNumber: number, endLineNumber: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a range.
                  +         */
                  +        revealRange(range: IRange, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically.
                  +         */
                  +        revealRangeInCenter(range: IRange, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a range at the top of the viewport.
                  +         */
                  +        revealRangeAtTop(range: IRange, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a range centered vertically only if it lies outside the viewport.
                  +         */
                  +        revealRangeInCenterIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
                  +         * optimized for viewing a code definition.
                  +         */
                  +        revealRangeNearTop(range: IRange, scrollType?: ScrollType): void;
                  +        /**
                  +         * Scroll vertically or horizontally as necessary and reveal a range close to the top of the viewport,
                  +         * optimized for viewing a code definition. Only if it lies outside the viewport.
                  +         */
                  +        revealRangeNearTopIfOutsideViewport(range: IRange, scrollType?: ScrollType): void;
                  +        /**
                  +         * Directly trigger a handler or an editor action.
                  +         * @param source The source of the call.
                  +         * @param handlerId The id of the handler or the id of a contribution.
                  +         * @param payload Extra data to be sent to the handler.
                  +         */
                  +        trigger(source: string | null | undefined, handlerId: string, payload: any): void;
                  +        /**
                  +         * Gets the current model attached to this editor.
                  +         */
                  +        getModel(): IEditorModel | null;
                  +        /**
                  +         * Sets the current model attached to this editor.
                  +         * If the previous model was created by the editor via the value key in the options
                  +         * literal object, it will be destroyed. Otherwise, if the previous model was set
                  +         * via setModel, or the model key in the options literal object, the previous model
                  +         * will not be destroyed.
                  +         * It is safe to call setModel(null) to simply detach the current model from the editor.
                  +         */
                  +        setModel(model: IEditorModel | null): void;
                  +    }
                  +
                  +    /**
                  +     * An editor contribution that gets created every time a new editor gets created and gets disposed when the editor gets disposed.
                  +     */
                  +    export interface IEditorContribution {
                  +        /**
                  +         * Dispose this contribution.
                  +         */
                  +        dispose(): void;
                  +        /**
                  +         * Store view state.
                  +         */
                  +        saveViewState?(): any;
                  +        /**
                  +         * Restore view state.
                  +         */
                  +        restoreViewState?(state: any): void;
                  +    }
                  +
                  +    /**
                  +     * The type of the `IEditor`.
                  +     */
                  +    export const EditorType: {
                  +        ICodeEditor: string;
                  +        IDiffEditor: string;
                  +    };
                  +
                  +    /**
                  +     * An event describing that the current language associated with a model has changed.
                  +     */
                  +    export interface IModelLanguageChangedEvent {
                  +        /**
                  +         * Previous language
                  +         */
                  +        readonly oldLanguage: string;
                  +        /**
                  +         * New language
                  +         */
                  +        readonly newLanguage: string;
                  +    }
                  +
                  +    /**
                  +     * An event describing that the language configuration associated with a model has changed.
                  +     */
                  +    export interface IModelLanguageConfigurationChangedEvent {
                  +    }
                  +
                  +    export interface IModelContentChange {
                  +        /**
                  +         * The range that got replaced.
                  +         */
                  +        readonly range: IRange;
                  +        /**
                  +         * The offset of the range that got replaced.
                  +         */
                  +        readonly rangeOffset: number;
                  +        /**
                  +         * The length of the range that got replaced.
                  +         */
                  +        readonly rangeLength: number;
                  +        /**
                  +         * The new text for the range.
                  +         */
                  +        readonly text: string;
                  +    }
                  +
                  +    /**
                  +     * An event describing a change in the text of a model.
                  +     */
                  +    export interface IModelContentChangedEvent {
                  +        readonly changes: IModelContentChange[];
                  +        /**
                  +         * The (new) end-of-line character.
                  +         */
                  +        readonly eol: string;
                  +        /**
                  +         * The new version id the model has transitioned to.
                  +         */
                  +        readonly versionId: number;
                  +        /**
                  +         * Flag that indicates that this event was generated while undoing.
                  +         */
                  +        readonly isUndoing: boolean;
                  +        /**
                  +         * Flag that indicates that this event was generated while redoing.
                  +         */
                  +        readonly isRedoing: boolean;
                  +        /**
                  +         * Flag that indicates that all decorations were lost with this edit.
                  +         * The model has been reset to a new value.
                  +         */
                  +        readonly isFlush: boolean;
                  +    }
                  +
                  +    /**
                  +     * An event describing that model decorations have changed.
                  +     */
                  +    export interface IModelDecorationsChangedEvent {
                  +        readonly affectsMinimap: boolean;
                  +        readonly affectsOverviewRuler: boolean;
                  +    }
                  +
                  +    export interface IModelOptionsChangedEvent {
                  +        readonly tabSize: boolean;
                  +        readonly indentSize: boolean;
                  +        readonly insertSpaces: boolean;
                  +        readonly trimAutoWhitespace: boolean;
                  +    }
                  +
                  +    /**
                  +     * Describes the reason the cursor has changed its position.
                  +     */
                  +    export enum CursorChangeReason {
                  +        /**
                  +         * Unknown or not set.
                  +         */
                  +        NotSet = 0,
                  +        /**
                  +         * A `model.setValue()` was called.
                  +         */
                  +        ContentFlush = 1,
                  +        /**
                  +         * The `model` has been changed outside of this cursor and the cursor recovers its position from associated markers.
                  +         */
                  +        RecoverFromMarkers = 2,
                  +        /**
                  +         * There was an explicit user gesture.
                  +         */
                  +        Explicit = 3,
                  +        /**
                  +         * There was a Paste.
                  +         */
                  +        Paste = 4,
                  +        /**
                  +         * There was an Undo.
                  +         */
                  +        Undo = 5,
                  +        /**
                  +         * There was a Redo.
                  +         */
                  +        Redo = 6
                  +    }
                  +
                  +    /**
                  +     * An event describing that the cursor position has changed.
                  +     */
                  +    export interface ICursorPositionChangedEvent {
                  +        /**
                  +         * Primary cursor's position.
                  +         */
                  +        readonly position: Position;
                  +        /**
                  +         * Secondary cursors' position.
                  +         */
                  +        readonly secondaryPositions: Position[];
                  +        /**
                  +         * Reason.
                  +         */
                  +        readonly reason: CursorChangeReason;
                  +        /**
                  +         * Source of the call that caused the event.
                  +         */
                  +        readonly source: string;
                  +    }
                  +
                  +    /**
                  +     * An event describing that the cursor selection has changed.
                  +     */
                  +    export interface ICursorSelectionChangedEvent {
                  +        /**
                  +         * The primary selection.
                  +         */
                  +        readonly selection: Selection;
                  +        /**
                  +         * The secondary selections.
                  +         */
                  +        readonly secondarySelections: Selection[];
                  +        /**
                  +         * The model version id.
                  +         */
                  +        readonly modelVersionId: number;
                  +        /**
                  +         * The old selections.
                  +         */
                  +        readonly oldSelections: Selection[] | null;
                  +        /**
                  +         * The model version id the that `oldSelections` refer to.
                  +         */
                  +        readonly oldModelVersionId: number;
                  +        /**
                  +         * Source of the call that caused the event.
                  +         */
                  +        readonly source: string;
                  +        /**
                  +         * Reason.
                  +         */
                  +        readonly reason: CursorChangeReason;
                  +    }
                  +
                  +    export enum AccessibilitySupport {
                  +        /**
                  +         * This should be the browser case where it is not known if a screen reader is attached or no.
                  +         */
                  +        Unknown = 0,
                  +        Disabled = 1,
                  +        Enabled = 2
                  +    }
                  +
                  +    /**
                  +     * Configuration options for auto closing quotes and brackets
                  +     */
                  +    export type EditorAutoClosingStrategy = 'always' | 'languageDefined' | 'beforeWhitespace' | 'never';
                  +
                  +    /**
                  +     * Configuration options for auto wrapping quotes and brackets
                  +     */
                  +    export type EditorAutoSurroundStrategy = 'languageDefined' | 'quotes' | 'brackets' | 'never';
                  +
                  +    /**
                  +     * Configuration options for typing over closing quotes or brackets
                  +     */
                  +    export type EditorAutoClosingEditStrategy = 'always' | 'auto' | 'never';
                  +
                  +    /**
                  +     * Configuration options for auto indentation in the editor
                  +     */
                  +    export enum EditorAutoIndentStrategy {
                  +        None = 0,
                  +        Keep = 1,
                  +        Brackets = 2,
                  +        Advanced = 3,
                  +        Full = 4
                  +    }
                  +
                  +    /**
                  +     * Configuration options for the editor.
                  +     */
                  +    export interface IEditorOptions {
                  +        /**
                  +         * This editor is used inside a diff editor.
                  +         */
                  +        inDiffEditor?: boolean;
                  +        /**
                  +         * The aria label for the editor's textarea (when it is focused).
                  +         */
                  +        ariaLabel?: string;
                  +        /**
                  +         * The `tabindex` property of the editor's textarea
                  +         */
                  +        tabIndex?: number;
                  +        /**
                  +         * Render vertical lines at the specified columns.
                  +         * Defaults to empty array.
                  +         */
                  +        rulers?: (number | IRulerOption)[];
                  +        /**
                  +         * A string containing the word separators used when doing word navigation.
                  +         * Defaults to `~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?
                  +         */
                  +        wordSeparators?: string;
                  +        /**
                  +         * Enable Linux primary clipboard.
                  +         * Defaults to true.
                  +         */
                  +        selectionClipboard?: boolean;
                  +        /**
                  +         * 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 truthy, line numbers will be rendered normally (equivalent of using an identity function).
                  +         * Otherwise, line numbers will not be rendered.
                  +         * Defaults to `on`.
                  +         */
                  +        lineNumbers?: LineNumbersType;
                  +        /**
                  +         * Controls the minimal number of visible leading and trailing lines surrounding the cursor.
                  +         * Defaults to 0.
                  +        */
                  +        cursorSurroundingLines?: number;
                  +        /**
                  +         * Controls when `cursorSurroundingLines` should be enforced
                  +         * Defaults to `default`, `cursorSurroundingLines` is not enforced when cursor position is changed
                  +         * by mouse.
                  +        */
                  +        cursorSurroundingLinesStyle?: 'default' | 'all';
                  +        /**
                  +         * Render last line number when the file ends with a newline.
                  +         * Defaults to true.
                  +        */
                  +        renderFinalNewline?: boolean;
                  +        /**
                  +         * Remove unusual line terminators like LINE SEPARATOR (LS), PARAGRAPH SEPARATOR (PS).
                  +         * Defaults to 'prompt'.
                  +         */
                  +        unusualLineTerminators?: 'auto' | 'off' | 'prompt';
                  +        /**
                  +         * Should the corresponding line be selected when clicking on the line number?
                  +         * Defaults to true.
                  +         */
                  +        selectOnLineNumbers?: boolean;
                  +        /**
                  +         * Control the width of line numbers, by reserving horizontal space for rendering at least an amount of digits.
                  +         * Defaults to 5.
                  +         */
                  +        lineNumbersMinChars?: number;
                  +        /**
                  +         * Enable the rendering of the glyph margin.
                  +         * Defaults to true in vscode and to false in monaco-editor.
                  +         */
                  +        glyphMargin?: boolean;
                  +        /**
                  +         * The width reserved for line decorations (in px).
                  +         * Line decorations are placed between line numbers and the editor content.
                  +         * You can pass in a string in the format floating point followed by "ch". e.g. 1.3ch.
                  +         * Defaults to 10.
                  +         */
                  +        lineDecorationsWidth?: number | string;
                  +        /**
                  +         * When revealing the cursor, a virtual padding (px) is added to the cursor, turning it into a rectangle.
                  +         * This virtual padding ensures that the cursor gets revealed before hitting the edge of the viewport.
                  +         * Defaults to 30 (px).
                  +         */
                  +        revealHorizontalRightPadding?: number;
                  +        /**
                  +         * Render the editor selection with rounded borders.
                  +         * Defaults to true.
                  +         */
                  +        roundedSelection?: boolean;
                  +        /**
                  +         * Class name to be added to the editor.
                  +         */
                  +        extraEditorClassName?: string;
                  +        /**
                  +         * Should the editor be read only. See also `domReadOnly`.
                  +         * Defaults to false.
                  +         */
                  +        readOnly?: boolean;
                  +        /**
                  +         * Should the textarea used for input use the DOM `readonly` attribute.
                  +         * Defaults to false.
                  +         */
                  +        domReadOnly?: boolean;
                  +        /**
                  +         * Enable linked editing.
                  +         * Defaults to false.
                  +         */
                  +        linkedEditing?: boolean;
                  +        /**
                  +         * deprecated, use linkedEditing instead
                  +         */
                  +        renameOnType?: boolean;
                  +        /**
                  +         * Should the editor render validation decorations.
                  +         * Defaults to editable.
                  +         */
                  +        renderValidationDecorations?: 'editable' | 'on' | 'off';
                  +        /**
                  +         * Control the behavior and rendering of the scrollbars.
                  +         */
                  +        scrollbar?: IEditorScrollbarOptions;
                  +        /**
                  +         * Control the behavior and rendering of the minimap.
                  +         */
                  +        minimap?: IEditorMinimapOptions;
                  +        /**
                  +         * Control the behavior of the find widget.
                  +         */
                  +        find?: IEditorFindOptions;
                  +        /**
                  +         * Display overflow widgets as `fixed`.
                  +         * Defaults to `false`.
                  +         */
                  +        fixedOverflowWidgets?: boolean;
                  +        /**
                  +         * The number of vertical lanes the overview ruler should render.
                  +         * Defaults to 3.
                  +         */
                  +        overviewRulerLanes?: number;
                  +        /**
                  +         * Controls if a border should be drawn around the overview ruler.
                  +         * Defaults to `true`.
                  +         */
                  +        overviewRulerBorder?: boolean;
                  +        /**
                  +         * Control the cursor animation style, possible values are 'blink', 'smooth', 'phase', 'expand' and 'solid'.
                  +         * Defaults to 'blink'.
                  +         */
                  +        cursorBlinking?: 'blink' | 'smooth' | 'phase' | 'expand' | 'solid';
                  +        /**
                  +         * Zoom the font in the editor when using the mouse wheel in combination with holding Ctrl.
                  +         * Defaults to false.
                  +         */
                  +        mouseWheelZoom?: boolean;
                  +        /**
                  +         * Control the mouse pointer style, either 'text' or 'default' or 'copy'
                  +         * Defaults to 'text'
                  +         */
                  +        mouseStyle?: 'text' | 'default' | 'copy';
                  +        /**
                  +         * Enable smooth caret animation.
                  +         * Defaults to false.
                  +         */
                  +        cursorSmoothCaretAnimation?: boolean;
                  +        /**
                  +         * Control the cursor style, either 'block' or 'line'.
                  +         * Defaults to 'line'.
                  +         */
                  +        cursorStyle?: 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin';
                  +        /**
                  +         * Control the width of the cursor when cursorStyle is set to 'line'
                  +         */
                  +        cursorWidth?: number;
                  +        /**
                  +         * Enable font ligatures.
                  +         * Defaults to false.
                  +         */
                  +        fontLigatures?: boolean | string;
                  +        /**
                  +         * Disable the use of `transform: translate3d(0px, 0px, 0px)` for the editor margin and lines layers.
                  +         * The usage of `transform: translate3d(0px, 0px, 0px)` acts as a hint for browsers to create an extra layer.
                  +         * Defaults to false.
                  +         */
                  +        disableLayerHinting?: boolean;
                  +        /**
                  +         * Disable the optimizations for monospace fonts.
                  +         * Defaults to false.
                  +         */
                  +        disableMonospaceOptimizations?: boolean;
                  +        /**
                  +         * Should the cursor be hidden in the overview ruler.
                  +         * Defaults to false.
                  +         */
                  +        hideCursorInOverviewRuler?: boolean;
                  +        /**
                  +         * Enable that scrolling can go one screen size after the last line.
                  +         * Defaults to true.
                  +         */
                  +        scrollBeyondLastLine?: boolean;
                  +        /**
                  +         * Enable that scrolling can go beyond the last column by a number of columns.
                  +         * Defaults to 5.
                  +         */
                  +        scrollBeyondLastColumn?: number;
                  +        /**
                  +         * Enable that the editor animates scrolling to a position.
                  +         * Defaults to false.
                  +         */
                  +        smoothScrolling?: boolean;
                  +        /**
                  +         * Enable that the editor will install an interval to check if its container dom node size has changed.
                  +         * Enabling this might have a severe performance impact.
                  +         * Defaults to false.
                  +         */
                  +        automaticLayout?: boolean;
                  +        /**
                  +         * Control the wrapping of the editor.
                  +         * When `wordWrap` = "off", the lines will never wrap.
                  +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
                  +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
                  +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
                  +         * Defaults to "off".
                  +         */
                  +        wordWrap?: 'off' | 'on' | 'wordWrapColumn' | 'bounded';
                  +        /**
                  +         * Override the `wordWrap` setting.
                  +         */
                  +        wordWrapOverride1?: 'off' | 'on' | 'inherit';
                  +        /**
                  +         * Override the `wordWrapOverride1` setting.
                  +         */
                  +        wordWrapOverride2?: 'off' | 'on' | 'inherit';
                  +        /**
                  +         * Control the wrapping of the editor.
                  +         * When `wordWrap` = "off", the lines will never wrap.
                  +         * When `wordWrap` = "on", the lines will wrap at the viewport width.
                  +         * When `wordWrap` = "wordWrapColumn", the lines will wrap at `wordWrapColumn`.
                  +         * When `wordWrap` = "bounded", the lines will wrap at min(viewport width, wordWrapColumn).
                  +         * Defaults to 80.
                  +         */
                  +        wordWrapColumn?: number;
                  +        /**
                  +         * Control indentation of wrapped lines. Can be: 'none', 'same', 'indent' or 'deepIndent'.
                  +         * Defaults to 'same' in vscode and to 'none' in monaco-editor.
                  +         */
                  +        wrappingIndent?: 'none' | 'same' | 'indent' | 'deepIndent';
                  +        /**
                  +         * Controls the wrapping strategy to use.
                  +         * Defaults to 'simple'.
                  +         */
                  +        wrappingStrategy?: 'simple' | 'advanced';
                  +        /**
                  +         * Configure word wrapping characters. A break will be introduced before these characters.
                  +         */
                  +        wordWrapBreakBeforeCharacters?: string;
                  +        /**
                  +         * Configure word wrapping characters. A break will be introduced after these characters.
                  +         */
                  +        wordWrapBreakAfterCharacters?: string;
                  +        /**
                  +         * Performance guard: Stop rendering a line after x characters.
                  +         * Defaults to 10000.
                  +         * Use -1 to never stop rendering
                  +         */
                  +        stopRenderingLineAfter?: number;
                  +        /**
                  +         * Configure the editor's hover.
                  +         */
                  +        hover?: IEditorHoverOptions;
                  +        /**
                  +         * Enable detecting links and making them clickable.
                  +         * Defaults to true.
                  +         */
                  +        links?: boolean;
                  +        /**
                  +         * Enable inline color decorators and color picker rendering.
                  +         */
                  +        colorDecorators?: boolean;
                  +        /**
                  +         * Control the behaviour of comments in the editor.
                  +         */
                  +        comments?: IEditorCommentsOptions;
                  +        /**
                  +         * Enable custom contextmenu.
                  +         * Defaults to true.
                  +         */
                  +        contextmenu?: boolean;
                  +        /**
                  +         * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
                  +         * Defaults to 1.
                  +         */
                  +        mouseWheelScrollSensitivity?: number;
                  +        /**
                  +         * FastScrolling mulitplier speed when pressing `Alt`
                  +         * Defaults to 5.
                  +         */
                  +        fastScrollSensitivity?: number;
                  +        /**
                  +         * Enable that the editor scrolls only the predominant axis. Prevents horizontal drift when scrolling vertically on a trackpad.
                  +         * Defaults to true.
                  +         */
                  +        scrollPredominantAxis?: boolean;
                  +        /**
                  +         * Enable that the selection with the mouse and keys is doing column selection.
                  +         * Defaults to false.
                  +         */
                  +        columnSelection?: boolean;
                  +        /**
                  +         * The modifier to be used to add multiple cursors with the mouse.
                  +         * Defaults to 'alt'
                  +         */
                  +        multiCursorModifier?: 'ctrlCmd' | 'alt';
                  +        /**
                  +         * Merge overlapping selections.
                  +         * Defaults to true
                  +         */
                  +        multiCursorMergeOverlapping?: boolean;
                  +        /**
                  +         * Configure the behaviour when pasting a text with the line count equal to the cursor count.
                  +         * Defaults to 'spread'.
                  +         */
                  +        multiCursorPaste?: 'spread' | 'full';
                  +        /**
                  +         * Configure the editor's accessibility support.
                  +         * Defaults to 'auto'. It is best to leave this to 'auto'.
                  +         */
                  +        accessibilitySupport?: 'auto' | 'off' | 'on';
                  +        /**
                  +         * Controls the number of lines in the editor that can be read out by a screen reader
                  +         */
                  +        accessibilityPageSize?: number;
                  +        /**
                  +         * Suggest options.
                  +         */
                  +        suggest?: ISuggestOptions;
                  +        inlineSuggest?: IInlineSuggestOptions;
                  +        /**
                  +         * Smart select options.
                  +         */
                  +        smartSelect?: ISmartSelectOptions;
                  +        /**
                  +         *
                  +         */
                  +        gotoLocation?: IGotoLocationOptions;
                  +        /**
                  +         * Enable quick suggestions (shadow suggestions)
                  +         * Defaults to true.
                  +         */
                  +        quickSuggestions?: boolean | IQuickSuggestionsOptions;
                  +        /**
                  +         * Quick suggestions show delay (in ms)
                  +         * Defaults to 10 (ms)
                  +         */
                  +        quickSuggestionsDelay?: number;
                  +        /**
                  +         * Controls the spacing around the editor.
                  +         */
                  +        padding?: IEditorPaddingOptions;
                  +        /**
                  +         * Parameter hint options.
                  +         */
                  +        parameterHints?: IEditorParameterHintOptions;
                  +        /**
                  +         * Options for auto closing brackets.
                  +         * Defaults to language defined behavior.
                  +         */
                  +        autoClosingBrackets?: EditorAutoClosingStrategy;
                  +        /**
                  +         * Options for auto closing quotes.
                  +         * Defaults to language defined behavior.
                  +         */
                  +        autoClosingQuotes?: EditorAutoClosingStrategy;
                  +        /**
                  +         * Options for pressing backspace near quotes or bracket pairs.
                  +         */
                  +        autoClosingDelete?: EditorAutoClosingEditStrategy;
                  +        /**
                  +         * Options for typing over closing quotes or brackets.
                  +         */
                  +        autoClosingOvertype?: EditorAutoClosingEditStrategy;
                  +        /**
                  +         * Options for auto surrounding.
                  +         * Defaults to always allowing auto surrounding.
                  +         */
                  +        autoSurround?: EditorAutoSurroundStrategy;
                  +        /**
                  +         * Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.
                  +         * Defaults to advanced.
                  +         */
                  +        autoIndent?: 'none' | 'keep' | 'brackets' | 'advanced' | 'full';
                  +        /**
                  +         * Emulate selection behaviour of tab characters when using spaces for indentation.
                  +         * This means selection will stick to tab stops.
                  +         */
                  +        stickyTabStops?: boolean;
                  +        /**
                  +         * Enable format on type.
                  +         * Defaults to false.
                  +         */
                  +        formatOnType?: boolean;
                  +        /**
                  +         * Enable format on paste.
                  +         * Defaults to false.
                  +         */
                  +        formatOnPaste?: boolean;
                  +        /**
                  +         * Controls if the editor should allow to move selections via drag and drop.
                  +         * Defaults to false.
                  +         */
                  +        dragAndDrop?: boolean;
                  +        /**
                  +         * Enable the suggestion box to pop-up on trigger characters.
                  +         * Defaults to true.
                  +         */
                  +        suggestOnTriggerCharacters?: boolean;
                  +        /**
                  +         * Accept suggestions on ENTER.
                  +         * Defaults to 'on'.
                  +         */
                  +        acceptSuggestionOnEnter?: 'on' | 'smart' | 'off';
                  +        /**
                  +         * Accept suggestions on provider defined characters.
                  +         * Defaults to true.
                  +         */
                  +        acceptSuggestionOnCommitCharacter?: boolean;
                  +        /**
                  +         * Enable snippet suggestions. Default to 'true'.
                  +         */
                  +        snippetSuggestions?: 'top' | 'bottom' | 'inline' | 'none';
                  +        /**
                  +         * Copying without a selection copies the current line.
                  +         */
                  +        emptySelectionClipboard?: boolean;
                  +        /**
                  +         * Syntax highlighting is copied.
                  +         */
                  +        copyWithSyntaxHighlighting?: boolean;
                  +        /**
                  +         * The history mode for suggestions.
                  +         */
                  +        suggestSelection?: 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix';
                  +        /**
                  +         * The font size for the suggest widget.
                  +         * Defaults to the editor font size.
                  +         */
                  +        suggestFontSize?: number;
                  +        /**
                  +         * The line height for the suggest widget.
                  +         * Defaults to the editor line height.
                  +         */
                  +        suggestLineHeight?: number;
                  +        /**
                  +         * Enable tab completion.
                  +         */
                  +        tabCompletion?: 'on' | 'off' | 'onlySnippets';
                  +        /**
                  +         * Enable selection highlight.
                  +         * Defaults to true.
                  +         */
                  +        selectionHighlight?: boolean;
                  +        /**
                  +         * Enable semantic occurrences highlight.
                  +         * Defaults to true.
                  +         */
                  +        occurrencesHighlight?: boolean;
                  +        /**
                  +         * Show code lens
                  +         * Defaults to true.
                  +         */
                  +        codeLens?: boolean;
                  +        /**
                  +         * Code lens font family. Defaults to editor font family.
                  +         */
                  +        codeLensFontFamily?: string;
                  +        /**
                  +         * Code lens font size. Default to 90% of the editor font size
                  +         */
                  +        codeLensFontSize?: number;
                  +        /**
                  +         * Control the behavior and rendering of the code action lightbulb.
                  +         */
                  +        lightbulb?: IEditorLightbulbOptions;
                  +        /**
                  +         * Timeout for running code actions on save.
                  +         */
                  +        codeActionsOnSaveTimeout?: number;
                  +        /**
                  +         * Enable code folding.
                  +         * Defaults to true.
                  +         */
                  +        folding?: boolean;
                  +        /**
                  +         * Selects the folding strategy. 'auto' uses the strategies contributed for the current document, 'indentation' uses the indentation based folding strategy.
                  +         * Defaults to 'auto'.
                  +         */
                  +        foldingStrategy?: 'auto' | 'indentation';
                  +        /**
                  +         * Enable highlight for folded regions.
                  +         * 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'.
                  +         */
                  +        showFoldingControls?: 'always' | 'mouseover';
                  +        /**
                  +         * Controls whether clicking on the empty content after a folded line will unfold the line.
                  +         * Defaults to false.
                  +         */
                  +        unfoldOnClickAfterEndOfLine?: boolean;
                  +        /**
                  +         * Enable highlighting of matching brackets.
                  +         * Defaults to 'always'.
                  +         */
                  +        matchBrackets?: 'never' | 'near' | 'always';
                  +        /**
                  +         * Enable rendering of whitespace.
                  +         * Defaults to 'selection'.
                  +         */
                  +        renderWhitespace?: 'none' | 'boundary' | 'selection' | 'trailing' | 'all';
                  +        /**
                  +         * Enable rendering of control characters.
                  +         * Defaults to true.
                  +         */
                  +        renderControlCharacters?: boolean;
                  +        /**
                  +         * Enable rendering of current line highlight.
                  +         * Defaults to all.
                  +         */
                  +        renderLineHighlight?: 'none' | 'gutter' | 'line' | 'all';
                  +        /**
                  +         * Control if the current line highlight should be rendered only the editor is focused.
                  +         * Defaults to false.
                  +         */
                  +        renderLineHighlightOnlyWhenFocus?: boolean;
                  +        /**
                  +         * Inserting and deleting whitespace follows tab stops.
                  +         */
                  +        useTabStops?: boolean;
                  +        /**
                  +         * The font family
                  +         */
                  +        fontFamily?: string;
                  +        /**
                  +         * The font weight
                  +         */
                  +        fontWeight?: string;
                  +        /**
                  +         * The font size
                  +         */
                  +        fontSize?: number;
                  +        /**
                  +         * The line height
                  +         */
                  +        lineHeight?: number;
                  +        /**
                  +         * The letter spacing
                  +         */
                  +        letterSpacing?: number;
                  +        /**
                  +         * Controls fading out of unused variables.
                  +         */
                  +        showUnused?: boolean;
                  +        /**
                  +         * Controls whether to focus the inline editor in the peek widget by default.
                  +         * Defaults to false.
                  +         */
                  +        peekWidgetDefaultFocus?: 'tree' | 'editor';
                  +        /**
                  +         * Controls whether the definition link opens element in the peek widget.
                  +         * Defaults to false.
                  +         */
                  +        definitionLinkOpensInPeek?: boolean;
                  +        /**
                  +         * Controls strikethrough deprecated variables.
                  +         */
                  +        showDeprecated?: boolean;
                  +        /**
                  +         * Control the behavior and rendering of the inline hints.
                  +         */
                  +        inlayHints?: IEditorInlayHintsOptions;
                  +        /**
                  +         * Control if the editor should use shadow DOM.
                  +         */
                  +        useShadowDOM?: boolean;
                  +        /**
                  +         * Controls the behavior of editor guides.
                  +        */
                  +        guides?: IGuidesOptions;
                  +        unicodeHighlight?: IUnicodeHighlightOptions;
                  +    }
                  +
                  +    export interface IDiffEditorBaseOptions {
                  +        /**
                  +         * Allow the user to resize the diff editor split view.
                  +         * Defaults to true.
                  +         */
                  +        enableSplitViewResizing?: boolean;
                  +        /**
                  +         * Render the differences in two side-by-side editors.
                  +         * Defaults to true.
                  +         */
                  +        renderSideBySide?: boolean;
                  +        /**
                  +         * Timeout in milliseconds after which diff computation is cancelled.
                  +         * Defaults to 5000.
                  +         */
                  +        maxComputationTime?: number;
                  +        /**
                  +         * Maximum supported file size in MB.
                  +         * Defaults to 50.
                  +         */
                  +        maxFileSize?: number;
                  +        /**
                  +         * Compute the diff by ignoring leading/trailing whitespace
                  +         * Defaults to true.
                  +         */
                  +        ignoreTrimWhitespace?: boolean;
                  +        /**
                  +         * Render +/- indicators for added/deleted changes.
                  +         * Defaults to true.
                  +         */
                  +        renderIndicators?: boolean;
                  +        /**
                  +         * Original model should be editable?
                  +         * Defaults to false.
                  +         */
                  +        originalEditable?: boolean;
                  +        /**
                  +         * Should the diff editor enable code lens?
                  +         * Defaults to false.
                  +         */
                  +        diffCodeLens?: boolean;
                  +        /**
                  +         * Is the diff editor should render overview ruler
                  +         * Defaults to true
                  +         */
                  +        renderOverviewRuler?: boolean;
                  +        /**
                  +         * Control the wrapping of the diff editor.
                  +         */
                  +        diffWordWrap?: 'off' | 'on' | 'inherit';
                  +    }
                  +
                  +    /**
                  +     * Configuration options for the diff editor.
                  +     */
                  +    export interface IDiffEditorOptions extends IEditorOptions, IDiffEditorBaseOptions {
                  +    }
                  +
                  +    /**
                  +     * An event describing that the configuration of the editor has changed.
                  +     */
                  +    export class ConfigurationChangedEvent {
                  +        hasChanged(id: EditorOption): boolean;
                  +    }
                  +
                  +    /**
                  +     * All computed editor options.
                  +     */
                  +    export interface IComputedEditorOptions {
                  +        get<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
                  +    }
                  +
                  +    export interface IEditorOption<K1 extends EditorOption, V> {
                  +        readonly id: K1;
                  +        readonly name: string;
                  +        defaultValue: V;
                  +        /**
                  +         * Might modify `value`.
                  +        */
                  +        applyUpdate(value: V, update: V): ApplyUpdateResult<V>;
                  +    }
                  +
                  +    export class ApplyUpdateResult<T> {
                  +        readonly newValue: T;
                  +        readonly didChange: boolean;
                  +        constructor(newValue: T, didChange: boolean);
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor comments
                  +     */
                  +    export interface IEditorCommentsOptions {
                  +        /**
                  +         * Insert a space after the line comment token and inside the block comments tokens.
                  +         * Defaults to true.
                  +         */
                  +        insertSpace?: boolean;
                  +        /**
                  +         * Ignore empty lines when inserting line comments.
                  +         * Defaults to true.
                  +         */
                  +        ignoreEmptyLines?: boolean;
                  +    }
                  +
                  +    /**
                  +     * The kind of animation in which the editor's cursor should be rendered.
                  +     */
                  +    export enum TextEditorCursorBlinkingStyle {
                  +        /**
                  +         * Hidden
                  +         */
                  +        Hidden = 0,
                  +        /**
                  +         * Blinking
                  +         */
                  +        Blink = 1,
                  +        /**
                  +         * Blinking with smooth fading
                  +         */
                  +        Smooth = 2,
                  +        /**
                  +         * Blinking with prolonged filled state and smooth fading
                  +         */
                  +        Phase = 3,
                  +        /**
                  +         * Expand collapse animation on the y axis
                  +         */
                  +        Expand = 4,
                  +        /**
                  +         * No-Blinking
                  +         */
                  +        Solid = 5
                  +    }
                  +
                  +    /**
                  +     * The style in which the editor's cursor should be rendered.
                  +     */
                  +    export enum TextEditorCursorStyle {
                  +        /**
                  +         * As a vertical line (sitting between two characters).
                  +         */
                  +        Line = 1,
                  +        /**
                  +         * As a block (sitting on top of a character).
                  +         */
                  +        Block = 2,
                  +        /**
                  +         * As a horizontal line (sitting under a character).
                  +         */
                  +        Underline = 3,
                  +        /**
                  +         * As a thin vertical line (sitting between two characters).
                  +         */
                  +        LineThin = 4,
                  +        /**
                  +         * As an outlined block (sitting on top of a character).
                  +         */
                  +        BlockOutline = 5,
                  +        /**
                  +         * As a thin horizontal line (sitting under a character).
                  +         */
                  +        UnderlineThin = 6
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor find widget
                  +     */
                  +    export interface IEditorFindOptions {
                  +        /**
                  +        * Controls whether the cursor should move to find matches while typing.
                  +        */
                  +        cursorMoveOnType?: boolean;
                  +        /**
                  +         * Controls if we seed search string in the Find Widget with editor selection.
                  +         */
                  +        seedSearchStringFromSelection?: 'never' | 'always' | 'selection';
                  +        /**
                  +         * Controls if Find in Selection flag is turned on in the editor.
                  +         */
                  +        autoFindInSelection?: 'never' | 'always' | 'multiline';
                  +        addExtraSpaceOnTop?: boolean;
                  +        /**
                  +         * Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found
                  +         */
                  +        loop?: boolean;
                  +    }
                  +
                  +    export type GoToLocationValues = 'peek' | 'gotoAndPeek' | 'goto';
                  +
                  +    /**
                  +     * Configuration options for go to location
                  +     */
                  +    export interface IGotoLocationOptions {
                  +        multiple?: GoToLocationValues;
                  +        multipleDefinitions?: GoToLocationValues;
                  +        multipleTypeDefinitions?: GoToLocationValues;
                  +        multipleDeclarations?: GoToLocationValues;
                  +        multipleImplementations?: GoToLocationValues;
                  +        multipleReferences?: GoToLocationValues;
                  +        alternativeDefinitionCommand?: string;
                  +        alternativeTypeDefinitionCommand?: string;
                  +        alternativeDeclarationCommand?: string;
                  +        alternativeImplementationCommand?: string;
                  +        alternativeReferenceCommand?: string;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor hover
                  +     */
                  +    export interface IEditorHoverOptions {
                  +        /**
                  +         * Enable the hover.
                  +         * Defaults to true.
                  +         */
                  +        enabled?: boolean;
                  +        /**
                  +         * Delay for showing the hover.
                  +         * Defaults to 300.
                  +         */
                  +        delay?: number;
                  +        /**
                  +         * Is the hover sticky such that it can be clicked and its contents selected?
                  +         * Defaults to true.
                  +         */
                  +        sticky?: boolean;
                  +        /**
                  +         * Should the hover be shown above the line if possible?
                  +         * Defaults to false.
                  +         */
                  +        above?: boolean;
                  +    }
                  +
                  +    /**
                  +     * A description for the overview ruler position.
                  +     */
                  +    export interface OverviewRulerPosition {
                  +        /**
                  +         * Width of the overview ruler
                  +         */
                  +        readonly width: number;
                  +        /**
                  +         * Height of the overview ruler
                  +         */
                  +        readonly height: number;
                  +        /**
                  +         * Top position for the overview ruler
                  +         */
                  +        readonly top: number;
                  +        /**
                  +         * Right position for the overview ruler
                  +         */
                  +        readonly right: number;
                  +    }
                  +
                  +    export enum RenderMinimap {
                  +        None = 0,
                  +        Text = 1,
                  +        Blocks = 2
                  +    }
                  +
                  +    /**
                  +     * The internal layout details of the editor.
                  +     */
                  +    export interface EditorLayoutInfo {
                  +        /**
                  +         * Full editor width.
                  +         */
                  +        readonly width: number;
                  +        /**
                  +         * Full editor height.
                  +         */
                  +        readonly height: number;
                  +        /**
                  +         * Left position for the glyph margin.
                  +         */
                  +        readonly glyphMarginLeft: number;
                  +        /**
                  +         * The width of the glyph margin.
                  +         */
                  +        readonly glyphMarginWidth: number;
                  +        /**
                  +         * Left position for the line numbers.
                  +         */
                  +        readonly lineNumbersLeft: number;
                  +        /**
                  +         * The width of the line numbers.
                  +         */
                  +        readonly lineNumbersWidth: number;
                  +        /**
                  +         * Left position for the line decorations.
                  +         */
                  +        readonly decorationsLeft: number;
                  +        /**
                  +         * The width of the line decorations.
                  +         */
                  +        readonly decorationsWidth: number;
                  +        /**
                  +         * Left position for the content (actual text)
                  +         */
                  +        readonly contentLeft: number;
                  +        /**
                  +         * The width of the content (actual text)
                  +         */
                  +        readonly contentWidth: number;
                  +        /**
                  +         * Layout information for the minimap
                  +         */
                  +        readonly minimap: EditorMinimapLayoutInfo;
                  +        /**
                  +         * The number of columns (of typical characters) fitting on a viewport line.
                  +         */
                  +        readonly viewportColumn: number;
                  +        readonly isWordWrapMinified: boolean;
                  +        readonly isViewportWrapping: boolean;
                  +        readonly wrappingColumn: number;
                  +        /**
                  +         * The width of the vertical scrollbar.
                  +         */
                  +        readonly verticalScrollbarWidth: number;
                  +        /**
                  +         * The height of the horizontal scrollbar.
                  +         */
                  +        readonly horizontalScrollbarHeight: number;
                  +        /**
                  +         * The position of the overview ruler.
                  +         */
                  +        readonly overviewRuler: OverviewRulerPosition;
                  +    }
                  +
                  +    /**
                  +     * The internal layout details of the editor.
                  +     */
                  +    export interface EditorMinimapLayoutInfo {
                  +        readonly renderMinimap: RenderMinimap;
                  +        readonly minimapLeft: number;
                  +        readonly minimapWidth: number;
                  +        readonly minimapHeightIsEditorHeight: boolean;
                  +        readonly minimapIsSampling: boolean;
                  +        readonly minimapScale: number;
                  +        readonly minimapLineHeight: number;
                  +        readonly minimapCanvasInnerWidth: number;
                  +        readonly minimapCanvasInnerHeight: number;
                  +        readonly minimapCanvasOuterWidth: number;
                  +        readonly minimapCanvasOuterHeight: number;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor lightbulb
                  +     */
                  +    export interface IEditorLightbulbOptions {
                  +        /**
                  +         * Enable the lightbulb code action.
                  +         * Defaults to true.
                  +         */
                  +        enabled?: boolean;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor inlayHints
                  +     */
                  +    export interface IEditorInlayHintsOptions {
                  +        /**
                  +         * Enable the inline hints.
                  +         * Defaults to true.
                  +         */
                  +        enabled?: boolean;
                  +        /**
                  +         * Font size of inline hints.
                  +         * Default to 90% of the editor font size.
                  +         */
                  +        fontSize?: number;
                  +        /**
                  +         * Font family of inline hints.
                  +         * Defaults to editor font family.
                  +         */
                  +        fontFamily?: string;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor minimap
                  +     */
                  +    export interface IEditorMinimapOptions {
                  +        /**
                  +         * Enable the rendering of the minimap.
                  +         * Defaults to true.
                  +         */
                  +        enabled?: boolean;
                  +        /**
                  +         * Control the side of the minimap in editor.
                  +         * Defaults to 'right'.
                  +         */
                  +        side?: 'right' | 'left';
                  +        /**
                  +         * Control the minimap rendering mode.
                  +         * Defaults to 'actual'.
                  +         */
                  +        size?: 'proportional' | 'fill' | 'fit';
                  +        /**
                  +         * Control the rendering of the minimap slider.
                  +         * Defaults to 'mouseover'.
                  +         */
                  +        showSlider?: 'always' | 'mouseover';
                  +        /**
                  +         * Render the actual text on a line (as opposed to color blocks).
                  +         * Defaults to true.
                  +         */
                  +        renderCharacters?: boolean;
                  +        /**
                  +         * Limit the width of the minimap to render at most a certain number of columns.
                  +         * Defaults to 120.
                  +         */
                  +        maxColumn?: number;
                  +        /**
                  +         * Relative size of the font in the minimap. Defaults to 1.
                  +         */
                  +        scale?: number;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor padding
                  +     */
                  +    export interface IEditorPaddingOptions {
                  +        /**
                  +         * Spacing between top edge of editor and first line.
                  +         */
                  +        top?: number;
                  +        /**
                  +         * Spacing between bottom edge of editor and last line.
                  +         */
                  +        bottom?: number;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for parameter hints
                  +     */
                  +    export interface IEditorParameterHintOptions {
                  +        /**
                  +         * Enable parameter hints.
                  +         * Defaults to true.
                  +         */
                  +        enabled?: boolean;
                  +        /**
                  +         * Enable cycling of parameter hints.
                  +         * Defaults to false.
                  +         */
                  +        cycle?: boolean;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for quick suggestions
                  +     */
                  +    export interface IQuickSuggestionsOptions {
                  +        other?: boolean;
                  +        comments?: boolean;
                  +        strings?: boolean;
                  +    }
                  +
                  +    export type LineNumbersType = 'on' | 'off' | 'relative' | 'interval' | ((lineNumber: number) => string);
                  +
                  +    export enum RenderLineNumbersType {
                  +        Off = 0,
                  +        On = 1,
                  +        Relative = 2,
                  +        Interval = 3,
                  +        Custom = 4
                  +    }
                  +
                  +    export interface InternalEditorRenderLineNumbersOptions {
                  +        readonly renderType: RenderLineNumbersType;
                  +        readonly renderFn: ((lineNumber: number) => string) | null;
                  +    }
                  +
                  +    export interface IRulerOption {
                  +        readonly column: number;
                  +        readonly color: string | null;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor scrollbars
                  +     */
                  +    export interface IEditorScrollbarOptions {
                  +        /**
                  +         * The size of arrows (if displayed).
                  +         * Defaults to 11.
                  +         * **NOTE**: This option cannot be updated using `updateOptions()`
                  +         */
                  +        arrowSize?: number;
                  +        /**
                  +         * Render vertical scrollbar.
                  +         * Defaults to 'auto'.
                  +         */
                  +        vertical?: 'auto' | 'visible' | 'hidden';
                  +        /**
                  +         * Render horizontal scrollbar.
                  +         * Defaults to 'auto'.
                  +         */
                  +        horizontal?: 'auto' | 'visible' | 'hidden';
                  +        /**
                  +         * 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;
                  +        /**
                  +         * Listen to mouse wheel events and react to them by scrolling.
                  +         * Defaults to true.
                  +         */
                  +        handleMouseWheel?: boolean;
                  +        /**
                  +         * 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;
                  +        /**
                  +         * Height in pixels for the horizontal scrollbar.
                  +         * Defaults to 10 (px).
                  +         */
                  +        horizontalScrollbarSize?: number;
                  +        /**
                  +         * Width in pixels for the vertical scrollbar.
                  +         * Defaults to 10 (px).
                  +         */
                  +        verticalScrollbarSize?: number;
                  +        /**
                  +         * 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;
                  +        /**
                  +         * Scroll gutter clicks move by page vs jump to position.
                  +         * Defaults to false.
                  +         */
                  +        scrollByPage?: boolean;
                  +    }
                  +
                  +    export interface InternalEditorScrollbarOptions {
                  +        readonly arrowSize: number;
                  +        readonly vertical: ScrollbarVisibility;
                  +        readonly horizontal: ScrollbarVisibility;
                  +        readonly useShadows: boolean;
                  +        readonly verticalHasArrows: boolean;
                  +        readonly horizontalHasArrows: boolean;
                  +        readonly handleMouseWheel: boolean;
                  +        readonly alwaysConsumeMouseWheel: boolean;
                  +        readonly horizontalScrollbarSize: number;
                  +        readonly horizontalSliderSize: number;
                  +        readonly verticalScrollbarSize: number;
                  +        readonly verticalSliderSize: number;
                  +        readonly scrollByPage: boolean;
                  +    }
                  +
                  +    export type InUntrustedWorkspace = 'inUntrustedWorkspace';
                  +
                  +    /**
                  +     * Configuration options for unicode highlighting.
                  +     */
                  +    export interface IUnicodeHighlightOptions {
                  +        nonBasicASCII?: boolean | InUntrustedWorkspace;
                  +        invisibleCharacters?: boolean;
                  +        ambiguousCharacters?: boolean;
                  +        includeComments?: boolean | InUntrustedWorkspace;
                  +        /**
                  +         * A map of allowed characters (true: allowed).
                  +        */
                  +        allowedCharacters?: Record<string, true>;
                  +    }
                  +
                  +    export interface IInlineSuggestOptions {
                  +        /**
                  +         * Enable or disable the rendering of automatic inline completions.
                  +        */
                  +        enabled?: boolean;
                  +        /**
                  +         * Configures the mode.
                  +         * Use `prefix` to only show ghost text if the text to replace is a prefix of the suggestion text.
                  +         * Use `subword` to only show ghost text if the replace text is a subword of the suggestion text.
                  +         * Use `subwordSmart` to only show ghost text if the replace text is a subword of the suggestion text, but the subword must start after the cursor position.
                  +         * Defaults to `prefix`.
                  +        */
                  +        mode?: 'prefix' | 'subword' | 'subwordSmart';
                  +    }
                  +
                  +    export interface IBracketPairColorizationOptions {
                  +        /**
                  +         * Enable or disable bracket pair colorization.
                  +        */
                  +        enabled?: boolean;
                  +    }
                  +
                  +    export interface IGuidesOptions {
                  +        /**
                  +         * Enable rendering of bracket pair guides.
                  +         * Defaults to false.
                  +        */
                  +        bracketPairs?: boolean | 'active';
                  +        /**
                  +         * Enable rendering of vertical bracket pair guides.
                  +         * Defaults to 'active'.
                  +         */
                  +        bracketPairsHorizontal?: boolean | 'active';
                  +        /**
                  +         * Enable highlighting of the active bracket pair.
                  +         * Defaults to true.
                  +        */
                  +        highlightActiveBracketPair?: boolean;
                  +        /**
                  +         * Enable rendering of indent guides.
                  +         * Defaults to true.
                  +         */
                  +        indentation?: boolean;
                  +        /**
                  +         * Enable highlighting of the active indent guide.
                  +         * Defaults to true.
                  +         */
                  +        highlightActiveIndentation?: boolean;
                  +    }
                  +
                  +    /**
                  +     * Configuration options for editor suggest widget
                  +     */
                  +    export interface ISuggestOptions {
                  +        /**
                  +         * Overwrite word ends on accept. Default to false.
                  +         */
                  +        insertMode?: 'insert' | 'replace';
                  +        /**
                  +         * Enable graceful matching. Defaults to true.
                  +         */
                  +        filterGraceful?: boolean;
                  +        /**
                  +         * Prevent quick suggestions when a snippet is active. Defaults to true.
                  +         */
                  +        snippetsPreventQuickSuggestions?: boolean;
                  +        /**
                  +         * Favors words that appear close to the cursor.
                  +         */
                  +        localityBonus?: boolean;
                  +        /**
                  +         * Enable using global storage for remembering suggestions.
                  +         */
                  +        shareSuggestSelections?: boolean;
                  +        /**
                  +         * Enable or disable icons in suggestions. Defaults to true.
                  +         */
                  +        showIcons?: boolean;
                  +        /**
                  +         * 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.
                  +         */
                  +        showInlineDetails?: boolean;
                  +        /**
                  +         * Show method-suggestions.
                  +         */
                  +        showMethods?: boolean;
                  +        /**
                  +         * Show function-suggestions.
                  +         */
                  +        showFunctions?: boolean;
                  +        /**
                  +         * Show constructor-suggestions.
                  +         */
                  +        showConstructors?: boolean;
                  +        /**
                  +         * Show deprecated-suggestions.
                  +         */
                  +        showDeprecated?: boolean;
                  +        /**
                  +         * Show field-suggestions.
                  +         */
                  +        showFields?: boolean;
                  +        /**
                  +         * Show variable-suggestions.
                  +         */
                  +        showVariables?: boolean;
                  +        /**
                  +         * Show class-suggestions.
                  +         */
                  +        showClasses?: boolean;
                  +        /**
                  +         * Show struct-suggestions.
                  +         */
                  +        showStructs?: boolean;
                  +        /**
                  +         * Show interface-suggestions.
                  +         */
                  +        showInterfaces?: boolean;
                  +        /**
                  +         * Show module-suggestions.
                  +         */
                  +        showModules?: boolean;
                  +        /**
                  +         * Show property-suggestions.
                  +         */
                  +        showProperties?: boolean;
                  +        /**
                  +         * Show event-suggestions.
                  +         */
                  +        showEvents?: boolean;
                  +        /**
                  +         * Show operator-suggestions.
                  +         */
                  +        showOperators?: boolean;
                  +        /**
                  +         * Show unit-suggestions.
                  +         */
                  +        showUnits?: boolean;
                  +        /**
                  +         * Show value-suggestions.
                  +         */
                  +        showValues?: boolean;
                  +        /**
                  +         * Show constant-suggestions.
                  +         */
                  +        showConstants?: boolean;
                  +        /**
                  +         * Show enum-suggestions.
                  +         */
                  +        showEnums?: boolean;
                  +        /**
                  +         * Show enumMember-suggestions.
                  +         */
                  +        showEnumMembers?: boolean;
                  +        /**
                  +         * Show keyword-suggestions.
                  +         */
                  +        showKeywords?: boolean;
                  +        /**
                  +         * Show text-suggestions.
                  +         */
                  +        showWords?: boolean;
                  +        /**
                  +         * Show color-suggestions.
                  +         */
                  +        showColors?: boolean;
                  +        /**
                  +         * Show file-suggestions.
                  +         */
                  +        showFiles?: boolean;
                  +        /**
                  +         * Show reference-suggestions.
                  +         */
                  +        showReferences?: boolean;
                  +        /**
                  +         * Show folder-suggestions.
                  +         */
                  +        showFolders?: boolean;
                  +        /**
                  +         * Show typeParameter-suggestions.
                  +         */
                  +        showTypeParameters?: boolean;
                  +        /**
                  +         * Show issue-suggestions.
                  +         */
                  +        showIssues?: boolean;
                  +        /**
                  +         * Show user-suggestions.
                  +         */
                  +        showUsers?: boolean;
                  +        /**
                  +         * Show snippet-suggestions.
                  +         */
                  +        showSnippets?: boolean;
                  +    }
                  +
                  +    export interface ISmartSelectOptions {
                  +        selectLeadingAndTrailingWhitespace?: boolean;
                  +    }
                  +
                  +    /**
                  +     * Describes how to indent wrapped lines.
                  +     */
                  +    export enum WrappingIndent {
                  +        /**
                  +         * No indentation => wrapped lines begin at column 1.
                  +         */
                  +        None = 0,
                  +        /**
                  +         * Same => wrapped lines get the same indentation as the parent.
                  +         */
                  +        Same = 1,
                  +        /**
                  +         * Indent => wrapped lines get +1 indentation toward the parent.
                  +         */
                  +        Indent = 2,
                  +        /**
                  +         * DeepIndent => wrapped lines get +2 indentation toward the parent.
                  +         */
                  +        DeepIndent = 3
                  +    }
                  +
                  +    export interface EditorWrappingInfo {
                  +        readonly isDominatedByLongLines: boolean;
                  +        readonly isWordWrapMinified: boolean;
                  +        readonly isViewportWrapping: boolean;
                  +        readonly wrappingColumn: number;
                  +    }
                  +
                  +    export enum EditorOption {
                  +        acceptSuggestionOnCommitCharacter = 0,
                  +        acceptSuggestionOnEnter = 1,
                  +        accessibilitySupport = 2,
                  +        accessibilityPageSize = 3,
                  +        ariaLabel = 4,
                  +        autoClosingBrackets = 5,
                  +        autoClosingDelete = 6,
                  +        autoClosingOvertype = 7,
                  +        autoClosingQuotes = 8,
                  +        autoIndent = 9,
                  +        automaticLayout = 10,
                  +        autoSurround = 11,
                  +        bracketPairColorization = 12,
                  +        guides = 13,
                  +        codeLens = 14,
                  +        codeLensFontFamily = 15,
                  +        codeLensFontSize = 16,
                  +        colorDecorators = 17,
                  +        columnSelection = 18,
                  +        comments = 19,
                  +        contextmenu = 20,
                  +        copyWithSyntaxHighlighting = 21,
                  +        cursorBlinking = 22,
                  +        cursorSmoothCaretAnimation = 23,
                  +        cursorStyle = 24,
                  +        cursorSurroundingLines = 25,
                  +        cursorSurroundingLinesStyle = 26,
                  +        cursorWidth = 27,
                  +        disableLayerHinting = 28,
                  +        disableMonospaceOptimizations = 29,
                  +        domReadOnly = 30,
                  +        dragAndDrop = 31,
                  +        emptySelectionClipboard = 32,
                  +        extraEditorClassName = 33,
                  +        fastScrollSensitivity = 34,
                  +        find = 35,
                  +        fixedOverflowWidgets = 36,
                  +        folding = 37,
                  +        foldingStrategy = 38,
                  +        foldingHighlight = 39,
                  +        foldingImportsByDefault = 40,
                  +        unfoldOnClickAfterEndOfLine = 41,
                  +        fontFamily = 42,
                  +        fontInfo = 43,
                  +        fontLigatures = 44,
                  +        fontSize = 45,
                  +        fontWeight = 46,
                  +        formatOnPaste = 47,
                  +        formatOnType = 48,
                  +        glyphMargin = 49,
                  +        gotoLocation = 50,
                  +        hideCursorInOverviewRuler = 51,
                  +        hover = 52,
                  +        inDiffEditor = 53,
                  +        inlineSuggest = 54,
                  +        letterSpacing = 55,
                  +        lightbulb = 56,
                  +        lineDecorationsWidth = 57,
                  +        lineHeight = 58,
                  +        lineNumbers = 59,
                  +        lineNumbersMinChars = 60,
                  +        linkedEditing = 61,
                  +        links = 62,
                  +        matchBrackets = 63,
                  +        minimap = 64,
                  +        mouseStyle = 65,
                  +        mouseWheelScrollSensitivity = 66,
                  +        mouseWheelZoom = 67,
                  +        multiCursorMergeOverlapping = 68,
                  +        multiCursorModifier = 69,
                  +        multiCursorPaste = 70,
                  +        occurrencesHighlight = 71,
                  +        overviewRulerBorder = 72,
                  +        overviewRulerLanes = 73,
                  +        padding = 74,
                  +        parameterHints = 75,
                  +        peekWidgetDefaultFocus = 76,
                  +        definitionLinkOpensInPeek = 77,
                  +        quickSuggestions = 78,
                  +        quickSuggestionsDelay = 79,
                  +        readOnly = 80,
                  +        renameOnType = 81,
                  +        renderControlCharacters = 82,
                  +        renderFinalNewline = 83,
                  +        renderLineHighlight = 84,
                  +        renderLineHighlightOnlyWhenFocus = 85,
                  +        renderValidationDecorations = 86,
                  +        renderWhitespace = 87,
                  +        revealHorizontalRightPadding = 88,
                  +        roundedSelection = 89,
                  +        rulers = 90,
                  +        scrollbar = 91,
                  +        scrollBeyondLastColumn = 92,
                  +        scrollBeyondLastLine = 93,
                  +        scrollPredominantAxis = 94,
                  +        selectionClipboard = 95,
                  +        selectionHighlight = 96,
                  +        selectOnLineNumbers = 97,
                  +        showFoldingControls = 98,
                  +        showUnused = 99,
                  +        snippetSuggestions = 100,
                  +        smartSelect = 101,
                  +        smoothScrolling = 102,
                  +        stickyTabStops = 103,
                  +        stopRenderingLineAfter = 104,
                  +        suggest = 105,
                  +        suggestFontSize = 106,
                  +        suggestLineHeight = 107,
                  +        suggestOnTriggerCharacters = 108,
                  +        suggestSelection = 109,
                  +        tabCompletion = 110,
                  +        tabIndex = 111,
                  +        unicodeHighlighting = 112,
                  +        unusualLineTerminators = 113,
                  +        useShadowDOM = 114,
                  +        useTabStops = 115,
                  +        wordSeparators = 116,
                  +        wordWrap = 117,
                  +        wordWrapBreakAfterCharacters = 118,
                  +        wordWrapBreakBeforeCharacters = 119,
                  +        wordWrapColumn = 120,
                  +        wordWrapOverride1 = 121,
                  +        wordWrapOverride2 = 122,
                  +        wrappingIndent = 123,
                  +        wrappingStrategy = 124,
                  +        showDeprecated = 125,
                  +        inlayHints = 126,
                  +        editorClassName = 127,
                  +        pixelRatio = 128,
                  +        tabFocusMode = 129,
                  +        layoutInfo = 130,
                  +        wrappingInfo = 131
                  +    }
                  +
                  +    export const EditorOptions: {
                  +        acceptSuggestionOnCommitCharacter: IEditorOption<EditorOption.acceptSuggestionOnCommitCharacter, boolean>;
                  +        acceptSuggestionOnEnter: IEditorOption<EditorOption.acceptSuggestionOnEnter, 'on' | 'off' | 'smart'>;
                  +        accessibilitySupport: IEditorOption<EditorOption.accessibilitySupport, AccessibilitySupport>;
                  +        accessibilityPageSize: IEditorOption<EditorOption.accessibilityPageSize, number>;
                  +        ariaLabel: IEditorOption<EditorOption.ariaLabel, string>;
                  +        autoClosingBrackets: IEditorOption<EditorOption.autoClosingBrackets, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
                  +        autoClosingDelete: IEditorOption<EditorOption.autoClosingDelete, 'always' | 'never' | 'auto'>;
                  +        autoClosingOvertype: IEditorOption<EditorOption.autoClosingOvertype, 'always' | 'never' | 'auto'>;
                  +        autoClosingQuotes: IEditorOption<EditorOption.autoClosingQuotes, 'always' | 'languageDefined' | 'beforeWhitespace' | 'never'>;
                  +        autoIndent: IEditorOption<EditorOption.autoIndent, EditorAutoIndentStrategy>;
                  +        automaticLayout: IEditorOption<EditorOption.automaticLayout, boolean>;
                  +        autoSurround: IEditorOption<EditorOption.autoSurround, 'languageDefined' | 'never' | 'quotes' | 'brackets'>;
                  +        bracketPairColorization: IEditorOption<EditorOption.bracketPairColorization, Readonly<Required<IBracketPairColorizationOptions>>>;
                  +        bracketPairGuides: IEditorOption<EditorOption.guides, Readonly<Required<IGuidesOptions>>>;
                  +        stickyTabStops: IEditorOption<EditorOption.stickyTabStops, boolean>;
                  +        codeLens: IEditorOption<EditorOption.codeLens, boolean>;
                  +        codeLensFontFamily: IEditorOption<EditorOption.codeLensFontFamily, string>;
                  +        codeLensFontSize: IEditorOption<EditorOption.codeLensFontSize, number>;
                  +        colorDecorators: IEditorOption<EditorOption.colorDecorators, boolean>;
                  +        columnSelection: IEditorOption<EditorOption.columnSelection, boolean>;
                  +        comments: IEditorOption<EditorOption.comments, Readonly<Required<IEditorCommentsOptions>>>;
                  +        contextmenu: IEditorOption<EditorOption.contextmenu, boolean>;
                  +        copyWithSyntaxHighlighting: IEditorOption<EditorOption.copyWithSyntaxHighlighting, boolean>;
                  +        cursorBlinking: IEditorOption<EditorOption.cursorBlinking, TextEditorCursorBlinkingStyle>;
                  +        cursorSmoothCaretAnimation: IEditorOption<EditorOption.cursorSmoothCaretAnimation, boolean>;
                  +        cursorStyle: IEditorOption<EditorOption.cursorStyle, TextEditorCursorStyle>;
                  +        cursorSurroundingLines: IEditorOption<EditorOption.cursorSurroundingLines, number>;
                  +        cursorSurroundingLinesStyle: IEditorOption<EditorOption.cursorSurroundingLinesStyle, 'default' | 'all'>;
                  +        cursorWidth: IEditorOption<EditorOption.cursorWidth, number>;
                  +        disableLayerHinting: IEditorOption<EditorOption.disableLayerHinting, boolean>;
                  +        disableMonospaceOptimizations: IEditorOption<EditorOption.disableMonospaceOptimizations, boolean>;
                  +        domReadOnly: IEditorOption<EditorOption.domReadOnly, boolean>;
                  +        dragAndDrop: IEditorOption<EditorOption.dragAndDrop, boolean>;
                  +        emptySelectionClipboard: IEditorOption<EditorOption.emptySelectionClipboard, boolean>;
                  +        extraEditorClassName: IEditorOption<EditorOption.extraEditorClassName, string>;
                  +        fastScrollSensitivity: IEditorOption<EditorOption.fastScrollSensitivity, number>;
                  +        find: IEditorOption<EditorOption.find, Readonly<Required<IEditorFindOptions>>>;
                  +        fixedOverflowWidgets: IEditorOption<EditorOption.fixedOverflowWidgets, boolean>;
                  +        folding: IEditorOption<EditorOption.folding, boolean>;
                  +        foldingStrategy: IEditorOption<EditorOption.foldingStrategy, 'auto' | 'indentation'>;
                  +        foldingHighlight: IEditorOption<EditorOption.foldingHighlight, boolean>;
                  +        foldingImportsByDefault: IEditorOption<EditorOption.foldingImportsByDefault, boolean>;
                  +        unfoldOnClickAfterEndOfLine: IEditorOption<EditorOption.unfoldOnClickAfterEndOfLine, boolean>;
                  +        fontFamily: IEditorOption<EditorOption.fontFamily, string>;
                  +        fontInfo: IEditorOption<EditorOption.fontInfo, FontInfo>;
                  +        fontLigatures2: IEditorOption<EditorOption.fontLigatures, string>;
                  +        fontSize: IEditorOption<EditorOption.fontSize, number>;
                  +        fontWeight: IEditorOption<EditorOption.fontWeight, string>;
                  +        formatOnPaste: IEditorOption<EditorOption.formatOnPaste, boolean>;
                  +        formatOnType: IEditorOption<EditorOption.formatOnType, boolean>;
                  +        glyphMargin: IEditorOption<EditorOption.glyphMargin, boolean>;
                  +        gotoLocation: IEditorOption<EditorOption.gotoLocation, Readonly<Required<IGotoLocationOptions>>>;
                  +        hideCursorInOverviewRuler: IEditorOption<EditorOption.hideCursorInOverviewRuler, boolean>;
                  +        hover: IEditorOption<EditorOption.hover, Readonly<Required<IEditorHoverOptions>>>;
                  +        inDiffEditor: IEditorOption<EditorOption.inDiffEditor, boolean>;
                  +        letterSpacing: IEditorOption<EditorOption.letterSpacing, number>;
                  +        lightbulb: IEditorOption<EditorOption.lightbulb, Readonly<Required<IEditorLightbulbOptions>>>;
                  +        lineDecorationsWidth: IEditorOption<EditorOption.lineDecorationsWidth, string | number>;
                  +        lineHeight: IEditorOption<EditorOption.lineHeight, number>;
                  +        lineNumbers: IEditorOption<EditorOption.lineNumbers, InternalEditorRenderLineNumbersOptions>;
                  +        lineNumbersMinChars: IEditorOption<EditorOption.lineNumbersMinChars, number>;
                  +        linkedEditing: IEditorOption<EditorOption.linkedEditing, boolean>;
                  +        links: IEditorOption<EditorOption.links, boolean>;
                  +        matchBrackets: IEditorOption<EditorOption.matchBrackets, 'always' | 'never' | 'near'>;
                  +        minimap: IEditorOption<EditorOption.minimap, Readonly<Required<IEditorMinimapOptions>>>;
                  +        mouseStyle: IEditorOption<EditorOption.mouseStyle, 'default' | 'text' | 'copy'>;
                  +        mouseWheelScrollSensitivity: IEditorOption<EditorOption.mouseWheelScrollSensitivity, number>;
                  +        mouseWheelZoom: IEditorOption<EditorOption.mouseWheelZoom, boolean>;
                  +        multiCursorMergeOverlapping: IEditorOption<EditorOption.multiCursorMergeOverlapping, boolean>;
                  +        multiCursorModifier: IEditorOption<EditorOption.multiCursorModifier, 'altKey' | 'metaKey' | 'ctrlKey'>;
                  +        multiCursorPaste: IEditorOption<EditorOption.multiCursorPaste, 'spread' | 'full'>;
                  +        occurrencesHighlight: IEditorOption<EditorOption.occurrencesHighlight, boolean>;
                  +        overviewRulerBorder: IEditorOption<EditorOption.overviewRulerBorder, boolean>;
                  +        overviewRulerLanes: IEditorOption<EditorOption.overviewRulerLanes, number>;
                  +        padding: IEditorOption<EditorOption.padding, Readonly<Required<IEditorPaddingOptions>>>;
                  +        parameterHints: IEditorOption<EditorOption.parameterHints, Readonly<Required<IEditorParameterHintOptions>>>;
                  +        peekWidgetDefaultFocus: IEditorOption<EditorOption.peekWidgetDefaultFocus, 'tree' | 'editor'>;
                  +        definitionLinkOpensInPeek: IEditorOption<EditorOption.definitionLinkOpensInPeek, boolean>;
                  +        quickSuggestions: IEditorOption<EditorOption.quickSuggestions, any>;
                  +        quickSuggestionsDelay: IEditorOption<EditorOption.quickSuggestionsDelay, number>;
                  +        readOnly: IEditorOption<EditorOption.readOnly, boolean>;
                  +        renameOnType: IEditorOption<EditorOption.renameOnType, boolean>;
                  +        renderControlCharacters: IEditorOption<EditorOption.renderControlCharacters, boolean>;
                  +        renderFinalNewline: IEditorOption<EditorOption.renderFinalNewline, boolean>;
                  +        renderLineHighlight: IEditorOption<EditorOption.renderLineHighlight, 'all' | 'line' | 'none' | 'gutter'>;
                  +        renderLineHighlightOnlyWhenFocus: IEditorOption<EditorOption.renderLineHighlightOnlyWhenFocus, boolean>;
                  +        renderValidationDecorations: IEditorOption<EditorOption.renderValidationDecorations, 'on' | 'off' | 'editable'>;
                  +        renderWhitespace: IEditorOption<EditorOption.renderWhitespace, 'all' | 'none' | 'boundary' | 'selection' | 'trailing'>;
                  +        revealHorizontalRightPadding: IEditorOption<EditorOption.revealHorizontalRightPadding, number>;
                  +        roundedSelection: IEditorOption<EditorOption.roundedSelection, boolean>;
                  +        rulers: IEditorOption<EditorOption.rulers, {}>;
                  +        scrollbar: IEditorOption<EditorOption.scrollbar, InternalEditorScrollbarOptions>;
                  +        scrollBeyondLastColumn: IEditorOption<EditorOption.scrollBeyondLastColumn, number>;
                  +        scrollBeyondLastLine: IEditorOption<EditorOption.scrollBeyondLastLine, boolean>;
                  +        scrollPredominantAxis: IEditorOption<EditorOption.scrollPredominantAxis, boolean>;
                  +        selectionClipboard: IEditorOption<EditorOption.selectionClipboard, boolean>;
                  +        selectionHighlight: IEditorOption<EditorOption.selectionHighlight, boolean>;
                  +        selectOnLineNumbers: IEditorOption<EditorOption.selectOnLineNumbers, boolean>;
                  +        showFoldingControls: IEditorOption<EditorOption.showFoldingControls, 'always' | 'mouseover'>;
                  +        showUnused: IEditorOption<EditorOption.showUnused, boolean>;
                  +        showDeprecated: IEditorOption<EditorOption.showDeprecated, boolean>;
                  +        inlayHints: IEditorOption<EditorOption.inlayHints, Readonly<Required<IEditorInlayHintsOptions>>>;
                  +        snippetSuggestions: IEditorOption<EditorOption.snippetSuggestions, 'none' | 'top' | 'bottom' | 'inline'>;
                  +        smartSelect: IEditorOption<EditorOption.smartSelect, Readonly<Required<ISmartSelectOptions>>>;
                  +        smoothScrolling: IEditorOption<EditorOption.smoothScrolling, boolean>;
                  +        stopRenderingLineAfter: IEditorOption<EditorOption.stopRenderingLineAfter, number>;
                  +        suggest: IEditorOption<EditorOption.suggest, Readonly<Required<ISuggestOptions>>>;
                  +        inlineSuggest: IEditorOption<EditorOption.inlineSuggest, Readonly<Required<IInlineSuggestOptions>>>;
                  +        suggestFontSize: IEditorOption<EditorOption.suggestFontSize, number>;
                  +        suggestLineHeight: IEditorOption<EditorOption.suggestLineHeight, number>;
                  +        suggestOnTriggerCharacters: IEditorOption<EditorOption.suggestOnTriggerCharacters, boolean>;
                  +        suggestSelection: IEditorOption<EditorOption.suggestSelection, 'first' | 'recentlyUsed' | 'recentlyUsedByPrefix'>;
                  +        tabCompletion: IEditorOption<EditorOption.tabCompletion, 'on' | 'off' | 'onlySnippets'>;
                  +        tabIndex: IEditorOption<EditorOption.tabIndex, number>;
                  +        unicodeHighlight: IEditorOption<EditorOption.unicodeHighlighting, Required<Readonly<IUnicodeHighlightOptions>>>;
                  +        unusualLineTerminators: IEditorOption<EditorOption.unusualLineTerminators, 'auto' | 'off' | 'prompt'>;
                  +        useShadowDOM: IEditorOption<EditorOption.useShadowDOM, boolean>;
                  +        useTabStops: IEditorOption<EditorOption.useTabStops, boolean>;
                  +        wordSeparators: IEditorOption<EditorOption.wordSeparators, string>;
                  +        wordWrap: IEditorOption<EditorOption.wordWrap, 'on' | 'off' | 'wordWrapColumn' | 'bounded'>;
                  +        wordWrapBreakAfterCharacters: IEditorOption<EditorOption.wordWrapBreakAfterCharacters, string>;
                  +        wordWrapBreakBeforeCharacters: IEditorOption<EditorOption.wordWrapBreakBeforeCharacters, string>;
                  +        wordWrapColumn: IEditorOption<EditorOption.wordWrapColumn, number>;
                  +        wordWrapOverride1: IEditorOption<EditorOption.wordWrapOverride1, 'on' | 'off' | 'inherit'>;
                  +        wordWrapOverride2: IEditorOption<EditorOption.wordWrapOverride2, 'on' | 'off' | 'inherit'>;
                  +        wrappingIndent: IEditorOption<EditorOption.wrappingIndent, WrappingIndent>;
                  +        wrappingStrategy: IEditorOption<EditorOption.wrappingStrategy, 'simple' | 'advanced'>;
                  +        editorClassName: IEditorOption<EditorOption.editorClassName, string>;
                  +        pixelRatio: IEditorOption<EditorOption.pixelRatio, number>;
                  +        tabFocusMode: IEditorOption<EditorOption.tabFocusMode, boolean>;
                  +        layoutInfo: IEditorOption<EditorOption.layoutInfo, EditorLayoutInfo>;
                  +        wrappingInfo: IEditorOption<EditorOption.wrappingInfo, EditorWrappingInfo>;
                  +    };
                  +
                  +    type EditorOptionsType = typeof EditorOptions;
                  +
                  +    type FindEditorOptionsKeyById<T extends EditorOption> = {
                  +        [K in keyof EditorOptionsType]: EditorOptionsType[K]['id'] extends T ? K : never;
                  +    }[keyof EditorOptionsType];
                  +
                  +    type ComputedEditorOptionValue<T extends IEditorOption<any, any>> = T extends IEditorOption<any, infer R> ? R : never;
                  +
                  +    export type FindComputedEditorOptionValueById<T extends EditorOption> = NonNullable<ComputedEditorOptionValue<EditorOptionsType[FindEditorOptionsKeyById<T>]>>;
                  +
                  +    /**
                  +     * A view zone is a full horizontal rectangle that 'pushes' text down.
                  +     * The editor reserves space for view zones when rendering.
                  +     */
                  +    export interface IViewZone {
                  +        /**
                  +         * The line number after which this zone should appear.
                  +         * Use 0 to place a view zone before the first line number.
                  +         */
                  +        afterLineNumber: number;
                  +        /**
                  +         * The column after which this zone should appear.
                  +         * If not set, the maxLineColumn of `afterLineNumber` will be used.
                  +         */
                  +        afterColumn?: number;
                  +        /**
                  +         * Suppress mouse down events.
                  +         * If set, the editor will attach a mouse down listener to the view zone and .preventDefault on it.
                  +         * Defaults to false
                  +         */
                  +        suppressMouseDown?: boolean;
                  +        /**
                  +         * The height in lines of the view zone.
                  +         * If specified, `heightInPx` will be used instead of this.
                  +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
                  +         */
                  +        heightInLines?: number;
                  +        /**
                  +         * The height in px of the view zone.
                  +         * If this is set, the editor will give preference to it rather than `heightInLines` above.
                  +         * If neither `heightInPx` nor `heightInLines` is specified, a default of `heightInLines` = 1 will be chosen.
                  +         */
                  +        heightInPx?: number;
                  +        /**
                  +         * The minimum width in px of the view zone.
                  +         * If this is set, the editor will ensure that the scroll width is >= than this value.
                  +         */
                  +        minWidthInPx?: number;
                  +        /**
                  +         * The dom node of the view zone
                  +         */
                  +        domNode: HTMLElement;
                  +        /**
                  +         * An optional dom node for the view zone that will be placed in the margin area.
                  +         */
                  +        marginDomNode?: HTMLElement | null;
                  +        /**
                  +         * Callback which gives the relative top of the view zone as it appears (taking scrolling into account).
                  +         */
                  +        onDomNodeTop?: (top: number) => void;
                  +        /**
                  +         * Callback which gives the height in pixels of the view zone.
                  +         */
                  +        onComputedHeight?: (height: number) => void;
                  +    }
                  +
                  +    /**
                  +     * An accessor that allows for zones to be added or removed.
                  +     */
                  +    export interface IViewZoneChangeAccessor {
                  +        /**
                  +         * Create a new view zone.
                  +         * @param zone Zone to create
                  +         * @return A unique identifier to the view zone.
                  +         */
                  +        addZone(zone: IViewZone): string;
                  +        /**
                  +         * Remove a zone
                  +         * @param id A unique identifier to the view zone, as returned by the `addZone` call.
                  +         */
                  +        removeZone(id: string): void;
                  +        /**
                  +         * Change a zone's position.
                  +         * The editor will rescan the `afterLineNumber` and `afterColumn` properties of a view zone.
                  +         */
                  +        layoutZone(id: string): void;
                  +    }
                  +
                  +    /**
                  +     * A positioning preference for rendering content widgets.
                  +     */
                  +    export enum ContentWidgetPositionPreference {
                  +        /**
                  +         * Place the content widget exactly at a position
                  +         */
                  +        EXACT = 0,
                  +        /**
                  +         * Place the content widget above a position
                  +         */
                  +        ABOVE = 1,
                  +        /**
                  +         * Place the content widget below a position
                  +         */
                  +        BELOW = 2
                  +    }
                  +
                  +    /**
                  +     * A position for rendering content widgets.
                  +     */
                  +    export interface IContentWidgetPosition {
                  +        /**
                  +         * Desired position for the content widget.
                  +         * `preference` will also affect the placement.
                  +         */
                  +        position: IPosition | null;
                  +        /**
                  +         * Optionally, a range can be provided to further
                  +         * define the position of the content widget.
                  +         */
                  +        range?: IRange | null;
                  +        /**
                  +         * Placement preference for position, in order of preference.
                  +         */
                  +        preference: ContentWidgetPositionPreference[];
                  +    }
                  +
                  +    /**
                  +     * A content widget renders inline with the text and can be easily placed 'near' an editor position.
                  +     */
                  +    export interface IContentWidget {
                  +        /**
                  +         * Render this content widget in a location where it could overflow the editor's view dom node.
                  +         */
                  +        allowEditorOverflow?: boolean;
                  +        suppressMouseDown?: boolean;
                  +        /**
                  +         * Get a unique identifier of the content widget.
                  +         */
                  +        getId(): string;
                  +        /**
                  +         * Get the dom node of the content widget.
                  +         */
                  +        getDomNode(): HTMLElement;
                  +        /**
                  +         * Get the placement of the content widget.
                  +         * If null is returned, the content widget will be placed off screen.
                  +         */
                  +        getPosition(): IContentWidgetPosition | null;
                  +        /**
                  +         * Optional function that is invoked before rendering
                  +         * the content widget. If a dimension is returned the editor will
                  +         * attempt to use it.
                  +         */
                  +        beforeRender?(): IDimension | null;
                  +        /**
                  +         * Optional function that is invoked after rendering the content
                  +         * widget. Is being invoked with the selected position preference
                  +         * or `null` if not rendered.
                  +         */
                  +        afterRender?(position: ContentWidgetPositionPreference | null): void;
                  +    }
                  +
                  +    /**
                  +     * A positioning preference for rendering overlay widgets.
                  +     */
                  +    export enum OverlayWidgetPositionPreference {
                  +        /**
                  +         * Position the overlay widget in the top right corner
                  +         */
                  +        TOP_RIGHT_CORNER = 0,
                  +        /**
                  +         * Position the overlay widget in the bottom right corner
                  +         */
                  +        BOTTOM_RIGHT_CORNER = 1,
                  +        /**
                  +         * Position the overlay widget in the top center
                  +         */
                  +        TOP_CENTER = 2
                  +    }
                  +
                  +    /**
                  +     * A position for rendering overlay widgets.
                  +     */
                  +    export interface IOverlayWidgetPosition {
                  +        /**
                  +         * The position preference for the overlay widget.
                  +         */
                  +        preference: OverlayWidgetPositionPreference | null;
                  +    }
                  +
                  +    /**
                  +     * An overlay widgets renders on top of the text.
                  +     */
                  +    export interface IOverlayWidget {
                  +        /**
                  +         * Get a unique identifier of the overlay widget.
                  +         */
                  +        getId(): string;
                  +        /**
                  +         * Get the dom node of the overlay widget.
                  +         */
                  +        getDomNode(): HTMLElement;
                  +        /**
                  +         * Get the placement of the overlay widget.
                  +         * If null is returned, the overlay widget is responsible to place itself.
                  +         */
                  +        getPosition(): IOverlayWidgetPosition | null;
                  +    }
                  +
                  +    /**
                  +     * Type of hit element with the mouse in the editor.
                  +     */
                  +    export enum MouseTargetType {
                  +        /**
                  +         * Mouse is on top of an unknown element.
                  +         */
                  +        UNKNOWN = 0,
                  +        /**
                  +         * Mouse is on top of the textarea used for input.
                  +         */
                  +        TEXTAREA = 1,
                  +        /**
                  +         * Mouse is on top of the glyph margin
                  +         */
                  +        GUTTER_GLYPH_MARGIN = 2,
                  +        /**
                  +         * Mouse is on top of the line numbers
                  +         */
                  +        GUTTER_LINE_NUMBERS = 3,
                  +        /**
                  +         * Mouse is on top of the line decorations
                  +         */
                  +        GUTTER_LINE_DECORATIONS = 4,
                  +        /**
                  +         * Mouse is on top of the whitespace left in the gutter by a view zone.
                  +         */
                  +        GUTTER_VIEW_ZONE = 5,
                  +        /**
                  +         * Mouse is on top of text in the content.
                  +         */
                  +        CONTENT_TEXT = 6,
                  +        /**
                  +         * Mouse is on top of empty space in the content (e.g. after line text or below last line)
                  +         */
                  +        CONTENT_EMPTY = 7,
                  +        /**
                  +         * Mouse is on top of a view zone in the content.
                  +         */
                  +        CONTENT_VIEW_ZONE = 8,
                  +        /**
                  +         * Mouse is on top of a content widget.
                  +         */
                  +        CONTENT_WIDGET = 9,
                  +        /**
                  +         * Mouse is on top of the decorations overview ruler.
                  +         */
                  +        OVERVIEW_RULER = 10,
                  +        /**
                  +         * Mouse is on top of a scrollbar.
                  +         */
                  +        SCROLLBAR = 11,
                  +        /**
                  +         * Mouse is on top of an overlay widget.
                  +         */
                  +        OVERLAY_WIDGET = 12,
                  +        /**
                  +         * Mouse is outside of the editor.
                  +         */
                  +        OUTSIDE_EDITOR = 13
                  +    }
                  +
                  +    /**
                  +     * Target hit with the mouse in the editor.
                  +     */
                  +    export interface IMouseTarget {
                  +        /**
                  +         * The target element
                  +         */
                  +        readonly element: Element | null;
                  +        /**
                  +         * The target type
                  +         */
                  +        readonly type: MouseTargetType;
                  +        /**
                  +         * The 'approximate' editor position
                  +         */
                  +        readonly position: Position | null;
                  +        /**
                  +         * Desired mouse column (e.g. when position.column gets clamped to text length -- clicking after text on a line).
                  +         */
                  +        readonly mouseColumn: number;
                  +        /**
                  +         * The 'approximate' editor range
                  +         */
                  +        readonly range: Range | null;
                  +        /**
                  +         * Some extra detail.
                  +         */
                  +        readonly detail: any;
                  +    }
                  +
                  +    /**
                  +     * A mouse event originating from the editor.
                  +     */
                  +    export interface IEditorMouseEvent {
                  +        readonly event: IMouseEvent;
                  +        readonly target: IMouseTarget;
                  +    }
                  +
                  +    export interface IPartialEditorMouseEvent {
                  +        readonly event: IMouseEvent;
                  +        readonly target: IMouseTarget | null;
                  +    }
                  +
                  +    /**
                  +     * A paste event originating from the editor.
                  +     */
                  +    export interface IPasteEvent {
                  +        readonly range: Range;
                  +        readonly languageId: string | null;
                  +    }
                  +
                  +    export interface IEditorConstructionOptions extends IEditorOptions {
                  +        /**
                  +         * The initial editor dimension (to avoid measuring the container).
                  +         */
                  +        dimension?: IDimension;
                  +        /**
                  +         * Place overflow widgets inside an external DOM node.
                  +         * Defaults to an internal DOM node.
                  +         */
                  +        overflowWidgetsDomNode?: HTMLElement;
                  +    }
                  +
                  +    export interface IDiffEditorConstructionOptions extends IDiffEditorOptions {
                  +        /**
                  +         * The initial editor dimension (to avoid measuring the container).
                  +         */
                  +        dimension?: IDimension;
                  +        /**
                  +         * Place overflow widgets inside an external DOM node.
                  +         * Defaults to an internal DOM node.
                  +         */
                  +        overflowWidgetsDomNode?: HTMLElement;
                  +        /**
                  +         * Aria label for original editor.
                  +         */
                  +        originalAriaLabel?: string;
                  +        /**
                  +         * Aria label for modified editor.
                  +         */
                  +        modifiedAriaLabel?: string;
                  +        /**
                  +         * Is the diff editor inside another editor
                  +         * Defaults to false
                  +         */
                  +        isInEmbeddedEditor?: boolean;
                  +    }
                  +
                  +    /**
                  +     * A rich code editor.
                  +     */
                  +    export interface ICodeEditor extends IEditor {
                  +        /**
                  +         * An event emitted when the content of the current model has changed.
                  +         * @event
                  +         */
                  +        onDidChangeModelContent: IEvent<IModelContentChangedEvent>;
                  +        /**
                  +         * An event emitted when the language of the current model has changed.
                  +         * @event
                  +         */
                  +        onDidChangeModelLanguage: IEvent<IModelLanguageChangedEvent>;
                  +        /**
                  +         * An event emitted when the language configuration of the current model has changed.
                  +         * @event
                  +         */
                  +        onDidChangeModelLanguageConfiguration: IEvent<IModelLanguageConfigurationChangedEvent>;
                  +        /**
                  +         * An event emitted when the options of the current model has changed.
                  +         * @event
                  +         */
                  +        onDidChangeModelOptions: IEvent<IModelOptionsChangedEvent>;
                  +        /**
                  +         * An event emitted when the configuration of the editor has changed. (e.g. `editor.updateOptions()`)
                  +         * @event
                  +         */
                  +        onDidChangeConfiguration: IEvent<ConfigurationChangedEvent>;
                  +        /**
                  +         * An event emitted when the cursor position has changed.
                  +         * @event
                  +         */
                  +        onDidChangeCursorPosition: IEvent<ICursorPositionChangedEvent>;
                  +        /**
                  +         * An event emitted when the cursor selection has changed.
                  +         * @event
                  +         */
                  +        onDidChangeCursorSelection: IEvent<ICursorSelectionChangedEvent>;
                  +        /**
                  +         * An event emitted when the model of this editor has changed (e.g. `editor.setModel()`).
                  +         * @event
                  +         */
                  +        onDidChangeModel: IEvent<IModelChangedEvent>;
                  +        /**
                  +         * An event emitted when the decorations of the current model have changed.
                  +         * @event
                  +         */
                  +        onDidChangeModelDecorations: IEvent<IModelDecorationsChangedEvent>;
                  +        /**
                  +         * An event emitted when the text inside this editor gained focus (i.e. cursor starts blinking).
                  +         * @event
                  +         */
                  +        onDidFocusEditorText(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted when the text inside this editor lost focus (i.e. cursor stops blinking).
                  +         * @event
                  +         */
                  +        onDidBlurEditorText(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted when the text inside this editor or an editor widget gained focus.
                  +         * @event
                  +         */
                  +        onDidFocusEditorWidget(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted when the text inside this editor or an editor widget lost focus.
                  +         * @event
                  +         */
                  +        onDidBlurEditorWidget(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted after composition has started.
                  +         */
                  +        onDidCompositionStart(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted after composition has ended.
                  +         */
                  +        onDidCompositionEnd(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted when editing failed because the editor is read-only.
                  +         * @event
                  +         */
                  +        onDidAttemptReadOnlyEdit(listener: () => void): IDisposable;
                  +        /**
                  +         * An event emitted when users paste text in the editor.
                  +         * @event
                  +         */
                  +        onDidPaste: IEvent<IPasteEvent>;
                  +        /**
                  +         * An event emitted on a "mouseup".
                  +         * @event
                  +         */
                  +        onMouseUp: IEvent<IEditorMouseEvent>;
                  +        /**
                  +         * An event emitted on a "mousedown".
                  +         * @event
                  +         */
                  +        onMouseDown: IEvent<IEditorMouseEvent>;
                  +        /**
                  +         * An event emitted on a "contextmenu".
                  +         * @event
                  +         */
                  +        onContextMenu: IEvent<IEditorMouseEvent>;
                  +        /**
                  +         * An event emitted on a "mousemove".
                  +         * @event
                  +         */
                  +        onMouseMove: IEvent<IEditorMouseEvent>;
                  +        /**
                  +         * An event emitted on a "mouseleave".
                  +         * @event
                  +         */
                  +        onMouseLeave: IEvent<IPartialEditorMouseEvent>;
                  +        /**
                  +         * An event emitted on a "keyup".
                  +         * @event
                  +         */
                  +        onKeyUp: IEvent<IKeyboardEvent>;
                  +        /**
                  +         * An event emitted on a "keydown".
                  +         * @event
                  +         */
                  +        onKeyDown: IEvent<IKeyboardEvent>;
                  +        /**
                  +         * An event emitted when the layout of the editor has changed.
                  +         * @event
                  +         */
                  +        onDidLayoutChange: IEvent<EditorLayoutInfo>;
                  +        /**
                  +         * An event emitted when the content width or content height in the editor has changed.
                  +         * @event
                  +         */
                  +        onDidContentSizeChange: IEvent<IContentSizeChangedEvent>;
                  +        /**
                  +         * An event emitted when the scroll in the editor has changed.
                  +         * @event
                  +         */
                  +        onDidScrollChange: IEvent<IScrollEvent>;
                  +        /**
                  +         * An event emitted when hidden areas change in the editor (e.g. due to folding).
                  +         * @event
                  +         */
                  +        onDidChangeHiddenAreas: IEvent<void>;
                  +        /**
                  +         * Saves current view state of the editor in a serializable object.
                  +         */
                  +        saveViewState(): ICodeEditorViewState | null;
                  +        /**
                  +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
                  +         */
                  +        restoreViewState(state: ICodeEditorViewState): void;
                  +        /**
                  +         * Returns true if the text inside this editor or an editor widget has focus.
                  +         */
                  +        hasWidgetFocus(): boolean;
                  +        /**
                  +         * Get a contribution of this editor.
                  +         * @id Unique identifier of the contribution.
                  +         * @return The contribution or null if contribution not found.
                  +         */
                  +        getContribution<T extends IEditorContribution>(id: string): T;
                  +        /**
                  +         * Type the getModel() of IEditor.
                  +         */
                  +        getModel(): ITextModel | null;
                  +        /**
                  +         * Sets the current model attached to this editor.
                  +         * If the previous model was created by the editor via the value key in the options
                  +         * literal object, it will be destroyed. Otherwise, if the previous model was set
                  +         * via setModel, or the model key in the options literal object, the previous model
                  +         * will not be destroyed.
                  +         * It is safe to call setModel(null) to simply detach the current model from the editor.
                  +         */
                  +        setModel(model: ITextModel | null): void;
                  +        /**
                  +         * Gets all the editor computed options.
                  +         */
                  +        getOptions(): IComputedEditorOptions;
                  +        /**
                  +         * Gets a specific editor option.
                  +         */
                  +        getOption<T extends EditorOption>(id: T): FindComputedEditorOptionValueById<T>;
                  +        /**
                  +         * Returns the editor's configuration (without any validation or defaults).
                  +         */
                  +        getRawOptions(): IEditorOptions;
                  +        /**
                  +         * Get value of the current model attached to this editor.
                  +         * @see {@link ITextModel.getValue}
                  +         */
                  +        getValue(options?: {
                  +            preserveBOM: boolean;
                  +            lineEnding: string;
                  +        }): string;
                  +        /**
                  +         * Set the value of the current model attached to this editor.
                  +         * @see {@link ITextModel.setValue}
                  +         */
                  +        setValue(newValue: string): void;
                  +        /**
                  +         * Get the width of the editor's content.
                  +         * This is information that is "erased" when computing `scrollWidth = Math.max(contentWidth, width)`
                  +         */
                  +        getContentWidth(): number;
                  +        /**
                  +         * Get the scrollWidth of the editor's viewport.
                  +         */
                  +        getScrollWidth(): number;
                  +        /**
                  +         * Get the scrollLeft of the editor's viewport.
                  +         */
                  +        getScrollLeft(): number;
                  +        /**
                  +         * Get the height of the editor's content.
                  +         * This is information that is "erased" when computing `scrollHeight = Math.max(contentHeight, height)`
                  +         */
                  +        getContentHeight(): number;
                  +        /**
                  +         * Get the scrollHeight of the editor's viewport.
                  +         */
                  +        getScrollHeight(): number;
                  +        /**
                  +         * Get the scrollTop of the editor's viewport.
                  +         */
                  +        getScrollTop(): number;
                  +        /**
                  +         * Change the scrollLeft of the editor's viewport.
                  +         */
                  +        setScrollLeft(newScrollLeft: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Change the scrollTop of the editor's viewport.
                  +         */
                  +        setScrollTop(newScrollTop: number, scrollType?: ScrollType): void;
                  +        /**
                  +         * Change the scroll position of the editor's viewport.
                  +         */
                  +        setScrollPosition(position: INewScrollPosition, scrollType?: ScrollType): void;
                  +        /**
                  +         * Get an action that is a contribution to this editor.
                  +         * @id Unique identifier of the contribution.
                  +         * @return The action or null if action not found.
                  +         */
                  +        getAction(id: string): IEditorAction;
                  +        /**
                  +         * Execute a command on the editor.
                  +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
                  +         * @param source The source of the call.
                  +         * @param command The command to execute
                  +         */
                  +        executeCommand(source: string | null | undefined, command: ICommand): void;
                  +        /**
                  +         * Create an "undo stop" in the undo-redo stack.
                  +         */
                  +        pushUndoStop(): boolean;
                  +        /**
                  +         * Remove the "undo stop" in the undo-redo stack.
                  +         */
                  +        popUndoStop(): boolean;
                  +        /**
                  +         * Execute edits on the editor.
                  +         * The edits will land on the undo-redo stack, but no "undo stop" will be pushed.
                  +         * @param source The source of the call.
                  +         * @param edits The edits to execute.
                  +         * @param endCursorState Cursor state after the edits were applied.
                  +         */
                  +        executeEdits(source: string | null | undefined, edits: IIdentifiedSingleEditOperation[], endCursorState?: ICursorStateComputer | Selection[]): boolean;
                  +        /**
                  +         * Execute multiple (concomitant) commands on the editor.
                  +         * @param source The source of the call.
                  +         * @param command The commands to execute
                  +         */
                  +        executeCommands(source: string | null | undefined, commands: (ICommand | null)[]): void;
                  +        /**
                  +         * Get all the decorations on a line (filtering out decorations from other editors).
                  +         */
                  +        getLineDecorations(lineNumber: number): IModelDecoration[] | null;
                  +        /**
                  +         * All decorations added through this call will get the ownerId of this editor.
                  +         * @see {@link ITextModel.deltaDecorations}
                  +         */
                  +        deltaDecorations(oldDecorations: string[], newDecorations: IModelDeltaDecoration[]): string[];
                  +        /**
                  +         * Get the layout info for the editor.
                  +         */
                  +        getLayoutInfo(): EditorLayoutInfo;
                  +        /**
                  +         * Returns the ranges that are currently visible.
                  +         * Does not account for horizontal scrolling.
                  +         */
                  +        getVisibleRanges(): Range[];
                  +        /**
                  +         * Get the vertical position (top offset) for the line w.r.t. to the first line.
                  +         */
                  +        getTopForLineNumber(lineNumber: number): number;
                  +        /**
                  +         * Get the vertical position (top offset) for the position w.r.t. to the first line.
                  +         */
                  +        getTopForPosition(lineNumber: number, column: number): number;
                  +        /**
                  +         * Returns the editor's container dom node
                  +         */
                  +        getContainerDomNode(): HTMLElement;
                  +        /**
                  +         * Returns the editor's dom node
                  +         */
                  +        getDomNode(): HTMLElement | null;
                  +        /**
                  +         * Add a content widget. Widgets must have unique ids, otherwise they will be overwritten.
                  +         */
                  +        addContentWidget(widget: IContentWidget): void;
                  +        /**
                  +         * Layout/Reposition a content widget. This is a ping to the editor to call widget.getPosition()
                  +         * and update appropriately.
                  +         */
                  +        layoutContentWidget(widget: IContentWidget): void;
                  +        /**
                  +         * Remove a content widget.
                  +         */
                  +        removeContentWidget(widget: IContentWidget): void;
                  +        /**
                  +         * Add an overlay widget. Widgets must have unique ids, otherwise they will be overwritten.
                  +         */
                  +        addOverlayWidget(widget: IOverlayWidget): void;
                  +        /**
                  +         * Layout/Reposition an overlay widget. This is a ping to the editor to call widget.getPosition()
                  +         * and update appropriately.
                  +         */
                  +        layoutOverlayWidget(widget: IOverlayWidget): void;
                  +        /**
                  +         * Remove an overlay widget.
                  +         */
                  +        removeOverlayWidget(widget: IOverlayWidget): void;
                  +        /**
                  +         * Change the view zones. View zones are lost when a new model is attached to the editor.
                  +         */
                  +        changeViewZones(callback: (accessor: IViewZoneChangeAccessor) => void): void;
                  +        /**
                  +         * Get the horizontal position (left offset) for the column w.r.t to the beginning of the line.
                  +         * This method works only if the line `lineNumber` is currently rendered (in the editor's viewport).
                  +         * Use this method with caution.
                  +         */
                  +        getOffsetForColumn(lineNumber: number, column: number): number;
                  +        /**
                  +         * Force an editor render now.
                  +         */
                  +        render(forceRedraw?: boolean): void;
                  +        /**
                  +         * Get the hit test target at coordinates `clientX` and `clientY`.
                  +         * The coordinates are relative to the top-left of the viewport.
                  +         *
                  +         * @returns Hit test target or null if the coordinates fall outside the editor or the editor has no model.
                  +         */
                  +        getTargetAtClientPoint(clientX: number, clientY: number): IMouseTarget | null;
                  +        /**
                  +         * Get the visible position for `position`.
                  +         * The result position takes scrolling into account and is relative to the top left corner of the editor.
                  +         * Explanation 1: the results of this method will change for the same `position` if the user scrolls the editor.
                  +         * Explanation 2: the results of this method will not change if the container of the editor gets repositioned.
                  +         * Warning: the results of this method are inaccurate for positions that are outside the current editor viewport.
                  +         */
                  +        getScrolledVisiblePosition(position: IPosition): {
                  +            top: number;
                  +            left: number;
                  +            height: number;
                  +        } | null;
                  +        /**
                  +         * Apply the same font settings as the editor to `target`.
                  +         */
                  +        applyFontInfo(target: HTMLElement): void;
                  +        setBanner(bannerDomNode: HTMLElement | null, height: number): void;
                  +    }
                  +
                  +    /**
                  +     * Information about a line in the diff editor
                  +     */
                  +    export interface IDiffLineInformation {
                  +        readonly equivalentLineNumber: number;
                  +    }
                  +
                  +    /**
                  +     * A rich diff editor.
                  +     */
                  +    export interface IDiffEditor extends IEditor {
                  +        /**
                  +         * @see {@link ICodeEditor.getDomNode}
                  +         */
                  +        getDomNode(): HTMLElement;
                  +        /**
                  +         * An event emitted when the diff information computed by this diff editor has been updated.
                  +         * @event
                  +         */
                  +        onDidUpdateDiff(listener: () => void): IDisposable;
                  +        /**
                  +         * Saves current view state of the editor in a serializable object.
                  +         */
                  +        saveViewState(): IDiffEditorViewState | null;
                  +        /**
                  +         * Restores the view state of the editor from a serializable object generated by `saveViewState`.
                  +         */
                  +        restoreViewState(state: IDiffEditorViewState): void;
                  +        /**
                  +         * Type the getModel() of IEditor.
                  +         */
                  +        getModel(): IDiffEditorModel | null;
                  +        /**
                  +         * Sets the current model attached to this editor.
                  +         * If the previous model was created by the editor via the value key in the options
                  +         * literal object, it will be destroyed. Otherwise, if the previous model was set
                  +         * via setModel, or the model key in the options literal object, the previous model
                  +         * will not be destroyed.
                  +         * It is safe to call setModel(null) to simply detach the current model from the editor.
                  +         */
                  +        setModel(model: IDiffEditorModel | null): void;
                  +        /**
                  +         * Get the `original` editor.
                  +         */
                  +        getOriginalEditor(): ICodeEditor;
                  +        /**
                  +         * Get the `modified` editor.
                  +         */
                  +        getModifiedEditor(): ICodeEditor;
                  +        /**
                  +         * Get the computed diff information.
                  +         */
                  +        getLineChanges(): ILineChange[] | null;
                  +        /**
                  +         * Get information based on computed diff about a line number from the original model.
                  +         * If the diff computation is not finished or the model is missing, will return null.
                  +         */
                  +        getDiffLineInformationForOriginal(lineNumber: number): IDiffLineInformation | null;
                  +        /**
                  +         * Get information based on computed diff about a line number from the modified model.
                  +         * If the diff computation is not finished or the model is missing, will return null.
                  +         */
                  +        getDiffLineInformationForModified(lineNumber: number): IDiffLineInformation | null;
                  +        /**
                  +         * Update the editor's options after the editor has been created.
                  +         */
                  +        updateOptions(newOptions: IDiffEditorOptions): void;
                  +    }
                  +
                  +    export class FontInfo extends BareFontInfo {
                  +        readonly _editorStylingBrand: void;
                  +        readonly version: number;
                  +        readonly isTrusted: boolean;
                  +        readonly isMonospace: boolean;
                  +        readonly typicalHalfwidthCharacterWidth: number;
                  +        readonly typicalFullwidthCharacterWidth: number;
                  +        readonly canUseHalfwidthRightwardsArrow: boolean;
                  +        readonly spaceWidth: number;
                  +        readonly middotWidth: number;
                  +        readonly wsmiddotWidth: number;
                  +        readonly maxDigitWidth: number;
                  +    }
                  +
                  +    export class BareFontInfo {
                  +        readonly _bareFontInfoBrand: void;
                  +        readonly zoomLevel: number;
                  +        readonly pixelRatio: number;
                  +        readonly fontFamily: string;
                  +        readonly fontWeight: string;
                  +        readonly fontSize: number;
                  +        readonly fontFeatureSettings: string;
                  +        readonly lineHeight: number;
                  +        readonly letterSpacing: number;
                  +    }
                  +
                  +    //compatibility:
                  +    export type IReadOnlyModel = ITextModel;
                  +    export type IModel = ITextModel;
                  +}
                  +
                  +declare namespace monaco.languages {
                  +
                  +
                  +    /**
                  +     * Register information about a new language.
                  +     */
                  +    export function register(language: ILanguageExtensionPoint): void;
                  +
                  +    /**
                  +     * Get the information of all the registered languages.
                  +     */
                  +    export function getLanguages(): ILanguageExtensionPoint[];
                  +
                  +    export function getEncodedLanguageId(languageId: string): number;
                  +
                  +    /**
                  +     * An event emitted when a language is first time needed (e.g. a model has it set).
                  +     * @event
                  +     */
                  +    export function onLanguage(languageId: string, callback: () => void): IDisposable;
                  +
                  +    /**
                  +     * Set the editing configuration for a language.
                  +     */
                  +    export function setLanguageConfiguration(languageId: string, configuration: LanguageConfiguration): IDisposable;
                  +
                  +    /**
                  +     * A token.
                  +     */
                  +    export interface IToken {
                  +        startIndex: number;
                  +        scopes: string;
                  +    }
                  +
                  +    /**
                  +     * The result of a line tokenization.
                  +     */
                  +    export interface ILineTokens {
                  +        /**
                  +         * The list of tokens on the line.
                  +         */
                  +        tokens: IToken[];
                  +        /**
                  +         * The tokenization end state.
                  +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
                  +         */
                  +        endState: IState;
                  +    }
                  +
                  +    /**
                  +     * The result of a line tokenization.
                  +     */
                  +    export interface IEncodedLineTokens {
                  +        /**
                  +         * The tokens on the line in a binary, encoded format. Each token occupies two array indices. For token i:
                  +         *  - at offset 2*i => startIndex
                  +         *  - at offset 2*i + 1 => metadata
                  +         * Meta data is in binary format:
                  +         * - -------------------------------------------
                  +         *     3322 2222 2222 1111 1111 1100 0000 0000
                  +         *     1098 7654 3210 9876 5432 1098 7654 3210
                  +         * - -------------------------------------------
                  +         *     bbbb bbbb bfff ffff ffFF FTTT LLLL LLLL
                  +         * - -------------------------------------------
                  +         *  - L = EncodedLanguageId (8 bits): Use `getEncodedLanguageId` to get the encoded ID of a language.
                  +         *  - T = StandardTokenType (3 bits): Other = 0, Comment = 1, String = 2, RegEx = 4.
                  +         *  - F = FontStyle (3 bits): None = 0, Italic = 1, Bold = 2, Underline = 4.
                  +         *  - f = foreground ColorId (9 bits)
                  +         *  - b = background ColorId (9 bits)
                  +         *  - The color value for each colorId is defined in IStandaloneThemeData.customTokenColors:
                  +         * e.g. colorId = 1 is stored in IStandaloneThemeData.customTokenColors[1]. Color id = 0 means no color,
                  +         * id = 1 is for the default foreground color, id = 2 for the default background.
                  +         */
                  +        tokens: Uint32Array;
                  +        /**
                  +         * The tokenization end state.
                  +         * A pointer will be held to this and the object should not be modified by the tokenizer after the pointer is returned.
                  +         */
                  +        endState: IState;
                  +    }
                  +
                  +    /**
                  +     * A "manual" provider of tokens.
                  +     */
                  +    export interface TokensProvider {
                  +        /**
                  +         * The initial state of a language. Will be the state passed in to tokenize the first line.
                  +         */
                  +        getInitialState(): IState;
                  +        /**
                  +         * Tokenize a line given the state at the beginning of the line.
                  +         */
                  +        tokenize(line: string, state: IState): ILineTokens;
                  +    }
                  +
                  +    /**
                  +     * A "manual" provider of tokens, returning tokens in a binary form.
                  +     */
                  +    export interface EncodedTokensProvider {
                  +        /**
                  +         * The initial state of a language. Will be the state passed in to tokenize the first line.
                  +         */
                  +        getInitialState(): IState;
                  +        /**
                  +         * Tokenize a line given the state at the beginning of the line.
                  +         */
                  +        tokenizeEncoded(line: string, state: IState): IEncodedLineTokens;
                  +        /**
                  +         * Tokenize a line given the state at the beginning of the line.
                  +         */
                  +        tokenize?(line: string, state: IState): ILineTokens;
                  +    }
                  +
                  +    /**
                  +     * Change the color map that is used for token colors.
                  +     * Supported formats (hex): #RRGGBB, $RRGGBBAA, #RGB, #RGBA
                  +     */
                  +    export function setColorMap(colorMap: string[] | null): void;
                  +
                  +    /**
                  +     * Set the tokens provider for a language (manual implementation).
                  +     */
                  +    export function setTokensProvider(languageId: string, provider: TokensProvider | EncodedTokensProvider | Thenable<TokensProvider | EncodedTokensProvider>): IDisposable;
                  +
                  +    /**
                  +     * Set the tokens provider for a language (monarch implementation).
                  +     */
                  +    export function setMonarchTokensProvider(languageId: string, languageDef: IMonarchLanguage | Thenable<IMonarchLanguage>): IDisposable;
                  +
                  +    /**
                  +     * Register a reference provider (used by e.g. reference search).
                  +     */
                  +    export function registerReferenceProvider(languageId: string, provider: ReferenceProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a rename provider (used by e.g. rename symbol).
                  +     */
                  +    export function registerRenameProvider(languageId: string, provider: RenameProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a signature help provider (used by e.g. parameter hints).
                  +     */
                  +    export function registerSignatureHelpProvider(languageId: string, provider: SignatureHelpProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a hover provider (used by e.g. editor hover).
                  +     */
                  +    export function registerHoverProvider(languageId: string, provider: HoverProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a document symbol provider (used by e.g. outline).
                  +     */
                  +    export function registerDocumentSymbolProvider(languageId: string, provider: DocumentSymbolProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a document highlight provider (used by e.g. highlight occurrences).
                  +     */
                  +    export function registerDocumentHighlightProvider(languageId: string, provider: DocumentHighlightProvider): IDisposable;
                  +
                  +    /**
                  +     * Register an linked editing range provider.
                  +     */
                  +    export function registerLinkedEditingRangeProvider(languageId: string, provider: LinkedEditingRangeProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a definition provider (used by e.g. go to definition).
                  +     */
                  +    export function registerDefinitionProvider(languageId: string, provider: DefinitionProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a implementation provider (used by e.g. go to implementation).
                  +     */
                  +    export function registerImplementationProvider(languageId: string, provider: ImplementationProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a type definition provider (used by e.g. go to type definition).
                  +     */
                  +    export function registerTypeDefinitionProvider(languageId: string, provider: TypeDefinitionProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a code lens provider (used by e.g. inline code lenses).
                  +     */
                  +    export function registerCodeLensProvider(languageId: string, provider: CodeLensProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a code action provider (used by e.g. quick fix).
                  +     */
                  +    export function registerCodeActionProvider(languageId: string, provider: CodeActionProvider, metadata?: CodeActionProviderMetadata): IDisposable;
                  +
                  +    /**
                  +     * Register a formatter that can handle only entire models.
                  +     */
                  +    export function registerDocumentFormattingEditProvider(languageId: string, provider: DocumentFormattingEditProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a formatter that can handle a range inside a model.
                  +     */
                  +    export function registerDocumentRangeFormattingEditProvider(languageId: string, provider: DocumentRangeFormattingEditProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a formatter than can do formatting as the user types.
                  +     */
                  +    export function registerOnTypeFormattingEditProvider(languageId: string, provider: OnTypeFormattingEditProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a link provider that can find links in text.
                  +     */
                  +    export function registerLinkProvider(languageId: string, provider: LinkProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a completion item provider (use by e.g. suggestions).
                  +     */
                  +    export function registerCompletionItemProvider(languageId: string, provider: CompletionItemProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a document color provider (used by Color Picker, Color Decorator).
                  +     */
                  +    export function registerColorProvider(languageId: string, provider: DocumentColorProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a folding range provider
                  +     */
                  +    export function registerFoldingRangeProvider(languageId: string, provider: FoldingRangeProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a declaration provider
                  +     */
                  +    export function registerDeclarationProvider(languageId: string, provider: DeclarationProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a selection range provider
                  +     */
                  +    export function registerSelectionRangeProvider(languageId: string, provider: SelectionRangeProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a document semantic tokens provider
                  +     */
                  +    export function registerDocumentSemanticTokensProvider(languageId: string, provider: DocumentSemanticTokensProvider): IDisposable;
                  +
                  +    /**
                  +     * Register a document range semantic tokens provider
                  +     */
                  +    export function registerDocumentRangeSemanticTokensProvider(languageId: string, provider: DocumentRangeSemanticTokensProvider): IDisposable;
                  +
                  +    /**
                  +     * Register an inline completions provider.
                  +     */
                  +    export function registerInlineCompletionsProvider(languageId: string, provider: InlineCompletionsProvider): IDisposable;
                  +
                  +    /**
                  +     * Register an inlay hints provider.
                  +     */
                  +    export function registerInlayHintsProvider(languageId: string, provider: InlayHintsProvider): IDisposable;
                  +
                  +    /**
                  +     * Contains additional diagnostic information about the context in which
                  +     * a [code action](#CodeActionProvider.provideCodeActions) is run.
                  +     */
                  +    export interface CodeActionContext {
                  +        /**
                  +         * An array of diagnostics.
                  +         */
                  +        readonly markers: editor.IMarkerData[];
                  +        /**
                  +         * Requested kind of actions to return.
                  +         */
                  +        readonly only?: string;
                  +    }
                  +
                  +    /**
                  +     * The code action interface defines the contract between extensions and
                  +     * the [light bulb](https://code.visualstudio.com/docs/editor/editingevolved#_code-action) feature.
                  +     */
                  +    export interface CodeActionProvider {
                  +        /**
                  +         * Provide commands for the given document and range.
                  +         */
                  +        provideCodeActions(model: editor.ITextModel, range: Range, context: CodeActionContext, token: CancellationToken): ProviderResult<CodeActionList>;
                  +        /**
                  +         * Given a code action fill in the edit. Will only invoked when missing.
                  +         */
                  +        resolveCodeAction?(codeAction: CodeAction, token: CancellationToken): ProviderResult<CodeAction>;
                  +    }
                  +
                  +    /**
                  +     * Metadata about the type of code actions that a {@link CodeActionProvider} provides.
                  +     */
                  +    export interface CodeActionProviderMetadata {
                  +        /**
                  +         * List of code action kinds that a {@link CodeActionProvider} may return.
                  +         *
                  +         * This list is used to determine if a given `CodeActionProvider` should be invoked or not.
                  +         * To avoid unnecessary computation, every `CodeActionProvider` should list use `providedCodeActionKinds`. The
                  +         * list of kinds may either be generic, such as `["quickfix", "refactor", "source"]`, or list out every kind provided,
                  +         * such as `["quickfix.removeLine", "source.fixAll" ...]`.
                  +         */
                  +        readonly providedCodeActionKinds?: readonly string[];
                  +    }
                  +
                  +    /**
                  +     * Describes how comments for a language work.
                  +     */
                  +    export interface CommentRule {
                  +        /**
                  +         * The line comment token, like `// this is a comment`
                  +         */
                  +        lineComment?: string | null;
                  +        /**
                  +         * The block comment character pair, like `/* block comment *&#47;`
                  +         */
                  +        blockComment?: CharacterPair | null;
                  +    }
                  +
                  +    /**
                  +     * The language configuration interface defines the contract between extensions and
                  +     * various editor features, like automatic bracket insertion, automatic indentation etc.
                  +     */
                  +    export interface LanguageConfiguration {
                  +        /**
                  +         * The language's comment settings.
                  +         */
                  +        comments?: CommentRule;
                  +        /**
                  +         * The language's brackets.
                  +         * This configuration implicitly affects pressing Enter around these brackets.
                  +         */
                  +        brackets?: CharacterPair[];
                  +        /**
                  +         * The language's word definition.
                  +         * If the language supports Unicode identifiers (e.g. JavaScript), it is preferable
                  +         * to provide a word definition that uses exclusion of known separators.
                  +         * e.g.: A regex that matches anything except known separators (and dot is allowed to occur in a floating point number):
                  +         *   /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g
                  +         */
                  +        wordPattern?: RegExp;
                  +        /**
                  +         * The language's indentation settings.
                  +         */
                  +        indentationRules?: IndentationRule;
                  +        /**
                  +         * The language's rules to be evaluated when pressing Enter.
                  +         */
                  +        onEnterRules?: OnEnterRule[];
                  +        /**
                  +         * The language's auto closing pairs. The 'close' character is automatically inserted with the
                  +         * 'open' character is typed. If not set, the configured brackets will be used.
                  +         */
                  +        autoClosingPairs?: IAutoClosingPairConditional[];
                  +        /**
                  +         * The language's surrounding pairs. When the 'open' character is typed on a selection, the
                  +         * selected string is surrounded by the open and close characters. If not set, the autoclosing pairs
                  +         * settings will be used.
                  +         */
                  +        surroundingPairs?: IAutoClosingPair[];
                  +        /**
                  +         * Defines a list of bracket pairs that are colorized depending on their nesting level.
                  +         * If not set, the configured brackets will be used.
                  +        */
                  +        colorizedBracketPairs?: CharacterPair[];
                  +        /**
                  +         * Defines what characters must be after the cursor for bracket or quote autoclosing to occur when using the \'languageDefined\' autoclosing setting.
                  +         *
                  +         * This is typically the set of characters which can not start an expression, such as whitespace, closing brackets, non-unary operators, etc.
                  +         */
                  +        autoCloseBefore?: string;
                  +        /**
                  +         * The language's folding rules.
                  +         */
                  +        folding?: FoldingRules;
                  +        /**
                  +         * **Deprecated** Do not use.
                  +         *
                  +         * @deprecated Will be replaced by a better API soon.
                  +         */
                  +        __electricCharacterSupport?: {
                  +            docComment?: IDocComment;
                  +        };
                  +    }
                  +
                  +    /**
                  +     * Describes indentation rules for a language.
                  +     */
                  +    export interface IndentationRule {
                  +        /**
                  +         * If a line matches this pattern, then all the lines after it should be unindented once (until another rule matches).
                  +         */
                  +        decreaseIndentPattern: RegExp;
                  +        /**
                  +         * If a line matches this pattern, then all the lines after it should be indented once (until another rule matches).
                  +         */
                  +        increaseIndentPattern: RegExp;
                  +        /**
                  +         * If a line matches this pattern, then **only the next line** after it should be indented once.
                  +         */
                  +        indentNextLinePattern?: RegExp | null;
                  +        /**
                  +         * If a line matches this pattern, then its indentation should not be changed and it should not be evaluated against the other rules.
                  +         */
                  +        unIndentedLinePattern?: RegExp | null;
                  +    }
                  +
                  +    /**
                  +     * Describes language specific folding markers such as '#region' and '#endregion'.
                  +     * The start and end regexes will be tested against the contents of all lines and must be designed efficiently:
                  +     * - the regex should start with '^'
                  +     * - regexp flags (i, g) are ignored
                  +     */
                  +    export interface FoldingMarkers {
                  +        start: RegExp;
                  +        end: RegExp;
                  +    }
                  +
                  +    /**
                  +     * Describes folding rules for a language.
                  +     */
                  +    export interface FoldingRules {
                  +        /**
                  +         * Used by the indentation based strategy to decide whether empty lines belong to the previous or the next block.
                  +         * A language adheres to the off-side rule if blocks in that language are expressed by their indentation.
                  +         * See [wikipedia](https://en.wikipedia.org/wiki/Off-side_rule) for more information.
                  +         * If not set, `false` is used and empty lines belong to the previous block.
                  +         */
                  +        offSide?: boolean;
                  +        /**
                  +         * Region markers used by the language.
                  +         */
                  +        markers?: FoldingMarkers;
                  +    }
                  +
                  +    /**
                  +     * Describes a rule to be evaluated when pressing Enter.
                  +     */
                  +    export interface OnEnterRule {
                  +        /**
                  +         * This rule will only execute if the text before the cursor matches this regular expression.
                  +         */
                  +        beforeText: RegExp;
                  +        /**
                  +         * This rule will only execute if the text after the cursor matches this regular expression.
                  +         */
                  +        afterText?: RegExp;
                  +        /**
                  +         * This rule will only execute if the text above the this line matches this regular expression.
                  +         */
                  +        previousLineText?: RegExp;
                  +        /**
                  +         * The action to execute.
                  +         */
                  +        action: EnterAction;
                  +    }
                  +
                  +    /**
                  +     * Definition of documentation comments (e.g. Javadoc/JSdoc)
                  +     */
                  +    export interface IDocComment {
                  +        /**
                  +         * The string that starts a doc comment (e.g. '/**')
                  +         */
                  +        open: string;
                  +        /**
                  +         * The string that appears on the last line and closes the doc comment (e.g. ' * /').
                  +         */
                  +        close?: string;
                  +    }
                  +
                  +    /**
                  +     * A tuple of two characters, like a pair of
                  +     * opening and closing brackets.
                  +     */
                  +    export type CharacterPair = [string, string];
                  +
                  +    export interface IAutoClosingPair {
                  +        open: string;
                  +        close: string;
                  +    }
                  +
                  +    export interface IAutoClosingPairConditional extends IAutoClosingPair {
                  +        notIn?: string[];
                  +    }
                  +
                  +    /**
                  +     * Describes what to do with the indentation when pressing Enter.
                  +     */
                  +    export enum IndentAction {
                  +        /**
                  +         * Insert new line and copy the previous line's indentation.
                  +         */
                  +        None = 0,
                  +        /**
                  +         * Insert new line and indent once (relative to the previous line's indentation).
                  +         */
                  +        Indent = 1,
                  +        /**
                  +         * Insert two new lines:
                  +         *  - the first one indented which will hold the cursor
                  +         *  - the second one at the same indentation level
                  +         */
                  +        IndentOutdent = 2,
                  +        /**
                  +         * Insert new line and outdent once (relative to the previous line's indentation).
                  +         */
                  +        Outdent = 3
                  +    }
                  +
                  +    /**
                  +     * Describes what to do when pressing Enter.
                  +     */
                  +    export interface EnterAction {
                  +        /**
                  +         * Describe what to do with the indentation.
                  +         */
                  +        indentAction: IndentAction;
                  +        /**
                  +         * Describes text to be appended after the new line and after the indentation.
                  +         */
                  +        appendText?: string;
                  +        /**
                  +         * Describes the number of characters to remove from the new line's indentation.
                  +         */
                  +        removeText?: number;
                  +    }
                  +
                  +    /**
                  +     * The state of the tokenizer between two lines.
                  +     * It is useful to store flags such as in multiline comment, etc.
                  +     * The model will clone the previous line's state and pass it in to tokenize the next line.
                  +     */
                  +    export interface IState {
                  +        clone(): IState;
                  +        equals(other: IState): boolean;
                  +    }
                  +
                  +    /**
                  +     * A provider result represents the values a provider, like the {@link HoverProvider},
                  +     * may return. For once this is the actual result type `T`, like `Hover`, or a thenable that resolves
                  +     * to that type `T`. In addition, `null` and `undefined` can be returned - either directly or from a
                  +     * thenable.
                  +     */
                  +    export type ProviderResult<T> = T | undefined | null | Thenable<T | undefined | null>;
                  +
                  +    /**
                  +     * A hover represents additional information for a symbol or word. Hovers are
                  +     * rendered in a tooltip-like widget.
                  +     */
                  +    export interface Hover {
                  +        /**
                  +         * The contents of this hover.
                  +         */
                  +        contents: IMarkdownString[];
                  +        /**
                  +         * The range to which this hover applies. When missing, the
                  +         * editor will use the range at the current position or the
                  +         * current position itself.
                  +         */
                  +        range?: IRange;
                  +    }
                  +
                  +    /**
                  +     * The hover provider interface defines the contract between extensions and
                  +     * the [hover](https://code.visualstudio.com/docs/editor/intellisense)-feature.
                  +     */
                  +    export interface HoverProvider {
                  +        /**
                  +         * Provide a hover for the given position and document. Multiple hovers at the same
                  +         * position will be merged by the editor. A hover can have a range which defaults
                  +         * to the word range at the position when omitted.
                  +         */
                  +        provideHover(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Hover>;
                  +    }
                  +
                  +    export enum CompletionItemKind {
                  +        Method = 0,
                  +        Function = 1,
                  +        Constructor = 2,
                  +        Field = 3,
                  +        Variable = 4,
                  +        Class = 5,
                  +        Struct = 6,
                  +        Interface = 7,
                  +        Module = 8,
                  +        Property = 9,
                  +        Event = 10,
                  +        Operator = 11,
                  +        Unit = 12,
                  +        Value = 13,
                  +        Constant = 14,
                  +        Enum = 15,
                  +        EnumMember = 16,
                  +        Keyword = 17,
                  +        Text = 18,
                  +        Color = 19,
                  +        File = 20,
                  +        Reference = 21,
                  +        Customcolor = 22,
                  +        Folder = 23,
                  +        TypeParameter = 24,
                  +        User = 25,
                  +        Issue = 26,
                  +        Snippet = 27
                  +    }
                  +
                  +    export interface CompletionItemLabel {
                  +        label: string;
                  +        detail?: string;
                  +        description?: string;
                  +    }
                  +
                  +    export enum CompletionItemTag {
                  +        Deprecated = 1
                  +    }
                  +
                  +    export enum CompletionItemInsertTextRule {
                  +        /**
                  +         * Adjust whitespace/indentation of multiline insert texts to
                  +         * match the current line indentation.
                  +         */
                  +        KeepWhitespace = 1,
                  +        /**
                  +         * `insertText` is a snippet.
                  +         */
                  +        InsertAsSnippet = 4
                  +    }
                  +
                  +    export interface CompletionItemRanges {
                  +        insert: IRange;
                  +        replace: IRange;
                  +    }
                  +
                  +    /**
                  +     * A completion item represents a text snippet that is
                  +     * proposed to complete text that is being typed.
                  +     */
                  +    export interface CompletionItem {
                  +        /**
                  +         * The label of this completion item. By default
                  +         * this is also the text that is inserted when selecting
                  +         * this completion.
                  +         */
                  +        label: string | CompletionItemLabel;
                  +        /**
                  +         * The kind of this completion item. Based on the kind
                  +         * an icon is chosen by the editor.
                  +         */
                  +        kind: CompletionItemKind;
                  +        /**
                  +         * A modifier to the `kind` which affect how the item
                  +         * is rendered, e.g. Deprecated is rendered with a strikeout
                  +         */
                  +        tags?: ReadonlyArray<CompletionItemTag>;
                  +        /**
                  +         * A human-readable string with additional information
                  +         * about this item, like type or symbol information.
                  +         */
                  +        detail?: string;
                  +        /**
                  +         * A human-readable string that represents a doc-comment.
                  +         */
                  +        documentation?: string | IMarkdownString;
                  +        /**
                  +         * A string that should be used when comparing this item
                  +         * with other items. When `falsy` the {@link CompletionItem.label label}
                  +         * is used.
                  +         */
                  +        sortText?: string;
                  +        /**
                  +         * A string that should be used when filtering a set of
                  +         * completion items. When `falsy` the {@link CompletionItem.label label}
                  +         * is used.
                  +         */
                  +        filterText?: string;
                  +        /**
                  +         * Select this item when showing. *Note* that only one completion item can be selected and
                  +         * that the editor decides which item that is. The rule is that the *first* item of those
                  +         * that match best is selected.
                  +         */
                  +        preselect?: boolean;
                  +        /**
                  +         * A string or snippet that should be inserted in a document when selecting
                  +         * this completion.
                  +         */
                  +        insertText: string;
                  +        /**
                  +         * Additional rules (as bitmask) that should be applied when inserting
                  +         * this completion.
                  +         */
                  +        insertTextRules?: CompletionItemInsertTextRule;
                  +        /**
                  +         * A range of text that should be replaced by this completion item.
                  +         *
                  +         * Defaults to a range from the start of the {@link TextDocument.getWordRangeAtPosition current word} to the
                  +         * current position.
                  +         *
                  +         * *Note:* The range must be a {@link Range.isSingleLine single line} and it must
                  +         * {@link Range.contains contain} the position at which completion has been {@link CompletionItemProvider.provideCompletionItems requested}.
                  +         */
                  +        range: IRange | CompletionItemRanges;
                  +        /**
                  +         * An optional set of characters that when pressed while this completion is active will accept it first and
                  +         * then type that character. *Note* that all commit characters should have `length=1` and that superfluous
                  +         * characters will be ignored.
                  +         */
                  +        commitCharacters?: string[];
                  +        /**
                  +         * An optional array of additional text edits that are applied when
                  +         * selecting this completion. Edits must not overlap with the main edit
                  +         * nor with themselves.
                  +         */
                  +        additionalTextEdits?: editor.ISingleEditOperation[];
                  +        /**
                  +         * A command that should be run upon acceptance of this item.
                  +         */
                  +        command?: Command;
                  +    }
                  +
                  +    export interface CompletionList {
                  +        suggestions: CompletionItem[];
                  +        incomplete?: boolean;
                  +        dispose?(): void;
                  +    }
                  +
                  +    /**
                  +     * How a suggest provider was triggered.
                  +     */
                  +    export enum CompletionTriggerKind {
                  +        Invoke = 0,
                  +        TriggerCharacter = 1,
                  +        TriggerForIncompleteCompletions = 2
                  +    }
                  +
                  +    /**
                  +     * Contains additional information about the context in which
                  +     * {@link CompletionItemProvider.provideCompletionItems completion provider} is triggered.
                  +     */
                  +    export interface CompletionContext {
                  +        /**
                  +         * How the completion was triggered.
                  +         */
                  +        triggerKind: CompletionTriggerKind;
                  +        /**
                  +         * Character that triggered the completion item provider.
                  +         *
                  +         * `undefined` if provider was not triggered by a character.
                  +         */
                  +        triggerCharacter?: string;
                  +    }
                  +
                  +    /**
                  +     * The completion item provider interface defines the contract between extensions and
                  +     * the [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense).
                  +     *
                  +     * When computing *complete* completion items is expensive, providers can optionally implement
                  +     * the `resolveCompletionItem`-function. In that case it is enough to return completion
                  +     * items with a {@link CompletionItem.label label} from the
                  +     * {@link CompletionItemProvider.provideCompletionItems provideCompletionItems}-function. Subsequently,
                  +     * when a completion item is shown in the UI and gains focus this provider is asked to resolve
                  +     * the item, like adding {@link CompletionItem.documentation doc-comment} or {@link CompletionItem.detail details}.
                  +     */
                  +    export interface CompletionItemProvider {
                  +        triggerCharacters?: string[];
                  +        /**
                  +         * Provide completion items for the given position and document.
                  +         */
                  +        provideCompletionItems(model: editor.ITextModel, position: Position, context: CompletionContext, token: CancellationToken): ProviderResult<CompletionList>;
                  +        /**
                  +         * Given a completion item fill in more data, like {@link CompletionItem.documentation doc-comment}
                  +         * or {@link CompletionItem.detail details}.
                  +         *
                  +         * The editor will only resolve a completion item once.
                  +         */
                  +        resolveCompletionItem?(item: CompletionItem, token: CancellationToken): ProviderResult<CompletionItem>;
                  +    }
                  +
                  +    /**
                  +     * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
                  +     */
                  +    export enum InlineCompletionTriggerKind {
                  +        /**
                  +         * Completion was triggered automatically while editing.
                  +         * It is sufficient to return a single completion item in this case.
                  +         */
                  +        Automatic = 0,
                  +        /**
                  +         * Completion was triggered explicitly by a user gesture.
                  +         * Return multiple completion items to enable cycling through them.
                  +         */
                  +        Explicit = 1
                  +    }
                  +
                  +    export interface InlineCompletionContext {
                  +        /**
                  +         * How the completion was triggered.
                  +         */
                  +        readonly triggerKind: InlineCompletionTriggerKind;
                  +        readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
                  +    }
                  +
                  +    export interface SelectedSuggestionInfo {
                  +        range: IRange;
                  +        text: string;
                  +        isSnippetText: boolean;
                  +        completionKind: CompletionItemKind;
                  +    }
                  +
                  +    export interface InlineCompletion {
                  +        /**
                  +         * The text to insert.
                  +         * If the text contains a line break, the range must end at the end of a line.
                  +         * If existing text should be replaced, the existing text must be a prefix of the text to insert.
                  +        */
                  +        readonly text: string;
                  +        /**
                  +         * The range to replace.
                  +         * Must begin and end on the same line.
                  +        */
                  +        readonly range?: IRange;
                  +        readonly command?: Command;
                  +    }
                  +
                  +    export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
                  +        readonly items: readonly TItem[];
                  +    }
                  +
                  +    export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
                  +        provideInlineCompletions(model: editor.ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
                  +        /**
                  +         * Will be called when an item is shown.
                  +        */
                  +        handleItemDidShow?(completions: T, item: T['items'][number]): void;
                  +        /**
                  +         * Will be called when a completions list is no longer in use and can be garbage-collected.
                  +        */
                  +        freeInlineCompletions(completions: T): void;
                  +    }
                  +
                  +    export interface CodeAction {
                  +        title: string;
                  +        command?: Command;
                  +        edit?: WorkspaceEdit;
                  +        diagnostics?: editor.IMarkerData[];
                  +        kind?: string;
                  +        isPreferred?: boolean;
                  +        disabled?: string;
                  +    }
                  +
                  +    export interface CodeActionList extends IDisposable {
                  +        readonly actions: ReadonlyArray<CodeAction>;
                  +    }
                  +
                  +    /**
                  +     * Represents a parameter of a callable-signature. A parameter can
                  +     * have a label and a doc-comment.
                  +     */
                  +    export interface ParameterInformation {
                  +        /**
                  +         * The label of this signature. Will be shown in
                  +         * the UI.
                  +         */
                  +        label: string | [number, number];
                  +        /**
                  +         * The human-readable doc-comment of this signature. Will be shown
                  +         * in the UI but can be omitted.
                  +         */
                  +        documentation?: string | IMarkdownString;
                  +    }
                  +
                  +    /**
                  +     * Represents the signature of something callable. A signature
                  +     * can have a label, like a function-name, a doc-comment, and
                  +     * a set of parameters.
                  +     */
                  +    export interface SignatureInformation {
                  +        /**
                  +         * The label of this signature. Will be shown in
                  +         * the UI.
                  +         */
                  +        label: string;
                  +        /**
                  +         * The human-readable doc-comment of this signature. Will be shown
                  +         * in the UI but can be omitted.
                  +         */
                  +        documentation?: string | IMarkdownString;
                  +        /**
                  +         * The parameters of this signature.
                  +         */
                  +        parameters: ParameterInformation[];
                  +        /**
                  +         * Index of the active parameter.
                  +         *
                  +         * If provided, this is used in place of `SignatureHelp.activeSignature`.
                  +         */
                  +        activeParameter?: number;
                  +    }
                  +
                  +    /**
                  +     * Signature help represents the signature of something
                  +     * callable. There can be multiple signatures but only one
                  +     * active and only one active parameter.
                  +     */
                  +    export interface SignatureHelp {
                  +        /**
                  +         * One or more signatures.
                  +         */
                  +        signatures: SignatureInformation[];
                  +        /**
                  +         * The active signature.
                  +         */
                  +        activeSignature: number;
                  +        /**
                  +         * The active parameter of the active signature.
                  +         */
                  +        activeParameter: number;
                  +    }
                  +
                  +    export interface SignatureHelpResult extends IDisposable {
                  +        value: SignatureHelp;
                  +    }
                  +
                  +    export enum SignatureHelpTriggerKind {
                  +        Invoke = 1,
                  +        TriggerCharacter = 2,
                  +        ContentChange = 3
                  +    }
                  +
                  +    export interface SignatureHelpContext {
                  +        readonly triggerKind: SignatureHelpTriggerKind;
                  +        readonly triggerCharacter?: string;
                  +        readonly isRetrigger: boolean;
                  +        readonly activeSignatureHelp?: SignatureHelp;
                  +    }
                  +
                  +    /**
                  +     * The signature help provider interface defines the contract between extensions and
                  +     * the [parameter hints](https://code.visualstudio.com/docs/editor/intellisense)-feature.
                  +     */
                  +    export interface SignatureHelpProvider {
                  +        readonly signatureHelpTriggerCharacters?: ReadonlyArray<string>;
                  +        readonly signatureHelpRetriggerCharacters?: ReadonlyArray<string>;
                  +        /**
                  +         * Provide help for the signature at the given position and document.
                  +         */
                  +        provideSignatureHelp(model: editor.ITextModel, position: Position, token: CancellationToken, context: SignatureHelpContext): ProviderResult<SignatureHelpResult>;
                  +    }
                  +
                  +    /**
                  +     * A document highlight kind.
                  +     */
                  +    export enum DocumentHighlightKind {
                  +        /**
                  +         * A textual occurrence.
                  +         */
                  +        Text = 0,
                  +        /**
                  +         * Read-access of a symbol, like reading a variable.
                  +         */
                  +        Read = 1,
                  +        /**
                  +         * Write-access of a symbol, like writing to a variable.
                  +         */
                  +        Write = 2
                  +    }
                  +
                  +    /**
                  +     * A document highlight is a range inside a text document which deserves
                  +     * special attention. Usually a document highlight is visualized by changing
                  +     * the background color of its range.
                  +     */
                  +    export interface DocumentHighlight {
                  +        /**
                  +         * The range this highlight applies to.
                  +         */
                  +        range: IRange;
                  +        /**
                  +         * The highlight kind, default is {@link DocumentHighlightKind.Text text}.
                  +         */
                  +        kind?: DocumentHighlightKind;
                  +    }
                  +
                  +    /**
                  +     * The document highlight provider interface defines the contract between extensions and
                  +     * the word-highlight-feature.
                  +     */
                  +    export interface DocumentHighlightProvider {
                  +        /**
                  +         * Provide a set of document highlights, like all occurrences of a variable or
                  +         * all exit-points of a function.
                  +         */
                  +        provideDocumentHighlights(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<DocumentHighlight[]>;
                  +    }
                  +
                  +    /**
                  +     * The linked editing range provider interface defines the contract between extensions and
                  +     * the linked editing feature.
                  +     */
                  +    export interface LinkedEditingRangeProvider {
                  +        /**
                  +         * Provide a list of ranges that can be edited together.
                  +         */
                  +        provideLinkedEditingRanges(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<LinkedEditingRanges>;
                  +    }
                  +
                  +    /**
                  +     * Represents a list of ranges that can be edited together along with a word pattern to describe valid contents.
                  +     */
                  +    export interface LinkedEditingRanges {
                  +        /**
                  +         * A list of ranges that can be edited together. The ranges must have
                  +         * identical length and text content. The ranges cannot overlap
                  +         */
                  +        ranges: IRange[];
                  +        /**
                  +         * An optional word pattern that describes valid contents for the given ranges.
                  +         * If no pattern is provided, the language configuration's word pattern will be used.
                  +         */
                  +        wordPattern?: RegExp;
                  +    }
                  +
                  +    /**
                  +     * Value-object that contains additional information when
                  +     * requesting references.
                  +     */
                  +    export interface ReferenceContext {
                  +        /**
                  +         * Include the declaration of the current symbol.
                  +         */
                  +        includeDeclaration: boolean;
                  +    }
                  +
                  +    /**
                  +     * The reference provider interface defines the contract between extensions and
                  +     * the [find references](https://code.visualstudio.com/docs/editor/editingevolved#_peek)-feature.
                  +     */
                  +    export interface ReferenceProvider {
                  +        /**
                  +         * Provide a set of project-wide references for the given position and document.
                  +         */
                  +        provideReferences(model: editor.ITextModel, position: Position, context: ReferenceContext, token: CancellationToken): ProviderResult<Location[]>;
                  +    }
                  +
                  +    /**
                  +     * Represents a location inside a resource, such as a line
                  +     * inside a text file.
                  +     */
                  +    export interface Location {
                  +        /**
                  +         * The resource identifier of this location.
                  +         */
                  +        uri: Uri;
                  +        /**
                  +         * The document range of this locations.
                  +         */
                  +        range: IRange;
                  +    }
                  +
                  +    export interface LocationLink {
                  +        /**
                  +         * A range to select where this link originates from.
                  +         */
                  +        originSelectionRange?: IRange;
                  +        /**
                  +         * The target uri this link points to.
                  +         */
                  +        uri: Uri;
                  +        /**
                  +         * The full range this link points to.
                  +         */
                  +        range: IRange;
                  +        /**
                  +         * A range to select this link points to. Must be contained
                  +         * in `LocationLink.range`.
                  +         */
                  +        targetSelectionRange?: IRange;
                  +    }
                  +
                  +    export type Definition = Location | Location[] | LocationLink[];
                  +
                  +    /**
                  +     * The definition provider interface defines the contract between extensions and
                  +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
                  +     * and peek definition features.
                  +     */
                  +    export interface DefinitionProvider {
                  +        /**
                  +         * Provide the definition of the symbol at the given position and document.
                  +         */
                  +        provideDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                  +    }
                  +
                  +    /**
                  +     * The definition provider interface defines the contract between extensions and
                  +     * the [go to definition](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-definition)
                  +     * and peek definition features.
                  +     */
                  +    export interface DeclarationProvider {
                  +        /**
                  +         * Provide the declaration of the symbol at the given position and document.
                  +         */
                  +        provideDeclaration(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                  +    }
                  +
                  +    /**
                  +     * The implementation provider interface defines the contract between extensions and
                  +     * the go to implementation feature.
                  +     */
                  +    export interface ImplementationProvider {
                  +        /**
                  +         * Provide the implementation of the symbol at the given position and document.
                  +         */
                  +        provideImplementation(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                  +    }
                  +
                  +    /**
                  +     * The type definition provider interface defines the contract between extensions and
                  +     * the go to type definition feature.
                  +     */
                  +    export interface TypeDefinitionProvider {
                  +        /**
                  +         * Provide the type definition of the symbol at the given position and document.
                  +         */
                  +        provideTypeDefinition(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<Definition | LocationLink[]>;
                  +    }
                  +
                  +    /**
                  +     * A symbol kind.
                  +     */
                  +    export enum SymbolKind {
                  +        File = 0,
                  +        Module = 1,
                  +        Namespace = 2,
                  +        Package = 3,
                  +        Class = 4,
                  +        Method = 5,
                  +        Property = 6,
                  +        Field = 7,
                  +        Constructor = 8,
                  +        Enum = 9,
                  +        Interface = 10,
                  +        Function = 11,
                  +        Variable = 12,
                  +        Constant = 13,
                  +        String = 14,
                  +        Number = 15,
                  +        Boolean = 16,
                  +        Array = 17,
                  +        Object = 18,
                  +        Key = 19,
                  +        Null = 20,
                  +        EnumMember = 21,
                  +        Struct = 22,
                  +        Event = 23,
                  +        Operator = 24,
                  +        TypeParameter = 25
                  +    }
                  +
                  +    export enum SymbolTag {
                  +        Deprecated = 1
                  +    }
                  +
                  +    export interface DocumentSymbol {
                  +        name: string;
                  +        detail: string;
                  +        kind: SymbolKind;
                  +        tags: ReadonlyArray<SymbolTag>;
                  +        containerName?: string;
                  +        range: IRange;
                  +        selectionRange: IRange;
                  +        children?: DocumentSymbol[];
                  +    }
                  +
                  +    /**
                  +     * The document symbol provider interface defines the contract between extensions and
                  +     * the [go to symbol](https://code.visualstudio.com/docs/editor/editingevolved#_go-to-symbol)-feature.
                  +     */
                  +    export interface DocumentSymbolProvider {
                  +        displayName?: string;
                  +        /**
                  +         * Provide symbol information for the given document.
                  +         */
                  +        provideDocumentSymbols(model: editor.ITextModel, token: CancellationToken): ProviderResult<DocumentSymbol[]>;
                  +    }
                  +
                  +    export type TextEdit = {
                  +        range: IRange;
                  +        text: string;
                  +        eol?: editor.EndOfLineSequence;
                  +    };
                  +
                  +    /**
                  +     * Interface used to format a model
                  +     */
                  +    export interface FormattingOptions {
                  +        /**
                  +         * Size of a tab in spaces.
                  +         */
                  +        tabSize: number;
                  +        /**
                  +         * Prefer spaces over tabs.
                  +         */
                  +        insertSpaces: boolean;
                  +    }
                  +
                  +    /**
                  +     * The document formatting provider interface defines the contract between extensions and
                  +     * the formatting-feature.
                  +     */
                  +    export interface DocumentFormattingEditProvider {
                  +        readonly displayName?: string;
                  +        /**
                  +         * Provide formatting edits for a whole document.
                  +         */
                  +        provideDocumentFormattingEdits(model: editor.ITextModel, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
                  +    }
                  +
                  +    /**
                  +     * The document formatting provider interface defines the contract between extensions and
                  +     * the formatting-feature.
                  +     */
                  +    export interface DocumentRangeFormattingEditProvider {
                  +        readonly displayName?: string;
                  +        /**
                  +         * Provide formatting edits for a range in a document.
                  +         *
                  +         * The given range is a hint and providers can decide to format a smaller
                  +         * or larger range. Often this is done by adjusting the start and end
                  +         * of the range to full syntax nodes.
                  +         */
                  +        provideDocumentRangeFormattingEdits(model: editor.ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
                  +    }
                  +
                  +    /**
                  +     * The document formatting provider interface defines the contract between extensions and
                  +     * the formatting-feature.
                  +     */
                  +    export interface OnTypeFormattingEditProvider {
                  +        autoFormatTriggerCharacters: string[];
                  +        /**
                  +         * Provide formatting edits after a character has been typed.
                  +         *
                  +         * The given position and character should hint to the provider
                  +         * what range the position to expand to, like find the matching `{`
                  +         * when `}` has been entered.
                  +         */
                  +        provideOnTypeFormattingEdits(model: editor.ITextModel, position: Position, ch: string, options: FormattingOptions, token: CancellationToken): ProviderResult<TextEdit[]>;
                  +    }
                  +
                  +    /**
                  +     * A link inside the editor.
                  +     */
                  +    export interface ILink {
                  +        range: IRange;
                  +        url?: Uri | string;
                  +        tooltip?: string;
                  +    }
                  +
                  +    export interface ILinksList {
                  +        links: ILink[];
                  +        dispose?(): void;
                  +    }
                  +
                  +    /**
                  +     * A provider of links.
                  +     */
                  +    export interface LinkProvider {
                  +        provideLinks(model: editor.ITextModel, token: CancellationToken): ProviderResult<ILinksList>;
                  +        resolveLink?: (link: ILink, token: CancellationToken) => ProviderResult<ILink>;
                  +    }
                  +
                  +    /**
                  +     * A color in RGBA format.
                  +     */
                  +    export interface IColor {
                  +        /**
                  +         * The red component in the range [0-1].
                  +         */
                  +        readonly red: number;
                  +        /**
                  +         * The green component in the range [0-1].
                  +         */
                  +        readonly green: number;
                  +        /**
                  +         * The blue component in the range [0-1].
                  +         */
                  +        readonly blue: number;
                  +        /**
                  +         * The alpha component in the range [0-1].
                  +         */
                  +        readonly alpha: number;
                  +    }
                  +
                  +    /**
                  +     * String representations for a color
                  +     */
                  +    export interface IColorPresentation {
                  +        /**
                  +         * The label of this color presentation. It will be shown on the color
                  +         * picker header. By default this is also the text that is inserted when selecting
                  +         * this color presentation.
                  +         */
                  +        label: string;
                  +        /**
                  +         * An {@link TextEdit edit} which is applied to a document when selecting
                  +         * this presentation for the color.
                  +         */
                  +        textEdit?: TextEdit;
                  +        /**
                  +         * An optional array of additional {@link TextEdit text edits} that are applied when
                  +         * selecting this color presentation.
                  +         */
                  +        additionalTextEdits?: TextEdit[];
                  +    }
                  +
                  +    /**
                  +     * A color range is a range in a text model which represents a color.
                  +     */
                  +    export interface IColorInformation {
                  +        /**
                  +         * The range within the model.
                  +         */
                  +        range: IRange;
                  +        /**
                  +         * The color represented in this range.
                  +         */
                  +        color: IColor;
                  +    }
                  +
                  +    /**
                  +     * A provider of colors for editor models.
                  +     */
                  +    export interface DocumentColorProvider {
                  +        /**
                  +         * Provides the color ranges for a specific model.
                  +         */
                  +        provideDocumentColors(model: editor.ITextModel, token: CancellationToken): ProviderResult<IColorInformation[]>;
                  +        /**
                  +         * Provide the string representations for a color.
                  +         */
                  +        provideColorPresentations(model: editor.ITextModel, colorInfo: IColorInformation, token: CancellationToken): ProviderResult<IColorPresentation[]>;
                  +    }
                  +
                  +    export interface SelectionRange {
                  +        range: IRange;
                  +    }
                  +
                  +    export interface SelectionRangeProvider {
                  +        /**
                  +         * Provide ranges that should be selected from the given position.
                  +         */
                  +        provideSelectionRanges(model: editor.ITextModel, positions: Position[], token: CancellationToken): ProviderResult<SelectionRange[][]>;
                  +    }
                  +
                  +    export interface FoldingContext {
                  +    }
                  +
                  +    /**
                  +     * A provider of folding ranges for editor models.
                  +     */
                  +    export interface FoldingRangeProvider {
                  +        /**
                  +         * An optional event to signal that the folding ranges from this provider have changed.
                  +         */
                  +        onDidChange?: IEvent<this>;
                  +        /**
                  +         * Provides the folding ranges for a specific model.
                  +         */
                  +        provideFoldingRanges(model: editor.ITextModel, context: FoldingContext, token: CancellationToken): ProviderResult<FoldingRange[]>;
                  +    }
                  +
                  +    export interface FoldingRange {
                  +        /**
                  +         * The one-based start line of the range to fold. The folded area starts after the line's last character.
                  +         */
                  +        start: number;
                  +        /**
                  +         * The one-based end line of the range to fold. The folded area ends with the line's last character.
                  +         */
                  +        end: number;
                  +        /**
                  +         * Describes the {@link FoldingRangeKind Kind} of the folding range such as {@link FoldingRangeKind.Comment Comment} or
                  +         * {@link FoldingRangeKind.Region Region}. The kind is used to categorize folding ranges and used by commands
                  +         * like 'Fold all comments'. See
                  +         * {@link FoldingRangeKind} for an enumeration of standardized kinds.
                  +         */
                  +        kind?: FoldingRangeKind;
                  +    }
                  +
                  +    export class FoldingRangeKind {
                  +        value: string;
                  +        /**
                  +         * Kind for folding range representing a comment. The value of the kind is 'comment'.
                  +         */
                  +        static readonly Comment: FoldingRangeKind;
                  +        /**
                  +         * Kind for folding range representing a import. The value of the kind is 'imports'.
                  +         */
                  +        static readonly Imports: FoldingRangeKind;
                  +        /**
                  +         * Kind for folding range representing regions (for example marked by `#region`, `#endregion`).
                  +         * The value of the kind is 'region'.
                  +         */
                  +        static readonly Region: FoldingRangeKind;
                  +        /**
                  +         * Creates a new {@link FoldingRangeKind}.
                  +         *
                  +         * @param value of the kind.
                  +         */
                  +        constructor(value: string);
                  +    }
                  +
                  +    export interface WorkspaceEditMetadata {
                  +        needsConfirmation: boolean;
                  +        label: string;
                  +        description?: string;
                  +    }
                  +
                  +    export interface WorkspaceFileEditOptions {
                  +        overwrite?: boolean;
                  +        ignoreIfNotExists?: boolean;
                  +        ignoreIfExists?: boolean;
                  +        recursive?: boolean;
                  +        copy?: boolean;
                  +        folder?: boolean;
                  +        skipTrashBin?: boolean;
                  +        maxSize?: number;
                  +    }
                  +
                  +    export interface WorkspaceFileEdit {
                  +        oldUri?: Uri;
                  +        newUri?: Uri;
                  +        options?: WorkspaceFileEditOptions;
                  +        metadata?: WorkspaceEditMetadata;
                  +    }
                  +
                  +    export interface WorkspaceTextEdit {
                  +        resource: Uri;
                  +        edit: TextEdit;
                  +        modelVersionId?: number;
                  +        metadata?: WorkspaceEditMetadata;
                  +    }
                  +
                  +    export interface WorkspaceEdit {
                  +        edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
                  +    }
                  +
                  +    export interface Rejection {
                  +        rejectReason?: string;
                  +    }
                  +
                  +    export interface RenameLocation {
                  +        range: IRange;
                  +        text: string;
                  +    }
                  +
                  +    export interface RenameProvider {
                  +        provideRenameEdits(model: editor.ITextModel, position: Position, newName: string, token: CancellationToken): ProviderResult<WorkspaceEdit & Rejection>;
                  +        resolveRenameLocation?(model: editor.ITextModel, position: Position, token: CancellationToken): ProviderResult<RenameLocation & Rejection>;
                  +    }
                  +
                  +    export interface Command {
                  +        id: string;
                  +        title: string;
                  +        tooltip?: string;
                  +        arguments?: any[];
                  +    }
                  +
                  +    export interface CodeLens {
                  +        range: IRange;
                  +        id?: string;
                  +        command?: Command;
                  +    }
                  +
                  +    export interface CodeLensList {
                  +        lenses: CodeLens[];
                  +        dispose(): void;
                  +    }
                  +
                  +    export interface CodeLensProvider {
                  +        onDidChange?: IEvent<this>;
                  +        provideCodeLenses(model: editor.ITextModel, token: CancellationToken): ProviderResult<CodeLensList>;
                  +        resolveCodeLens?(model: editor.ITextModel, codeLens: CodeLens, token: CancellationToken): ProviderResult<CodeLens>;
                  +    }
                  +
                  +    export enum InlayHintKind {
                  +        Other = 0,
                  +        Type = 1,
                  +        Parameter = 2
                  +    }
                  +
                  +    export interface InlayHint {
                  +        text: string;
                  +        position: IPosition;
                  +        kind: InlayHintKind;
                  +        whitespaceBefore?: boolean;
                  +        whitespaceAfter?: boolean;
                  +    }
                  +
                  +    export interface InlayHintsProvider {
                  +        onDidChangeInlayHints?: IEvent<void>;
                  +        provideInlayHints(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<InlayHint[]>;
                  +    }
                  +
                  +    export interface SemanticTokensLegend {
                  +        readonly tokenTypes: string[];
                  +        readonly tokenModifiers: string[];
                  +    }
                  +
                  +    export interface SemanticTokens {
                  +        readonly resultId?: string;
                  +        readonly data: Uint32Array;
                  +    }
                  +
                  +    export interface SemanticTokensEdit {
                  +        readonly start: number;
                  +        readonly deleteCount: number;
                  +        readonly data?: Uint32Array;
                  +    }
                  +
                  +    export interface SemanticTokensEdits {
                  +        readonly resultId?: string;
                  +        readonly edits: SemanticTokensEdit[];
                  +    }
                  +
                  +    export interface DocumentSemanticTokensProvider {
                  +        onDidChange?: IEvent<void>;
                  +        getLegend(): SemanticTokensLegend;
                  +        provideDocumentSemanticTokens(model: editor.ITextModel, lastResultId: string | null, token: CancellationToken): ProviderResult<SemanticTokens | SemanticTokensEdits>;
                  +        releaseDocumentSemanticTokens(resultId: string | undefined): void;
                  +    }
                  +
                  +    export interface DocumentRangeSemanticTokensProvider {
                  +        getLegend(): SemanticTokensLegend;
                  +        provideDocumentRangeSemanticTokens(model: editor.ITextModel, range: Range, token: CancellationToken): ProviderResult<SemanticTokens>;
                  +    }
                  +
                  +    export interface ILanguageExtensionPoint {
                  +        id: string;
                  +        extensions?: string[];
                  +        filenames?: string[];
                  +        filenamePatterns?: string[];
                  +        firstLine?: string;
                  +        aliases?: string[];
                  +        mimetypes?: string[];
                  +        configuration?: Uri;
                  +    }
                  +    /**
                  +     * A Monarch language definition
                  +     */
                  +    export interface IMonarchLanguage {
                  +        /**
                  +         * map from string to ILanguageRule[]
                  +         */
                  +        tokenizer: {
                  +            [name: string]: IMonarchLanguageRule[];
                  +        };
                  +        /**
                  +         * is the language case insensitive?
                  +         */
                  +        ignoreCase?: boolean;
                  +        /**
                  +         * is the language unicode-aware? (i.e., /\u{1D306}/)
                  +         */
                  +        unicode?: boolean;
                  +        /**
                  +         * if no match in the tokenizer assign this token class (default 'source')
                  +         */
                  +        defaultToken?: string;
                  +        /**
                  +         * for example [['{','}','delimiter.curly']]
                  +         */
                  +        brackets?: IMonarchLanguageBracket[];
                  +        /**
                  +         * start symbol in the tokenizer (by default the first entry is used)
                  +         */
                  +        start?: string;
                  +        /**
                  +         * attach this to every token class (by default '.' + name)
                  +         */
                  +        tokenPostfix?: string;
                  +        /**
                  +         * include line feeds (in the form of a \n character) at the end of lines
                  +         * Defaults to false
                  +         */
                  +        includeLF?: boolean;
                  +        /**
                  +         * Other keys that can be referred to by the tokenizer.
                  +         */
                  +        [key: string]: any;
                  +    }
                  +
                  +    /**
                  +     * A rule is either a regular expression and an action
                  +     * 		shorthands: [reg,act] == { regex: reg, action: act}
                  +     *		and       : [reg,act,nxt] == { regex: reg, action: act{ next: nxt }}
                  +     */
                  +    export type IShortMonarchLanguageRule1 = [string | RegExp, IMonarchLanguageAction];
                  +
                  +    export type IShortMonarchLanguageRule2 = [string | RegExp, IMonarchLanguageAction, string];
                  +
                  +    export interface IExpandedMonarchLanguageRule {
                  +        /**
                  +         * match tokens
                  +         */
                  +        regex?: string | RegExp;
                  +        /**
                  +         * action to take on match
                  +         */
                  +        action?: IMonarchLanguageAction;
                  +        /**
                  +         * or an include rule. include all rules from the included state
                  +         */
                  +        include?: string;
                  +    }
                  +
                  +    export type IMonarchLanguageRule = IShortMonarchLanguageRule1 | IShortMonarchLanguageRule2 | IExpandedMonarchLanguageRule;
                  +
                  +    /**
                  +     * An action is either an array of actions...
                  +     * ... or a case statement with guards...
                  +     * ... or a basic action with a token value.
                  +     */
                  +    export type IShortMonarchLanguageAction = string;
                  +
                  +    export interface IExpandedMonarchLanguageAction {
                  +        /**
                  +         * array of actions for each parenthesized match group
                  +         */
                  +        group?: IMonarchLanguageAction[];
                  +        /**
                  +         * map from string to ILanguageAction
                  +         */
                  +        cases?: Object;
                  +        /**
                  +         * token class (ie. css class) (or "@brackets" or "@rematch")
                  +         */
                  +        token?: string;
                  +        /**
                  +         * the next state to push, or "@push", "@pop", "@popall"
                  +         */
                  +        next?: string;
                  +        /**
                  +         * switch to this state
                  +         */
                  +        switchTo?: string;
                  +        /**
                  +         * go back n characters in the stream
                  +         */
                  +        goBack?: number;
                  +        /**
                  +         * @open or @close
                  +         */
                  +        bracket?: string;
                  +        /**
                  +         * switch to embedded language (using the mimetype) or get out using "@pop"
                  +         */
                  +        nextEmbedded?: string;
                  +        /**
                  +         * log a message to the browser console window
                  +         */
                  +        log?: string;
                  +    }
                  +
                  +    export type IMonarchLanguageAction = IShortMonarchLanguageAction | IExpandedMonarchLanguageAction | IShortMonarchLanguageAction[] | IExpandedMonarchLanguageAction[];
                  +
                  +    /**
                  +     * This interface can be shortened as an array, ie. ['{','}','delimiter.curly']
                  +     */
                  +    export interface IMonarchLanguageBracket {
                  +        /**
                  +         * open bracket
                  +         */
                  +        open: string;
                  +        /**
                  +         * closing bracket
                  +         */
                  +        close: string;
                  +        /**
                  +         * token class
                  +         */
                  +        token: string;
                  +    }
                  +
                  +}
                  +
                  +declare namespace monaco.worker {
                  +
                  +
                  +    export interface IMirrorTextModel {
                  +        readonly version: number;
                  +    }
                  +
                  +    export interface IMirrorModel extends IMirrorTextModel {
                  +        readonly uri: Uri;
                  +        readonly version: number;
                  +        getValue(): string;
                  +    }
                  +
                  +    export interface IWorkerContext<H = undefined> {
                  +        /**
                  +         * A proxy to the main thread host object.
                  +         */
                  +        host: H;
                  +        /**
                  +         * Get all available mirror models in this worker.
                  +         */
                  +        getMirrorModels(): IMirrorModel[];
                  +    }
                  +
                  +}
                  +
                  +//dtsv=3
                  +
                  +/*---------------------------------------------------------------------------------------------
                  + *  Copyright (c) Microsoft Corporation. All rights reserved.
                  + *  Licensed under the MIT License. See License.txt in the project root for license information.
                  + *--------------------------------------------------------------------------------------------*/
                  +
                  +declare namespace monaco.languages.typescript {
                  +    export enum ModuleKind {
                  +        None = 0,
                  +        CommonJS = 1,
                  +        AMD = 2,
                  +        UMD = 3,
                  +        System = 4,
                  +        ES2015 = 5,
                  +        ESNext = 99
                  +    }
                  +    export enum JsxEmit {
                  +        None = 0,
                  +        Preserve = 1,
                  +        React = 2,
                  +        ReactNative = 3,
                  +        ReactJSX = 4,
                  +        ReactJSXDev = 5
                  +    }
                  +    export enum NewLineKind {
                  +        CarriageReturnLineFeed = 0,
                  +        LineFeed = 1
                  +    }
                  +    export enum ScriptTarget {
                  +        ES3 = 0,
                  +        ES5 = 1,
                  +        ES2015 = 2,
                  +        ES2016 = 3,
                  +        ES2017 = 4,
                  +        ES2018 = 5,
                  +        ES2019 = 6,
                  +        ES2020 = 7,
                  +        ESNext = 99,
                  +        JSON = 100,
                  +        Latest = 99
                  +    }
                  +    export enum ModuleResolutionKind {
                  +        Classic = 1,
                  +        NodeJs = 2
                  +    }
                  +    interface MapLike<T> {
                  +        [index: string]: T;
                  +    }
                  +    type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
                  +    interface CompilerOptions {
                  +        allowJs?: boolean;
                  +        allowSyntheticDefaultImports?: boolean;
                  +        allowUmdGlobalAccess?: boolean;
                  +        allowUnreachableCode?: boolean;
                  +        allowUnusedLabels?: boolean;
                  +        alwaysStrict?: boolean;
                  +        baseUrl?: string;
                  +        charset?: string;
                  +        checkJs?: boolean;
                  +        declaration?: boolean;
                  +        declarationMap?: boolean;
                  +        emitDeclarationOnly?: boolean;
                  +        declarationDir?: string;
                  +        disableSizeLimit?: boolean;
                  +        disableSourceOfProjectReferenceRedirect?: boolean;
                  +        downlevelIteration?: boolean;
                  +        emitBOM?: boolean;
                  +        emitDecoratorMetadata?: boolean;
                  +        experimentalDecorators?: boolean;
                  +        forceConsistentCasingInFileNames?: boolean;
                  +        importHelpers?: boolean;
                  +        inlineSourceMap?: boolean;
                  +        inlineSources?: boolean;
                  +        isolatedModules?: boolean;
                  +        jsx?: JsxEmit;
                  +        keyofStringsOnly?: boolean;
                  +        lib?: string[];
                  +        locale?: string;
                  +        mapRoot?: string;
                  +        maxNodeModuleJsDepth?: number;
                  +        module?: ModuleKind;
                  +        moduleResolution?: ModuleResolutionKind;
                  +        newLine?: NewLineKind;
                  +        noEmit?: boolean;
                  +        noEmitHelpers?: boolean;
                  +        noEmitOnError?: boolean;
                  +        noErrorTruncation?: boolean;
                  +        noFallthroughCasesInSwitch?: boolean;
                  +        noImplicitAny?: boolean;
                  +        noImplicitReturns?: boolean;
                  +        noImplicitThis?: boolean;
                  +        noStrictGenericChecks?: boolean;
                  +        noUnusedLocals?: boolean;
                  +        noUnusedParameters?: boolean;
                  +        noImplicitUseStrict?: boolean;
                  +        noLib?: boolean;
                  +        noResolve?: boolean;
                  +        out?: string;
                  +        outDir?: string;
                  +        outFile?: string;
                  +        paths?: MapLike<string[]>;
                  +        preserveConstEnums?: boolean;
                  +        preserveSymlinks?: boolean;
                  +        project?: string;
                  +        reactNamespace?: string;
                  +        jsxFactory?: string;
                  +        composite?: boolean;
                  +        removeComments?: boolean;
                  +        rootDir?: string;
                  +        rootDirs?: string[];
                  +        skipLibCheck?: boolean;
                  +        skipDefaultLibCheck?: boolean;
                  +        sourceMap?: boolean;
                  +        sourceRoot?: string;
                  +        strict?: boolean;
                  +        strictFunctionTypes?: boolean;
                  +        strictBindCallApply?: boolean;
                  +        strictNullChecks?: boolean;
                  +        strictPropertyInitialization?: boolean;
                  +        stripInternal?: boolean;
                  +        suppressExcessPropertyErrors?: boolean;
                  +        suppressImplicitAnyIndexErrors?: boolean;
                  +        target?: ScriptTarget;
                  +        traceResolution?: boolean;
                  +        resolveJsonModule?: boolean;
                  +        types?: string[];
                  +        /** Paths used to compute primary types search locations */
                  +        typeRoots?: string[];
                  +        esModuleInterop?: boolean;
                  +        useDefineForClassFields?: boolean;
                  +        [option: string]: CompilerOptionsValue | undefined;
                  +    }
                  +    export interface DiagnosticsOptions {
                  +        noSemanticValidation?: boolean;
                  +        noSyntaxValidation?: boolean;
                  +        noSuggestionDiagnostics?: boolean;
                  +        /**
                  +         * Limit diagnostic computation to only visible files.
                  +         * Defaults to false.
                  +         */
                  +        onlyVisible?: boolean;
                  +        diagnosticCodesToIgnore?: number[];
                  +    }
                  +    export interface WorkerOptions {
                  +        /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */
                  +        customWorkerPath?: string;
                  +    }
                  +    interface InlayHintsOptions {
                  +        readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all';
                  +        readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean;
                  +        readonly includeInlayFunctionParameterTypeHints?: boolean;
                  +        readonly includeInlayVariableTypeHints?: boolean;
                  +        readonly includeInlayPropertyDeclarationTypeHints?: boolean;
                  +        readonly includeInlayFunctionLikeReturnTypeHints?: boolean;
                  +        readonly includeInlayEnumMemberValueHints?: boolean;
                  +    }
                  +    interface IExtraLib {
                  +        content: string;
                  +        version: number;
                  +    }
                  +    export interface IExtraLibs {
                  +        [path: string]: IExtraLib;
                  +    }
                  +    /**
                  +     * A linked list of formatted diagnostic messages to be used as part of a multiline message.
                  +     * It is built from the bottom up, leaving the head to be the "main" diagnostic.
                  +     */
                  +    interface DiagnosticMessageChain {
                  +        messageText: string;
                  +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
                  +        category: 0 | 1 | 2 | 3;
                  +        code: number;
                  +        next?: DiagnosticMessageChain[];
                  +    }
                  +    export interface Diagnostic extends DiagnosticRelatedInformation {
                  +        /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */
                  +        reportsUnnecessary?: {};
                  +        reportsDeprecated?: {};
                  +        source?: string;
                  +        relatedInformation?: DiagnosticRelatedInformation[];
                  +    }
                  +    export interface DiagnosticRelatedInformation {
                  +        /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */
                  +        category: 0 | 1 | 2 | 3;
                  +        code: number;
                  +        /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
                  +        file: {
                  +            fileName: string;
                  +        } | undefined;
                  +        start: number | undefined;
                  +        length: number | undefined;
                  +        messageText: string | DiagnosticMessageChain;
                  +    }
                  +    interface EmitOutput {
                  +        outputFiles: OutputFile[];
                  +        emitSkipped: boolean;
                  +    }
                  +    interface OutputFile {
                  +        name: string;
                  +        writeByteOrderMark: boolean;
                  +        text: string;
                  +    }
                  +    export interface LanguageServiceDefaults {
                  +        /**
                  +         * Event fired when compiler options or diagnostics options are changed.
                  +         */
                  +        readonly onDidChange: IEvent<void>;
                  +        /**
                  +         * Event fired when extra libraries registered with the language service change.
                  +         */
                  +        readonly onDidExtraLibsChange: IEvent<void>;
                  +        readonly workerOptions: WorkerOptions;
                  +        readonly inlayHintsOptions: InlayHintsOptions;
                  +        /**
                  +         * Get the current extra libs registered with the language service.
                  +         */
                  +        getExtraLibs(): IExtraLibs;
                  +        /**
                  +         * Add an additional source file to the language service. Use this
                  +         * for typescript (definition) files that won't be loaded as editor
                  +         * documents, like `jquery.d.ts`.
                  +         *
                  +         * @param content The file content
                  +         * @param filePath An optional file path
                  +         * @returns A disposable which will remove the file from the
                  +         * language service upon disposal.
                  +         */
                  +        addExtraLib(content: string, filePath?: string): IDisposable;
                  +        /**
                  +         * Remove all existing extra libs and set the additional source
                  +         * files to the language service. Use this for typescript definition
                  +         * files that won't be loaded as editor documents, like `jquery.d.ts`.
                  +         * @param libs An array of entries to register.
                  +         */
                  +        setExtraLibs(libs: {
                  +            content: string;
                  +            filePath?: string;
                  +        }[]): void;
                  +        /**
                  +         * Get current TypeScript compiler options for the language service.
                  +         */
                  +        getCompilerOptions(): CompilerOptions;
                  +        /**
                  +         * Set TypeScript compiler options.
                  +         */
                  +        setCompilerOptions(options: CompilerOptions): void;
                  +        /**
                  +         * Get the current diagnostics options for the language service.
                  +         */
                  +        getDiagnosticsOptions(): DiagnosticsOptions;
                  +        /**
                  +         * Configure whether syntactic and/or semantic validation should
                  +         * be performed
                  +         */
                  +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
                  +        /**
                  +         * Configure webworker options
                  +         */
                  +        setWorkerOptions(options: WorkerOptions): void;
                  +        /**
                  +         * No-op.
                  +         */
                  +        setMaximumWorkerIdleTime(value: number): void;
                  +        /**
                  +         * Configure if all existing models should be eagerly sync'd
                  +         * to the worker on start or restart.
                  +         */
                  +        setEagerModelSync(value: boolean): void;
                  +        /**
                  +         * Get the current setting for whether all existing models should be eagerly sync'd
                  +         * to the worker on start or restart.
                  +         */
                  +        getEagerModelSync(): boolean;
                  +        /**
                  +         * Configure inlay hints options.
                  +         */
                  +        setInlayHintsOptions(options: InlayHintsOptions): void;
                  +    }
                  +    export interface TypeScriptWorker {
                  +        /**
                  +         * Get diagnostic messages for any syntax issues in the given file.
                  +         */
                  +        getSyntacticDiagnostics(fileName: string): Promise<Diagnostic[]>;
                  +        /**
                  +         * Get diagnostic messages for any semantic issues in the given file.
                  +         */
                  +        getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
                  +        /**
                  +         * Get diagnostic messages for any suggestions related to the given file.
                  +         */
                  +        getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
                  +        /**
                  +         * Get the content of a given file.
                  +         */
                  +        getScriptText(fileName: string): Promise<string | undefined>;
                  +        /**
                  +         * Get diagnostic messages related to the current compiler options.
                  +         * @param fileName Not used
                  +         */
                  +        getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
                  +        /**
                  +         * Get code completions for the given file and position.
                  +         * @returns `Promise<typescript.CompletionInfo | undefined>`
                  +         */
                  +        getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
                  +        /**
                  +         * Get code completion details for the given file, position, and entry.
                  +         * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
                  +         */
                  +        getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
                  +        /**
                  +         * Get signature help items for the item at the given file and position.
                  +         * @returns `Promise<typescript.SignatureHelpItems | undefined>`
                  +         */
                  +        getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
                  +        /**
                  +         * Get quick info for the item at the given position in the file.
                  +         * @returns `Promise<typescript.QuickInfo | undefined>`
                  +         */
                  +        getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
                  +        /**
                  +         * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
                  +         * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
                  +         */
                  +        getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
                  +        /**
                  +         * Get the definition of the item at the given position in the file.
                  +         * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
                  +         */
                  +        getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
                  +        /**
                  +         * Get references to the item at the given position in the file.
                  +         * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
                  +         */
                  +        getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
                  +        /**
                  +         * Get outline entries for the item at the given position in the file.
                  +         * @returns `Promise<typescript.NavigationBarItem[]>`
                  +         */
                  +        getNavigationBarItems(fileName: string): Promise<any[]>;
                  +        /**
                  +         * Get changes which should be applied to format the given file.
                  +         * @param options `typescript.FormatCodeOptions`
                  +         * @returns `Promise<typescript.TextChange[]>`
                  +         */
                  +        getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
                  +        /**
                  +         * Get changes which should be applied to format the given range in the file.
                  +         * @param options `typescript.FormatCodeOptions`
                  +         * @returns `Promise<typescript.TextChange[]>`
                  +         */
                  +        getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
                  +        /**
                  +         * Get formatting changes which should be applied after the given keystroke.
                  +         * @param options `typescript.FormatCodeOptions`
                  +         * @returns `Promise<typescript.TextChange[]>`
                  +         */
                  +        getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
                  +        /**
                  +         * Get other occurrences which should be updated when renaming the item at the given file and position.
                  +         * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
                  +         */
                  +        findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
                  +        /**
                  +         * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
                  +         * @param options `typescript.RenameInfoOptions`
                  +         * @returns `Promise<typescript.RenameInfo>`
                  +         */
                  +        getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
                  +        /**
                  +         * Get transpiled output for the given file.
                  +         * @returns `typescript.EmitOutput`
                  +         */
                  +        getEmitOutput(fileName: string): Promise<EmitOutput>;
                  +        /**
                  +         * Get possible code fixes at the given position in the file.
                  +         * @param formatOptions `typescript.FormatCodeOptions`
                  +         * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
                  +         */
                  +        getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
                  +        /**
                  +         * Get inlay hints in the range of the file.
                  +         * @param fileName
                  +         * @returns `Promise<typescript.InlayHint[]>`
                  +         */
                  +        provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
                  +    }
                  +    export const typescriptVersion: string;
                  +    export const typescriptDefaults: LanguageServiceDefaults;
                  +    export const javascriptDefaults: LanguageServiceDefaults;
                  +    export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
                  +    export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
                  +}
                  +
                  +/*---------------------------------------------------------------------------------------------
                  + *  Copyright (c) Microsoft Corporation. All rights reserved.
                  + *  Licensed under the MIT License. See License.txt in the project root for license information.
                  + *--------------------------------------------------------------------------------------------*/
                  +
                  +declare namespace monaco.languages.css {
                  +    export interface Options {
                  +        readonly validate?: boolean;
                  +        readonly lint?: {
                  +            readonly compatibleVendorPrefixes?: 'ignore' | 'warning' | 'error';
                  +            readonly vendorPrefix?: 'ignore' | 'warning' | 'error';
                  +            readonly duplicateProperties?: 'ignore' | 'warning' | 'error';
                  +            readonly emptyRules?: 'ignore' | 'warning' | 'error';
                  +            readonly importStatement?: 'ignore' | 'warning' | 'error';
                  +            readonly boxModel?: 'ignore' | 'warning' | 'error';
                  +            readonly universalSelector?: 'ignore' | 'warning' | 'error';
                  +            readonly zeroUnits?: 'ignore' | 'warning' | 'error';
                  +            readonly fontFaceProperties?: 'ignore' | 'warning' | 'error';
                  +            readonly hexColorLength?: 'ignore' | 'warning' | 'error';
                  +            readonly argumentsInColorFunction?: 'ignore' | 'warning' | 'error';
                  +            readonly unknownProperties?: 'ignore' | 'warning' | 'error';
                  +            readonly ieHack?: 'ignore' | 'warning' | 'error';
                  +            readonly unknownVendorSpecificProperties?: 'ignore' | 'warning' | 'error';
                  +            readonly propertyIgnoredDueToDisplay?: 'ignore' | 'warning' | 'error';
                  +            readonly important?: 'ignore' | 'warning' | 'error';
                  +            readonly float?: 'ignore' | 'warning' | 'error';
                  +            readonly idSelector?: 'ignore' | 'warning' | 'error';
                  +        };
                  +        /**
                  +         * Configures the CSS data types known by the langauge service.
                  +         */
                  +        readonly data?: CSSDataConfiguration;
                  +    }
                  +    export interface ModeConfiguration {
                  +        /**
                  +         * Defines whether the built-in completionItemProvider is enabled.
                  +         */
                  +        readonly completionItems?: boolean;
                  +        /**
                  +         * Defines whether the built-in hoverProvider is enabled.
                  +         */
                  +        readonly hovers?: boolean;
                  +        /**
                  +         * Defines whether the built-in documentSymbolProvider is enabled.
                  +         */
                  +        readonly documentSymbols?: boolean;
                  +        /**
                  +         * Defines whether the built-in definitions provider is enabled.
                  +         */
                  +        readonly definitions?: boolean;
                  +        /**
                  +         * Defines whether the built-in references provider is enabled.
                  +         */
                  +        readonly references?: boolean;
                  +        /**
                  +         * Defines whether the built-in references provider is enabled.
                  +         */
                  +        readonly documentHighlights?: boolean;
                  +        /**
                  +         * Defines whether the built-in rename provider is enabled.
                  +         */
                  +        readonly rename?: boolean;
                  +        /**
                  +         * Defines whether the built-in color provider is enabled.
                  +         */
                  +        readonly colors?: boolean;
                  +        /**
                  +         * Defines whether the built-in foldingRange provider is enabled.
                  +         */
                  +        readonly foldingRanges?: boolean;
                  +        /**
                  +         * Defines whether the built-in diagnostic provider is enabled.
                  +         */
                  +        readonly diagnostics?: boolean;
                  +        /**
                  +         * Defines whether the built-in selection range provider is enabled.
                  +         */
                  +        readonly selectionRanges?: boolean;
                  +    }
                  +    export interface LanguageServiceDefaults {
                  +        readonly languageId: string;
                  +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
                  +        readonly modeConfiguration: ModeConfiguration;
                  +        readonly options: Options;
                  +        setOptions(options: Options): void;
                  +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
                  +        /** @deprecated Use options instead */
                  +        readonly diagnosticsOptions: DiagnosticsOptions;
                  +        /** @deprecated Use setOptions instead */
                  +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
                  +    }
                  +    /** @deprecated Use Options instead */
                  +    export type DiagnosticsOptions = Options;
                  +    export const cssDefaults: LanguageServiceDefaults;
                  +    export const scssDefaults: LanguageServiceDefaults;
                  +    export const lessDefaults: LanguageServiceDefaults;
                  +    export interface CSSDataConfiguration {
                  +        /**
                  +         * Defines whether the standard CSS properties, at-directives, pseudoClasses and pseudoElements are shown.
                  +         */
                  +        useDefaultDataProvider?: boolean;
                  +        /**
                  +         * Provides a set of custom data providers.
                  +         */
                  +        dataProviders?: {
                  +            [providerId: string]: CSSDataV1;
                  +        };
                  +    }
                  +    /**
                  +     * Custom CSS properties, at-directives, pseudoClasses and pseudoElements
                  +     * https://github.com/microsoft/vscode-css-languageservice/blob/main/docs/customData.md
                  +     */
                  +    export interface CSSDataV1 {
                  +        version: 1 | 1.1;
                  +        properties?: IPropertyData[];
                  +        atDirectives?: IAtDirectiveData[];
                  +        pseudoClasses?: IPseudoClassData[];
                  +        pseudoElements?: IPseudoElementData[];
                  +    }
                  +    export type EntryStatus = 'standard' | 'experimental' | 'nonstandard' | 'obsolete';
                  +    export interface IReference {
                  +        name: string;
                  +        url: string;
                  +    }
                  +    export interface IPropertyData {
                  +        name: string;
                  +        description?: string | MarkupContent;
                  +        browsers?: string[];
                  +        restrictions?: string[];
                  +        status?: EntryStatus;
                  +        syntax?: string;
                  +        values?: IValueData[];
                  +        references?: IReference[];
                  +        relevance?: number;
                  +    }
                  +    export interface IAtDirectiveData {
                  +        name: string;
                  +        description?: string | MarkupContent;
                  +        browsers?: string[];
                  +        status?: EntryStatus;
                  +        references?: IReference[];
                  +    }
                  +    export interface IPseudoClassData {
                  +        name: string;
                  +        description?: string | MarkupContent;
                  +        browsers?: string[];
                  +        status?: EntryStatus;
                  +        references?: IReference[];
                  +    }
                  +    export interface IPseudoElementData {
                  +        name: string;
                  +        description?: string | MarkupContent;
                  +        browsers?: string[];
                  +        status?: EntryStatus;
                  +        references?: IReference[];
                  +    }
                  +    export interface IValueData {
                  +        name: string;
                  +        description?: string | MarkupContent;
                  +        browsers?: string[];
                  +        status?: EntryStatus;
                  +        references?: IReference[];
                  +    }
                  +    export interface MarkupContent {
                  +        kind: MarkupKind;
                  +        value: string;
                  +    }
                  +    export type MarkupKind = 'plaintext' | 'markdown';
                  +}
                  +
                  +/*---------------------------------------------------------------------------------------------
                  + *  Copyright (c) Microsoft Corporation. All rights reserved.
                  + *  Licensed under the MIT License. See License.txt in the project root for license information.
                  + *--------------------------------------------------------------------------------------------*/
                  +
                  +declare namespace monaco.languages.json {
                  +    export interface DiagnosticsOptions {
                  +        /**
                  +         * If set, the validator will be enabled and perform syntax and schema based validation,
                  +         * unless `DiagnosticsOptions.schemaValidation` is set to `ignore`.
                  +         */
                  +        readonly validate?: boolean;
                  +        /**
                  +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
                  +         * `DiagnosticsOptions.allowComments` will override this setting.
                  +         */
                  +        readonly allowComments?: boolean;
                  +        /**
                  +         * A list of known schemas and/or associations of schemas to file names.
                  +         */
                  +        readonly schemas?: {
                  +            /**
                  +             * The URI of the schema, which is also the identifier of the schema.
                  +             */
                  +            readonly uri: string;
                  +            /**
                  +             * A list of glob patterns that describe for which file URIs the JSON schema will be used.
                  +             * '*' and '**' wildcards are supported. Exclusion patterns start with '!'.
                  +             * For example '*.schema.json', 'package.json', '!foo*.schema.json', 'foo/**\/BADRESP.json'.
                  +             * A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
                  +             */
                  +            readonly fileMatch?: string[];
                  +            /**
                  +             * The schema for the given URI.
                  +             */
                  +            readonly schema?: any;
                  +        }[];
                  +        /**
                  +         *  If set, the schema service would load schema content on-demand with 'fetch' if available
                  +         */
                  +        readonly enableSchemaRequest?: boolean;
                  +        /**
                  +         * The severity of problems from schema validation. If set to 'ignore', schema validation will be skipped. If not set, 'warning' is used.
                  +         */
                  +        readonly schemaValidation?: SeverityLevel;
                  +        /**
                  +         * The severity of problems that occurred when resolving and loading schemas. If set to 'ignore', schema resolving problems are not reported. If not set, 'warning' is used.
                  +         */
                  +        readonly schemaRequest?: SeverityLevel;
                  +        /**
                  +         * The severity of reported trailing commas. If not set, trailing commas will be reported as errors.
                  +         */
                  +        readonly trailingCommas?: SeverityLevel;
                  +        /**
                  +         * The severity of reported comments. If not set, 'DiagnosticsOptions.allowComments' defines whether comments are ignored or reported as errors.
                  +         */
                  +        readonly comments?: SeverityLevel;
                  +    }
                  +    export type SeverityLevel = 'error' | 'warning' | 'ignore';
                  +    export interface ModeConfiguration {
                  +        /**
                  +         * Defines whether the built-in documentFormattingEdit provider is enabled.
                  +         */
                  +        readonly documentFormattingEdits?: boolean;
                  +        /**
                  +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
                  +         */
                  +        readonly documentRangeFormattingEdits?: boolean;
                  +        /**
                  +         * Defines whether the built-in completionItemProvider is enabled.
                  +         */
                  +        readonly completionItems?: boolean;
                  +        /**
                  +         * Defines whether the built-in hoverProvider is enabled.
                  +         */
                  +        readonly hovers?: boolean;
                  +        /**
                  +         * Defines whether the built-in documentSymbolProvider is enabled.
                  +         */
                  +        readonly documentSymbols?: boolean;
                  +        /**
                  +         * Defines whether the built-in tokens provider is enabled.
                  +         */
                  +        readonly tokens?: boolean;
                  +        /**
                  +         * Defines whether the built-in color provider is enabled.
                  +         */
                  +        readonly colors?: boolean;
                  +        /**
                  +         * Defines whether the built-in foldingRange provider is enabled.
                  +         */
                  +        readonly foldingRanges?: boolean;
                  +        /**
                  +         * Defines whether the built-in diagnostic provider is enabled.
                  +         */
                  +        readonly diagnostics?: boolean;
                  +        /**
                  +         * Defines whether the built-in selection range provider is enabled.
                  +         */
                  +        readonly selectionRanges?: boolean;
                  +    }
                  +    export interface LanguageServiceDefaults {
                  +        readonly languageId: string;
                  +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
                  +        readonly diagnosticsOptions: DiagnosticsOptions;
                  +        readonly modeConfiguration: ModeConfiguration;
                  +        setDiagnosticsOptions(options: DiagnosticsOptions): void;
                  +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
                  +    }
                  +    export const jsonDefaults: LanguageServiceDefaults;
                  +}
                  +
                  +/*---------------------------------------------------------------------------------------------
                  + *  Copyright (c) Microsoft Corporation. All rights reserved.
                  + *  Licensed under the MIT License. See License.txt in the project root for license information.
                  + *--------------------------------------------------------------------------------------------*/
                  +
                  +declare namespace monaco.languages.html {
                  +    export interface HTMLFormatConfiguration {
                  +        readonly tabSize: number;
                  +        readonly insertSpaces: boolean;
                  +        readonly wrapLineLength: number;
                  +        readonly unformatted: string;
                  +        readonly contentUnformatted: string;
                  +        readonly indentInnerHtml: boolean;
                  +        readonly preserveNewLines: boolean;
                  +        readonly maxPreserveNewLines: number | undefined;
                  +        readonly indentHandlebars: boolean;
                  +        readonly endWithNewline: boolean;
                  +        readonly extraLiners: string;
                  +        readonly wrapAttributes: 'auto' | 'force' | 'force-aligned' | 'force-expand-multiline';
                  +    }
                  +    export interface CompletionConfiguration {
                  +        readonly [providerId: string]: boolean;
                  +    }
                  +    export interface Options {
                  +        /**
                  +         * If set, comments are tolerated. If set to false, syntax errors will be emitted for comments.
                  +         */
                  +        readonly format?: HTMLFormatConfiguration;
                  +        /**
                  +         * A list of known schemas and/or associations of schemas to file names.
                  +         */
                  +        readonly suggest?: CompletionConfiguration;
                  +        /**
                  +         * Configures the HTML data types known by the HTML langauge service.
                  +         */
                  +        readonly data?: HTMLDataConfiguration;
                  +    }
                  +    export interface ModeConfiguration {
                  +        /**
                  +         * Defines whether the built-in completionItemProvider is enabled.
                  +         */
                  +        readonly completionItems?: boolean;
                  +        /**
                  +         * Defines whether the built-in hoverProvider is enabled.
                  +         */
                  +        readonly hovers?: boolean;
                  +        /**
                  +         * Defines whether the built-in documentSymbolProvider is enabled.
                  +         */
                  +        readonly documentSymbols?: boolean;
                  +        /**
                  +         * Defines whether the built-in definitions provider is enabled.
                  +         */
                  +        readonly links?: boolean;
                  +        /**
                  +         * Defines whether the built-in references provider is enabled.
                  +         */
                  +        readonly documentHighlights?: boolean;
                  +        /**
                  +         * Defines whether the built-in rename provider is enabled.
                  +         */
                  +        readonly rename?: boolean;
                  +        /**
                  +         * Defines whether the built-in color provider is enabled.
                  +         */
                  +        readonly colors?: boolean;
                  +        /**
                  +         * Defines whether the built-in foldingRange provider is enabled.
                  +         */
                  +        readonly foldingRanges?: boolean;
                  +        /**
                  +         * Defines whether the built-in diagnostic provider is enabled.
                  +         */
                  +        readonly diagnostics?: boolean;
                  +        /**
                  +         * Defines whether the built-in selection range provider is enabled.
                  +         */
                  +        readonly selectionRanges?: boolean;
                  +        /**
                  +         * Defines whether the built-in documentFormattingEdit provider is enabled.
                  +         */
                  +        readonly documentFormattingEdits?: boolean;
                  +        /**
                  +         * Defines whether the built-in documentRangeFormattingEdit provider is enabled.
                  +         */
                  +        readonly documentRangeFormattingEdits?: boolean;
                  +    }
                  +    export interface LanguageServiceDefaults {
                  +        readonly languageId: string;
                  +        readonly modeConfiguration: ModeConfiguration;
                  +        readonly onDidChange: IEvent<LanguageServiceDefaults>;
                  +        readonly options: Options;
                  +        setOptions(options: Options): void;
                  +        setModeConfiguration(modeConfiguration: ModeConfiguration): void;
                  +    }
                  +    export const htmlLanguageService: LanguageServiceRegistration;
                  +    export const htmlDefaults: LanguageServiceDefaults;
                  +    export const handlebarLanguageService: LanguageServiceRegistration;
                  +    export const handlebarDefaults: LanguageServiceDefaults;
                  +    export const razorLanguageService: LanguageServiceRegistration;
                  +    export const razorDefaults: LanguageServiceDefaults;
                  +    export interface LanguageServiceRegistration extends IDisposable {
                  +        readonly defaults: LanguageServiceDefaults;
                  +    }
                  +    /**
                  +     * Registers a new HTML language service for the languageId.
                  +     * Note: 'html', 'handlebar' and 'razor' are registered by default.
                  +     *
                  +     * Use this method to register additional language ids with a HTML service.
                  +     * The language server has to be registered before an editor model is opened.
                  +     */
                  +    export function registerHTMLLanguageService(languageId: string, options?: Options, modeConfiguration?: ModeConfiguration): LanguageServiceRegistration;
                  +    export interface HTMLDataConfiguration {
                  +        /**
                  +         * Defines whether the standard HTML tags and attributes are shown
                  +         */
                  +        readonly useDefaultDataProvider?: boolean;
                  +        /**
                  +         * Provides a set of custom data providers.
                  +         */
                  +        readonly dataProviders?: {
                  +            [providerId: string]: HTMLDataV1;
                  +        };
                  +    }
                  +    /**
                  +     * Custom HTML tags attributes and attribute values
                  +     * https://github.com/microsoft/vscode-html-languageservice/blob/main/docs/customData.md
                  +     */
                  +    export interface HTMLDataV1 {
                  +        readonly version: 1 | 1.1;
                  +        readonly tags?: ITagData[];
                  +        readonly globalAttributes?: IAttributeData[];
                  +        readonly valueSets?: IValueSet[];
                  +    }
                  +    export interface IReference {
                  +        readonly name: string;
                  +        readonly url: string;
                  +    }
                  +    export interface ITagData {
                  +        readonly name: string;
                  +        readonly description?: string | MarkupContent;
                  +        readonly attributes: IAttributeData[];
                  +        readonly references?: IReference[];
                  +    }
                  +    export interface IAttributeData {
                  +        readonly name: string;
                  +        readonly description?: string | MarkupContent;
                  +        readonly valueSet?: string;
                  +        readonly values?: IValueData[];
                  +        readonly references?: IReference[];
                  +    }
                  +    export interface IValueData {
                  +        readonly name: string;
                  +        readonly description?: string | MarkupContent;
                  +        readonly references?: IReference[];
                  +    }
                  +    export interface IValueSet {
                  +        readonly name: string;
                  +        readonly values: IValueData[];
                  +    }
                  +    export interface MarkupContent {
                  +        readonly kind: MarkupKind;
                  +        readonly value: string;
                  +    }
                  +    export type MarkupKind = 'plaintext' | 'markdown';
                  +}
                  +
                  +
                  +
                  + + + + + + + + +
                  +
                  +

                  results matching ""

                  +
                    +
                    +
                    +

                    No results matching ""

                    +
                    +
                    +
                    + +
                    +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api-reference/components/MonacoDiffEditorComponent.html b/docs/api-reference/components/MonacoDiffEditorComponent.html index de02ad4b..1d28df72 100644 --- a/docs/api-reference/components/MonacoDiffEditorComponent.html +++ b/docs/api-reference/components/MonacoDiffEditorComponent.html @@ -8,7 +8,8 @@ - + + @@ -36,7 +37,9 @@ - -
                    +
                    -
                    +
                    @@ -198,6 +199,22 @@

                    +
                    +
                    +
                    +

                    +

                    8 Classes

                    +
                    +
                    +
                    +
                    +
                    +
                    +

                    +

                    13 Interfaces

                    +
                    +
                    +
                    @@ -213,14 +230,14 @@

                    - +
                    -

                    result-matching ""

                    +

                    results matching ""

                      @@ -232,6 +249,15 @@

                      No results matching "

                      + + - - + + diff --git a/docs/api-reference/styles/bootstrap.min.css b/docs/api-reference/styles/bootstrap.min.css index a9558eb0..5b96335f 100644 --- a/docs/api-reference/styles/bootstrap.min.css +++ b/docs/api-reference/styles/bootstrap.min.css @@ -1,5 +1,6 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/docs/api-reference/styles/compodoc.css b/docs/api-reference/styles/compodoc.css index a8783915..359490f9 100644 --- a/docs/api-reference/styles/compodoc.css +++ b/docs/api-reference/styles/compodoc.css @@ -15,14 +15,10 @@ body { /* IE9 Compat Modes */ src: local('Roboto Light'), local('Roboto-Light'), url('../fonts/roboto-v15-latin-300.eot?#iefix') format('embedded-opentype'), - /* IE6-IE8 */ - url('../fonts/roboto-v15-latin-300.woff2') format('woff2'), - /* Super Modern Browsers */ - url('../fonts/roboto-v15-latin-300.woff') format('woff'), - /* Modern Browsers */ - url('../fonts/roboto-v15-latin-300.ttf') format('truetype'), - /* Safari, Android, iOS */ - url('../fonts/roboto-v15-latin-300.svg#Roboto') format('svg'); + /* IE6-IE8 */ url('../fonts/roboto-v15-latin-300.woff2') format('woff2'), + /* Super Modern Browsers */ url('../fonts/roboto-v15-latin-300.woff') format('woff'), + /* Modern Browsers */ url('../fonts/roboto-v15-latin-300.ttf') format('truetype'), + /* Safari, Android, iOS */ url('../fonts/roboto-v15-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */ } @@ -36,14 +32,10 @@ body { /* IE9 Compat Modes */ src: local('Roboto'), local('Roboto-Regular'), url('../fonts/roboto-v15-latin-regular.eot?#iefix') format('embedded-opentype'), - /* IE6-IE8 */ - url('../fonts/roboto-v15-latin-regular.woff2') format('woff2'), - /* Super Modern Browsers */ - url('../fonts/roboto-v15-latin-regular.woff') format('woff'), - /* Modern Browsers */ - url('../fonts/roboto-v15-latin-regular.ttf') format('truetype'), - /* Safari, Android, iOS */ - url('../fonts/roboto-v15-latin-regular.svg#Roboto') format('svg'); + /* IE6-IE8 */ url('../fonts/roboto-v15-latin-regular.woff2') format('woff2'), + /* Super Modern Browsers */ url('../fonts/roboto-v15-latin-regular.woff') format('woff'), + /* Modern Browsers */ url('../fonts/roboto-v15-latin-regular.ttf') format('truetype'), + /* Safari, Android, iOS */ url('../fonts/roboto-v15-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */ } @@ -57,14 +49,10 @@ body { /* IE9 Compat Modes */ src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto-v15-latin-700.eot?#iefix') format('embedded-opentype'), - /* IE6-IE8 */ - url('../fonts/roboto-v15-latin-700.woff2') format('woff2'), - /* Super Modern Browsers */ - url('../fonts/roboto-v15-latin-700.woff') format('woff'), - /* Modern Browsers */ - url('../fonts/roboto-v15-latin-700.ttf') format('truetype'), - /* Safari, Android, iOS */ - url('../fonts/roboto-v15-latin-700.svg#Roboto') format('svg'); + /* IE6-IE8 */ url('../fonts/roboto-v15-latin-700.woff2') format('woff2'), + /* Super Modern Browsers */ url('../fonts/roboto-v15-latin-700.woff') format('woff'), + /* Modern Browsers */ url('../fonts/roboto-v15-latin-700.ttf') format('truetype'), + /* Safari, Android, iOS */ url('../fonts/roboto-v15-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */ } @@ -128,8 +116,9 @@ a[href] { padding: 0; } -.container-fluid.overview { +.tab-content.overview { margin-top: 50px; + margin-left: 15px; } .container-fluid.modules, @@ -143,7 +132,8 @@ a[href] { } .container-fluid.modules { - overflow-y: scroll; + width: 100%; + overflow-y: auto; } .container-fluid.module { @@ -200,11 +190,11 @@ a[href] { padding: 15px 30px; } -.content>h1:first-of-type { +.content > h1:first-of-type { margin-top: 15px; } -.content>h3:first-of-type { +.content > h3:first-of-type { margin-top: 5px; } @@ -275,8 +265,8 @@ a[href] { padding: 0px; } -.panel-group .panel-heading+.panel-collapse>.list-group, -.panel-group .panel-heading+.panel-collapse>.panel-body { +.panel-group .panel-heading + .panel-collapse > .list-group, +.panel-group .panel-heading + .panel-collapse > .panel-body { border-top: 0; } @@ -380,7 +370,7 @@ a[href] { border-bottom: none; } -.menu .panel-group .panel-heading+.panel-collapse>.panel-body { +.menu .panel-group .panel-heading + .panel-collapse > .panel-body { border-top: none; overflow-y: auto; max-height: 350px; @@ -390,7 +380,7 @@ a[href] { border-bottom: 1px solid #ddd; } -.panel-group .panel+.panel { +.panel-group .panel + .panel { margin-top: 0; } @@ -669,8 +659,8 @@ i { background: #fafafa; } -thead.coverage-header>tr>td, -thead.coverage-header>tr>th { +thead.coverage-header > tr > td, +thead.coverage-header > tr > th { border-bottom-width: 0; } @@ -975,6 +965,10 @@ ul.index-list { position: relative; } +.module-graph-container .size-buttons { + margin-top: 10px; +} + .module-graph-fullscreen-btn { position: absolute; right: 5px; @@ -994,3 +988,87 @@ ul.index-list { .package-dependencies li { margin: 5px 0; } + +.deprecated { + color: #e73440; +} +.deprecated p { + margin-bottom: 0; +} +.deprecated-name, +.deprecated-name:hover { + text-decoration: line-through; +} +.deprecated-name::before { + text-decoration: none; + display: inline-block; +} + +/** + * Dark mode + */ + +.dark-mode-switch { + position: absolute; + top: 70px; + right: 15px; + display: inline-block; + width: 60px; + height: 34px; +} + +.dark-mode-switch input { + opacity: 0; + width: 0; + height: 0; +} + +.dark-mode-switch .slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #5cc0ae80; + border-radius: 34px; + transition: 0.6s; +} + +.dark-mode-switch .slider:before { + position: absolute; + content: ''; + height: 26px; + width: 26px; + left: 4px; + bottom: 4px; + background-color: white; + border-radius: 50%; + transition: 0.4s; +} + +.dark-mode-switch input:checked + .slider { + background-color: #f1c40fb8; +} + +.dark-mode-switch.dark .slider-icon { + stroke: black; +} + +.dark-mode-switch input:checked + .slider:before { + transform: translateX(26px); +} + +.dark-mode-switch .slider-icon { + transform: rotate(250deg); + position: absolute; + right: 6px; + top: 7px; + stroke: white; +} + +@media (min-width: 768px) { + .dark-mode-switch { + top: 15px; + } +} \ No newline at end of file diff --git a/docs/api-reference/styles/dark.css b/docs/api-reference/styles/dark.css new file mode 100644 index 00000000..b3095939 --- /dev/null +++ b/docs/api-reference/styles/dark.css @@ -0,0 +1,117 @@ +body.dark { + background: #212121; + color: #fafafa; +} + +.dark code { + color: #e09393; +} + +.dark a, +.dark .menu ul.list li a.active { + color: #7fc9ff; +} + +.dark .menu { + background: #212121; + border-right: 1px solid #444; +} + +.dark .menu ul.list li a { + color: #fafafa; +} + +.dark .menu ul.list li.divider { + background: #444; +} + +.dark .xs-menu ul.list li:nth-child(2) { + margin: 0; + background: none; +} + +.dark .menu ul.list li:nth-child(2) { + margin: 0; + background: none; +} + +.dark #book-search-input { + background: #212121; + border-top: 1px solid #444; + border-bottom: 1px solid #444; + color: #fafafa; +} + +.dark .table.metadata > tbody > tr:hover { + color: #555; +} + +.dark .table-bordered { + border: 1px solid #444; +} + +.dark .table-bordered > tbody > tr > td, +.dark .table-bordered > tbody > tr > th, +.dark .table-bordered > tfoot > tr > td, +.dark .table-bordered > tfoot > tr > th, +.dark .table-bordered > thead > tr > td, +.dark .table-bordered > thead > tr > th { + border: 1px solid #444; +} + +.dark .coverage a, +.dark .coverage-count { + color: #fafafa; +} + +.dark .coverage-header { + color: black; +} + +.dark .routes svg text, +.dark .routes svg a { + fill: white; +} +.dark .routes svg rect { + fill: #212121 !important; +} + +.dark .navbar-default, +.dark .btn-default { + background-color: black; + border-color: #444; + color: #fafafa; +} + +.dark .navbar-default .navbar-brand { + color: #fafafa; +} + +.dark .overview .card, +.dark .modules .card { + background: #171717; + color: #fafafa; + border: 1px solid #444; +} +.dark .overview .card a { + color: #fafafa; +} + +.dark .modules .card-header { + background: none; + border-bottom: 1px solid #444; +} + +.dark .module .list-group-item { + background: none; + border: 1px solid #444; +} + +.dark .container-fluid.module h3 a { + color: #337ab7; +} + +.dark table.params thead { + background: #484848; + color: #fafafa; +} diff --git a/docs/api-reference/styles/laravel.css b/docs/api-reference/styles/laravel.css index fc53842d..bae0c3ab 100644 --- a/docs/api-reference/styles/laravel.css +++ b/docs/api-reference/styles/laravel.css @@ -1,15 +1,24 @@ +.nav-tabs > li > a { + text-decoration: none; +} + .navbar-default .navbar-brand { color: #f4645f; text-decoration: none; font-size: 16px; } -.menu ul.list li a[data-type="chapter-link"], .menu ul.list li.chapter .simple { +.menu ul.list li a[data-type='chapter-link'], +.menu ul.list li.chapter .simple { color: #525252; - border-bottom: 1px dashed rgba(0,0,0,.1); + border-bottom: 1px dashed rgba(0, 0, 0, 0.1); } -.content h1, .content h2, .content h3, .content h4, .content h5 { +.content h1, +.content h2, +.content h3, +.content h4, +.content h5 { color: #292e31; font-weight: normal; } @@ -54,16 +63,51 @@ code { color: #b93d6a; font-size: 13px; line-height: 20px; - box-shadow: 0 1px 1px rgba(0,0,0,.125); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125); } pre { margin: 0; padding: 12px 12px; - background: rgba(238,238,238,.35); + background: rgba(238, 238, 238, 0.35); border-radius: 3px; font-size: 13px; line-height: 1.5em; font-weight: 500; - box-shadow: 0 1px 1px rgba(0,0,0,.125); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125); +} + +.dark body { + color: #fafafa; +} +.dark .content h1, +.dark .content h2, +.dark .content h3, +.dark .content h4, +.dark .content h5 { + color: #fafafa; +} + +.dark code { + background: none; +} + +.dark .content { + color: #fafafa; +} + +.dark .menu ul.list li a[data-type='chapter-link'], +.dark .menu ul.list li.chapter .simple { + color: #fafafa; +} + +.dark .menu ul.list li.title a { + color: #fafafa; +} + +.dark .menu ul.list li a { + color: #fafafa; +} +.dark .menu ul.list li a.active { + color: #7fc9ff; } diff --git a/docs/api-reference/styles/material.css b/docs/api-reference/styles/material.css index a8dfd3f3..84d6c0ea 100644 --- a/docs/api-reference/styles/material.css +++ b/docs/api-reference/styles/material.css @@ -12,7 +12,8 @@ a:hover { text-decoration: none; } -.menu ul.list li a:hover, .menu ul.list li.chapter .simple:hover { +.menu ul.list li a:hover, +.menu ul.list li.chapter .simple:hover { background-color: #f8f9fa; text-decoration: none; } @@ -33,7 +34,8 @@ a:hover { /** CARD **/ .card { - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), + 0 1px 5px 0 rgba(0, 0, 0, 0.12); border-radius: 0.125rem; border: 0; margin-top: 1px; @@ -60,7 +62,9 @@ a:hover { color: rgba(0, 0, 0, 0.54); margin-right: 0; } -.nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover { +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:focus, +.nav-tabs > li.active > a:hover { color: rgba(0, 0, 0, 0.87); border-top: 0; border-left: 0; @@ -69,7 +73,8 @@ a:hover { border-color: #008cff; font-weight: bold; } -.nav>li>a:focus, .nav>li>a:hover { +.nav > li > a:focus, +.nav > li > a:hover { background: none; } @@ -90,13 +95,13 @@ a:hover { border-radius: 0.125rem; } -pre[class*="language-"] { +pre[class*='language-'] { border-radius: 0.125rem; } /** TABLE **/ -.table-hover>tbody>tr:hover { +.table-hover > tbody > tr:hover { background: rgba(0, 0, 0, 0.075); } @@ -106,4 +111,21 @@ table.params thead { table.params thead td { color: rgba(0, 0, 0, 0.54); font-weight: bold; -} \ No newline at end of file +} + +.dark .menu .title:hover { + background-color: #2d2d2d; +} +.dark .menu ul.list li a:hover, +.dark .menu ul.list li.chapter .simple:hover { + background-color: #2d2d2d; +} +.dark .nav-tabs > li:not(.active) > a { + color: #fafafa; +} +.dark table.params thead { + background: #484848; +} +.dark table.params thead td { + color: #fafafa; +} diff --git a/docs/api-reference/styles/original.css b/docs/api-reference/styles/original.css index 735dcd98..8e018149 100644 --- a/docs/api-reference/styles/original.css +++ b/docs/api-reference/styles/original.css @@ -1,17 +1,17 @@ -.navbar-default .navbar-brand, .menu ul.list li.title { +.navbar-default .navbar-brand, +.menu ul.list li.title { font-weight: bold; color: #3c3c3c; padding-bottom: 5px; } -.menu ul.list li a[data-type="chapter-link"], .menu ul.list li.chapter .simple { +.menu ul.list li a[data-type='chapter-link'], +.menu ul.list li.chapter .simple { font-weight: bold; - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; font-size: 14px; } -.menu ul.list li a[href="./routes.html"] { +.menu ul.list li a[href='./routes.html'] { border-bottom: none; } @@ -34,7 +34,7 @@ } .menu ul.list li a.active { - color: inherit; + color: #337ab7; font-weight: bold; } @@ -45,3 +45,7 @@ .menu ul.list li.divider { margin: 0; } + +.dark .menu ul.list li.chapter ul.links { + background: none; +} diff --git a/docs/api-reference/styles/postmark.css b/docs/api-reference/styles/postmark.css index a72030cf..ae8be3e9 100644 --- a/docs/api-reference/styles/postmark.css +++ b/docs/api-reference/styles/postmark.css @@ -1,5 +1,5 @@ .navbar-default { - background: #FFDE00; + background: #ffde00; border: none; } @@ -18,7 +18,7 @@ } .menu ul.list li.title { - background: #FFDE00; + background: #ffde00; color: #333; padding-bottom: 5px; } @@ -41,7 +41,7 @@ .menu ul.list li.chapter ul.links a:hover, .menu ul.list li.chapter ul.links a.active { - color: #FFDE00; + color: #ffde00; } .menu ul.list li.chapter ul.links { @@ -68,7 +68,7 @@ } .content a { - color: #007DCC; + color: #007dcc; } .content a:visited { @@ -93,8 +93,8 @@ background: rgba(255, 255, 255, 0.1); } -.breadcrumb>li+li:before { - content: "»\00a0" +.breadcrumb > li + li:before { + content: '»\00a0'; } .breadcrumb { @@ -105,7 +105,7 @@ code { white-space: nowrap; max-width: 100%; - background: #F5F5F5; + background: #f5f5f5; padding: 2px 5px; color: #666666; overflow-x: auto; @@ -222,3 +222,17 @@ hue-6-2: #c18401 .hljs-link { text-decoration: underline; } + +.dark .content { + background: none; +} +.dark code { + background: none; + color: #e09393; +} +.dark .menu ul.list li.chapter a.active { + color: #ffde00; +} +.dark .menu { + background: #272525; +} diff --git a/docs/api-reference/styles/prism.css b/docs/api-reference/styles/prism.css index b069d180..46a643b9 100644 --- a/docs/api-reference/styles/prism.css +++ b/docs/api-reference/styles/prism.css @@ -1,66 +1,68 @@ -/* http://prismjs.com/download.html?themes=prism-okaidia&languages=markup+css+clike+javascript+json+markdown+typescript&plugins=line-highlight+line-numbers+toolbar+copy-to-clipboard */ +/* PrismJS 1.24.0 +https://prismjs.com/download.html?#themes=prism-okaidia&languages=markup+css+clike+javascript+apacheconf+aspnet+bash+c+csharp+cpp+coffeescript+dart+docker+elm+git+go+graphql+handlebars+haskell+http+ignore+java+json+kotlin+less+markdown+markup-templating+nginx+php+powershell+ruby+rust+sass+scss+sql+swift+typescript+wasm+yaml&plugins=line-highlight+line-numbers+toolbar+copy-to-clipboard */ /** * okaidia theme for JavaScript, CSS and HTML * Loosely based on Monokai textmate theme by http://www.monokai.nl/ * @author ocodia */ - code[class*="language-"], -pre[class*="language-"] { - color: #f8f8f2; - background: none; - text-shadow: 0 1px rgba(0, 0, 0, 0.3); - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; +code[class*='language-'], +pre[class*='language-'] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; } /* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; - border-radius: 0.3em; +pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; } -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: #272822; +:not(pre) > code[class*='language-'], +pre[class*='language-'] { + background: #272822; } /* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; +:not(pre) > code[class*='language-'] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; } .token.comment, .token.prolog, .token.doctype, .token.cdata { - color: slategray; + color: #8292a2; } .token.punctuation { - color: #f8f8f2; + color: #f8f8f2; } -.namespace { - opacity: .7; +.token.namespace { + opacity: 0.7; } .token.property, @@ -68,12 +70,12 @@ pre[class*="language-"] { .token.constant, .token.symbol, .token.deleted { - color: #f92672; + color: #f92672; } .token.boolean, .token.number { - color: #ae81ff; + color: #ae81ff; } .token.selector, @@ -82,7 +84,7 @@ pre[class*="language-"] { .token.char, .token.builtin, .token.inserted { - color: #a6e22e; + color: #a6e22e; } .token.operator, @@ -91,169 +93,201 @@ pre[class*="language-"] { .language-css .token.string, .style .token.string, .token.variable { - color: #f8f8f2; + color: #f8f8f2; } .token.atrule, .token.attr-value, -.token.function { - color: #e6db74; +.token.function, +.token.class-name { + color: #e6db74; } .token.keyword { - color: #66d9ef; + color: #66d9ef; } .token.regex, .token.important { - color: #fd971f; + color: #fd971f; } .token.important, .token.bold { - font-weight: bold; + font-weight: bold; } .token.italic { - font-style: italic; + font-style: italic; } .token.entity { - cursor: help; + cursor: help; } pre[data-line] { - position: relative; - padding: 1em 0 1em 3em; + position: relative; + padding: 1em 0 1em 3em; } .line-highlight { - position: absolute; - left: 0; - right: 0; - padding: inherit 0; - margin-top: 1em; /* Same as .prism’s padding-top */ + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; /* Same as .prism’s padding-top */ - background: hsla(24, 20%, 50%,.08); - background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0)); + background: hsla(24, 20%, 50%, 0.08); + background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0)); - pointer-events: none; + pointer-events: none; - line-height: inherit; - white-space: pre; + line-height: inherit; + white-space: pre; +} + +@media print { + .line-highlight { + /* + * This will prevent browsers from replacing the background color with white. + * It's necessary because the element is layered on top of the displayed code. + */ + -webkit-print-color-adjust: exact; + color-adjust: exact; + } } .line-highlight:before, .line-highlight[data-end]:after { - content: attr(data-start); - position: absolute; - top: .4em; - left: .6em; - min-width: 1em; - padding: 0 .5em; - background-color: hsla(24, 20%, 50%,.4); - color: hsl(24, 20%, 95%); - font: bold 65%/1.5 sans-serif; - text-align: center; - vertical-align: .3em; - border-radius: 999px; - text-shadow: none; - box-shadow: 0 1px white; + content: attr(data-start); + position: absolute; + top: 0.4em; + left: 0.6em; + min-width: 1em; + padding: 0 0.5em; + background-color: hsla(24, 20%, 50%, 0.4); + color: hsl(24, 20%, 95%); + font: bold 65%/1.5 sans-serif; + text-align: center; + vertical-align: 0.3em; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px white; } .line-highlight[data-end]:after { - content: attr(data-end); - top: auto; - bottom: .4em; + content: attr(data-end); + top: auto; + bottom: 0.4em; } -pre.line-numbers { - position: relative; - padding-left: 3.8em; - counter-reset: linenumber; +.line-numbers .line-highlight:before, +.line-numbers .line-highlight:after { + content: none; } -pre.line-numbers > code { - position: relative; - white-space: inherit; +pre[id].linkable-line-numbers span.line-numbers-rows { + pointer-events: all; +} +pre[id].linkable-line-numbers span.line-numbers-rows > span:before { + cursor: pointer; +} +pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before { + background-color: rgba(128, 128, 128, 0.2); } -.line-numbers .line-numbers-rows { - position: absolute; - pointer-events: none; - top: 0; - font-size: 100%; - left: -3.8em; - width: 3em; /* works for line-numbers below 1000 lines */ - letter-spacing: -1px; - border-right: 1px solid #999; +pre[class*='language-'].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; +pre[class*='language-'].line-numbers > code { + position: relative; + white-space: inherit; +} +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } .line-numbers-rows > span { - pointer-events: none; - display: block; - counter-increment: linenumber; + display: block; + counter-increment: linenumber; } .line-numbers-rows > span:before { - content: counter(linenumber); - color: #999; - display: block; - padding-right: 0.8em; - text-align: right; + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; } + div.code-toolbar { - position: relative; + position: relative; } div.code-toolbar > .toolbar { - position: absolute; - top: .3em; - right: .2em; - transition: opacity 0.3s ease-in-out; - opacity: 0; + position: absolute; + top: 0.3em; + right: 0.2em; + transition: opacity 0.3s ease-in-out; + opacity: 0; } div.code-toolbar:hover > .toolbar { - opacity: 1; + opacity: 1; +} + +/* Separate line b/c rules are thrown out if selector is invalid. + IE11 and old Edge versions don't support :focus-within. */ +div.code-toolbar:focus-within > .toolbar { + opacity: 1; } div.code-toolbar > .toolbar .toolbar-item { - display: inline-block; + display: inline-block; } div.code-toolbar > .toolbar a { - cursor: pointer; + cursor: pointer; } div.code-toolbar > .toolbar button { - background: none; - border: 0; - color: inherit; - font: inherit; - line-height: normal; - overflow: visible; - padding: 0; - -webkit-user-select: none; /* for button */ - -moz-user-select: none; - -ms-user-select: none; + background: none; + border: 0; + color: inherit; + font: inherit; + line-height: normal; + overflow: visible; + padding: 0; + -webkit-user-select: none; /* for button */ + -moz-user-select: none; + -ms-user-select: none; } div.code-toolbar > .toolbar a, div.code-toolbar > .toolbar button, div.code-toolbar > .toolbar span { - color: #bbb; - font-size: .8em; - padding: 0 .5em; - background: #f5f2f0; - background: rgba(224, 224, 224, 0.2); - box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); - border-radius: .5em; + color: #bbb; + font-size: 0.8em; + padding: 0 0.5em; + background: #f5f2f0; + background: rgba(224, 224, 224, 0.2); + box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.2); + border-radius: 0.5em; } div.code-toolbar > .toolbar a:hover, @@ -262,6 +296,6 @@ div.code-toolbar > .toolbar button:hover, div.code-toolbar > .toolbar button:focus, div.code-toolbar > .toolbar span:hover, div.code-toolbar > .toolbar span:focus { - color: inherit; - text-decoration: none; -} \ No newline at end of file + color: inherit; + text-decoration: none; +} diff --git a/docs/api-reference/styles/readthedocs.css b/docs/api-reference/styles/readthedocs.css index 62811c6d..c3e9452f 100644 --- a/docs/api-reference/styles/readthedocs.css +++ b/docs/api-reference/styles/readthedocs.css @@ -1,5 +1,5 @@ .navbar-default { - background: #2980B9; + background: #2980b9; border: none; } @@ -16,12 +16,8 @@ color: #fcfcfc; } -.menu ul.list li a.active { - color: #0099e5; -} - .menu ul.list li.title { - background: #2980B9; + background: #2980b9; padding-bottom: 5px; } @@ -43,7 +39,12 @@ } .menu ul.list li.chapter ul.links a:hover { - background: #4E4A4A; + background: #4e4a4a; +} + +.menu ul.list li.chapter a.active, +.menu ul.list li.chapter ul.links a.active { + color: #0099e5; } .menu ul.list li.chapter ul.links { @@ -70,7 +71,7 @@ } .content a { - color: #2980B9; + color: #2980b9; } .content a:hover { @@ -78,7 +79,7 @@ } .content a:visited { - color: #9B59B6; + color: #9b59b6; } .menu ul.list li:nth-last-child(2) { @@ -90,7 +91,7 @@ code { max-width: 100%; background: #fff; padding: 2px 5px; - color: #E74C3C; + color: #e74c3c; overflow-x: auto; border-radius: 0; } @@ -104,5 +105,13 @@ pre { display: block; overflow: auto; color: #404040; - background: rgba(238, 238, 238, .35); + background: rgba(238, 238, 238, 0.35); +} + +.dark .content { + background: none; +} +.dark code { + background: none; + color: #e09393; } diff --git a/docs/api-reference/styles/reset.css b/docs/api-reference/styles/reset.css index af944401..9a153b52 100644 --- a/docs/api-reference/styles/reset.css +++ b/docs/api-reference/styles/reset.css @@ -3,46 +3,127 @@ License: none (public domain) */ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + font-size: 100%; + vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; } body { - line-height: 1; + line-height: 1; } -ol, ul { - list-style: none; +ol, +ul { + list-style: none; } -blockquote, q { - quotes: none; +blockquote, +q { + quotes: none; } -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; } table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file + border-collapse: collapse; + border-spacing: 0; +} diff --git a/docs/api-reference/styles/stripe.css b/docs/api-reference/styles/stripe.css index 2b333764..8e41582a 100644 --- a/docs/api-reference/styles/stripe.css +++ b/docs/api-reference/styles/stripe.css @@ -2,12 +2,17 @@ color: #0099e5; } -.menu ul.list li a[data-type="chapter-link"], .menu ul.list li.chapter .simple { +.menu ul.list li a[data-type='chapter-link'], +.menu ul.list li.chapter .simple { color: #939da3; text-transform: uppercase; } -.content h1, .content h2, .content h3, .content h4, .content h5 { +.content h1, +.content h2, +.content h3, +.content h4, +.content h5 { color: #292e31; font-weight: normal; } @@ -33,7 +38,8 @@ a:hover { margin-top: 0; } -.menu ul.list li.title a, .navbar a { +.menu ul.list li.title a, +.navbar a { color: #0099e5; text-decoration: none; font-size: 16px; @@ -51,7 +57,7 @@ code { border-radius: 4px; color: #b93d6a; font-size: 13px; - line-height: 20px + line-height: 20px; } pre { @@ -61,5 +67,40 @@ pre { border-radius: 5px; font-size: 13px; line-height: 1.5em; - font-weight: 500 + font-weight: 500; +} + +.dark body { + color: #fafafa; +} +.dark .content h1, +.dark .content h2, +.dark .content h3, +.dark .content h4, +.dark .content h5 { + color: #fafafa; +} + +.dark code { + background: none; +} + +.dark .content { + color: #fafafa; +} + +.dark .menu ul.list li a[data-type='chapter-link'], +.dark .menu ul.list li.chapter .simple { + color: #fafafa; +} + +.dark .menu ul.list li.title a { + color: #fafafa; +} + +.dark .menu ul.list li a { + color: #fafafa; +} +.dark .menu ul.list li a.active { + color: #7fc9ff; } diff --git a/docs/api-reference/styles/vagrant.css b/docs/api-reference/styles/vagrant.css index c1c35b1c..f72edb01 100644 --- a/docs/api-reference/styles/vagrant.css +++ b/docs/api-reference/styles/vagrant.css @@ -11,13 +11,18 @@ padding: 0 20px; } -.menu ul.list li a[data-type="chapter-link"], .menu ul.list li.chapter .simple { +.menu ul.list li a[data-type='chapter-link'], +.menu ul.list li.chapter .simple { color: white; text-transform: uppercase; - border-bottom: 1px solid rgba(255,255,255,0.4); + border-bottom: 1px solid rgba(255, 255, 255, 0.4); } -.content h1, .content h2, .content h3, .content h4, .content h5 { +.content h1, +.content h2, +.content h3, +.content h4, +.content h5 { color: #292e31; font-weight: normal; } @@ -51,7 +56,8 @@ a:hover { padding: 10px 15px; } -.menu ul.list li.title a, .navbar a { +.menu ul.list li.title a, +.navbar a { color: #8d9ba8; text-decoration: none; font-size: 16px; @@ -78,7 +84,7 @@ code { box-sizing: border-box; display: inline-block; padding: 0 5px; - background: rgba(0,148,191,0.1); + background: rgba(0, 148, 191, 0.1); border-radius: 3px; color: #0094bf; font-size: 13px; @@ -88,9 +94,37 @@ code { pre { margin: 0; padding: 12px 12px; - background: rgba(238,238,238,.35); + background: rgba(238, 238, 238, 0.35); border-radius: 3px; font-size: 13px; line-height: 1.5em; font-weight: 500; } + +.dark body { + color: #fafafa; +} +.dark .content h1, +.dark .content h2, +.dark .content h3, +.dark .content h4, +.dark .content h5 { + color: #fafafa; +} + +.dark code { + background: none; +} + +.dark .content { + color: #fafafa; +} + +.dark .menu ul.list li.title a, +.dark .navbar a { + color: #8d9ba8; +} + +.dark .menu ul.list li a { + color: #fafafa; +} diff --git a/docs/index.html b/docs/index.html index 9717a555..73e3ab8e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,15 +1,14 @@ - - - + Materia Monaco Editor Demo - - + + - - + + + \ No newline at end of file diff --git a/docs/main.49c2ed1acbc735a30d84.js b/docs/main.49c2ed1acbc735a30d84.js deleted file mode 100644 index 85afe90f..00000000 --- a/docs/main.49c2ed1acbc735a30d84.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{0:function(t,e,n){t.exports=n("ohnL")},"ABw/":function(t,e){function n(t){return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}))}n.keys=function(){return[]},n.resolve=n,t.exports=n,n.id="ABw/"},ohnL:function(t,e,n){"use strict";n.r(e);var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function i(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var o=function(){return(o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function a(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(a){i={error:a}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function l(){for(var t=[],e=0;e0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(z);function Y(t){return t}function X(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),function t(e,n,r){return void 0===r&&(r=Number.POSITIVE_INFINITY),"function"==typeof n?function(i){return i.pipe(t((function(t,r){return U(e(t,r)).pipe(q((function(e,i){return n(t,e,r,i)})))}),r))}:("number"==typeof n&&(r=n),function(t){return t.lift(new K(e,r))})}(Y,t)}function $(t,e){return e?G(t,e):new k(R(t))}function J(){for(var t=[],e=0;e1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof i&&(n=t.pop()),null===r&&1===t.length&&t[0]instanceof k?t[0]:X(n)($(t,r))}function tt(){return function(t){return t.lift(new et(t))}}var et=function(){function t(t){this.connectable=t}return t.prototype.call=function(t,e){var n=this.connectable;n._refCount++;var r=new nt(t,n),i=e.subscribe(r);return r.closed||(r.connection=n.connect()),i},t}(),nt=function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return i(e,t),e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._refCount;if(e<=0)this.connection=null;else if(t._refCount=e-1,e>1)this.connection=null;else{var n=this.connection,r=t._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},e}(w),rt=function(t){function e(e,n){var r=t.call(this)||this;return r.source=e,r.subjectFactory=n,r._refCount=0,r._isComplete=!1,r}return i(e,t),e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return t&&!t.isStopped||(this._subject=this.subjectFactory()),this._subject},e.prototype.connect=function(){var t=this._connection;return t||(this._isComplete=!1,(t=this._connection=new d).add(this.source.subscribe(new ot(this.getSubject(),this))),t.closed&&(this._connection=null,t=d.EMPTY)),t},e.prototype.refCount=function(){return tt()(this)},e}(k),it=function(){var t=rt.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}}(),ot=function(t){function e(e,n){var r=t.call(this,e)||this;return r.connectable=n,r}return i(e,t),e.prototype._error=function(e){this._unsubscribe(),t.prototype._error.call(this,e)},e.prototype._complete=function(){this.connectable._isComplete=!0,this._unsubscribe(),t.prototype._complete.call(this)},e.prototype._unsubscribe=function(){var t=this.connectable;if(t){this.connectable=null;var e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}},e}(T);function st(){return new I}function at(t){return{toString:t}.toString()}var lt="__parameters__";function ut(t,e,n){return at((function(){var r=function(t){return function(){for(var e=[],n=0;n=t.length?t.push(n):t.splice(e,0,n)}function ce(t,e){return e>=t.length-1?t.pop():t.splice(e,1)[0]}function pe(t,e){for(var n=[],r=0;r=0?t[1|r]=n:function(t,e,n,r){var i=t.length;if(i==e)t.push(n,r);else if(1===i)t.push(r,t[0]),t[0]=n;else{for(i--,t.push(t[i-1],t[i]);i>e;)t[i]=t[i-2],i--;t[e]=n,t[e+1]=r}}(t,r=~r,e,n),r}function fe(t,e){var n=de(t,e);if(n>=0)return t[1|n]}function de(t,e){return function(t,e,n){for(var r=0,i=t.length>>1;i!==r;){var o=r+(i-r>>1),s=t[o<<1];if(e===s)return o<<1;s>e?i=o:r=o+1}return~(i<<1)}(t,e)}var me=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}({}),ye=function(t){return t[t.Emulated=0]="Emulated",t[t.Native=1]="Native",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom",t}({}),ve={},ge=[],_e=0;function be(t){return at((function(){var e=t.type,n=e.prototype,r={},i={type:e,providersResolver:null,decls:t.decls,vars:t.vars,factory:null,template:t.template||null,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:t.exportAs||null,onChanges:null,onInit:n.ngOnInit||null,doCheck:n.ngDoCheck||null,afterContentInit:n.ngAfterContentInit||null,afterContentChecked:n.ngAfterContentChecked||null,afterViewInit:n.ngAfterViewInit||null,afterViewChecked:n.ngAfterViewChecked||null,onDestroy:n.ngOnDestroy||null,onPush:t.changeDetection===me.OnPush,directiveDefs:null,pipeDefs:null,selectors:t.selectors||ge,viewQuery:t.viewQuery||null,features:t.features||null,data:t.data||{},encapsulation:t.encapsulation||ye.Emulated,id:"c",styles:t.styles||ge,_:null,setInput:null,schemas:t.schemas||null,tView:null},o=t.directives,s=t.features,a=t.pipes;return i.id+=_e++,i.inputs=Se(t.inputs,r),i.outputs=Se(t.outputs),s&&s.forEach((function(t){return t(i)})),i.directiveDefs=o?function(){return("function"==typeof o?o():o).map(we)}:null,i.pipeDefs=a?function(){return("function"==typeof a?a():a).map(xe)}:null,i}))}function we(t){return Oe(t)||function(t){return t[Bt]||null}(t)}function xe(t){return function(t){return t[Ht]||null}(t)}var Ce={};function Ee(t){var e={type:t.type,bootstrap:t.bootstrap||ge,declarations:t.declarations||ge,imports:t.imports||ge,exports:t.exports||ge,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null};return null!=t.id&&at((function(){Ce[t.id]=t.type})),e}function Se(t,e){if(null==t)return ve;var n={};for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],o=i;Array.isArray(i)&&(o=i[1],i=i[0]),n[i]=r,e&&(e[i]=o)}return n}var ke=be;function Oe(t){return t[Nt]||null}function Ae(t,e){return t.hasOwnProperty(Wt)?t[Wt]:null}function Pe(t,e){var n=t[zt]||null;if(!n&&!0===e)throw new Error("Type "+Ot(t)+" does not have '\u0275mod' property.");return n}function Te(t){return Array.isArray(t)&&"object"==typeof t[1]}function Ie(t){return Array.isArray(t)&&!0===t[1]}function De(t){return 0!=(8&t.flags)}function Fe(t){return 2==(2&t.flags)}function Me(t){return 1==(1&t.flags)}function Re(t){return null!==t.template}function Ve(t){return 0!=(512&t[2])}var je=void 0;function Le(t){return!!t.listen}var Ne={createRenderer:function(t,e){return void 0!==je?je:"undefined"!=typeof document?document:void 0}};function Be(t){for(;Array.isArray(t);)t=t[0];return t}function He(t,e){return Be(e[t+20])}function ze(t,e){return Be(e[t.index])}function qe(t,e){return t.data[e+20]}function We(t,e){return t[e+20]}function Qe(t,e){var n=e[t];return Te(n)?n:n[0]}function Ge(t){var e=function(t){return t.__ngContext__||null}(t);return e?Array.isArray(e)?e:e.lView:null}function Ue(t){return 4==(4&t[2])}function Ke(t){return 128==(128&t[2])}function Ze(t,e){return null===t||null==e?null:t[e]}function Ye(t){t[18]=0}function Xe(t,e){t[5]+=e;for(var n=t,r=t[3];null!==r&&(1===e&&1===n[5]||-1===e&&0===n[5]);)r[5]+=e,n=r,r=r[3]}var $e={lFrame:bn(null),bindingsEnabled:!0,checkNoChangesMode:!1};function Je(){return $e.bindingsEnabled}function tn(){return $e.lFrame.lView}function en(){return $e.lFrame.tView}function nn(t){$e.lFrame.contextLView=t}function rn(){return $e.lFrame.previousOrParentTNode}function on(t,e){$e.lFrame.previousOrParentTNode=t,$e.lFrame.isParent=e}function sn(){return $e.lFrame.isParent}function an(){$e.lFrame.isParent=!1}function ln(){return $e.checkNoChangesMode}function un(t){$e.checkNoChangesMode=t}function cn(){var t=$e.lFrame,e=t.bindingRootIndex;return-1===e&&(e=t.bindingRootIndex=t.tView.bindingStartIndex),e}function pn(){return $e.lFrame.bindingIndex++}function hn(t){var e=$e.lFrame,n=e.bindingIndex;return e.bindingIndex=e.bindingIndex+t,n}function fn(t,e){var n=$e.lFrame;n.bindingIndex=n.bindingRootIndex=t,dn(e)}function dn(t){$e.lFrame.currentDirectiveIndex=t}function mn(){return $e.lFrame.currentQueryIndex}function yn(t){$e.lFrame.currentQueryIndex=t}function vn(t,e){var n=_n();$e.lFrame=n,n.previousOrParentTNode=e,n.lView=t}function gn(t,e){var n=_n(),r=t[1];$e.lFrame=n,n.previousOrParentTNode=e,n.lView=t,n.tView=r,n.contextLView=t,n.bindingIndex=r.bindingStartIndex}function _n(){var t=$e.lFrame,e=null===t?null:t.child;return null===e?bn(t):e}function bn(t){var e={previousOrParentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:0,contextLView:null,elementDepthCount:0,currentNamespace:null,currentSanitizer:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:t,child:null};return null!==t&&(t.child=e),e}function wn(){var t=$e.lFrame;return $e.lFrame=t.parent,t.previousOrParentTNode=null,t.lView=null,t}var xn=wn;function Cn(){var t=wn();t.isParent=!0,t.tView=null,t.selectedIndex=0,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.currentSanitizer=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function En(){return $e.lFrame.selectedIndex}function Sn(t){$e.lFrame.selectedIndex=t}function kn(){var t=$e.lFrame;return qe(t.tView,t.selectedIndex)}function On(t,e){for(var n=e.directiveStart,r=e.directiveEnd;n=r)break}else e[s]<0&&(t[18]+=65536),(o>11>16&&(3&t[2])===e&&(t[2]+=2048,o.call(s)):o.call(s)}var Fn=function(){return function(t,e,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=n}}();function Mn(t,e,n){for(var r=Le(t),i=0;ie){s=o-1;break}}}for(;o>16}function zn(t,e){for(var n=Hn(t),r=e;n>0;)r=r[15],n--;return r}function qn(t){return"string"==typeof t?t:null==t?"":""+t}function Wn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():qn(t)}var Qn=function(){return("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Lt)}();function Gn(t){return t instanceof Function?t():t}var Un=!0;function Kn(t){var e=Un;return Un=t,e}var Zn=0;function Yn(t,e){var n=$n(t,e);if(-1!==n)return n;var r=e[1];r.firstCreatePass&&(t.injectorIndex=e.length,Xn(r.data,t),Xn(e,null),Xn(r.blueprint,null));var i=Jn(t,e),o=t.injectorIndex;if(Nn(i))for(var s=Bn(i),a=zn(i,e),l=a[1].data,u=0;u<8;u++)e[o+u]=a[s+u]|l[s+u];return e[o+8]=i,o}function Xn(t,e){t.push(0,0,0,0,0,0,0,0,e)}function $n(t,e){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null==e[t.injectorIndex+8]?-1:t.injectorIndex}function Jn(t,e){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;for(var n=e[6],r=1;n&&-1===n.injectorIndex;)n=(e=e[15])?e[6]:null,r++;return n?n.injectorIndex|r<<16:-1}function tr(t,e,n){!function(t,e,n){var r="string"!=typeof n?n[Qt]:n.charCodeAt(0)||0;null==r&&(r=n[Qt]=Zn++);var i=255&r,o=1<0?255&e:e}(n);if("function"==typeof o){vn(e,t);try{var s=o();if(null!=s||r&dt.Optional)return s;throw new Error("No provider for "+Wn(n)+"!")}finally{xn()}}else if("number"==typeof o){if(-1===o)return new lr(t,e);var a=null,l=$n(t,e),u=-1,c=r&dt.Host?e[16][6]:null;for((-1===l||r&dt.SkipSelf)&&(u=-1===l?Jn(t,e):e[l+8],ar(r,!1)?(a=e[1],l=Bn(u),e=zn(u,e)):l=-1);-1!==l;){u=e[l+8];var p=e[1];if(sr(o,l,p.data)){var h=rr(l,e,n,a,r,c);if(h!==nr)return h}ar(r,e[1].data[l+8]===c)&&sr(o,l,e)?(a=p,l=Bn(u),e=zn(u,e)):l=-1}}}if(r&dt.Optional&&void 0===i&&(i=null),0==(r&(dt.Self|dt.Host))){var f=e[9],d=Jt(void 0);try{return f?f.get(n,i,r&dt.Optional):re(n,i,r&dt.Optional)}finally{Jt(d)}}if(r&dt.Optional)return i;throw new Error("NodeInjector: NOT_FOUND ["+Wn(n)+"]")}var nr={};function rr(t,e,n,r,i,o){var s=e[1],a=s.data[t+8],l=ir(a,s,n,null==r?Fe(a)&&Un:r!=s&&3===a.type,i&dt.Host&&o===a);return null!==l?or(e,s,l,a):nr}function ir(t,e,n,r,i){for(var o=t.providerIndexes,s=e.data,a=65535&o,l=t.directiveStart,u=o>>16,c=i?a+u:t.directiveEnd,p=r?a:a+u;p=l&&h.type===n)return p}if(i){var f=s[l];if(f&&Re(f)&&f.type===n)return l}return null}function or(t,e,n,r){var i=t[n],o=e.data;if(i instanceof Fn){var s=i;if(s.resolving)throw new Error("Circular dep for "+Wn(o[n]));var a=Kn(s.canSeeViewProviders);s.resolving=!0;var l=void 0;s.injectImpl&&(l=Jt(s.injectImpl)),vn(t,r);try{i=t[n]=s.factory(void 0,o,t,r),e.firstCreatePass&&n>=r.directiveStart&&function(t,e,n){var r=e.onChanges,i=e.onInit,o=e.doCheck;r&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,r),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,r)),i&&(n.preOrderHooks||(n.preOrderHooks=[])).push(-t,i),o&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t,o),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t,o))}(n,o[n],e)}finally{s.injectImpl&&Jt(l),Kn(a),s.resolving=!1,xn()}}return i}function sr(t,e,n){var r=64&t,i=32&t;return!!((128&t?r?i?n[e+7]:n[e+6]:i?n[e+5]:n[e+4]:r?i?n[e+3]:n[e+2]:i?n[e+1]:n[e])&1<o?"":i[c+1].toLowerCase();var h=8&r?p:null;if(h&&-1!==Cr(h,u,0)||2&r&&u!==p){if(Ar(r))return!1;s=!0}}}}else{if(!s&&!Ar(r)&&!Ar(l))return!1;if(s&&Ar(l))continue;s=!1,r=l|1&r}}return Ar(r)||s}function Ar(t){return 0==(1&t)}function Pr(t,e,n,r){if(null===e)return-1;var i=0;if(r||!n){for(var o=!1;i-1)for(n++;n0?'="'+a+'"':"")+"]"}else 8&r?i+="."+s:4&r&&(i+=" "+s);else""===i||Ar(s)||(e+=Dr(o,i),i=""),r=s,o=o||!Ar(r);n++}return""!==i&&(e+=Dr(o,i)),e}var Mr={};function Rr(t){var e=t[3];return Ie(e)?e[3]:e}function Vr(t){return Lr(t[13])}function jr(t){return Lr(t[4])}function Lr(t){for(;null!==t&&!Ie(t);)t=t[4];return t}function Nr(t){Br(en(),tn(),En()+t,ln())}function Br(t,e,n,r){if(!r)if(3==(3&e[2])){var i=t.preOrderCheckHooks;null!==i&&An(e,i,n)}else{var o=t.preOrderHooks;null!==o&&Pn(e,o,0,n)}Sn(n)}function Hr(t,e){return t<<17|e<<2}function zr(t){return t>>17&32767}function qr(t){return 2|t}function Wr(t){return(131068&t)>>2}function Qr(t,e){return-131069&t|e<<2}function Gr(t){return 1|t}function Ur(t,e){var n=t.contentQueries;if(null!==n)for(var r=0;r20&&Br(t,e,0,ln()),n(r,i)}finally{Sn(o)}}function ei(t,e,n){if(De(e))for(var r=e.directiveEnd,i=e.directiveStart;i0&&function t(e){for(var n=Vr(e);null!==n;n=jr(n))for(var r=10;r0&&t(i)}var s=e[1].components;if(null!==s)for(r=0;r0&&t(a)}}(n)}}function Ci(t,e){var n=Qe(e,t),r=n[1];!function(t,e){for(var n=e.length;n0&&(t[n-1][4]=r[4]);var o=ce(t,10+e);ji(r[1],r,!1,null);var s=o[19];null!==s&&s.detachView(o[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}}function Bi(t,e){if(!(256&e[2])){var n=e[11];Le(n)&&n.destroyNode&&$i(t,e,n,3,null,null),function(t){var e=t[13];if(!e)return zi(t[1],t);for(;e;){var n=null;if(Te(e))n=e[13];else{var r=e[10];r&&(n=r)}if(!n){for(;e&&!e[4]&&e!==t;)Te(e)&&zi(e[1],e),e=Hi(e,t);null===e&&(e=t),Te(e)&&zi(e[1],e),n=e&&e[4]}e=n}}(e)}}function Hi(t,e){var n;return Te(t)&&(n=t[6])&&2===n.type?Mi(n,t):t[3]===e?null:t[3]}function zi(t,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(t,e){var n;if(null!=t&&null!=(n=t.destroyHooks))for(var r=0;r=0?r[a]():r[-a].unsubscribe(),i+=2}else n[i].call(r[n[i+1]]);e[7]=null}}(t,e);var n=e[6];n&&3===n.type&&Le(e[11])&&e[11].destroy();var r=e[17];if(null!==r&&Ie(e[3])){r!==e[3]&&Li(r,e);var i=e[19];null!==i&&i.detachView(t)}}}function qi(t,e,n){for(var r=e.parent;null!=r&&(4===r.type||5===r.type);)r=(e=r).parent;if(null==r){var i=n[6];return 2===i.type?Ri(i,n):n[0]}if(e&&5===e.type&&4&e.flags)return ze(e,n).parentNode;if(2&r.flags){var o=t.data,s=o[o[r.index].directiveStart].encapsulation;if(s!==ye.ShadowDom&&s!==ye.Native)return null}return ze(r,n)}function Wi(t,e,n,r){Le(t)?t.insertBefore(e,n,r):e.insertBefore(n,r,!0)}function Qi(t,e,n){Le(t)?t.appendChild(e,n):e.appendChild(n)}function Gi(t,e,n,r){null!==r?Wi(t,e,n,r):Qi(t,e,n)}function Ui(t,e){return Le(t)?t.parentNode(e):e.parentNode}function Ki(t,e){if(2===t.type){var n=Mi(t,e);return null===n?null:Yi(n.indexOf(e,10)-10,n)}return 4===t.type||5===t.type?ze(t,e):null}function Zi(t,e,n,r){var i=qi(t,r,e);if(null!=i){var o=e[11],s=Ki(r.parent||e[6],e);if(Array.isArray(n))for(var a=0;a-1&&this._viewContainerRef.detach(t),this._viewContainerRef=null}Bi(this._lView[1],this._lView)},t.prototype.onDestroy=function(t){var e,n,r;e=this._lView[1],r=t,Ti(n=this._lView).push(r),e.firstCreatePass&&Ii(e).push(n[7].length-1,null)},t.prototype.markForCheck=function(){Si(this._cdRefInjectingView||this._lView)},t.prototype.detach=function(){this._lView[2]&=-129},t.prototype.reattach=function(){this._lView[2]|=128},t.prototype.detectChanges=function(){ki(this._lView[1],this._lView,this.context)},t.prototype.checkNoChanges=function(){!function(t,e,n){un(!0);try{ki(t,e,n)}finally{un(!1)}}(this._lView[1],this._lView,this.context)},t.prototype.attachToViewContainerRef=function(t){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=t},t.prototype.detachFromAppRef=function(){var t;this._appRef=null,$i(this._lView[1],t=this._lView,t[11],2,null,null)},t.prototype.attachToAppRef=function(t){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t},t}(),so=function(t){function e(e){var n=t.call(this,e)||this;return n._view=e,n}return i(e,t),e.prototype.detectChanges=function(){Oi(this._view)},e.prototype.checkNoChanges=function(){!function(t){un(!0);try{Oi(t)}finally{un(!1)}}(this._view)},Object.defineProperty(e.prototype,"context",{get:function(){return null},enumerable:!0,configurable:!0}),e}(oo);function ao(t,e,n){return no||(no=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e}(t)),new no(ze(e,n))}function lo(t,e,n,r){return ro||(ro=function(t){function e(e,n,r){var i=t.call(this)||this;return i._declarationView=e,i._declarationTContainer=n,i.elementRef=r,i}return i(e,t),e.prototype.createEmbeddedView=function(t){var e=this._declarationTContainer.tViews,n=Zr(this._declarationView,e,t,16,null,e.node);n[17]=this._declarationView[this._declarationTContainer.index];var r=this._declarationView[19];return null!==r&&(n[19]=r.createEmbeddedView(e)),Xr(e,n,t),new oo(n)},e}(t)),0===n.type?new ro(r,n,ao(e,n,r)):null}function uo(t,e,n,r){var o;io||(io=function(t){function n(e,n,r){var i=t.call(this)||this;return i._lContainer=e,i._hostTNode=n,i._hostView=r,i}return i(n,t),Object.defineProperty(n.prototype,"element",{get:function(){return ao(e,this._hostTNode,this._hostView)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"injector",{get:function(){return new lr(this._hostTNode,this._hostView)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"parentInjector",{get:function(){var t=Jn(this._hostTNode,this._hostView),e=zn(t,this._hostView),n=function(t,e,n){if(n.parent&&-1!==n.parent.injectorIndex){for(var r=n.parent.injectorIndex,i=n.parent;null!=i.parent&&r==i.parent.injectorIndex;)i=i.parent;return i}for(var o=Hn(t),s=e,a=e[6];o>1;)a=(s=s[15])[6],o--;return a}(t,this._hostView,this._hostTNode);return Nn(t)&&null!=n?new lr(n,e):new lr(null,this._hostView)},enumerable:!0,configurable:!0}),n.prototype.clear=function(){for(;this.length>0;)this.remove(this.length-1)},n.prototype.get=function(t){return null!==this._lContainer[8]&&this._lContainer[8][t]||null},Object.defineProperty(n.prototype,"length",{get:function(){return this._lContainer.length-10},enumerable:!0,configurable:!0}),n.prototype.createEmbeddedView=function(t,e,n){var r=t.createEmbeddedView(e||{});return this.insert(r,n),r},n.prototype.createComponent=function(t,e,n,r,i){var o=n||this.parentInjector;if(!i&&null==t.ngModule&&o){var s=o.get(se,null);s&&(i=s)}var a=t.create(o,r,void 0,i);return this.insert(a.hostView,e),a},n.prototype.insert=function(t,e){var n=t._lView,r=n[1];if(t.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");if(this.allocateContainerIfNeeded(),Ie(n[3])){var i=this.indexOf(t);if(-1!==i)this.detach(i);else{var o=n[3],s=new io(o,o[6],o[3]);s.detach(s.indexOf(t))}}var a=this._adjustIndex(e);return function(t,e,n,r){var i=10+r,o=n.length;r>0&&(n[i-1][4]=e),r ");else if("object"==typeof e){var o=[];for(var s in e)if(e.hasOwnProperty(s)){var a=e[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):Ot(a)))}i="{"+o.join(", ")+"}"}return n+(r?"("+r+")":"")+"["+i+"]: "+t.replace(Zt,"\n ")}("\n"+t.message,i,n,r),t.ngTokenPath=i,t.ngTempTokenPath=null,t}(a,t,"R3InjectorError",this.source)}throw a}finally{$t(i)}},t.prototype._resolveInjectorDefTypes=function(){var t=this;this.injectorDefTypes.forEach((function(e){return t.get(e)}))},t.prototype.toString=function(){var t=[];return this.records.forEach((function(e,n){return t.push(Ot(n))})),"R3Injector["+t.join(", ")+"]"},t.prototype.assertNotDestroyed=function(){if(this._destroyed)throw new Error("Injector has already been destroyed.")},t.prototype.processInjectorType=function(t,e,n){var r=this;if(!(t=It(t)))return!1;var i=wt(t),o=null==i&&t.ngModule||void 0,s=void 0===o?t:o,a=-1!==n.indexOf(s);if(void 0!==o&&(i=wt(o)),null==i)return!1;if(null!=i.imports&&!a){var l;n.push(s);try{le(i.imports,(function(t){r.processInjectorType(t,e,n)&&(void 0===l&&(l=[]),l.push(t))}))}finally{}if(void 0!==l)for(var u=function(t){var e=l[t],n=e.ngModule,i=e.providers;le(i,(function(t){return r.processProvider(t,n,i||yo)}))},c=0;c0){var n=pe(e,"?");throw new Error("Can't resolve all parameters for "+Ot(t)+": ("+n.join(", ")+").")}var r=function(t){var e=t&&(t[xt]||t[St]||t[Et]&&t[Et]());if(e){var n=function(t){if(t.hasOwnProperty("name"))return t.name;var e=(""+t).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(t);return console.warn('DEPRECATED: DI is instantiating a token "'+n+'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in v10. Please add @Injectable() to the "'+n+'" class.'),e}return null}(t);return null!==r?function(){return r.factory(t)}:function(){return new t}}(t);throw new Error("unreachable")}function xo(t,e,n){var r,i=void 0;if(So(t)){var o=It(t);return Ae(o)||wo(o)}if(Eo(t))i=function(){return It(t.useValue)};else if((r=t)&&r.useFactory)i=function(){return t.useFactory.apply(t,l(ie(t.deps||[])))};else if(function(t){return!(!t||!t.useExisting)}(t))i=function(){return ee(It(t.useExisting))};else{var s=It(t&&(t.useClass||t.provide));if(s||function(t,e,n){var r="";throw t&&e&&(r=" - only instances of Provider and Type are allowed, got: ["+e.map((function(t){return t==n?"?"+n+"?":"..."})).join(", ")+"]"),new Error("Invalid provider for the NgModule '"+Ot(t)+"'"+r)}(e,n,t),!function(t){return!!t.deps}(t))return Ae(s)||wo(s);i=function(){return new(s.bind.apply(s,l([void 0],ie(t.deps))))}}return i}function Co(t,e,n){return void 0===n&&(n=!1),{factory:t,value:e,multi:n?[]:void 0}}function Eo(t){return null!==t&&"object"==typeof t&&Yt in t}function So(t){return"function"==typeof t}var ko=function(t,e,n){return function(t,e,n,r){void 0===e&&(e=null),void 0===n&&(n=null);var i=_o(t,e,n,r);return i._resolveInjectorDefTypes(),i}({name:n},e,t,n)},Oo=function(){function t(){}return t.create=function(t,e){return Array.isArray(t)?ko(t,e,""):ko(t.providers,t.parent,t.name||"")},t.THROW_IF_NOT_FOUND=Kt,t.NULL=new oe,t.\u0275prov=vt({token:t,providedIn:"any",factory:function(){return ee(Ut)}}),t.__NG_ELEMENT_ID__=-1,t}(),Ao=new Map,Po=new Set;function To(t){return"string"==typeof t?t:t.text()}function Io(t,e,n){var r=n?t.styles:null,i=n?t.classes:null,o=0;if(null!==e)for(var s=0;sl?a[l]:null}"string"==typeof s&&(o+=2)}return null}(t,e,i,r.index)),null!==v)(v.__ngLastListenerFn__||v).__ngNextListenerFn__=o,v.__ngLastListenerFn__=o,p=!1;else{o=es(r,e,o,!1);var g=n.listen(f.name||d,i,o);c.push(o,g),u&&u.push(i,y,m,m+1)}}else o=es(r,e,o,!0),d.addEventListener(i,o,s),c.push(o),u&&u.push(i,y,m,s)}var _,b=r.outputs;if(p&&null!==b&&(_=b[i])){var w=_.length;if(w)for(var x=0;x0;)e=e[15],t--;return e}(t,$e.lFrame.contextLView))[8]}(t)}function rs(t,e){for(var n=null,r=function(t){var e=t.attrs;if(null!=e){var n=e.indexOf(5);if(0==(1&n))return e[n+1]}return null}(t),i=0;i=0}var us={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function cs(t){return t.substring(us.key,us.keyEnd)}function ps(t,e){var n=us.textEnd;return n===e?-1:(e=us.keyEnd=function(t,e,n){for(;e32;)e++;return e}(t,us.key=e,n),hs(t,e,n))}function hs(t,e,n){for(;e=0;n=ps(e,n))he(t,cs(e),!0)}function ys(t,e,n,r){var i,o=tn(),s=en(),a=hn(2);if(s.firstUpdatePass&&gs(s,t,a,r),e!==Mr&&No(o,a,e)){var l=void 0;null==n&&(l=null===(i=$e.lFrame)?null:i.currentSanitizer)&&(n=l),ws(s,s.data[En()+20],o,o[11],t,o[a+1]=function(t,e){return null==t||("function"==typeof e?t=e(t):"string"==typeof e?t+=e:"object"==typeof t&&(t=Ot(yr(t)))),t}(e,n),r,a)}}function vs(t,e){return e>=t.expandoStartIndex}function gs(t,e,n,r){var i=t.data;if(null===i[n+1]){var o=i[En()+20],s=vs(t,n);Es(o,r)&&null===e&&!s&&(e=!1),e=function(t,e,n,r){var i=function(t){var e=$e.lFrame.currentDirectiveIndex;return-1===e?null:t[e]}(t),o=r?e.residualClasses:e.residualStyles;if(null===i)0===(r?e.classBindings:e.styleBindings)&&(n=bs(n=_s(null,t,e,n,r),e.attrs,r),o=null);else{var s=e.directiveStylingLast;if(-1===s||t[s]!==i)if(n=_s(i,t,e,n,r),null===o){var a=function(t,e,n){var r=n?e.classBindings:e.styleBindings;if(0!==Wr(r))return t[zr(r)]}(t,e,r);void 0!==a&&Array.isArray(a)&&function(t,e,n,r){t[zr(n?e.classBindings:e.styleBindings)]=r}(t,e,r,a=bs(a=_s(null,t,e,a[1],r),e.attrs,r))}else o=function(t,e,n){for(var r=void 0,i=e.directiveEnd,o=1+e.directiveStylingLast;o0)&&(c=!0):u=n,i)if(0!==l){var p=zr(t[a+1]);t[r+1]=Hr(p,a),0!==p&&(t[p+1]=Qr(t[p+1],r)),t[a+1]=131071&t[a+1]|r<<17}else t[r+1]=Hr(a,0),0!==a&&(t[a+1]=Qr(t[a+1],r)),a=r;else t[r+1]=Hr(l,0),0===a?a=r:t[l+1]=Qr(t[l+1],r),l=r;c&&(t[r+1]=qr(t[r+1])),as(t,u,r,!0),as(t,u,r,!1),function(t,e,n,r,i){var o=i?t.residualClasses:t.residualStyles;null!=o&&"string"==typeof e&&de(o,e)>=0&&(n[r+1]=Gr(n[r+1]))}(e,u,t,r,o),s=Hr(a,l),o?e.classBindings=s:e.styleBindings=s}(i,o,e,n,s,r)}}function _s(t,e,n,r,i){var o=null,s=n.directiveEnd,a=n.directiveStylingLast;for(-1===a?a=n.directiveStart:a++;a0;){var l=t[i],u=Array.isArray(l),c=u?l[1]:l,p=null===c,h=n[i+1];h===Mr&&(h=p?ss:void 0);var f=p?fe(h,r):c===r?h:void 0;if(u&&!Cs(f)&&(f=fe(l,r)),Cs(f)&&(a=f,s))return a;var d=t[i+1];i=s?zr(d):Wr(d)}if(null!==e){var m=o?e.residualClasses:e.residualStyles;null!=m&&(a=fe(m,r))}return a}function Cs(t){return void 0!==t}function Es(t,e){return 0!=(t.flags&(e?16:32))}function Ss(t,e){void 0===e&&(e="");var n=tn(),r=en(),i=t+20,o=r.firstCreatePass?Yr(r,n[6],t,3,null,null):r.data[i],s=n[i]=function(t,e){return Le(e)?e.createText(t):e.createTextNode(t)}(e,n[11]);Zi(r,n,s,o),on(o,!1)}function ks(t){return Os("",t,""),ks}function Os(t,e,n){var r=tn(),i=Ho(r,t,e,n);return i!==Mr&&function(t,e,n){var r=He(e,t),i=t[11];Le(i)?i.setValue(r,n):r.textContent=n}(r,En(),i),Os}function As(t,e,n){var r=tn();return No(r,pn(),e)&&li(en(),kn(),r,t,e,r[11],n,!0),As}function Ps(t,e){var n=Ge(t)[1],r=n.data.length-1;On(n,{directiveStart:r,directiveEnd:r+1})}function Ts(t){for(var e=Object.getPrototypeOf(t.type.prototype).constructor,n=!0,r=[t];e;){var i=void 0;if(Re(t))i=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");i=e.\u0275dir}if(i){if(n){r.push(i);var o=t;o.inputs=Is(t.inputs),o.declaredInputs=Is(t.declaredInputs),o.outputs=Is(t.outputs);var s=i.hostBindings;s&&Ms(t,s);var a=i.viewQuery,l=i.contentQueries;if(a&&Ds(t,a),l&&Fs(t,l),yt(t.inputs,i.inputs),yt(t.declaredInputs,i.declaredInputs),yt(t.outputs,i.outputs),Re(i)&&i.data.animation){var u=t.data;u.animation=(u.animation||[]).concat(i.data.animation)}o.afterContentChecked=o.afterContentChecked||i.afterContentChecked,o.afterContentInit=t.afterContentInit||i.afterContentInit,o.afterViewChecked=t.afterViewChecked||i.afterViewChecked,o.afterViewInit=t.afterViewInit||i.afterViewInit,o.doCheck=t.doCheck||i.doCheck,o.onDestroy=t.onDestroy||i.onDestroy,o.onInit=t.onInit||i.onInit}var c=i.features;if(c)for(var p=0;p=0;r--){var i=t[r];i.hostVars=e+=i.hostVars,i.hostAttrs=jn(i.hostAttrs,n=jn(n,i.hostAttrs))}}(r)}function Is(t){return t===ve?{}:t===ge?[]:t}function Ds(t,e){var n=t.viewQuery;t.viewQuery=n?function(t,r){e(t,r),n(t,r)}:e}function Fs(t,e){var n=t.contentQueries;t.contentQueries=n?function(t,r,i){e(t,r,i),n(t,r,i)}:e}function Ms(t,e){var n=t.hostBindings;t.hostBindings=n?function(t,r){e(t,r),n(t,r)}:e}var Rs=function(){function t(t,e,n){this.previousValue=t,this.currentValue=e,this.firstChange=n}return t.prototype.isFirstChange=function(){return this.firstChange},t}();function Vs(t){t.type.prototype.ngOnChanges&&(t.setInput=js,t.onChanges=function(){var t=Ls(this),e=t&&t.current;if(e){var n=t.previous;if(n===ve)t.previous=e;else for(var r in e)n[r]=e[r];t.current=null,this.ngOnChanges(e)}})}function js(t,e,n,r){var i=Ls(t)||function(t,e){return t.__ngSimpleChanges__=e}(t,{previous:ve,current:null}),o=i.current||(i.current={}),s=i.previous,a=this.declaredInputs[n],l=s[a];o[a]=new Rs(l&&l.currentValue,e,s===ve),t[r]=e}function Ls(t){return t.__ngSimpleChanges__||null}function Ns(t,e,n,r,i){if(t=It(t),Array.isArray(t))for(var o=0;o>16;if(So(t)||!t.multi){var d=new Fn(u,i,qo),m=zs(l,e,i?p:p+f,h);-1===m?(tr(Yn(c,a),s,l),Bs(s,t,e.length),e.push(l),c.directiveStart++,c.directiveEnd++,i&&(c.providerIndexes+=65536),n.push(d),a.push(d)):(n[m]=d,a[m]=d)}else{var y=zs(l,e,p+f,h),v=zs(l,e,p,p+f),g=v>=0&&n[v];i&&!g||!i&&!(y>=0&&n[y])?(tr(Yn(c,a),s,l),d=function(t,e,n,r,i){var o=new Fn(t,n,qo);return o.multi=[],o.index=e,o.componentProviders=0,Hs(o,i,r&&!n),o}(i?Ws:qs,n.length,i,r,u),!i&&g&&(n[v].providerFactory=d),Bs(s,t,e.length,0),e.push(l),c.directiveStart++,c.directiveEnd++,i&&(c.providerIndexes+=65536),n.push(d),a.push(d)):Bs(s,t,y>-1?y:v,Hs(n[i?v:y],u,!i&&r)),!i&&r&&g&&n[v].componentProviders++}}}function Bs(t,e,n,r){var i=So(e);if(i||e.useClass){var o=(e.useClass||e).prototype.ngOnDestroy;if(o){var s=t.destroyHooks||(t.destroyHooks=[]);if(!i&&e.multi){var a=s.indexOf(n);-1===a?s.push(n,[r,o]):s[a+1].push(r,o)}else s.push(n,o)}}}function Hs(t,e,n){return n&&t.componentProviders++,t.multi.push(e)-1}function zs(t,e,n,r){for(var i=n;i0&&eo(u,p,b.join(" "))}if(o=qe(m,0),void 0!==e)for(var w=o.projection=[],x=0;x null != "+e+" <=Actual]")}(n,e),"string"==typeof t&&t.toLowerCase().replace(/_/g,"-")}var ja=new Map,La=function(t){function e(e,n){var r=t.call(this)||this;r._parent=n,r._bootstrapComponents=[],r.injector=r,r.destroyCbs=[],r.componentFactoryResolver=new ka(r);var i=Pe(e),o=e[qt]||null;return o&&Va(o),r._bootstrapComponents=Gn(i.bootstrap),r._r3Injector=_o(e,n,[{provide:se,useValue:r},{provide:Ys,useValue:r.componentFactoryResolver}],Ot(e)),r._r3Injector._resolveInjectorDefTypes(),r.instance=r.get(e),r}return i(e,t),e.prototype.get=function(t,e,n){return void 0===e&&(e=Oo.THROW_IF_NOT_FOUND),void 0===n&&(n=dt.Default),t===Oo||t===se||t===Ut?this:this._r3Injector.get(t,e,n)},e.prototype.destroy=function(){var t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach((function(t){return t()})),this.destroyCbs=null},e.prototype.onDestroy=function(t){this.destroyCbs.push(t)},e}(se),Na=function(t){function e(e){var n=t.call(this)||this;return n.moduleType=e,null!==Pe(e)&&function t(e){if(null!==e.\u0275mod.id){var n=e.\u0275mod.id;(function(t,e,n){if(e&&e!==n)throw new Error("Duplicate module registered for "+t+" - "+Ot(e)+" vs "+Ot(e.name))})(n,ja.get(n),e),ja.set(n,e)}var r=e.\u0275mod.imports;r instanceof Function&&(r=r()),r&&r.forEach((function(e){return t(e)}))}(e),n}return i(e,t),e.prototype.create=function(t){return new La(this.moduleType,t)},e}(ae);function Ba(t,e,n){var r=cn()+t,i=tn();return i[r]===Mr?Lo(i,r,n?e.call(n):e()):function(t,e){return t[e]}(i,r)}function Ha(t,e,n){var r=tn(),i=We(r,t);return function(t,e){return Ro.isWrapped(e)&&(e=Ro.unwrap(e),t[$e.lFrame.bindingIndex]=Mr),e}(r,function(t,e){return t[1].data[e+20].pure}(r,t)?function(t,e,n,r,i,o){var s=e+n;return No(t,s,i)?Lo(t,s+1,o?r.call(o,i):r(i)):function(t,e){var n=t[e];return n===Mr?void 0:n}(t,s+1)}(r,cn(),e,i.transform,n,i):i.transform(n))}var za=function(t){function e(e){void 0===e&&(e=!1);var n=t.call(this)||this;return n.__isAsync=e,n}return i(e,t),e.prototype.emit=function(e){t.prototype.next.call(this,e)},e.prototype.subscribe=function(e,n,r){var i,o=function(t){return null},s=function(){return null};e&&"object"==typeof e?(i=this.__isAsync?function(t){setTimeout((function(){return e.next(t)}))}:function(t){e.next(t)},e.error&&(o=this.__isAsync?function(t){setTimeout((function(){return e.error(t)}))}:function(t){e.error(t)}),e.complete&&(s=this.__isAsync?function(){setTimeout((function(){return e.complete()}))}:function(){e.complete()})):(i=this.__isAsync?function(t){setTimeout((function(){return e(t)}))}:function(t){e(t)},n&&(o=this.__isAsync?function(t){setTimeout((function(){return n(t)}))}:function(t){n(t)}),r&&(s=this.__isAsync?function(){setTimeout((function(){return r()}))}:function(){r()}));var a=t.prototype.subscribe.call(this,i,o,s);return e instanceof d&&e.add(a),a},e}(I);function qa(){return this._results[Fo()]()}var Wa=function(){function t(){this.dirty=!0,this._results=[],this.changes=new za,this.length=0;var e=Fo(),n=t.prototype;n[e]||(n[e]=qa)}return t.prototype.map=function(t){return this._results.map(t)},t.prototype.filter=function(t){return this._results.filter(t)},t.prototype.find=function(t){return this._results.find(t)},t.prototype.reduce=function(t,e){return this._results.reduce(t,e)},t.prototype.forEach=function(t){this._results.forEach(t)},t.prototype.some=function(t){return this._results.some(t)},t.prototype.toArray=function(){return this._results.slice()},t.prototype.toString=function(){return this._results.toString()},t.prototype.reset=function(t){this._results=function t(e,n){void 0===n&&(n=e);for(var r=0;r0)i.push(a[l/2]);else{for(var c=s[l+1],p=n[-u],h=10;h0&&(i=setTimeout((function(){r._callbacks=r._callbacks.filter((function(t){return t.timeoutId!==i})),t(r._didWork,r.getPendingTasks())}),e)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:n})},t.prototype.whenStable=function(t,e,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(t,e,n),this._runCallbacksIfReady()},t.prototype.getPendingRequestCount=function(){return this._pendingCount},t.prototype.findProviders=function(t,e,n){return[]},t.\u0275fac=function(e){return new(e||t)(ee(Dl))},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}(),zl=function(){function t(){this._applications=new Map,ql.addToWindow(this)}return t.prototype.registerApplication=function(t,e){this._applications.set(t,e)},t.prototype.unregisterApplication=function(t){this._applications.delete(t)},t.prototype.unregisterAllApplications=function(){this._applications.clear()},t.prototype.getTestability=function(t){return this._applications.get(t)||null},t.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},t.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},t.prototype.findTestabilityInTree=function(t,e){return void 0===e&&(e=!0),ql.findTestabilityInTree(this,t,e)},t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}(),ql=new(function(){function t(){}return t.prototype.addToWindow=function(t){},t.prototype.findTestabilityInTree=function(t,e,n){return null},t}()),Wl=function(t,e,n){var r=t.get(Pl,[]).concat(e),i=new Na(n);if(0===Ao.size)return Promise.resolve(i);var o,s,a=(o=r.map((function(t){return t.providers})),s=[],o.forEach((function(t){return t&&s.push.apply(s,l(t))})),s);if(0===a.length)return Promise.resolve(i);var u=function(){var t=Lt.ng;if(!t||!t.\u0275compilerFacade)throw new Error("Angular JIT compilation failed: '@angular/compiler' not loaded!\n - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\n - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\n - Alternatively provide the compiler with 'import \"@angular/compiler\";' before bootstrapping.");return t.\u0275compilerFacade}(),c=Oo.create({providers:a}).get(u.ResourceLoader);return function(t){var e=[],n=new Map;function r(t){var e=n.get(t);if(!e){var r=function(t){return Promise.resolve(c.get(t))}(t);n.set(t,e=r.then(To))}return e}return Ao.forEach((function(t,n){var i=[];t.templateUrl&&i.push(r(t.templateUrl).then((function(e){t.template=e})));var o=t.styleUrls,s=t.styles||(t.styles=[]),a=t.styles.length;o&&o.forEach((function(e,n){s.push(""),i.push(r(e).then((function(r){s[a+n]=r,o.splice(o.indexOf(e),1),0==o.length&&(t.styleUrls=void 0)})))}));var l=Promise.all(i).then((function(){return function(t){Po.delete(t)}(n)}));e.push(l)})),Ao=new Map,Promise.all(e).then((function(){}))}().then((function(){return i}))},Ql=new Gt("AllowMultipleToken");function Gl(t,e,n){void 0===n&&(n=[]);var r="Platform: "+e,i=new Gt(r);return function(e){void 0===e&&(e=[]);var o=Ul();if(!o||o.injector.get(Ql,!1))if(t)t(n.concat(e).concat({provide:i,useValue:!0}));else{var s=n.concat(e).concat({provide:i,useValue:!0},{provide:ho,useValue:"platform"});!function(t){if(Nl&&!Nl.destroyed&&!Nl.injector.get(Ql,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Nl=t.get(Kl);var e=t.get(ml,null);e&&e.forEach((function(t){return t()}))}(Oo.create({providers:s,name:r}))}return function(t){var e=Ul();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}(i)}}function Ul(){return Nl&&!Nl.destroyed?Nl:null}var Kl=function(){function t(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return t.prototype.bootstrapModuleFactory=function(t,e){var n,r,i=this,o=(r=e&&e.ngZoneEventCoalescing||!1,"noop"===(n=e?e.ngZone:void 0)?new Bl:("zone.js"===n?void 0:n)||new Dl({enableLongStackTrace:_r(),shouldCoalesceEventChangeDetection:r})),s=[{provide:Dl,useValue:o}];return o.run((function(){var e=Oo.create({providers:s,parent:i.injector,name:t.moduleType.name}),n=t.create(e),r=n.injector.get(dr,null);if(!r)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return n.onDestroy((function(){return Xl(i._modules,n)})),o.runOutsideAngular((function(){return o.onError.subscribe({next:function(t){r.handleError(t)}})})),function(t,e,r){try{var o=((s=n.injector.get(pl)).runInitializers(),s.donePromise.then((function(){return Va(n.injector.get(_l,"en-US")||"en-US"),i._moduleDoBootstrap(n),n})));return $o(o)?o.catch((function(n){throw e.runOutsideAngular((function(){return t.handleError(n)})),n})):o}catch(a){throw e.runOutsideAngular((function(){return t.handleError(a)})),a}var s}(r,o)}))},t.prototype.bootstrapModule=function(t,e){var n=this;void 0===e&&(e=[]);var r=Zl({},e);return Wl(this.injector,r,t).then((function(t){return n.bootstrapModuleFactory(t,r)}))},t.prototype._moduleDoBootstrap=function(t){var e=t.injector.get(Yl);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach((function(t){return e.bootstrap(t)}));else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+Ot(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},t.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach((function(t){return t.destroy()})),this._destroyListeners.forEach((function(t){return t()})),this._destroyed=!0},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),t.\u0275fac=function(e){return new(e||t)(ee(Oo))},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}();function Zl(t,e){return Array.isArray(e)?e.reduce(Zl,t):o(o({},t),e)}var Yl=function(){function t(t,e,n,r,i,o){var s=this;this._zone=t,this._console=e,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=i,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=_r(),this._zone.onMicrotaskEmpty.subscribe({next:function(){s._zone.run((function(){s.tick()}))}});var a=new k((function(t){s._stable=s._zone.isStable&&!s._zone.hasPendingMacrotasks&&!s._zone.hasPendingMicrotasks,s._zone.runOutsideAngular((function(){t.next(s._stable),t.complete()}))})),l=new k((function(t){var e;s._zone.runOutsideAngular((function(){e=s._zone.onStable.subscribe((function(){Dl.assertNotInAngularZone(),Il((function(){s._stable||s._zone.hasPendingMacrotasks||s._zone.hasPendingMicrotasks||(s._stable=!0,t.next(!0))}))}))}));var n=s._zone.onUnstable.subscribe((function(){Dl.assertInAngularZone(),s._stable&&(s._stable=!1,s._zone.runOutsideAngular((function(){t.next(!1)})))}));return function(){e.unsubscribe(),n.unsubscribe()}}));this.isStable=J(a,l.pipe((function(t){return tt()((e=st,function(t){var n;n="function"==typeof e?e:function(){return e};var r=Object.create(t,it);return r.source=t,r.subjectFactory=n,r})(t));var e})))}return t.prototype.bootstrap=function(t,e){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=t instanceof Ks?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(n.componentType);var i=n.isBoundToModule?void 0:this._injector.get(se),o=n.create(Oo.NULL,[],e||n.selector,i);o.onDestroy((function(){r._unloadComponent(o)}));var s=o.injector.get(Hl,null);return s&&o.injector.get(zl).registerApplication(o.location.nativeElement,s),this._loadComponent(o),_r()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),o},t.prototype.tick=function(){var t,e,n,r,i=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;try{for(var o=s(this._views),a=o.next();!a.done;a=o.next())a.value.detectChanges()}catch(c){t={error:c}}finally{try{a&&!a.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}if(this._enforceNoNewChanges)try{for(var l=s(this._views),u=l.next();!u.done;u=l.next())u.value.checkNoChanges()}catch(p){n={error:p}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}catch(h){this._zone.runOutsideAngular((function(){return i._exceptionHandler.handleError(h)}))}finally{this._runningTick=!1}},t.prototype.attachView=function(t){var e=t;this._views.push(e),e.attachToAppRef(this)},t.prototype.detachView=function(t){var e=t;Xl(this._views,e),e.detachFromAppRef()},t.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(vl,[]).concat(this._bootstrapListeners).forEach((function(e){return e(t)}))},t.prototype._unloadComponent=function(t){this.detachView(t.hostView),Xl(this.components,t)},t.prototype.ngOnDestroy=function(){this._views.slice().forEach((function(t){return t.destroy()}))},Object.defineProperty(t.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),t.\u0275fac=function(e){return new(e||t)(ee(Dl),ee(gl),ee(Oo),ee(dr),ee(Ys),ee(pl))},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}();function Xl(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}var $l=Gl(null,"core",[{provide:yl,useValue:"unknown"},{provide:Kl,deps:[Oo]},{provide:zl,deps:[]},{provide:gl,deps:[]}]),Jl=[{provide:Yl,useClass:Yl,deps:[Dl,gl,Oo,dr,Ys,pl]},{provide:Aa,deps:[Dl],useFactory:function(t){var e=[];return t.onStable.subscribe((function(){for(;e.length;)e.pop()()})),function(t){e.push(t)}}},{provide:pl,useClass:pl,deps:[[new pt,cl]]},{provide:Al,useClass:Al,deps:[]},fl,{provide:ya,useFactory:function(){return _a},deps:[]},{provide:va,useFactory:function(){return ba},deps:[]},{provide:_l,useFactory:function(t){return Va(t=t||"undefined"!=typeof $localize&&$localize.locale||"en-US"),t},deps:[[new ct(_l),new pt,new ft]]},{provide:bl,useValue:"USD"}],tu=function(){function t(t){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)(ee(Yl))},providers:Jl}),t}(),eu=null;function nu(){return eu}var ru=function(){return function(){}}(),iu=new Gt("DocumentToken"),ou=function(){function t(){}return t.\u0275prov=vt({factory:su,token:t,providedIn:"platform"}),t.\u0275fac=function(e){return new(e||t)},t}();function su(){return ee(au)}var au=function(t){function e(e){var n=t.call(this)||this;return n._doc=e,n._init(),n}return i(e,t),e.prototype._init=function(){this.location=nu().getLocation(),this._history=nu().getHistory()},e.prototype.getBaseHrefFromDOM=function(){return nu().getBaseHref(this._doc)},e.prototype.onPopState=function(t){nu().getGlobalEventTarget(this._doc,"window").addEventListener("popstate",t,!1)},e.prototype.onHashChange=function(t){nu().getGlobalEventTarget(this._doc,"window").addEventListener("hashchange",t,!1)},Object.defineProperty(e.prototype,"href",{get:function(){return this.location.href},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"protocol",{get:function(){return this.location.protocol},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostname",{get:function(){return this.location.hostname},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"port",{get:function(){return this.location.port},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pathname",{get:function(){return this.location.pathname},set:function(t){this.location.pathname=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"search",{get:function(){return this.location.search},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){return this.location.hash},enumerable:!0,configurable:!0}),e.prototype.pushState=function(t,e,n){lu()?this._history.pushState(t,e,n):this.location.hash=n},e.prototype.replaceState=function(t,e,n){lu()?this._history.replaceState(t,e,n):this.location.hash=n},e.prototype.forward=function(){this._history.forward()},e.prototype.back=function(){this._history.back()},e.prototype.getState=function(){return this._history.state},e.\u0275prov=vt({factory:uu,token:e,providedIn:"platform"}),e.\u0275fac=function(t){return new(t||e)(ee(iu))},e}(ou);function lu(){return!!window.history.pushState}function uu(){return new au(ee(iu))}function cu(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e}function pu(t){var e=t.match(/#|\?|$/),n=e&&e.index||t.length;return t.slice(0,n-("/"===t[n-1]?1:0))+t.slice(n)}function hu(t){return t&&"?"!==t[0]?"?"+t:t}var fu=function(){function t(){}return t.\u0275prov=vt({factory:du,token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)},t}();function du(t){var e=ee(iu).location;return new yu(ee(ou),e&&e.origin||"")}var mu=new Gt("appBaseHref"),yu=function(t){function e(e,n){var r=t.call(this)||this;if(r._platformLocation=e,null==n&&(n=r._platformLocation.getBaseHrefFromDOM()),null==n)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return r._baseHref=n,r}return i(e,t),e.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},e.prototype.getBaseHref=function(){return this._baseHref},e.prototype.prepareExternalUrl=function(t){return cu(this._baseHref,t)},e.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+hu(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},e.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+hu(r));this._platformLocation.pushState(t,e,i)},e.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+hu(r));this._platformLocation.replaceState(t,e,i)},e.prototype.forward=function(){this._platformLocation.forward()},e.prototype.back=function(){this._platformLocation.back()},e.\u0275fac=function(t){return new(t||e)(ee(ou),ee(mu,8))},e.\u0275prov=vt({token:e,factory:function(t){return e.\u0275fac(t)}}),e}(fu),vu=function(){function t(t,e){var n=this;this._subject=new za,this._urlChangeListeners=[],this._platformStrategy=t;var r=this._platformStrategy.getBaseHref();this._platformLocation=e,this._baseHref=pu(_u(r)),this._platformStrategy.onPopState((function(t){n._subject.emit({url:n.path(!0),pop:!0,state:t.state,type:t.type})}))}var e;return e=t,t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.getState=function(){return this._platformLocation.getState()},t.prototype.isCurrentPathEqualTo=function(t,e){return void 0===e&&(e=""),this.path()==this.normalize(t+hu(e))},t.prototype.normalize=function(t){return e.stripTrailingSlash(function(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}(this._baseHref,_u(t)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,e,n){void 0===e&&(e=""),void 0===n&&(n=null),this._platformStrategy.pushState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+hu(e)),n)},t.prototype.replaceState=function(t,e,n){void 0===e&&(e=""),void 0===n&&(n=null),this._platformStrategy.replaceState(n,"",t,e),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+hu(e)),n)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.onUrlChange=function(t){var e=this;this._urlChangeListeners.push(t),this.subscribe((function(t){e._notifyUrlChangeListeners(t.url,t.state)}))},t.prototype._notifyUrlChangeListeners=function(t,e){void 0===t&&(t=""),this._urlChangeListeners.forEach((function(n){return n(t,e)}))},t.prototype.subscribe=function(t,e,n){return this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=hu,t.joinWithSlash=cu,t.stripTrailingSlash=pu,t.\u0275prov=vt({factory:gu,token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(fu),ee(ou))},t}();function gu(){return new vu(ee(fu),ee(ou))}function _u(t){return t.replace(/\/index.html$/,"")}var bu=function(t){return t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Few=3]="Few",t[t.Many=4]="Many",t[t.Other=5]="Other",t}({}),wu=function(){return function(){}}(),xu=function(t){function e(e){var n=t.call(this)||this;return n.locale=e,n}return i(e,t),e.prototype.getPluralCategory=function(t,e){switch(function(t){return function(t){var e=function(t){return t.toLowerCase().replace(/_/g,"-")}(t),n=Ma(e);if(n)return n;var r=e.split("-")[0];if(n=Ma(r))return n;if("en"===r)return Da;throw new Error('Missing locale data for the locale "'+t+'".')}(t)[Ra.PluralCase]}(e||this.locale)(t)){case bu.Zero:return"zero";case bu.One:return"one";case bu.Two:return"two";case bu.Few:return"few";case bu.Many:return"many";default:return"other"}},e.\u0275fac=function(t){return new(t||e)(ee(_l))},e.\u0275prov=vt({token:e,factory:function(t){return e.\u0275fac(t)}}),e}(wu),Cu=function(){function t(t,e,n,r){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return Object.defineProperty(t.prototype,"klass",{set:function(t){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClass",{set:function(t){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(Vo(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){if(this._iterableDiffer){var t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){var e=this._keyValueDiffer.diff(this._rawClass);e&&this._applyKeyValueChanges(e)}},t.prototype._applyKeyValueChanges=function(t){var e=this;t.forEachAddedItem((function(t){return e._toggleClass(t.key,t.currentValue)})),t.forEachChangedItem((function(t){return e._toggleClass(t.key,t.currentValue)})),t.forEachRemovedItem((function(t){t.previousValue&&e._toggleClass(t.key,!1)}))},t.prototype._applyIterableChanges=function(t){var e=this;t.forEachAddedItem((function(t){if("string"!=typeof t.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got "+Ot(t.item));e._toggleClass(t.item,!0)})),t.forEachRemovedItem((function(t){return e._toggleClass(t.item,!1)}))},t.prototype._applyClasses=function(t){var e=this;t&&(Array.isArray(t)||t instanceof Set?t.forEach((function(t){return e._toggleClass(t,!0)})):Object.keys(t).forEach((function(n){return e._toggleClass(n,!!t[n])})))},t.prototype._removeClasses=function(t){var e=this;t&&(Array.isArray(t)||t instanceof Set?t.forEach((function(t){return e._toggleClass(t,!1)})):Object.keys(t).forEach((function(t){return e._toggleClass(t,!1)})))},t.prototype._toggleClass=function(t,e){var n=this;(t=t.trim())&&t.split(/\s+/g).forEach((function(t){e?n._renderer.addClass(n._ngEl.nativeElement,t):n._renderer.removeClass(n._ngEl.nativeElement,t)}))},t.\u0275fac=function(e){return new(e||t)(qo(ya),qo(va),qo(Xs),qo(ea))},t.\u0275dir=ke({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),t}(),Eu=function(){function t(t,e,n,r){this.$implicit=t,this.ngForOf=e,this.index=n,this.count=r}return Object.defineProperty(t.prototype,"first",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"last",{get:function(){return this.index===this.count-1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"even",{get:function(){return this.index%2==0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"odd",{get:function(){return!this.even},enumerable:!0,configurable:!0}),t}(),Su=function(){function t(t,e,n){this._viewContainer=t,this._template=e,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return Object.defineProperty(t.prototype,"ngForOf",{set:function(t){this._ngForOf=t,this._ngForOfDirty=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngForTrackBy",{get:function(){return this._trackByFn},set:function(t){_r()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(t)+". See https://angular.io/api/common/NgForOf#change-propagation for more information."),this._trackByFn=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngForTemplate",{set:function(t){t&&(this._template=t)},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var t=this._ngForOf;if(!this._differ&&t)try{this._differ=this._differs.find(t).create(this.ngForTrackBy)}catch(r){throw new Error("Cannot find a differ supporting object '"+t+"' of type '"+((e=t).name||typeof e)+"'. NgFor only supports binding to Iterables such as Arrays.")}}var e;if(this._differ){var n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}},t.prototype._applyChanges=function(t){var e=this,n=[];t.forEachOperation((function(t,r,i){if(null==t.previousIndex){var o=e._viewContainer.createEmbeddedView(e._template,new Eu(null,e._ngForOf,-1,-1),null===i?void 0:i),s=new ku(t,o);n.push(s)}else null==i?e._viewContainer.remove(null===r?void 0:r):null!==r&&(o=e._viewContainer.get(r),e._viewContainer.move(o,i),s=new ku(t,o),n.push(s))}));for(var r=0;r-1&&(e.splice(n,1),o+=t+".")})),o+=i,0!=e.length||0===i.length)return null;var s={};return s.domEventName=r,s.fullKey=o,s},e.getEventFullKey=function(t){var e="",n=function(t){var e=t.key;if(null==e){if(null==(e=t.keyIdentifier))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===t.location&&sc.hasOwnProperty(e)&&(e=sc[e]))}return oc[e]||e}(t);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),ic.forEach((function(r){r!=n&&(0,ac[r])(t)&&(e+=r+".")})),e+=n},e.eventCallback=function(t,e,r){return function(i){n.getEventFullKey(i)===t&&r.runGuarded((function(){return e(i)}))}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e.\u0275fac=function(t){return new(t||e)(ee(iu))},e.\u0275prov=vt({token:e,factory:function(t){return e.\u0275fac(t)}}),e}(Gu),uc=Gl($l,"browser",[{provide:yl,useValue:"browser"},{provide:ml,useValue:function(){Nu.makeCurrent(),qu.init()},multi:!0},{provide:iu,useFactory:function(){return function(t){je=t}(document),document},deps:[]}]),cc=[[],{provide:ho,useValue:"root"},{provide:dr,useFactory:function(){return new dr},deps:[]},{provide:Wu,useClass:rc,multi:!0,deps:[iu,Dl,yl]},{provide:Wu,useClass:lc,multi:!0,deps:[iu]},[],{provide:Ju,useClass:Ju,deps:[Qu,Ku,hl]},{provide:Js,useExisting:Ju},{provide:Uu,useExisting:Ku},{provide:Ku,useClass:Ku,deps:[iu]},{provide:Hl,useClass:Hl,deps:[Dl]},{provide:Qu,useClass:Qu,deps:[Wu,Dl]},[]],pc=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}var e;return e=t,t.withServerTransition=function(t){return{ngModule:e,providers:[{provide:hl,useValue:t.appId},{provide:Hu,useExisting:hl},zu]}},t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(n){return new(n||t)(ee(e,12))},providers:cc,imports:[Ru,tu]}),t}();"undefined"!=typeof window&&window;var hc=function(){return function(){}}(),fc=function(){return function(){}}();function dc(t,e){return{type:7,name:t,definitions:e,options:{}}}function mc(t,e){return void 0===e&&(e=null),{type:4,styles:e,timings:t}}function yc(t,e){return void 0===e&&(e=null),{type:2,steps:t,options:e}}function vc(t){return{type:6,styles:t,offset:null}}function gc(t,e,n){return{type:0,name:t,styles:e,options:n}}function _c(t,e,n){return void 0===n&&(n=null),{type:1,expr:t,animation:e,options:n}}function bc(t){return void 0===t&&(t=null),{type:9,options:t}}function wc(t,e,n){return void 0===n&&(n=null),{type:11,selector:t,animation:e,options:n}}function xc(t){Promise.resolve(null).then(t)}var Cc=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=t+e}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[])},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},t.prototype.triggerMicrotask=function(){var t=this;xc((function(){return t._onFinish()}))},t.prototype._onStart=function(){this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[]},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype.reset=function(){},t.prototype.setPosition=function(t){},t.prototype.getPosition=function(){return 0},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t}(),Ec=function(){function t(t){var e=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;var n=0,r=0,i=0,o=this.players.length;0==o?xc((function(){return e._onFinish()})):this.players.forEach((function(t){t.onDone((function(){++n==o&&e._onFinish()})),t.onDestroy((function(){++r==o&&e._onDestroy()})),t.onStart((function(){++i==o&&e._onStart()}))})),this.totalTime=this.players.reduce((function(t,e){return Math.max(t,e.totalTime)}),0)}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[])},t.prototype.init=function(){this.players.forEach((function(t){return t.init()}))},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[])},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach((function(t){return t.play()}))},t.prototype.pause=function(){this.players.forEach((function(t){return t.pause()}))},t.prototype.restart=function(){this.players.forEach((function(t){return t.restart()}))},t.prototype.finish=function(){this._onFinish(),this.players.forEach((function(t){return t.finish()}))},t.prototype.destroy=function(){this._onDestroy()},t.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach((function(t){return t.destroy()})),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype.reset=function(){this.players.forEach((function(t){return t.reset()})),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){var e=t*this.totalTime;this.players.forEach((function(t){var n=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(n)}))},t.prototype.getPosition=function(){var t=0;return this.players.forEach((function(e){var n=e.getPosition();t=Math.min(n,t)})),t},t.prototype.beforeDestroy=function(){this.players.forEach((function(t){t.beforeDestroy&&t.beforeDestroy()}))},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t}();function Sc(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function kc(t){switch(t.length){case 0:return new Cc;case 1:return t[0];default:return new Ec(t)}}function Oc(t,e,n,r,i,o){void 0===i&&(i={}),void 0===o&&(o={});var s=[],a=[],l=-1,u=null;if(r.forEach((function(t){var n=t.offset,r=n==l,c=r&&u||{};Object.keys(t).forEach((function(n){var r=n,a=t[n];if("offset"!==n)switch(r=e.normalizePropertyName(r,s),a){case"!":a=i[n];break;case"*":a=o[n];break;default:a=e.normalizeStyleValue(n,r,a,s)}c[r]=a})),r||a.push(c),u=c,l=n})),s.length)throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "));return a}function Ac(t,e,n,r){switch(e){case"start":t.onStart((function(){return r(n&&Pc(n,"start",t))}));break;case"done":t.onDone((function(){return r(n&&Pc(n,"done",t))}));break;case"destroy":t.onDestroy((function(){return r(n&&Pc(n,"destroy",t))}))}}function Pc(t,e,n){var r=n.totalTime,i=Tc(t.element,t.triggerName,t.fromState,t.toState,e||t.phaseName,null==r?t.totalTime:r,!!n.disabled),o=t._data;return null!=o&&(i._data=o),i}function Tc(t,e,n,r,i,o,s){return void 0===i&&(i=""),void 0===o&&(o=0),{element:t,triggerName:e,fromState:n,toState:r,phaseName:i,totalTime:o,disabled:!!s}}function Ic(t,e,n){var r;return t instanceof Map?(r=t.get(e))||t.set(e,r=n):(r=t[e])||(r=t[e]=n),r}function Dc(t){var e=t.indexOf(":");return[t.substring(1,e),t.substr(e+1)]}var Fc=function(t,e){return!1},Mc=function(t,e){return!1},Rc=function(t,e,n){return[]},Vc=Sc();(Vc||"undefined"!=typeof Element)&&(Fc=function(t,e){return t.contains(e)},Mc=function(){if(Vc||Element.prototype.matches)return function(t,e){return t.matches(e)};var t=Element.prototype,e=t.matchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector||t.webkitMatchesSelector;return e?function(t,n){return e.apply(t,[n])}:Mc}(),Rc=function(t,e,n){var r=[];if(n)r.push.apply(r,l(t.querySelectorAll(e)));else{var i=t.querySelector(e);i&&r.push(i)}return r});var jc=null,Lc=!1;function Nc(t){jc||(jc=("undefined"!=typeof document?document.body:null)||{},Lc=!!jc.style&&"WebkitAppearance"in jc.style);var e=!0;return jc.style&&!function(t){return"ebkit"==t.substring(1,6)}(t)&&!(e=t in jc.style)&&Lc&&(e="Webkit"+t.charAt(0).toUpperCase()+t.substr(1)in jc.style),e}var Bc=Mc,Hc=Fc,zc=Rc;function qc(t){var e={};return Object.keys(t).forEach((function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");e[r]=t[n]})),e}var Wc=function(){function t(){}return t.prototype.validateStyleProperty=function(t){return Nc(t)},t.prototype.matchesElement=function(t,e){return Bc(t,e)},t.prototype.containsElement=function(t,e){return Hc(t,e)},t.prototype.query=function(t,e,n){return zc(t,e,n)},t.prototype.computeStyle=function(t,e,n){return n||""},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===o&&(o=[]),new Cc(n,r)},t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}(),Qc=function(){function t(){}return t.NOOP=new Wc,t}();function Gc(t){if("number"==typeof t)return t;var e=t.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:Uc(parseFloat(e[1]),e[2])}function Uc(t,e){switch(e){case"s":return 1e3*t;default:return t}}function Kc(t,e,n){return t.hasOwnProperty("duration")?t:function(t,e,n){var r,i=0,o="";if("string"==typeof t){var s=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===s)return e.push('The provided timing value "'+t+'" is invalid.'),{duration:0,delay:0,easing:""};r=Uc(parseFloat(s[1]),s[2]);var a=s[3];null!=a&&(i=Uc(parseFloat(a),s[4]));var l=s[5];l&&(o=l)}else r=t;if(!n){var u=!1,c=e.length;r<0&&(e.push("Duration values below 0 are not allowed for this animation step."),u=!0),i<0&&(e.push("Delay values below 0 are not allowed for this animation step."),u=!0),u&&e.splice(c,0,'The provided timing value "'+t+'" is invalid.')}return{duration:r,delay:i,easing:o}}(t,e,n)}function Zc(t,e){return void 0===e&&(e={}),Object.keys(t).forEach((function(n){e[n]=t[n]})),e}function Yc(t,e,n){if(void 0===n&&(n={}),e)for(var r in t)n[r]=t[r];else Zc(t,n);return n}function Xc(t,e,n){return n?e+":"+n+";":""}function $c(t){for(var e="",n=0;n *";case":leave":return"* => void";case":increment":return function(t,e){return parseFloat(e)>parseFloat(t)};case":decrement":return function(t,e){return parseFloat(e) *"}}(t,n);if("function"==typeof r)return void e.push(r);t=r}var i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+t+'" is not supported'),e;var o=i[1],s=i[2],a=i[3];e.push(dp(o,a)),"<"!=s[0]||"*"==o&&"*"==a||e.push(dp(a,o))}(t,i,r)})):i.push(n),i),animation:o,queryCount:e.queryCount,depCount:e.depCount,options:bp(t.options)}},t.prototype.visitSequence=function(t,e){var n=this;return{type:2,steps:t.steps.map((function(t){return cp(n,t,e)})),options:bp(t.options)}},t.prototype.visitGroup=function(t,e){var n=this,r=e.currentTime,i=0,o=t.steps.map((function(t){e.currentTime=r;var o=cp(n,t,e);return i=Math.max(i,e.currentTime),o}));return e.currentTime=i,{type:3,steps:o,options:bp(t.options)}},t.prototype.visitAnimate=function(t,e){var n,r=function(t,e){var n=null;if(t.hasOwnProperty("duration"))n=t;else if("number"==typeof t)return wp(Kc(t,e).duration,0,"");var r=t;if(r.split(/\s+/).some((function(t){return"{"==t.charAt(0)&&"{"==t.charAt(1)}))){var i=wp(0,0,"");return i.dynamic=!0,i.strValue=r,i}return wp((n=n||Kc(r,e)).duration,n.delay,n.easing)}(t.timings,e.errors);e.currentAnimateTimings=r;var i=t.styles?t.styles:vc({});if(5==i.type)n=this.visitKeyframes(i,e);else{var o=t.styles,s=!1;if(!o){s=!0;var a={};r.easing&&(a.easing=r.easing),o=vc(a)}e.currentTime+=r.duration+r.delay;var l=this.visitStyle(o,e);l.isEmptyStep=s,n=l}return e.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},t.prototype.visitStyle=function(t,e){var n=this._makeStyleAst(t,e);return this._validateStyleAst(n,e),n},t.prototype._makeStyleAst=function(t,e){var n=[];Array.isArray(t.styles)?t.styles.forEach((function(t){"string"==typeof t?"*"==t?n.push(t):e.errors.push("The provided style string value "+t+" is not allowed."):n.push(t)})):n.push(t.styles);var r=!1,i=null;return n.forEach((function(t){if(_p(t)){var e=t,n=e.easing;if(n&&(i=n,delete e.easing),!r)for(var o in e)if(e[o].toString().indexOf("{{")>=0){r=!0;break}}})),{type:6,styles:n,easing:i,offset:t.offset,containsDynamicStyles:r,options:null}},t.prototype._validateStyleAst=function(t,e){var n=this,r=e.currentAnimateTimings,i=e.currentTime,o=e.currentTime;r&&o>0&&(o-=r.duration+r.delay),t.styles.forEach((function(t){"string"!=typeof t&&Object.keys(t).forEach((function(r){if(n._driver.validateStyleProperty(r)){var s,a,l,u=e.collectedStyles[e.currentQuerySelector],c=u[r],p=!0;c&&(o!=i&&o>=c.startTime&&i<=c.endTime&&(e.errors.push('The CSS property "'+r+'" that exists between the times of "'+c.startTime+'ms" and "'+c.endTime+'ms" is also being animated in a parallel animation between the times of "'+o+'ms" and "'+i+'ms"'),p=!1),o=c.startTime),p&&(u[r]={startTime:o,endTime:i}),e.options&&(s=e.errors,a=e.options.params||{},(l=rp(t[r])).length&&l.forEach((function(t){a.hasOwnProperty(t)||s.push("Unable to resolve the local animation param "+t+" in the given list of values")})))}else e.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')}))}))},t.prototype.visitKeyframes=function(t,e){var n=this,r={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,o=[],s=!1,a=!1,l=0,u=t.steps.map((function(t){var r=n._makeStyleAst(t,e),u=null!=r.offset?r.offset:function(t){if("string"==typeof t)return null;var e=null;if(Array.isArray(t))t.forEach((function(t){if(_p(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}}));else if(_p(t)&&t.hasOwnProperty("offset")){var n=t;e=parseFloat(n.offset),delete n.offset}return e}(r.styles),c=0;return null!=u&&(i++,c=r.offset=u),a=a||c<0||c>1,s=s||c0&&i0?i==h?1:p*i:o[i],a=s*m;e.currentTime=f+d.delay+a,d.duration=a,n._validateStyleAst(t,e),t.offset=s,r.styles.push(t)})),r},t.prototype.visitReference=function(t,e){return{type:8,animation:cp(this,ep(t.animation),e),options:bp(t.options)}},t.prototype.visitAnimateChild=function(t,e){return e.depCount++,{type:9,options:bp(t.options)}},t.prototype.visitAnimateRef=function(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:bp(t.options)}},t.prototype.visitQuery=function(t,e){var n=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;var i=a(function(t){var e=!!t.split(/\s*,\s*/).find((function(t){return":self"==t}));return e&&(t=t.replace(mp,"")),[t=t.replace(/@\*/g,".ng-trigger").replace(/@\w+/g,(function(t){return".ng-trigger-"+t.substr(1)})).replace(/:animating/g,".ng-animating"),e]}(t.selector),2),o=i[0],s=i[1];e.currentQuerySelector=n.length?n+" "+o:o,Ic(e.collectedStyles,e.currentQuerySelector,{});var l=cp(this,ep(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=n,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:l,originalSelector:t.selector,options:bp(t.options)}},t.prototype.visitStagger=function(t,e){e.currentQuery||e.errors.push("stagger() can only be used inside of query()");var n="full"===t.timings?{duration:0,delay:0,easing:"full"}:Kc(t.timings,e.errors,!0);return{type:12,animation:cp(this,ep(t.animation),e),timings:n,options:null}},t}(),gp=function(){return function(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}();function _p(t){return!Array.isArray(t)&&"object"==typeof t}function bp(t){var e;return t?(t=Zc(t)).params&&(t.params=(e=t.params)?Zc(e):null):t={},t}function wp(t,e,n){return{duration:t,delay:e,easing:n}}function xp(t,e,n,r,i,o,s,a){return void 0===s&&(s=null),void 0===a&&(a=!1),{type:1,element:t,keyframes:e,preStyleProps:n,postStyleProps:r,duration:i,delay:o,totalTime:i+o,easing:s,subTimeline:a}}var Cp=function(){function t(){this._map=new Map}return t.prototype.consume=function(t){var e=this._map.get(t);return e?this._map.delete(t):e=[],e},t.prototype.append=function(t,e){var n=this._map.get(t);n||this._map.set(t,n=[]),n.push.apply(n,l(e))},t.prototype.has=function(t){return this._map.has(t)},t.prototype.clear=function(){this._map.clear()},t}(),Ep=new RegExp(":enter","g"),Sp=new RegExp(":leave","g");function kp(t,e,n,r,i,o,s,a,l,u){return void 0===o&&(o={}),void 0===s&&(s={}),void 0===u&&(u=[]),(new Op).buildKeyframes(t,e,n,r,i,o,s,a,l,u)}var Op=function(){function t(){}return t.prototype.buildKeyframes=function(t,e,n,r,i,o,s,a,l,u){void 0===u&&(u=[]),l=l||new Cp;var c=new Pp(t,e,l,r,i,u,[]);c.options=a,c.currentTimeline.setStyles([o],null,c.errors,a),cp(this,n,c);var p=c.timelines.filter((function(t){return t.containsAnimation()}));if(p.length&&Object.keys(s).length){var h=p[p.length-1];h.allowOnlyTimelineStyles()||h.setStyles([s],null,c.errors,a)}return p.length?p.map((function(t){return t.buildKeyframes()})):[xp(e,[],[],[],0,0,"",!1)]},t.prototype.visitTrigger=function(t,e){},t.prototype.visitState=function(t,e){},t.prototype.visitTransition=function(t,e){},t.prototype.visitAnimateChild=function(t,e){var n=e.subInstructions.consume(e.element);if(n){var r=e.createSubContext(t.options),i=e.currentTimeline.currentTime,o=this._visitSubInstructions(n,r,r.options);i!=o&&e.transformIntoNewTimeline(o)}e.previousNode=t},t.prototype.visitAnimateRef=function(t,e){var n=e.createSubContext(t.options);n.transformIntoNewTimeline(),this.visitReference(t.animation,n),e.transformIntoNewTimeline(n.currentTimeline.currentTime),e.previousNode=t},t.prototype._visitSubInstructions=function(t,e,n){var r=e.currentTimeline.currentTime,i=null!=n.duration?Gc(n.duration):null,o=null!=n.delay?Gc(n.delay):null;return 0!==i&&t.forEach((function(t){var n=e.appendInstructionToTimeline(t,i,o);r=Math.max(r,n.duration+n.delay)})),r},t.prototype.visitReference=function(t,e){e.updateOptions(t.options,!0),cp(this,t.animation,e),e.previousNode=t},t.prototype.visitSequence=function(t,e){var n=this,r=e.subContextCount,i=e,o=t.options;if(o&&(o.params||o.delay)&&((i=e.createSubContext(o)).transformIntoNewTimeline(),null!=o.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Ap);var s=Gc(o.delay);i.delayNextStep(s)}t.steps.length&&(t.steps.forEach((function(t){return cp(n,t,i)})),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),e.previousNode=t},t.prototype.visitGroup=function(t,e){var n=this,r=[],i=e.currentTimeline.currentTime,o=t.options&&t.options.delay?Gc(t.options.delay):0;t.steps.forEach((function(s){var a=e.createSubContext(t.options);o&&a.delayNextStep(o),cp(n,s,a),i=Math.max(i,a.currentTimeline.currentTime),r.push(a.currentTimeline)})),r.forEach((function(t){return e.currentTimeline.mergeTimelineCollectedStyles(t)})),e.transformIntoNewTimeline(i),e.previousNode=t},t.prototype._visitTiming=function(t,e){if(t.dynamic){var n=t.strValue;return Kc(e.params?ip(n,e.params,e.errors):n,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}},t.prototype.visitAnimate=function(t,e){var n=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;n.delay&&(e.incrementTime(n.delay),r.snapshotCurrentStyles());var i=t.style;5==i.type?this.visitKeyframes(i,e):(e.incrementTime(n.duration),this.visitStyle(i,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t},t.prototype.visitStyle=function(t,e){var n=e.currentTimeline,r=e.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||t.easing;t.isEmptyStep?n.applyEmptyStep(i):n.setStyles(t.styles,i,e.errors,e.options),e.previousNode=t},t.prototype.visitKeyframes=function(t,e){var n=e.currentAnimateTimings,r=e.currentTimeline.duration,i=n.duration,o=e.createSubContext().currentTimeline;o.easing=n.easing,t.styles.forEach((function(t){o.forwardTime((t.offset||0)*i),o.setStyles(t.styles,t.easing,e.errors,e.options),o.applyStylesToKeyframe()})),e.currentTimeline.mergeTimelineCollectedStyles(o),e.transformIntoNewTimeline(r+i),e.previousNode=t},t.prototype.visitQuery=function(t,e){var n=this,r=e.currentTimeline.currentTime,i=t.options||{},o=i.delay?Gc(i.delay):0;o&&(6===e.previousNode.type||0==r&&e.currentTimeline.getCurrentStyleProperties().length)&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Ap);var s=r,a=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!i.optional,e.errors);e.currentQueryTotal=a.length;var l=null;a.forEach((function(r,i){e.currentQueryIndex=i;var a=e.createSubContext(t.options,r);o&&a.delayNextStep(o),r===e.element&&(l=a.currentTimeline),cp(n,t.animation,a),a.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,a.currentTimeline.currentTime)})),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t},t.prototype.visitStagger=function(t,e){var n=e.parentContext,r=e.currentTimeline,i=t.timings,o=Math.abs(i.duration),s=o*(e.currentQueryTotal-1),a=o*e.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":a=s-a;break;case"full":a=n.currentStaggerTime}var l=e.currentTimeline;a&&l.delayNextStep(a);var u=l.currentTime;cp(this,t.animation,e),e.previousNode=t,n.currentStaggerTime=r.currentTime-u+(r.startTime-n.currentTimeline.startTime)},t}(),Ap={},Pp=function(){function t(t,e,n,r,i,o,s,a){this._driver=t,this.element=e,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=o,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Ap,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=a||new Tp(this._driver,e,0),s.push(this.currentTimeline)}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.updateOptions=function(t,e){var n=this;if(t){var r=t,i=this.options;null!=r.duration&&(i.duration=Gc(r.duration)),null!=r.delay&&(i.delay=Gc(r.delay));var o=r.params;if(o){var s=i.params;s||(s=this.options.params={}),Object.keys(o).forEach((function(t){e&&s.hasOwnProperty(t)||(s[t]=ip(o[t],s,n.errors))}))}}},t.prototype._copyOptions=function(){var t={};if(this.options){var e=this.options.params;if(e){var n=t.params={};Object.keys(e).forEach((function(t){n[t]=e[t]}))}}return t},t.prototype.createSubContext=function(e,n,r){void 0===e&&(e=null);var i=n||this.element,o=new t(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(e),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o},t.prototype.transformIntoNewTimeline=function(t){return this.previousNode=Ap,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline},t.prototype.appendInstructionToTimeline=function(t,e,n){var r={duration:null!=e?e:t.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+t.delay,easing:""},i=new Ip(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(i),r},t.prototype.incrementTime=function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)},t.prototype.delayNextStep=function(t){t>0&&this.currentTimeline.delayNextStep(t)},t.prototype.invokeQuery=function(t,e,n,r,i,o){var s=[];if(r&&s.push(this.element),t.length>0){t=(t=t.replace(Ep,"."+this._enterClassName)).replace(Sp,"."+this._leaveClassName);var a=this._driver.query(this.element,t,1!=n);0!==n&&(a=n<0?a.slice(a.length+n,a.length):a.slice(0,n)),s.push.apply(s,l(a))}return i||0!=s.length||o.push('`query("'+e+'")` returned zero elements. (Use `query("'+e+'", { optional: true })` if you wish to allow this.)'),s},t}(),Tp=function(){function t(t,e,n,r){this._driver=t,this.element=e,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}return t.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},t.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(t.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),t.prototype.delayNextStep=function(t){var e=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t},t.prototype.fork=function(e,n){return this.applyStylesToKeyframe(),new t(this._driver,e,n||this.currentTime,this._elementTimelineStylesLookup)},t.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},t.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},t.prototype.forwardTime=function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()},t.prototype._updateStyle=function(t,e){this._localTimelineStyles[t]=e,this._globalTimelineStyles[t]=e,this._styleSummary[t]={time:this.currentTime,value:e}},t.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},t.prototype.applyEmptyStep=function(t){var e=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach((function(t){e._backFill[t]=e._globalTimelineStyles[t]||"*",e._currentKeyframe[t]="*"})),this._currentEmptyStepKeyframe=this._currentKeyframe},t.prototype.setStyles=function(t,e,n,r){var i=this;e&&(this._previousKeyframe.easing=e);var o=r&&r.params||{},s=function(t,e){var n,r={};return t.forEach((function(t){"*"===t?(n=n||Object.keys(e)).forEach((function(t){r[t]="*"})):Yc(t,!1,r)})),r}(t,this._globalTimelineStyles);Object.keys(s).forEach((function(t){var e=ip(s[t],o,n);i._pendingStyles[t]=e,i._localTimelineStyles.hasOwnProperty(t)||(i._backFill[t]=i._globalTimelineStyles.hasOwnProperty(t)?i._globalTimelineStyles[t]:"*"),i._updateStyle(t,e)}))},t.prototype.applyStylesToKeyframe=function(){var t=this,e=this._pendingStyles,n=Object.keys(e);0!=n.length&&(this._pendingStyles={},n.forEach((function(n){t._currentKeyframe[n]=e[n]})),Object.keys(this._localTimelineStyles).forEach((function(e){t._currentKeyframe.hasOwnProperty(e)||(t._currentKeyframe[e]=t._localTimelineStyles[e])})))},t.prototype.snapshotCurrentStyles=function(){var t=this;Object.keys(this._localTimelineStyles).forEach((function(e){var n=t._localTimelineStyles[e];t._pendingStyles[e]=n,t._updateStyle(e,n)}))},t.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(t.prototype,"properties",{get:function(){var t=[];for(var e in this._currentKeyframe)t.push(e);return t},enumerable:!0,configurable:!0}),t.prototype.mergeTimelineCollectedStyles=function(t){var e=this;Object.keys(t._styleSummary).forEach((function(n){var r=e._styleSummary[n],i=t._styleSummary[n];(!r||i.time>r.time)&&e._updateStyle(n,i.value)}))},t.prototype.buildKeyframes=function(){var t=this;this.applyStylesToKeyframe();var e=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,i=[];this._keyframes.forEach((function(o,s){var a=Yc(o,!0);Object.keys(a).forEach((function(t){var r=a[t];"!"==r?e.add(t):"*"==r&&n.add(t)})),r||(a.offset=s/t.duration),i.push(a)}));var o=e.size?op(e.values()):[],s=n.size?op(n.values()):[];if(r){var a=i[0],l=Zc(a);a.offset=0,l.offset=1,i=[a,l]}return xp(this.element,i,o,s,this.duration,this.startTime,this.easing,!1)},t}(),Ip=function(t){function e(e,n,r,i,o,s,a){void 0===a&&(a=!1);var l=t.call(this,e,n,s.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=o,l._stretchStartingKeyframe=a,l.timings={duration:s.duration,delay:s.delay,easing:s.easing},l}return i(e,t),e.prototype.containsAnimation=function(){return this.keyframes.length>1},e.prototype.buildKeyframes=function(){var t=this.keyframes,e=this.timings,n=e.delay,r=e.duration,i=e.easing;if(this._stretchStartingKeyframe&&n){var o=[],s=r+n,a=n/s,l=Yc(t[0],!1);l.offset=0,o.push(l);var u=Yc(t[0],!1);u.offset=Dp(a),o.push(u);for(var c=t.length-1,p=1;p<=c;p++){var h=Yc(t[p],!1);h.offset=Dp((n+h.offset*r)/s),o.push(h)}r=s,n=0,i="",t=o}return xp(this.element,t,this.preStyleProps,this.postStyleProps,r,n,i,!0)},e}(Tp);function Dp(t,e){void 0===e&&(e=3);var n=Math.pow(10,e-1);return Math.round(t*n)/n}var Fp=function(){return function(){}}(),Mp=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.normalizePropertyName=function(t,e){return ap(t)},e.prototype.normalizeStyleValue=function(t,e,n,r){var i="",o=n.toString().trim();if(Rp[e]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var s=n.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&r.push("Please provide a CSS unit value for "+t+":"+n)}return o+i},e}(Fp),Rp=function(){return function(t){var e={};return t.forEach((function(t){return e[t]=!0})),e}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","))}();function Vp(t,e,n,r,i,o,s,a,l,u,c,p,h){return{type:0,element:t,triggerName:e,isRemovalTransition:i,fromState:n,fromStyles:o,toState:r,toStyles:s,timelines:a,queriedElements:l,preStyleProps:u,postStyleProps:c,totalTime:p,errors:h}}var jp={},Lp=function(){function t(t,e,n){this._triggerName=t,this.ast=e,this._stateStyles=n}return t.prototype.match=function(t,e,n,r){return function(t,e,n,r,i){return t.some((function(t){return t(e,n,r,i)}))}(this.ast.matchers,t,e,n,r)},t.prototype.buildStyles=function(t,e,n){var r=this._stateStyles["*"],i=this._stateStyles[t],o=r?r.buildStyles(e,n):{};return i?i.buildStyles(e,n):o},t.prototype.build=function(t,e,n,r,i,s,a,l,u,c){var p=[],h=this.ast.options&&this.ast.options.params||jp,f=this.buildStyles(n,a&&a.params||jp,p),d=l&&l.params||jp,m=this.buildStyles(r,d,p),y=new Set,v=new Map,g=new Map,_="void"===r,b={params:o(o({},h),d)},w=c?[]:kp(t,e,this.ast.animation,i,s,f,m,b,u,p),x=0;if(w.forEach((function(t){x=Math.max(t.duration+t.delay,x)})),p.length)return Vp(e,this._triggerName,n,r,_,f,m,[],[],v,g,x,p);w.forEach((function(t){var n=t.element,r=Ic(v,n,{});t.preStyleProps.forEach((function(t){return r[t]=!0}));var i=Ic(g,n,{});t.postStyleProps.forEach((function(t){return i[t]=!0})),n!==e&&y.add(n)}));var C=op(y.values());return Vp(e,this._triggerName,n,r,_,f,m,w,C,v,g,x)},t}(),Np=function(){function t(t,e){this.styles=t,this.defaultParams=e}return t.prototype.buildStyles=function(t,e){var n={},r=Zc(this.defaultParams);return Object.keys(t).forEach((function(e){var n=t[e];null!=n&&(r[e]=n)})),this.styles.styles.forEach((function(t){if("string"!=typeof t){var i=t;Object.keys(i).forEach((function(t){var o=i[t];o.length>1&&(o=ip(o,r,e)),n[t]=o}))}})),n},t}(),Bp=function(){function t(t,e){var n=this;this.name=t,this.ast=e,this.transitionFactories=[],this.states={},e.states.forEach((function(t){n.states[t.name]=new Np(t.style,t.options&&t.options.params||{})})),Hp(this.states,"true","1"),Hp(this.states,"false","0"),e.transitions.forEach((function(e){n.transitionFactories.push(new Lp(t,e,n.states))})),this.fallbackTransition=new Lp(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(t,e){return!0}],options:null,queryCount:0,depCount:0},this.states)}return Object.defineProperty(t.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),t.prototype.matchTransition=function(t,e,n,r){return this.transitionFactories.find((function(i){return i.match(t,e,n,r)}))||null},t.prototype.matchStyles=function(t,e,n){return this.fallbackTransition.buildStyles(t,e,n)},t}();function Hp(t,e,n){t.hasOwnProperty(e)?t.hasOwnProperty(n)||(t[n]=t[e]):t.hasOwnProperty(n)&&(t[e]=t[n])}var zp=new Cp,qp=function(){function t(t,e,n){this.bodyNode=t,this._driver=e,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}return t.prototype.register=function(t,e){var n=[],r=yp(this._driver,e,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[t]=r},t.prototype._buildPlayer=function(t,e,n){var r=t.element,i=Oc(0,this._normalizer,0,t.keyframes,e,n);return this._driver.animate(r,i,t.duration,t.delay,t.easing,[],!0)},t.prototype.create=function(t,e,n){var r=this;void 0===n&&(n={});var i,o=[],s=this._animations[t],a=new Map;if(s?(i=kp(this._driver,e,s,"ng-enter","ng-leave",{},{},n,zp,o)).forEach((function(t){var e=Ic(a,t.element,{});t.postStyleProps.forEach((function(t){return e[t]=null}))})):(o.push("The requested animation doesn't exist or has already been destroyed"),i=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));a.forEach((function(t,e){Object.keys(t).forEach((function(n){t[n]=r._driver.computeStyle(e,n,"*")}))}));var l=kc(i.map((function(t){var e=a.get(t.element);return r._buildPlayer(t,{},e)})));return this._playersById[t]=l,l.onDestroy((function(){return r.destroy(t)})),this.players.push(l),l},t.prototype.destroy=function(t){var e=this._getPlayer(t);e.destroy(),delete this._playersById[t];var n=this.players.indexOf(e);n>=0&&this.players.splice(n,1)},t.prototype._getPlayer=function(t){var e=this._playersById[t];if(!e)throw new Error("Unable to find the timeline player referenced by "+t);return e},t.prototype.listen=function(t,e,n,r){var i=Tc(e,"","","");return Ac(this._getPlayer(t),n,i,r),function(){}},t.prototype.command=function(t,e,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(t);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}else this.create(t,e,r[0]||{});else this.register(t,r[0])},t}(),Wp=[],Qp={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Gp={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Up=function(){function t(t,e){void 0===e&&(e=""),this.namespaceId=e;var n,r=t&&t.hasOwnProperty("value");if(this.value=null!=(n=r?t.value:t)?n:null,r){var i=Zc(t);delete i.value,this.options=i}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(t.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),t.prototype.absorbOptions=function(t){var e=t.params;if(e){var n=this.options.params;Object.keys(e).forEach((function(t){null==n[t]&&(n[t]=e[t])}))}},t}(),Kp=new Up("void"),Zp=function(){function t(t,e,n){this.id=t,this.hostElement=e,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,nh(e,this._hostClassName)}return t.prototype.listen=function(t,e,n,r){var i,o=this;if(!this._triggers.hasOwnProperty(e))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+e+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+e+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+e+'" is not supported!');var s=Ic(this._elementListeners,t,[]),a={name:e,phase:n,callback:r};s.push(a);var l=Ic(this._engine.statesByElement,t,{});return l.hasOwnProperty(e)||(nh(t,"ng-trigger"),nh(t,"ng-trigger-"+e),l[e]=Kp),function(){o._engine.afterFlush((function(){var t=s.indexOf(a);t>=0&&s.splice(t,1),o._triggers[e]||delete l[e]}))}},t.prototype.register=function(t,e){return!this._triggers[t]&&(this._triggers[t]=e,!0)},t.prototype._getTrigger=function(t){var e=this._triggers[t];if(!e)throw new Error('The provided animation trigger "'+t+'" has not been registered!');return e},t.prototype.trigger=function(t,e,n,r){var i=this;void 0===r&&(r=!0);var o=this._getTrigger(e),s=new Xp(this.id,e,t),a=this._engine.statesByElement.get(t);a||(nh(t,"ng-trigger"),nh(t,"ng-trigger-"+e),this._engine.statesByElement.set(t,a={}));var l=a[e],u=new Up(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),a[e]=u,l||(l=Kp),"void"===u.value||l.value!==u.value){var c=Ic(this._engine.playersByElement,t,[]);c.forEach((function(t){t.namespaceId==i.id&&t.triggerName==e&&t.queued&&t.destroy()}));var p=o.matchTransition(l.value,u.value,t,u.params),h=!1;if(!p){if(!r)return;p=o.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:p,fromState:l,toState:u,player:s,isFallbackTransition:h}),h||(nh(t,"ng-animate-queued"),s.onStart((function(){rh(t,"ng-animate-queued")}))),s.onDone((function(){var e=i.players.indexOf(s);e>=0&&i.players.splice(e,1);var n=i._engine.playersByElement.get(t);if(n){var r=n.indexOf(s);r>=0&&n.splice(r,1)}})),this.players.push(s),c.push(s),s}if(!function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--)if(this.driver.containsElement(this._namespaceList[i].hostElement,e)){this._namespaceList.splice(i+1,0,t),r=!0;break}r||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(e,t),t},t.prototype.register=function(t,e){var n=this._namespaceLookup[t];return n||(n=this.createNamespace(t,e)),n},t.prototype.registerTrigger=function(t,e,n){var r=this._namespaceLookup[t];r&&r.register(e,n)&&this.totalAnimations++},t.prototype.destroy=function(t,e){var n=this;if(t){var r=this._fetchNamespace(t);this.afterFlush((function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[t];var e=n._namespaceList.indexOf(r);e>=0&&n._namespaceList.splice(e,1)})),this.afterFlushAnimationsDone((function(){return r.destroy(e)}))}},t.prototype._fetchNamespace=function(t){return this._namespaceLookup[t]},t.prototype.fetchNamespacesByElement=function(t){var e=new Set,n=this.statesByElement.get(t);if(n)for(var r=Object.keys(n),i=0;i=0&&this.collectedLeaveElements.splice(o,1)}if(t){var s=this._fetchNamespace(t);s&&s.insertNode(e,n)}r&&this.collectEnterElement(e)}},t.prototype.collectEnterElement=function(t){this.collectedEnterElements.push(t)},t.prototype.markElementAsDisabled=function(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),nh(t,"ng-animate-disabled")):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),rh(t,"ng-animate-disabled"))},t.prototype.removeNode=function(t,e,n,r){if($p(e)){var i=t?this._fetchNamespace(t):null;if(i?i.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),n){var o=this.namespacesByHostElement.get(e);o&&o.id!==t&&o.removeNode(e,r)}}else this._onRemovalComplete(e,r)},t.prototype.markElementAsRemoved=function(t,e,n,r){this.collectedLeaveElements.push(e),e.__ng_removed={namespaceId:t,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1}},t.prototype.listen=function(t,e,n,r,i){return $p(e)?this._fetchNamespace(t).listen(e,n,r,i):function(){}},t.prototype._buildInstruction=function(t,e,n,r,i){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,n,r,t.fromState.options,t.toState.options,e,i)},t.prototype.destroyInnerAnimations=function(t){var e=this,n=this.driver.query(t,".ng-trigger",!0);n.forEach((function(t){return e.destroyActiveAnimationsForElement(t)})),0!=this.playersByQueriedElement.size&&(n=this.driver.query(t,".ng-animating",!0)).forEach((function(t){return e.finishActiveQueriedAnimationOnElement(t)}))},t.prototype.destroyActiveAnimationsForElement=function(t){var e=this.playersByElement.get(t);e&&e.forEach((function(t){t.queued?t.markedForDestroy=!0:t.destroy()}))},t.prototype.finishActiveQueriedAnimationOnElement=function(t){var e=this.playersByQueriedElement.get(t);e&&e.forEach((function(t){return t.finish()}))},t.prototype.whenRenderingDone=function(){var t=this;return new Promise((function(e){if(t.players.length)return kc(t.players).onDone((function(){return e()}));e()}))},t.prototype.processLeaveNode=function(t){var e=this,n=t.__ng_removed;if(n&&n.setForRemoval){if(t.__ng_removed=Qp,n.namespaceId){this.destroyInnerAnimations(t);var r=this._fetchNamespace(n.namespaceId);r&&r.clearElementCache(t)}this._onRemovalComplete(t,n.setForRemoval)}this.driver.matchesElement(t,".ng-animate-disabled")&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach((function(t){e.markElementAsDisabled(t,!1)}))},t.prototype.flush=function(t){var e=this;void 0===t&&(t=-1);var n=[];if(this.newHostElements.size&&(this.newHostElements.forEach((function(t,n){return e._balanceNamespaceList(t,n)})),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var r=0;r=0;k--)this._namespaceList[k].drainQueuedTransitions(e).forEach((function(t){var e=t.player,o=t.element;if(E.push(e),n.collectedEnterElements.length){var s=o.__ng_removed;if(s&&s.setForMove)return void e.destroy()}var l=!f||!n.driver.containsElement(f,o),h=x.get(o),d=y.get(o),m=n._buildInstruction(t,r,d,h,l);if(m.errors&&m.errors.length)S.push(m);else{if(l)return e.onStart((function(){return tp(o,m.fromStyles)})),e.onDestroy((function(){return Jc(o,m.toStyles)})),void i.push(e);if(t.isFallbackTransition)return e.onStart((function(){return tp(o,m.fromStyles)})),e.onDestroy((function(){return Jc(o,m.toStyles)})),void i.push(e);m.timelines.forEach((function(t){return t.stretchStartingKeyframe=!0})),r.append(o,m.timelines),a.push({instruction:m,player:e,element:o}),m.queriedElements.forEach((function(t){return Ic(u,t,[]).push(e)})),m.preStyleProps.forEach((function(t,e){var n=Object.keys(t);if(n.length){var r=c.get(e);r||c.set(e,r=new Set),n.forEach((function(t){return r.add(t)}))}})),m.postStyleProps.forEach((function(t,e){var n=Object.keys(t),r=p.get(e);r||p.set(e,r=new Set),n.forEach((function(t){return r.add(t)}))}))}}));if(S.length){var O=[];S.forEach((function(t){O.push("@"+t.triggerName+" has failed due to:\n"),t.errors.forEach((function(t){return O.push("- "+t+"\n")}))})),E.forEach((function(t){return t.destroy()})),this.reportError(O)}var A=new Map,P=new Map;a.forEach((function(t){var e=t.element;r.has(e)&&(P.set(e,e),n._beforeAnimationBuild(t.player.namespaceId,t.instruction,A))})),i.forEach((function(t){var e=t.element;n._getPreviousPlayers(e,!1,t.namespaceId,t.triggerName,null).forEach((function(t){Ic(A,e,[]).push(t),t.destroy()}))}));var T=g.filter((function(t){return oh(t,c,p)})),I=new Map;th(I,this.driver,b,p,"*").forEach((function(t){oh(t,c,p)&&T.push(t)}));var D=new Map;m.forEach((function(t,e){th(D,n.driver,new Set(t),c,"!")})),T.forEach((function(t){var e=I.get(t),n=D.get(t);I.set(t,o(o({},e),n))}));var F=[],M=[],R={};a.forEach((function(t){var e=t.element,o=t.player,a=t.instruction;if(r.has(e)){if(h.has(e))return o.onDestroy((function(){return Jc(e,a.toStyles)})),o.disabled=!0,o.overrideTotalTime(a.totalTime),void i.push(o);var l=R;if(P.size>1){for(var u=e,c=[];u=u.parentNode;){var p=P.get(u);if(p){l=p;break}c.push(u)}c.forEach((function(t){return P.set(t,l)}))}var f=n._buildAnimation(o.namespaceId,a,A,s,D,I);if(o.setRealPlayer(f),l===R)F.push(o);else{var d=n.playersByElement.get(l);d&&d.length&&(o.parentPlayer=kc(d)),i.push(o)}}else tp(e,a.fromStyles),o.onDestroy((function(){return Jc(e,a.toStyles)})),M.push(o),h.has(e)&&i.push(o)})),M.forEach((function(t){var e=s.get(t.element);if(e&&e.length){var n=kc(e);t.setRealPlayer(n)}})),i.forEach((function(t){t.parentPlayer?t.syncPlayerEvents(t.parentPlayer):t.destroy()}));for(var V=0;V0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,n):new Cc(t.duration,t.delay)},t}(),Xp=function(){function t(t,e,n){this.namespaceId=t,this.triggerName=e,this.element=n,this._player=new Cc,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return t.prototype.setRealPlayer=function(t){var e=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach((function(n){e._queuedCallbacks[n].forEach((function(e){return Ac(t,n,void 0,e)}))})),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)},t.prototype.getRealPlayer=function(){return this._player},t.prototype.overrideTotalTime=function(t){this.totalTime=t},t.prototype.syncPlayerEvents=function(t){var e=this,n=this._player;n.triggerCallback&&t.onStart((function(){return n.triggerCallback("start")})),t.onDone((function(){return e.finish()})),t.onDestroy((function(){return e.destroy()}))},t.prototype._queueEvent=function(t,e){Ic(this._queuedCallbacks,t,[]).push(e)},t.prototype.onDone=function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)},t.prototype.onStart=function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)},t.prototype.onDestroy=function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)},t.prototype.init=function(){this._player.init()},t.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},t.prototype.play=function(){!this.queued&&this._player.play()},t.prototype.pause=function(){!this.queued&&this._player.pause()},t.prototype.restart=function(){!this.queued&&this._player.restart()},t.prototype.finish=function(){this._player.finish()},t.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},t.prototype.reset=function(){!this.queued&&this._player.reset()},t.prototype.setPosition=function(t){this.queued||this._player.setPosition(t)},t.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},t.prototype.triggerCallback=function(t){var e=this._player;e.triggerCallback&&e.triggerCallback(t)},t}();function $p(t){return t&&1===t.nodeType}function Jp(t,e){var n=t.style.display;return t.style.display=null!=e?e:"none",n}function th(t,e,n,r,i){var o=[];n.forEach((function(t){return o.push(Jp(t))}));var s=[];r.forEach((function(n,r){var o={};n.forEach((function(t){var n=o[t]=e.computeStyle(r,t,i);n&&0!=n.length||(r.__ng_removed=Gp,s.push(r))})),t.set(r,o)}));var a=0;return n.forEach((function(t){return Jp(t,o[a++])})),s}function eh(t,e){var n=new Map;if(t.forEach((function(t){return n.set(t,[])})),0==e.length)return n;var r=new Set(e),i=new Map;return e.forEach((function(t){var e=function t(e){if(!e)return 1;var o=i.get(e);if(o)return o;var s=e.parentNode;return o=n.has(s)?s:r.has(s)?1:t(s),i.set(e,o),o}(t);1!==e&&n.get(e).push(t)})),n}function nh(t,e){if(t.classList)t.classList.add(e);else{var n=t.$$classes;n||(n=t.$$classes={}),n[e]=!0}}function rh(t,e){if(t.classList)t.classList.remove(e);else{var n=t.$$classes;n&&delete n[e]}}function ih(t,e,n){kc(n).onDone((function(){return t.processLeaveNode(e)}))}function oh(t,e,n){var r=n.get(t);if(!r)return!1;var i=e.get(t);return i?r.forEach((function(t){return i.add(t)})):e.set(t,r),n.delete(t),!0}var sh=function(){function t(t,e,n){var r=this;this.bodyNode=t,this._driver=e,this._triggerCache={},this.onRemovalComplete=function(t,e){},this._transitionEngine=new Yp(t,e,n),this._timelineEngine=new qp(t,e,n),this._transitionEngine.onRemovalComplete=function(t,e){return r.onRemovalComplete(t,e)}}return t.prototype.registerTrigger=function(t,e,n,r,i){var o=t+"-"+r,s=this._triggerCache[o];if(!s){var a=[],l=yp(this._driver,i,a);if(a.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+a.join("\n - "));s=function(t,e){return new Bp(t,e)}(r,l),this._triggerCache[o]=s}this._transitionEngine.registerTrigger(e,r,s)},t.prototype.register=function(t,e){this._transitionEngine.register(t,e)},t.prototype.destroy=function(t,e){this._transitionEngine.destroy(t,e)},t.prototype.onInsert=function(t,e,n,r){this._transitionEngine.insertNode(t,e,n,r)},t.prototype.onRemove=function(t,e,n,r){this._transitionEngine.removeNode(t,e,r||!1,n)},t.prototype.disableAnimations=function(t,e){this._transitionEngine.markElementAsDisabled(t,e)},t.prototype.process=function(t,e,n,r){if("@"==n.charAt(0)){var i=a(Dc(n),2);this._timelineEngine.command(i[0],e,i[1],r)}else this._transitionEngine.trigger(t,e,n,r)},t.prototype.listen=function(t,e,n,r,i){if("@"==n.charAt(0)){var o=a(Dc(n),2);return this._timelineEngine.listen(o[0],e,o[1],i)}return this._transitionEngine.listen(t,e,n,r,i)},t.prototype.flush=function(t){void 0===t&&(t=-1),this._transitionEngine.flush(t)},Object.defineProperty(t.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),t.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},t}();function ah(t,e){var n=null,r=null;return Array.isArray(e)&&e.length?(n=uh(e[0]),e.length>1&&(r=uh(e[e.length-1]))):e&&(n=uh(e)),n||r?new lh(t,n,r):null}var lh=function(){function t(e,n,r){this._element=e,this._startStyles=n,this._endStyles=r,this._state=0;var i=t.initialStylesByElement.get(e);i||t.initialStylesByElement.set(e,i={}),this._initialStyles=i}return t.prototype.start=function(){this._state<1&&(this._startStyles&&Jc(this._element,this._startStyles,this._initialStyles),this._state=1)},t.prototype.finish=function(){this.start(),this._state<2&&(Jc(this._element,this._initialStyles),this._endStyles&&(Jc(this._element,this._endStyles),this._endStyles=null),this._state=1)},t.prototype.destroy=function(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(tp(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(tp(this._element,this._endStyles),this._endStyles=null),Jc(this._element,this._initialStyles),this._state=3)},t.initialStylesByElement=new WeakMap,t}();function uh(t){for(var e=null,n=Object.keys(t),r=0;r=this._delay&&n>=this._duration&&this.finish()},t.prototype.finish=function(){this._finished||(this._finished=!0,this._onDoneFn(),mh(this._element,this._eventFn,!0))},t.prototype.destroy=function(){var t,e,n,r;this._destroyed||(this._destroyed=!0,this.finish(),e=this._name,(r=dh(n=vh(t=this._element,"").split(","),e))>=0&&(n.splice(r,1),yh(t,"",n.join(","))))},t}();function hh(t,e,n){yh(t,"PlayState",n,fh(t,e))}function fh(t,e){var n=vh(t,"");return n.indexOf(",")>0?dh(n.split(","),e):dh([n],e)}function dh(t,e){for(var n=0;n=0)return n;return-1}function mh(t,e,n){n?t.removeEventListener("animationend",e):t.addEventListener("animationend",e)}function yh(t,e,n,r){var i="animation"+e;if(null!=r){var o=t.style[i];if(o.length){var s=o.split(",");s[r]=n,n=s.join(",")}}t.style[i]=n}function vh(t,e){return t.style["animation"+e]}var gh=function(){function t(t,e,n,r,i,o,s,a){this.element=t,this.keyframes=e,this.animationName=n,this._duration=r,this._delay=i,this._finalStyles=s,this._specialStyles=a,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=r+i,this._buildStyler()}return t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.destroy=function(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype._flushDoneFns=function(){this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[]},t.prototype._flushStartFns=function(){this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[]},t.prototype.finish=function(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())},t.prototype.setPosition=function(t){this._styler.setPosition(t)},t.prototype.getPosition=function(){return this._styler.getPosition()},t.prototype.hasStarted=function(){return this._state>=2},t.prototype.init=function(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())},t.prototype.play=function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()},t.prototype.pause=function(){this.init(),this._styler.pause()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.reset=function(){this._styler.destroy(),this._buildStyler(),this._styler.apply()},t.prototype._buildStyler=function(){var t=this;this._styler=new ph(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",(function(){return t.finish()}))},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t.prototype.beforeDestroy=function(){var t=this;this.init();var e={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach((function(r){"offset"!=r&&(e[r]=n?t._finalStyles[r]:pp(t.element,r))}))}this.currentSnapshot=e},t}(),_h=function(t){function e(e,n){var r=t.call(this)||this;return r.element=e,r._startingStyles={},r.__initialized=!1,r._styles=qc(n),r}return i(e,t),e.prototype.init=function(){var e=this;!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach((function(t){e._startingStyles[t]=e.element.style[t]})),t.prototype.init.call(this))},e.prototype.play=function(){var e=this;this._startingStyles&&(this.init(),Object.keys(this._styles).forEach((function(t){return e.element.style.setProperty(t,e._styles[t])})),t.prototype.play.call(this))},e.prototype.destroy=function(){var e=this;this._startingStyles&&(Object.keys(this._startingStyles).forEach((function(t){var n=e._startingStyles[t];n?e.element.style.setProperty(t,n):e.element.style.removeProperty(t)})),this._startingStyles=null,t.prototype.destroy.call(this))},e}(Cc),bh=function(){function t(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}return t.prototype.validateStyleProperty=function(t){return Nc(t)},t.prototype.matchesElement=function(t,e){return Bc(t,e)},t.prototype.containsElement=function(t,e){return Hc(t,e)},t.prototype.query=function(t,e,n){return zc(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.buildKeyframeElement=function(t,e,n){n=n.map((function(t){return qc(t)}));var r="@keyframes "+e+" {\n",i="";n.forEach((function(t){i=" ";var e=parseFloat(t.offset);r+=""+i+100*e+"% {\n",i+=" ",Object.keys(t).forEach((function(e){var n=t[e];switch(e){case"offset":return;case"easing":return void(n&&(r+=i+"animation-timing-function: "+n+";\n"));default:return void(r+=""+i+e+": "+n+";\n")}})),r+=i+"}\n"})),r+="}\n";var o=document.createElement("style");return o.innerHTML=r,o},t.prototype.animate=function(t,e,n,r,i,o,s){void 0===o&&(o=[]),s&&this._notifyFaultyScrubber();var a=o.filter((function(t){return t instanceof gh})),l={};lp(n,r)&&a.forEach((function(t){var e=t.currentSnapshot;Object.keys(e).forEach((function(t){return l[t]=e[t]}))}));var u=function(t){var e={};return t&&(Array.isArray(t)?t:[t]).forEach((function(t){Object.keys(t).forEach((function(n){"offset"!=n&&"easing"!=n&&(e[n]=t[n])}))})),e}(e=up(t,e,l));if(0==n)return new _h(t,u);var c="gen_css_kf_"+this._count++,p=this.buildKeyframeElement(t,c,e);document.querySelector("head").appendChild(p);var h=ah(t,e),f=new gh(t,e,c,n,r,i,u,h);return f.onDestroy((function(){var t;(t=p).parentNode.removeChild(t)})),f},t.prototype._notifyFaultyScrubber=function(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)},t}(),wh=function(){function t(t,e,n,r){this.element=t,this.keyframes=e,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach((function(t){return t()})),this._onDoneFns=[])},t.prototype.init=function(){this._buildPlayer(),this._preparePlayerBeforeStart()},t.prototype._buildPlayer=function(){var t=this;if(!this._initialized){this._initialized=!0;var e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:{},this.domPlayer.addEventListener("finish",(function(){return t._onFinish()}))}},t.prototype._preparePlayerBeforeStart=function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()},t.prototype._triggerWebAnimation=function(t,e,n){return t.animate(e,n)},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.onDestroy=function(t){this._onDestroyFns.push(t)},t.prototype.play=function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach((function(t){return t()})),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()},t.prototype.pause=function(){this.init(),this.domPlayer.pause()},t.prototype.finish=function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()},t.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype._resetDomPlayerState=function(){this.domPlayer&&this.domPlayer.cancel()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.hasStarted=function(){return this._started},t.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach((function(t){return t()})),this._onDestroyFns=[])},t.prototype.setPosition=function(t){this.domPlayer.currentTime=t*this.time},t.prototype.getPosition=function(){return this.domPlayer.currentTime/this.time},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._delay+this._duration},enumerable:!0,configurable:!0}),t.prototype.beforeDestroy=function(){var t=this,e={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach((function(n){"offset"!=n&&(e[n]=t._finished?t._finalKeyframe[n]:pp(t.element,n))})),this.currentSnapshot=e},t.prototype.triggerCallback=function(t){var e="start"==t?this._onStartFns:this._onDoneFns;e.forEach((function(t){return t()})),e.length=0},t}(),xh=function(){function t(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(Ch().toString()),this._cssKeyframesDriver=new bh}return t.prototype.validateStyleProperty=function(t){return Nc(t)},t.prototype.matchesElement=function(t,e){return Bc(t,e)},t.prototype.containsElement=function(t,e){return Hc(t,e)},t.prototype.query=function(t,e,n){return zc(t,e,n)},t.prototype.computeStyle=function(t,e,n){return window.getComputedStyle(t)[e]},t.prototype.overrideWebAnimationsSupport=function(t){this._isNativeImpl=t},t.prototype.animate=function(t,e,n,r,i,o,s){if(void 0===o&&(o=[]),!s&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(t,e,n,r,i,o);var a={duration:n,delay:r,fill:0==r?"both":"forwards"};i&&(a.easing=i);var l={},u=o.filter((function(t){return t instanceof wh}));lp(n,r)&&u.forEach((function(t){var e=t.currentSnapshot;Object.keys(e).forEach((function(t){return l[t]=e[t]}))}));var c=ah(t,e=up(t,e=e.map((function(t){return Yc(t,!1)})),l));return new wh(t,e,a,c)},t}();function Ch(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}}var Eh=function(t){function e(e,n){var r=t.call(this)||this;return r._nextAnimationId=0,r._renderer=e.createRenderer(n.body,{id:"0",encapsulation:ye.None,styles:[],data:{animation:[]}}),r}return i(e,t),e.prototype.build=function(t){var e=this._nextAnimationId.toString();this._nextAnimationId++;var n=Array.isArray(t)?yc(t):t;return Oh(this._renderer,null,e,"register",[n]),new Sh(e,this._renderer)},e.\u0275fac=function(t){return new(t||e)(ee(Js),ee(iu))},e.\u0275prov=vt({token:e,factory:function(t){return e.\u0275fac(t)}}),e}(hc),Sh=function(t){function e(e,n){var r=t.call(this)||this;return r._id=e,r._renderer=n,r}return i(e,t),e.prototype.create=function(t,e){return new kh(this._id,t,e||{},this._renderer)},e}(fc),kh=function(){function t(t,e,n,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",n)}return t.prototype._listen=function(t,e){return this._renderer.listen(this.element,"@@"+this.id+":"+t,e)},t.prototype._command=function(t){for(var e=[],n=1;n=0&&tt?{max:{max:t,actual:e.value}}:null}},t.required=function(t){return Yh(t.value)?{required:!0}:null},t.requiredTrue=function(t){return!0===t.value?null:{required:!0}},t.email=function(t){return Yh(t.value)||Jh.test(t.value)?null:{email:!0}},t.minLength=function(t){return function(e){if(Yh(e.value))return null;var n=e.value?e.value.length:0;return nt?{maxlength:{requiredLength:t,actualLength:n}}:null}},t.pattern=function(e){return e?("string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),n=new RegExp(r)):(r=e.toString(),n=e),function(t){if(Yh(t.value))return null;var e=t.value;return n.test(e)?null:{pattern:{requiredPattern:r,actualValue:e}}}):t.nullValidator;var n,r},t.nullValidator=function(t){return null},t.compose=function(t){if(!t)return null;var e=t.filter(ef);return 0==e.length?null:function(t){return rf(function(t,e){return e.map((function(e){return e(t)}))}(t,e))}},t.composeAsync=function(t){if(!t)return null;var e=t.filter(ef);return 0==e.length?null:function(t){return function(){for(var t=[],e=0;e=0;--e)if(this._accessors[e][1]===t)return void this._accessors.splice(e,1)},t.prototype.select=function(t){var e=this;this._accessors.forEach((function(n){e._isSameGroup(n,t)&&n[1]!==t&&n[1].fireUncheck(t.value)}))},t.prototype._isSameGroup=function(t,e){return!!t[0].control&&t[0]._parent===e._control._parent&&t[1].name===e.name},t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}(),pf=function(){function t(t,e,n,r){this._renderer=t,this._elementRef=e,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return t.prototype.ngOnInit=function(){this._control=this._injector.get(Gh),this._checkName(),this._registry.add(this._control,this)},t.prototype.ngOnDestroy=function(){this._registry.remove(this)},t.prototype.writeValue=function(t){this._state=t===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},t.prototype.registerOnChange=function(t){var e=this;this._fn=t,this.onChange=function(){t(e.value),e._registry.select(e)}},t.prototype.fireUncheck=function(t){this.writeValue(t)},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},t.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},t.\u0275fac=function(e){return new(e||t)(qo(ea),qo(Xs),qo(cf),qo(Oo))},t.\u0275dir=ke({type:t,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(t,e){1&t&&Jo("change",(function(){return e.onChange()}))("blur",(function(){return e.onTouched()}))},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Gs([uf])]}),t}(),hf={provide:jh,useExisting:Tt((function(){return ff})),multi:!0},ff=function(){function t(t,e){this._renderer=t,this._elementRef=e,this.onChange=function(t){},this.onTouched=function(){}}return t.prototype.writeValue=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(t))},t.prototype.registerOnChange=function(t){this.onChange=function(e){t(""==e?null:parseFloat(e))}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.\u0275fac=function(e){return new(e||t)(qo(ea),qo(Xs))},t.\u0275dir=ke({type:t,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(t,e){1&t&&Jo("change",(function(t){return e.onChange(t.target.value)}))("input",(function(t){return e.onChange(t.target.value)}))("blur",(function(){return e.onTouched()}))},features:[Gs([hf])]}),t}(),df='\n
                      \n \n
                      \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',mf='\n
                      \n
                      \n \n
                      \n
                      \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',yf='\n
                      \n
                      \n \n
                      \n
                      ',vf=function(){function t(){}return t.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+df)},t.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+mf+"\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n "+yf)},t.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+df)},t.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+mf)},t.arrayParentException=function(){throw new Error('formArrayName must be used with a parent formGroup directive. You\'ll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n \n
                      \n
                      \n
                      \n \n
                      \n
                      \n
                      \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });')},t.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},t.ngModelWarning=function(t){console.warn("\n It looks like you're using ngModel on the same form field as "+t+". \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/"+("formControl"===t?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n ")},t}(),gf={provide:jh,useExisting:Tt((function(){return _f})),multi:!0},_f=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=Mo}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){this.value=t;var e=this._getOptionId(t);null==e&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=function(t,e){return null==t?""+e:(e&&"object"==typeof e&&(e="Object"),(t+": "+e).slice(0,50))}(e,t);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){e.value=e._getOptionValue(n),t(e.value)}},t.prototype.registerOnTouched=function(t){this.onTouched=t},t.prototype.setDisabledState=function(t){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",t)},t.prototype._registerOption=function(){return(this._idCounter++).toString()},t.prototype._getOptionId=function(t){var e,n;try{for(var r=s(Array.from(this._optionMap.keys())),i=r.next();!i.done;i=r.next()){var o=i.value;if(this._compareWith(this._optionMap.get(o),t))return o}}catch(a){e={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(e)throw e.error}}return null},t.prototype._getOptionValue=function(t){var e=function(t){return t.split(":")[0]}(t);return this._optionMap.has(e)?this._optionMap.get(e):t},t.\u0275fac=function(e){return new(e||t)(qo(ea),qo(Xs))},t.\u0275dir=ke({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(t,e){1&t&&Jo("change",(function(t){return e.onChange(t.target.value)}))("blur",(function(){return e.onTouched()}))},inputs:{compareWith:"compareWith"},features:[Gs([gf])]}),t}(),bf={provide:jh,useExisting:Tt((function(){return wf})),multi:!0},wf=function(){function t(t,e){this._renderer=t,this._elementRef=e,this._optionMap=new Map,this._idCounter=0,this.onChange=function(t){},this.onTouched=function(){},this._compareWith=Mo}return Object.defineProperty(t.prototype,"compareWith",{set:function(t){if("function"!=typeof t)throw new Error("compareWith must be a function, but received "+JSON.stringify(t));this._compareWith=t},enumerable:!0,configurable:!0}),t.prototype.writeValue=function(t){var e,n=this;if(this.value=t,Array.isArray(t)){var r=t.map((function(t){return n._getOptionId(t)}));e=function(t,e){t._setSelected(r.indexOf(e.toString())>-1)}}else e=function(t,e){t._setSelected(!1)};this._optionMap.forEach(e)},t.prototype.registerOnChange=function(t){var e=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,o=0;o1?"path: '"+t.path.join(" -> ")+"'":t.path[0]?"name: '"+t.path+"'":"unspecified name attribute",new Error(e+" "+n)}function Af(t){return null!=t?tf.compose(t.map(of)):null}function Pf(t){return null!=t?tf.composeAsync(t.map(sf)):null}function Tf(t,e){if(!t.hasOwnProperty("model"))return!1;var n=t.model;return!!n.isFirstChange()||!Mo(e,n.currentValue)}var If=[Nh,ff,lf,_f,wf,pf];function Df(t,e){t._syncPendingControls(),e.forEach((function(t){var e=t.control;"submit"===e.updateOn&&e._pendingChange&&(t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1)}))}function Ff(t,e){if(!e)return null;Array.isArray(e)||Of(t,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return e.forEach((function(e){var o;e.constructor===zh?n=e:(o=e,If.some((function(t){return o.constructor===t}))?(r&&Of(t,"More than one built-in value accessor matches form control with"),r=e):(i&&Of(t,"More than one custom value accessor matches form control with"),i=e))})),i||r||n||(Of(t,"No valid value accessor for form control with"),null)}function Mf(t,e){var n=t.indexOf(e);n>-1&&t.splice(n,1)}function Rf(t){var e=jf(t)?t.validators:t;return Array.isArray(e)?Af(e):e||null}function Vf(t,e){var n=jf(e)?e.asyncValidators:t;return Array.isArray(n)?Pf(n):n||null}function jf(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}var Lf=function(){function t(t,e){this.validator=t,this.asyncValidator=e,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),t.prototype.setValidators=function(t){this.validator=Rf(t)},t.prototype.setAsyncValidators=function(t){this.asyncValidator=Vf(t)},t.prototype.clearValidators=function(){this.validator=null},t.prototype.clearAsyncValidators=function(){this.asyncValidator=null},t.prototype.markAsTouched=function(t){void 0===t&&(t={}),this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)},t.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild((function(t){return t.markAllAsTouched()}))},t.prototype.markAsUntouched=function(t){void 0===t&&(t={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild((function(t){t.markAsUntouched({onlySelf:!0})})),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype.markAsDirty=function(t){void 0===t&&(t={}),this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)},t.prototype.markAsPristine=function(t){void 0===t&&(t={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild((function(t){t.markAsPristine({onlySelf:!0})})),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype.markAsPending=function(t){void 0===t&&(t={}),this.status="PENDING",!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)},t.prototype.disable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild((function(e){e.disable(o(o({},t),{onlySelf:!0}))})),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(o(o({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach((function(t){return t(!0)}))},t.prototype.enable=function(t){void 0===t&&(t={});var e=this._parentMarkedDirty(t.onlySelf);this.status="VALID",this._forEachChild((function(e){e.enable(o(o({},t),{onlySelf:!0}))})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(o(o({},t),{skipPristineCheck:e})),this._onDisabledChange.forEach((function(t){return t(!1)}))},t.prototype._updateAncestors=function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},t.prototype.setParent=function(t){this._parent=t},t.prototype.updateValueAndValidity=function(t){void 0===t&&(t={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)},t.prototype._updateTreeValidity=function(t){void 0===t&&(t={emitEvent:!0}),this._forEachChild((function(e){return e._updateTreeValidity(t)})),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})},t.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},t.prototype._runValidator=function(){return this.validator?this.validator(this):null},t.prototype._runAsyncValidator=function(t){var e=this;if(this.asyncValidator){this.status="PENDING";var n=nf(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe((function(n){return e.setErrors(n,{emitEvent:t})}))}},t.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},t.prototype.setErrors=function(t,e){void 0===e&&(e={}),this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)},t.prototype.get=function(t){return function(t,e,n){if(null==e)return null;if(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length)return null;var r=t;return e.forEach((function(t){r=r instanceof Bf?r.controls.hasOwnProperty(t)?r.controls[t]:null:r instanceof Hf&&r.at(t)||null})),r}(this,t)},t.prototype.getError=function(t,e){var n=e?this.get(e):this;return n&&n.errors?n.errors[t]:null},t.prototype.hasError=function(t,e){return!!this.getError(t,e)},Object.defineProperty(t.prototype,"root",{get:function(){for(var t=this;t._parent;)t=t._parent;return t},enumerable:!0,configurable:!0}),t.prototype._updateControlsErrors=function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)},t.prototype._initObservables=function(){this.valueChanges=new za,this.statusChanges=new za},t.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},t.prototype._anyControlsHaveStatus=function(t){return this._anyControls((function(e){return e.status===t}))},t.prototype._anyControlsDirty=function(){return this._anyControls((function(t){return t.dirty}))},t.prototype._anyControlsTouched=function(){return this._anyControls((function(t){return t.touched}))},t.prototype._updatePristine=function(t){void 0===t&&(t={}),this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)},t.prototype._updateTouched=function(t){void 0===t&&(t={}),this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)},t.prototype._isBoxedValue=function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t},t.prototype._registerOnCollectionChange=function(t){this._onCollectionChange=t},t.prototype._setUpdateStrategy=function(t){jf(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)},t.prototype._parentMarkedDirty=function(t){return!t&&this._parent&&this._parent.dirty&&!this._parent._anyControlsDirty()},t}(),Nf=function(t){function e(e,n,r){void 0===e&&(e=null);var i=t.call(this,Rf(n),Vf(r,n))||this;return i._onChange=[],i._applyFormState(e),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return i(e,t),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach((function(t){return t(n.value,!1!==e.emitViewToModelChange)})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){void 0===e&&(e={}),this.setValue(t,e)},e.prototype.reset=function(t,e){void 0===t&&(t=null),void 0===e&&(e={}),this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1},e.prototype._updateValue=function(){},e.prototype._anyControls=function(t){return!1},e.prototype._allControlsDisabled=function(){return this.disabled},e.prototype.registerOnChange=function(t){this._onChange.push(t)},e.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},e.prototype.registerOnDisabledChange=function(t){this._onDisabledChange.push(t)},e.prototype._forEachChild=function(t){},e.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))},e.prototype._applyFormState=function(t){this._isBoxedValue(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t},e}(Lf),Bf=function(t){function e(e,n,r){var i=t.call(this,Rf(n),Vf(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return i(e,t),e.prototype.registerControl=function(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)},e.prototype.addControl=function(t,e){this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.removeControl=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),delete this.controls[t],this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.contains=function(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled},e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),Object.keys(t).forEach((function(r){n._throwIfControlMissing(r),n.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),Object.keys(t).forEach((function(r){n.controls[r]&&n.controls[r].patchValue(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),this._forEachChild((function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this._reduceChildren({},(function(t,e,n){return t[n]=e instanceof Nf?e.value:e.getRawValue(),t}))},e.prototype._syncPendingControls=function(){var t=this._reduceChildren(!1,(function(t,e){return!!e._syncPendingControls()||t}));return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[t])throw new Error("Cannot find form control with name: "+t+".")},e.prototype._forEachChild=function(t){var e=this;Object.keys(this.controls).forEach((function(n){return t(e.controls[n],n)}))},e.prototype._setUpControls=function(){var t=this;this._forEachChild((function(e){e.setParent(t),e._registerOnCollectionChange(t._onCollectionChange)}))},e.prototype._updateValue=function(){this.value=this._reduceValue()},e.prototype._anyControls=function(t){var e=this,n=!1;return this._forEachChild((function(r,i){n=n||e.contains(i)&&t(r)})),n},e.prototype._reduceValue=function(){var t=this;return this._reduceChildren({},(function(e,n,r){return(n.enabled||t.disabled)&&(e[r]=n.value),e}))},e.prototype._reduceChildren=function(t,e){var n=t;return this._forEachChild((function(t,r){n=e(n,t,r)})),n},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=s(Object.keys(this.controls)),r=n.next();!r.done;r=n.next())if(this.controls[r.value].enabled)return!1}catch(i){t={error:i}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return Object.keys(this.controls).length>0||this.disabled},e.prototype._checkAllValuesPresent=function(t){this._forEachChild((function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")}))},e}(Lf),Hf=function(t){function e(e,n,r){var i=t.call(this,Rf(n),Vf(r,n))||this;return i.controls=e,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return i(e,t),e.prototype.at=function(t){return this.controls[t]},e.prototype.push=function(t){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity(),this._onCollectionChange()},e.prototype.insert=function(t,e){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity()},e.prototype.removeAt=function(t){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),this.controls.splice(t,1),this.updateValueAndValidity()},e.prototype.setControl=function(t,e){this.controls[t]&&this.controls[t]._registerOnCollectionChange((function(){})),this.controls.splice(t,1),e&&(this.controls.splice(t,0,e),this._registerControl(e)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(e.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),e.prototype.setValue=function(t,e){var n=this;void 0===e&&(e={}),this._checkAllValuesPresent(t),t.forEach((function(t,r){n._throwIfControlMissing(r),n.at(r).setValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.patchValue=function(t,e){var n=this;void 0===e&&(e={}),t.forEach((function(t,r){n.at(r)&&n.at(r).patchValue(t,{onlySelf:!0,emitEvent:e.emitEvent})})),this.updateValueAndValidity(e)},e.prototype.reset=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={}),this._forEachChild((function(n,r){n.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})})),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)},e.prototype.getRawValue=function(){return this.controls.map((function(t){return t instanceof Nf?t.value:t.getRawValue()}))},e.prototype.clear=function(){this.controls.length<1||(this._forEachChild((function(t){return t._registerOnCollectionChange((function(){}))})),this.controls.splice(0),this.updateValueAndValidity())},e.prototype._syncPendingControls=function(){var t=this.controls.reduce((function(t,e){return!!e._syncPendingControls()||t}),!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t},e.prototype._throwIfControlMissing=function(t){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(t))throw new Error("Cannot find form control at index "+t)},e.prototype._forEachChild=function(t){this.controls.forEach((function(e,n){t(e,n)}))},e.prototype._updateValue=function(){var t=this;this.value=this.controls.filter((function(e){return e.enabled||t.disabled})).map((function(t){return t.value}))},e.prototype._anyControls=function(t){return this.controls.some((function(e){return e.enabled&&t(e)}))},e.prototype._setUpControls=function(){var t=this;this._forEachChild((function(e){return t._registerControl(e)}))},e.prototype._checkAllValuesPresent=function(t){this._forEachChild((function(e,n){if(void 0===t[n])throw new Error("Must supply a value for form control at index: "+n+".")}))},e.prototype._allControlsDisabled=function(){var t,e;try{for(var n=s(this.controls),r=n.next();!r.done;r=n.next())if(r.value.enabled)return!1}catch(i){t={error:i}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}return this.controls.length>0||this.disabled},e.prototype._registerControl=function(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)},e}(Lf),zf={provide:Wh,useExisting:Tt((function(){return Wf}))},qf=function(){return Promise.resolve(null)}(),Wf=function(t){function e(e,n){var r=t.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new za,r.form=new Bf({},Af(e),Pf(n)),r}return i(e,t),e.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this;qf.then((function(){var n=e._findContainer(t.path);t.control=n.registerControl(t.name,t.control),Cf(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),e._directives.push(t)}))},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){var e=this;qf.then((function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name),Mf(e._directives,t)}))},e.prototype.addFormGroup=function(t){var e=this;qf.then((function(){var n=e._findContainer(t.path),r=new Bf({});Sf(r,t),n.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})}))},e.prototype.removeFormGroup=function(t){var e=this;qf.then((function(){var n=e._findContainer(t.path);n&&n.removeControl(t.name)}))},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){var n=this;qf.then((function(){n.form.get(t.path).setValue(e)}))},e.prototype.setValue=function(t){this.control.setValue(t)},e.prototype.onSubmit=function(t){return this.submitted=!0,Df(this.form,this._directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},e.prototype._findContainer=function(t){return t.pop(),t.length?this.form.get(t):this.form},e.\u0275fac=function(t){return new(t||e)(qo(Xh,10),qo($h,10))},e.\u0275dir=ke({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,e){1&t&&Jo("submit",(function(t){return e.onSubmit(t)}))("reset",(function(){return e.onReset()}))},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Gs([zf]),Ts]}),e}(Wh),Qf=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}i(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return xf(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return Af(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Pf(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){},e.\u0275fac=function(t){return n(t||e)},e.\u0275dir=ke({type:e,features:[Ts]});var n=cr(e);return e}(Wh),Gf=function(){function t(){}return t.modelParentException=function(){throw new Error('\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup\'s partner directive "formControlName" instead. Example:\n\n '+df+'\n\n Or, if you\'d like to avoid registering this form control, indicate that it\'s standalone in ngModelOptions:\n\n Example:\n\n \n
                      \n \n \n
                      \n ')},t.formGroupNameException=function(){throw new Error("\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n "+mf+"\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n "+yf)},t.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')},t.modelGroupParentException=function(){throw new Error("\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n "+mf+"\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n "+yf)},t}(),Uf={provide:Wh,useExisting:Tt((function(){return Kf}))},Kf=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}var n;return i(e,t),n=e,e.prototype._checkParentType=function(){this._parent instanceof n||this._parent instanceof Wf||Gf.modelGroupParentException()},e.\u0275fac=function(t){return new(t||e)(qo(Wh,5),qo(Xh,10),qo($h,10))},e.\u0275dir=ke({type:e,selectors:[["","ngModelGroup",""]],inputs:{name:["ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[Gs([Uf]),Ts]}),e}(Qf),Zf={provide:Gh,useExisting:Tt((function(){return Xf}))},Yf=function(){return Promise.resolve(null)}(),Xf=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.control=new Nf,o._registered=!1,o.update=new za,o._parent=e,o._rawValidators=n||[],o._rawAsyncValidators=r||[],o.valueAccessor=Ff(o,i),o}return i(e,t),e.prototype.ngOnChanges=function(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),Tf(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(e.prototype,"path",{get:function(){return this._parent?xf(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return Af(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Pf(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},e.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},e.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},e.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},e.prototype._setUpStandalone=function(){Cf(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},e.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},e.prototype._checkParentType=function(){!(this._parent instanceof Kf)&&this._parent instanceof Qf?Gf.formGroupNameException():this._parent instanceof Kf||this._parent instanceof Wf||Gf.modelParentException()},e.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||Gf.missingNameException()},e.prototype._updateValue=function(t){var e=this;Yf.then((function(){e.control.setValue(t,{emitViewToModelChange:!1})}))},e.prototype._updateDisabled=function(t){var e=this,n=t.isDisabled.currentValue,r=""===n||n&&"false"!==n;Yf.then((function(){r&&!e.control.disabled?e.control.disable():!r&&e.control.disabled&&e.control.enable()}))},e.\u0275fac=function(t){return new(t||e)(qo(Wh,9),qo(Xh,10),qo($h,10),qo(jh,10))},e.\u0275dir=ke({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Gs([Zf]),Ts,Vs]}),e}(Gh),$f=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t}(),Jf=new Gt("NgModelWithFormControlWarning"),td={provide:Wh,useExisting:Tt((function(){return ed}))},ed=function(t){function e(e,n){var r=t.call(this)||this;return r._validators=e,r._asyncValidators=n,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new za,r}return i(e,t),e.prototype.ngOnChanges=function(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(e.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),e.prototype.addControl=function(t){var e=this.form.get(t.path);return Cf(e,t),e.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),e},e.prototype.getControl=function(t){return this.form.get(t.path)},e.prototype.removeControl=function(t){Mf(this.directives,t)},e.prototype.addFormGroup=function(t){var e=this.form.get(t.path);Sf(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormGroup=function(t){},e.prototype.getFormGroup=function(t){return this.form.get(t.path)},e.prototype.addFormArray=function(t){var e=this.form.get(t.path);Sf(e,t),e.updateValueAndValidity({emitEvent:!1})},e.prototype.removeFormArray=function(t){},e.prototype.getFormArray=function(t){return this.form.get(t.path)},e.prototype.updateModel=function(t,e){this.form.get(t.path).setValue(e)},e.prototype.onSubmit=function(t){return this.submitted=!0,Df(this.form,this.directives),this.ngSubmit.emit(t),!1},e.prototype.onReset=function(){this.resetForm()},e.prototype.resetForm=function(t){void 0===t&&(t=void 0),this.form.reset(t),this.submitted=!1},e.prototype._updateDomValue=function(){var t=this;this.directives.forEach((function(e){var n=t.form.get(e.path);e.control!==n&&(function(t,e){e.valueAccessor.registerOnChange((function(){return kf(e)})),e.valueAccessor.registerOnTouched((function(){return kf(e)})),e._rawValidators.forEach((function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)})),e._rawAsyncValidators.forEach((function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(null)})),t&&t._clearChangeFns()}(e.control,e),n&&Cf(n,e),e.control=n)})),this.form._updateTreeValidity({emitEvent:!1})},e.prototype._updateRegistrations=function(){var t=this;this.form._registerOnCollectionChange((function(){return t._updateDomValue()})),this._oldForm&&this._oldForm._registerOnCollectionChange((function(){})),this._oldForm=this.form},e.prototype._updateValidators=function(){var t=Af(this._validators);this.form.validator=tf.compose([this.form.validator,t]);var e=Pf(this._asyncValidators);this.form.asyncValidator=tf.composeAsync([this.form.asyncValidator,e])},e.prototype._checkFormPresent=function(){this.form||vf.missingFormException()},e.\u0275fac=function(t){return new(t||e)(qo(Xh,10),qo($h,10))},e.\u0275dir=ke({type:e,selectors:[["","formGroup",""]],hostBindings:function(t,e){1&t&&Jo("submit",(function(t){return e.onSubmit(t)}))("reset",(function(){return e.onReset()}))},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Gs([td]),Ts,Vs]}),e}(Wh),nd={provide:Wh,useExisting:Tt((function(){return rd}))},rd=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return i(e,t),e.prototype._checkParentType=function(){sd(this._parent)&&vf.groupParentException()},e.\u0275fac=function(t){return new(t||e)(qo(Wh,13),qo(Xh,10),qo($h,10))},e.\u0275dir=ke({type:e,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[Gs([nd]),Ts]}),e}(Qf),id={provide:Wh,useExisting:Tt((function(){return od}))},od=function(t){function e(e,n,r){var i=t.call(this)||this;return i._parent=e,i._validators=n,i._asyncValidators=r,i}return i(e,t),e.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(e.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"path",{get:function(){return xf(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return Af(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Pf(this._asyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){sd(this._parent)&&vf.arrayParentException()},e.\u0275fac=function(t){return new(t||e)(qo(Wh,13),qo(Xh,10),qo($h,10))},e.\u0275dir=ke({type:e,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[Gs([id]),Ts]}),e}(Wh);function sd(t){return!(t instanceof rd||t instanceof ed||t instanceof od)}var ad={provide:Gh,useExisting:Tt((function(){return ld}))},ld=function(t){function e(e,n,r,i,o){var s=t.call(this)||this;return s._ngModelWarningConfig=o,s._added=!1,s.update=new za,s._ngModelWarningSent=!1,s._parent=e,s._rawValidators=n||[],s._rawAsyncValidators=r||[],s.valueAccessor=Ff(s,i),s}var n;return i(e,t),n=e,Object.defineProperty(e.prototype,"isDisabled",{set:function(t){vf.disabledAttrWarning()},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(t){var e,r;this._added||this._setUpControl(),Tf(t,this.viewModel)&&("formControlName",e=n,this,r=this._ngModelWarningConfig,_r()&&"never"!==r&&((null!==r&&"once"!==r||e._ngModelWarningSentOnce)&&("always"!==r||this._ngModelWarningSent)||(vf.ngModelWarning("formControlName"),e._ngModelWarningSentOnce=!0,this._ngModelWarningSent=!0)),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},e.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},e.prototype.viewToModelUpdate=function(t){this.viewModel=t,this.update.emit(t)},Object.defineProperty(e.prototype,"path",{get:function(){return xf(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"validator",{get:function(){return Af(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"asyncValidator",{get:function(){return Pf(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),e.prototype._checkParentType=function(){!(this._parent instanceof rd)&&this._parent instanceof Qf?vf.ngModelGroupException():this._parent instanceof rd||this._parent instanceof ed||this._parent instanceof od||vf.controlParentException()},e.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},e._ngModelWarningSentOnce=!1,e.\u0275fac=function(t){return new(t||e)(qo(Wh,13),qo(Xh,10),qo($h,10),qo(jh,10),qo(Jf,8))},e.\u0275dir=ke({type:e,selectors:[["","formControlName",""]],inputs:{isDisabled:["disabled","isDisabled"],name:["formControlName","name"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[Gs([ad]),Ts,Vs]}),e}(Gh),ud=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)}}),t}(),cd=function(){function t(){}return t.prototype.group=function(t,e){void 0===e&&(e=null);var n=this._reduceControls(t),r=null,i=null,o=void 0;return null!=e&&(function(t){return void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn}(e)?(r=null!=e.validators?e.validators:null,i=null!=e.asyncValidators?e.asyncValidators:null,o=null!=e.updateOn?e.updateOn:void 0):(r=null!=e.validator?e.validator:null,i=null!=e.asyncValidator?e.asyncValidator:null)),new Bf(n,{asyncValidators:i,updateOn:o,validators:r})},t.prototype.control=function(t,e,n){return new Nf(t,e,n)},t.prototype.array=function(t,e,n){var r=this,i=t.map((function(t){return r._createControl(t)}));return new Hf(i,e,n)},t.prototype._reduceControls=function(t){var e=this,n={};return Object.keys(t).forEach((function(r){n[r]=e._createControl(t[r])})),n},t.prototype._createControl=function(t){return t instanceof Nf||t instanceof Bf||t instanceof Hf?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)},t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=vt({token:t,factory:function(e){return t.\u0275fac(e)}}),t}(),pd=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},providers:[cf],imports:[ud]}),t}(),hd=function(){function t(){}var e;return e=t,t.withConfig=function(t){return{ngModule:e,providers:[{provide:Jf,useValue:t.warnOnNgModelWithFormControl}]}},t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},providers:[cd,cf],imports:[ud]}),t}(),fd=function(t){function e(e){var n=t.call(this)||this;return n._value=e,n}return i(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new A;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(I),dd=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return i(e,t),e.prototype.schedule=function(t,e){if(void 0===e&&(e=0),this.closed)return this;this.state=t;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return e;clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,e){var n=!1,r=void 0;try{this.work(t)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},e.prototype._unsubscribe=function(){var t=this.id,e=this.scheduler,n=e.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null},e}(function(t){function e(e,n){return t.call(this)||this}return i(e,t),e.prototype.schedule=function(t,e){return void 0===e&&(e=0),this},e}(d)),md=function(){function t(e,n){void 0===n&&(n=t.now),this.SchedulerAction=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.SchedulerAction(this,t).schedule(n,e)},t.now=function(){return Date.now()},t}(),yd=function(t){function e(n,r){void 0===r&&(r=md.now);var i=t.call(this,n,(function(){return e.delegate&&e.delegate!==i?e.delegate.now():r()}))||this;return i.actions=[],i.active=!1,i.scheduled=void 0,i}return i(e,t),e.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),e.delegate&&e.delegate!==this?e.delegate.schedule(n,r,i):t.prototype.schedule.call(this,n,r,i)},e.prototype.flush=function(t){var e=this.actions;if(this.active)e.push(t);else{var n;this.active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(md);function vd(){for(var t=[],e=0;e1?Array.prototype.slice.call(arguments):t)}),r,n)}))}function _d(t,e){return function(n){return n.lift(new bd(t,e))}}var bd=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new wd(t,this.predicate,this.thisArg))},t}(),wd=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.predicate=n,i.thisArg=r,i.count=0,i}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(w),xd=new yd(dd);function Cd(t,e){return void 0===e&&(e=xd),function(n){return n.lift(new Ed(t,e))}}var Ed=function(){function t(t,e){this.dueTime=t,this.scheduler=e}return t.prototype.call=function(t,e){return e.subscribe(new Sd(t,this.dueTime,this.scheduler))},t}(),Sd=function(t){function e(e,n,r){var i=t.call(this,e)||this;return i.dueTime=n,i.scheduler=r,i.debouncedSubscription=null,i.lastValue=null,i.hasValue=!1,i}return i(e,t),e.prototype._next=function(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(kd,this.dueTime,this))},e.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},e.prototype.debouncedNext=function(){if(this.clearDebounce(),this.hasValue){var t=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}},e.prototype.clearDebounce=function(){var t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)},e}(w);function kd(t){t.debouncedNext()}function Od(t,e){return"function"==typeof e?function(n){return n.pipe(Od((function(n,r){return U(t(n,r)).pipe(q((function(t,i){return e(n,t,r,i)})))})))}:function(e){return e.lift(new Ad(t))}}var Ad=function(){function t(t){this.project=t}return t.prototype.call=function(t,e){return e.subscribe(new Pd(t,this.project))},t}(),Pd=function(t){function e(e,n){var r=t.call(this,e)||this;return r.project=n,r.index=0,r}return i(e,t),e.prototype._next=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(r){return void this.destination.error(r)}this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){var r=this.innerSubscription;r&&r.unsubscribe();var i=new M(this,void 0,void 0);this.destination.add(i),this.innerSubscription=H(this,t,e,n,i)},e.prototype._complete=function(){var e=this.innerSubscription;e&&!e.closed||t.prototype._complete.call(this),this.unsubscribe()},e.prototype._unsubscribe=function(){this.innerSubscription=null},e.prototype.notifyComplete=function(e){this.destination.remove(e),this.innerSubscription=null,this.isStopped&&t.prototype._complete.call(this)},e.prototype.notifyNext=function(t,e,n,r,i){this.destination.next(e)},e}(z);function Td(t){return function(e){return e.lift(new Id(t))}}var Id=function(){function t(t){this.notifier=t}return t.prototype.call=function(t,e){var n=new Dd(t),r=H(n,this.notifier);return r&&!n.seenValue?(n.add(r),e.subscribe(n)):n},t}(),Dd=function(t){function e(e){var n=t.call(this,e)||this;return n.seenValue=!1,n}return i(e,t),e.prototype.notifyNext=function(t,e,n,r,i){this.seenValue=!0,this.complete()},e.prototype.notifyComplete=function(){},e}(z),Fd=function(){function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t}(),Md=new k((function(t){return t.complete()}));function Rd(t){return t?function(t){return new k((function(e){return t.schedule((function(){return e.complete()}))}))}(t):Md}function Vd(t){return function(e){return 0===t?Rd():e.lift(new jd(t))}}var jd=function(){function t(t){if(this.total=t,this.total<0)throw new Fd}return t.prototype.call=function(t,e){return e.subscribe(new Ld(t,this.total))},t}(),Ld=function(t){function e(e,n){var r=t.call(this,e)||this;return r.total=n,r.count=0,r}return i(e,t),e.prototype._next=function(t){var e=this.total,n=++this.count;n<=e&&(this.destination.next(t),n===e&&(this.destination.complete(),this.unsubscribe()))},e}(w);function Nd(t,e,n){return function(r){return r.lift(new Bd(t,e,n))}}var Bd=function(){function t(t,e,n){this.nextOrObserver=t,this.error=e,this.complete=n}return t.prototype.call=function(t,e){return e.subscribe(new Hd(t,this.nextOrObserver,this.error,this.complete))},t}(),Hd=function(t){function e(e,n,r,i){var o=t.call(this,e)||this;return o._tapNext=E,o._tapError=E,o._tapComplete=E,o._tapError=r||E,o._tapComplete=i||E,h(n)?(o._context=o,o._tapNext=n):n&&(o._context=n,o._tapNext=n.next||E,o._tapError=n.error||E,o._tapComplete=n.complete||E),o}return i(e,t),e.prototype._next=function(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)},e.prototype._error=function(t){try{this._tapError.call(this._context,t)}catch(t){return void this.destination.error(t)}this.destination.error(t)},e.prototype._complete=function(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()},e}(w),zd={provide:vl,useFactory:function(t,e){return function(){if(Vu(e)){var n=Array.from(t.querySelectorAll("[class*="+qd+"]")),r=/\bflex-layout-.+?\b/g;n.forEach((function(t){t.classList.contains(qd+"ssr")&&t.parentNode?t.parentNode.removeChild(t):t.className.replace(r,"")}))}}},deps:[iu,yl],multi:!0},qd="flex-layout-",Wd=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},providers:[zd]}),t}(),Qd=function(){function t(t,e,n,r,i){void 0===t&&(t=!1),void 0===e&&(e="all"),void 0===n&&(n=""),void 0===r&&(r=""),void 0===i&&(i=0),this.matches=t,this.mediaQuery=e,this.mqAlias=n,this.suffix=r,this.priority=i,this.property=""}return t.prototype.clone=function(){return new t(this.matches,this.mediaQuery,this.mqAlias,this.suffix)},t}(),Gd=function(){function t(){this.stylesheet=new Map}return t.prototype.addStyleToElement=function(t,e,n){var r=this.stylesheet.get(t);r?r.set(e,n):this.stylesheet.set(t,new Map([[e,n]]))},t.prototype.clearStyles=function(){this.stylesheet.clear()},t.prototype.getStyleForElement=function(t,e){var n=this.stylesheet.get(t),r="";if(n){var i=n.get(e);"number"!=typeof i&&"string"!=typeof i||(r=i+"")}return r},t.\u0275prov=vt({factory:function(){return new t},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)},t}(),Ud={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},Kd=new Gt("Flex Layout token, config options for the library",{providedIn:"root",factory:function(){return Ud}}),Zd=new Gt("FlexLayoutServerLoaded",{providedIn:"root",factory:function(){return!1}}),Yd=new Gt("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:function(){return null}});function Xd(t,e){return t=t?t.clone():new Qd,e&&(t.mqAlias=e.alias,t.mediaQuery=e.mediaQuery,t.suffix=e.suffix,t.priority=e.priority),t}var $d=["row","column","row-reverse","column-reverse"];function Jd(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var tm=function(){function t(t,e,n,r){this.elementRef=t,this.styleBuilder=e,this.styler=n,this.marshal=r,this.DIRECTIVE_KEY="",this.inputs=[],this.mru={},this.destroySubject=new I,this.styleCache=new Map}return Object.defineProperty(t.prototype,"parentElement",{get:function(){return this.elementRef.nativeElement.parentElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nativeElement",{get:function(){return this.elementRef.nativeElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activatedValue",{get:function(){return this.marshal.getValue(this.nativeElement,this.DIRECTIVE_KEY)},set:function(t){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,this.marshal.activatedAlias)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){var e=this;Object.keys(t).forEach((function(n){if(-1!==e.inputs.indexOf(n)){var r=n.split(".").slice(1).join(".");e.setValue(t[n].currentValue,r)}}))},t.prototype.ngOnDestroy=function(){this.destroySubject.next(),this.destroySubject.complete(),this.marshal.releaseElement(this.nativeElement)},t.prototype.init=function(t){void 0===t&&(t=[]),this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),t)},t.prototype.addStyles=function(t,e){var n=this.styleBuilder,r=n.shouldCache,i=this.styleCache.get(t);i&&r||(i=n.buildStyles(t,e),r&&this.styleCache.set(t,i)),this.mru=o({},i),this.applyStyleToElement(i),n.sideEffect(t,i,e)},t.prototype.clearStyles=function(){var t=this;Object.keys(this.mru).forEach((function(e){t.mru[e]=""})),this.applyStyleToElement(this.mru),this.mru={}},t.prototype.triggerUpdate=function(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)},t.prototype.getFlexFlowDirection=function(t,e){if(void 0===e&&(e=!1),t){var n=this.styler.getFlowDirection(t),r=n[0];if(!n[1]&&e){var i=function(t){var e,n,r=function(t){var e=(t=t?t.toLowerCase():"").split(" "),n=e[0],r=e[1],i=e[2];return $d.find((function(t){return t===n}))||(n=$d[0]),"inline"===r&&(r="inline"!==i?i:"",i="inline"),[n,Jd(r),!!i]}(t);return void 0===(e=r[1])&&(e=null),void 0===(n=r[2])&&(n=!1),{display:n?"inline-flex":"flex","box-sizing":"border-box","flex-direction":r[0],"flex-wrap":e||null}}(r);this.styler.applyStyleToElements(i,[t])}return r.trim()}return"row"},t.prototype.hasWrap=function(t){return this.styler.hasWrap(t)},t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=this.nativeElement),this.styler.applyStyleToElement(n,t,e)},t.prototype.setValue=function(t,e){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,t,e)},t.prototype.updateWithValue=function(t){this.currentValue!==t&&(this.addStyles(t),this.currentValue=t)},t.\u0275fac=function(t){!function(){throw new Error("invalid")}()},t.\u0275dir=ke({type:t,features:[Vs]}),t}(),em=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.9px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.9px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.9px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.9px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.9px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.9px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.9px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.9px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.9px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],nm="(orientation: portrait) and (min-width: 600px) and (max-width: 839.9px)",rm="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.9px)",im="(orientation: portrait) and (min-width: 840px)",om="(orientation: landscape) and (min-width: 1280px)",sm={HANDSET:"(orientation: portrait) and (max-width: 599.9px), (orientation: landscape) and (max-width: 959.9px)",TABLET:nm+" , "+rm,WEB:im+", "+om+" ",HANDSET_PORTRAIT:"(orientation: portrait) and (max-width: 599.9px)",TABLET_PORTRAIT:nm+" ",WEB_PORTRAIT:""+im,HANDSET_LANDSCAPE:"(orientation: landscape) and (max-width: 959.9px)",TABLET_LANDSCAPE:""+rm,WEB_LANDSCAPE:""+om},am=[{alias:"handset",priority:2e3,mediaQuery:sm.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:sm.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:sm.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:sm.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:sm.TABLET_LANDSCAPE},{alias:"tablet.portrait",priority:2100,mediaQuery:sm.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:sm.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:sm.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:sm.WEB_PORTRAIT,overlapping:!0}],lm=/(\.|-|_)/g;function um(t){var e=t.length>0?t.charAt(0):"",n=t.length>1?t.slice(1):"";return e.toUpperCase()+n}var cm=new Gt("Token (@angular/flex-layout) Breakpoints",{providedIn:"root",factory:function(){var t=ne(Yd),e=ne(Kd),n=[].concat.apply([],(t||[]).map((function(t){return Array.isArray(t)?t:[t]})));return function(t,e){void 0===e&&(e=[]);var n,r={};return t.forEach((function(t){r[t.alias]=t})),e.forEach((function(t){r[t.alias]?function(t){for(var e=[],n=1;n-1})));return J(new k((function(e){var r=n.registerQuery(t);if(r.length){var i=r.pop();r.forEach((function(t){e.next(t)})),n.source.next(i)}e.complete()})),r)}return this._observable$},t.prototype.registerQuery=function(t){var e=this,n=Array.isArray(t)?t:[t],r=[];return function(t,e){var n=t.filter((function(t){return!mm[t]}));if(n.length>0){var r=n.join(", ");try{var i=e.createElement("style");i.setAttribute("type","text/css"),i.styleSheet||i.appendChild(e.createTextNode("\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media "+r+" {.fx-query-test{ }}\n")),e.head.appendChild(i),n.forEach((function(t){return mm[t]=i}))}catch(o){console.error(o)}}}(n,this._document),n.forEach((function(t){var n=function(n){e._zone.run((function(){return e.source.next(new Qd(n.matches,t))}))},i=e.registry.get(t);i||((i=e.buildMQL(t)).addListener(n),e.pendingRemoveListenerFns.push((function(){return i.removeListener(n)})),e.registry.set(t,i)),i.matches&&r.push(new Qd(!0,t))})),r},t.prototype.ngOnDestroy=function(){for(var t;t=this.pendingRemoveListenerFns.pop();)t()},t.prototype.buildMQL=function(t){return function(t,e){return e&&window.matchMedia("all").addListener?window.matchMedia(t):{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){},onchange:null,addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}}}(t,Vu(this._platformId))},t.\u0275prov=vt({factory:function(){return new t(ee(Dl),ee(yl),ee(iu))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(Dl),ee(yl),ee(iu))},t}(),mm={},ym={alias:"print",mediaQuery:"print",priority:1e3},vm=function(){function t(t,e,n){this.breakpoints=t,this.layoutConfig=e,this._document=n,this.registeredBeforeAfterPrintHooks=!1,this.isPrintingBeforeAfterEvent=!1,this.beforePrintEventListeners=[],this.afterPrintEventListeners=[],this.isPrinting=!1,this.queue=new gm,this.deactivations=[]}return t.prototype.withPrintQuery=function(t){return u(t,["print"])},t.prototype.isPrintEvent=function(t){return t.mediaQuery.startsWith("print")},Object.defineProperty(t.prototype,"printAlias",{get:function(){return this.layoutConfig.printWithBreakpoints||[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"printBreakPoints",{get:function(){var t=this;return this.printAlias.map((function(e){return t.breakpoints.findByAlias(e)})).filter((function(t){return null!==t}))},enumerable:!0,configurable:!0}),t.prototype.getEventBreakpoints=function(t){var e=this.breakpoints.findByQuery(t.mediaQuery);return(e?u(this.printBreakPoints,[e]):this.printBreakPoints).sort(pm)},t.prototype.updateEvent=function(t){var e=this.breakpoints.findByQuery(t.mediaQuery);return this.isPrintEvent(t)&&(e=this.getEventBreakpoints(t)[0],t.mediaQuery=e?e.mediaQuery:""),Xd(t,e)},t.prototype.registerBeforeAfterPrintHooks=function(t){var e=this;if(this._document.defaultView&&!this.registeredBeforeAfterPrintHooks){this.registeredBeforeAfterPrintHooks=!0;var n=function(){e.isPrinting||(e.isPrintingBeforeAfterEvent=!0,e.startPrinting(t,e.getEventBreakpoints(new Qd(!0,"print"))),t.updateStyles())},r=function(){e.isPrintingBeforeAfterEvent=!1,e.isPrinting&&(e.stopPrinting(t),t.updateStyles())};this._document.defaultView.addEventListener("beforeprint",n),this._document.defaultView.addEventListener("afterprint",r),this.beforePrintEventListeners.push(n),this.afterPrintEventListeners.push(r)}},t.prototype.interceptEvents=function(t){var e=this;return this.registerBeforeAfterPrintHooks(t),function(n){e.isPrintEvent(n)?n.matches&&!e.isPrinting?(e.startPrinting(t,e.getEventBreakpoints(n)),t.updateStyles()):n.matches||!e.isPrinting||e.isPrintingBeforeAfterEvent||(e.stopPrinting(t),t.updateStyles()):e.collectActivations(n)}},t.prototype.blockPropagation=function(){var t=this;return function(e){return!(t.isPrinting||t.isPrintEvent(e))}},t.prototype.startPrinting=function(t,e){this.isPrinting=!0,t.activatedBreakpoints=this.queue.addPrintBreakpoints(e)},t.prototype.stopPrinting=function(t){t.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1},t.prototype.collectActivations=function(t){if(!this.isPrinting||this.isPrintingBeforeAfterEvent)if(t.matches)this.isPrintingBeforeAfterEvent||(this.deactivations=[]);else{var e=this.breakpoints.findByQuery(t.mediaQuery);e&&(this.deactivations.push(e),this.deactivations.sort(pm))}},t.prototype.ngOnDestroy=function(){var t=this;this.beforePrintEventListeners.forEach((function(e){return t._document.defaultView.removeEventListener("beforeprint",e)})),this.afterPrintEventListeners.forEach((function(e){return t._document.defaultView.removeEventListener("afterprint",e)}))},t.\u0275prov=vt({factory:function(){return new t(ee(fm),ee(Kd),ee(iu))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(fm),ee(Kd),ee(iu))},t}(),gm=function(){function t(){this.printBreakpoints=[]}return t.prototype.addPrintBreakpoints=function(t){var e=this;return t.push(ym),t.sort(pm),t.forEach((function(t){return e.addBreakpoint(t)})),this.printBreakpoints},t.prototype.addBreakpoint=function(t){t&&void 0===this.printBreakpoints.find((function(e){return e.mediaQuery===t.mediaQuery}))&&(this.printBreakpoints=function(t){return!!t&&t.mediaQuery.startsWith("print")}(t)?u([t],this.printBreakpoints):u(this.printBreakpoints,[t]))},t.prototype.clear=function(){this.printBreakpoints=[]},t}();function _m(t){for(var e in t){var n=t[e]||"";switch(e){case"display":t.display="flex"===n?["-webkit-flex","flex"]:"inline-flex"===n?["-webkit-inline-flex","inline-flex"]:n;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":t["-webkit-"+e]=n;break;case"flex-direction":t["-webkit-flex-direction"]=n=n||"row",t["flex-direction"]=n;break;case"order":t.order=t["-webkit-"+e]=isNaN(+n)?"0":n}}return t}var bm=function(){function t(t,e,n,r){this._serverStylesheet=t,this._serverModuleLoaded=e,this._platformId=n,this.layoutConfig=r}return t.prototype.applyStyleToElement=function(t,e,n){void 0===n&&(n=null);var r={};"string"==typeof e&&(r[e]=n,e=r),r=this.layoutConfig.disableVendorPrefixes?e:_m(e),this._applyMultiValueStyleToElement(r,t)},t.prototype.applyStyleToElements=function(t,e){var n=this;void 0===e&&(e=[]);var r=this.layoutConfig.disableVendorPrefixes?t:_m(t);e.forEach((function(t){n._applyMultiValueStyleToElement(r,t)}))},t.prototype.getFlowDirection=function(t){var e=this.lookupStyle(t,"flex-direction");return[e||"row",this.lookupInlineStyle(t,"flex-direction")||ju(this._platformId)&&this._serverModuleLoaded?e:""]},t.prototype.hasWrap=function(t){return"wrap"===this.lookupStyle(t,"flex-wrap")},t.prototype.lookupAttributeValue=function(t,e){return t.getAttribute(e)||""},t.prototype.lookupInlineStyle=function(t,e){return Vu(this._platformId)?t.style.getPropertyValue(e):this._getServerStyle(t,e)},t.prototype.lookupStyle=function(t,e,n){void 0===n&&(n=!1);var r="";return t&&((r=this.lookupInlineStyle(t,e))||(Vu(this._platformId)?n||(r=getComputedStyle(t).getPropertyValue(e)):this._serverModuleLoaded&&(r=this._serverStylesheet.getStyleForElement(t,e)))),r?r.trim():""},t.prototype._applyMultiValueStyleToElement=function(t,e){var n=this;Object.keys(t).sort().forEach((function(r){var i=t[r],o=Array.isArray(i)?i:[i];o.sort();for(var s=0,a=o;s0){var s=o.indexOf(":");if(-1===s)throw new Error("Invalid CSS style: "+o);e[o.substr(0,s).trim()]=o.substr(s+1).trim()}}return e},t.prototype._writeStyleAttribute=function(t,e){var n="";for(var r in e)e[r]&&(n+=r+":"+e[r]+";");t.setAttribute("style",n)},t.\u0275prov=vt({factory:function(){return new t(ee(Gd),ee(Zd),ee(yl),ee(Kd))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(Gd),ee(Zd),ee(yl),ee(Kd))},t}(),wm=function(){function t(){this.shouldCache=!0}return t.prototype.sideEffect=function(t,e,n){},t}();function xm(t,e,n){void 0===e&&(e="1"),void 0===n&&(n="1");var r=[e,n,t],i=t.indexOf("calc");if(i>0)r[2]=Cm(t.substring(i).trim()),2==(o=t.substr(0,i).trim().split(" ")).length&&(r[0]=o[0],r[1]=o[1]);else if(0==i)r[2]=Cm(t.trim());else{var o;r=3===(o=t.split(" ")).length?o:[e,n,t]}return r}function Cm(t){return t.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}var Em=function(){function t(t,e,n){this.matchMedia=t,this.breakpoints=e,this.hook=n,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new I,this.observeActivations()}return Object.defineProperty(t.prototype,"activatedAlias",{get:function(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""},enumerable:!0,configurable:!0}),t.prototype.onMediaChange=function(t){var e=this.findByQuery(t.mediaQuery);e&&((t=Xd(t,e)).matches&&-1===this.activatedBreakpoints.indexOf(e)?(this.activatedBreakpoints.push(e),this.activatedBreakpoints.sort(pm),this.updateStyles()):t.matches||-1===this.activatedBreakpoints.indexOf(e)||(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(e),1),this.activatedBreakpoints.sort(pm),this.updateStyles()))},t.prototype.init=function(t,e,n,r,i){void 0===i&&(i=[]),Sm(this.updateMap,t,e,n),Sm(this.clearMap,t,e,r),this.buildElementKeyMap(t,e),this.watchExtraTriggers(t,e,i)},t.prototype.getValue=function(t,e,n){var r=this.elementMap.get(t);if(r){var i=void 0!==n?r.get(n):this.getActivatedValues(r,e);if(i)return i.get(e)}},t.prototype.hasValue=function(t,e){var n=this.elementMap.get(t);if(n){var r=this.getActivatedValues(n,e);if(r)return void 0!==r.get(e)||!1}return!1},t.prototype.setValue=function(t,e,n,r){var i=this.elementMap.get(t);if(i){var o=(i.get(r)||new Map).set(e,n);i.set(r,o),this.elementMap.set(t,i)}else i=(new Map).set(r,(new Map).set(e,n)),this.elementMap.set(t,i);var s=this.getValue(t,e);void 0!==s&&this.updateElement(t,e,s)},t.prototype.trackValue=function(t,e){return this.subject.asObservable().pipe(_d((function(n){return n.element===t&&n.key===e})))},t.prototype.updateStyles=function(){var t=this;this.elementMap.forEach((function(e,n){var r=new Set(t.elementKeyMap.get(n)),i=t.getActivatedValues(e);i&&i.forEach((function(e,i){t.updateElement(n,i,e),r.delete(i)})),r.forEach((function(r){if(i=t.getActivatedValues(e,r)){var o=i.get(r);t.updateElement(n,r,o)}else t.clearElement(n,r)}))}))},t.prototype.clearElement=function(t,e){var n=this.clearMap.get(t);if(n){var r=n.get(e);r&&(r(),this.subject.next({element:t,key:e,value:""}))}},t.prototype.updateElement=function(t,e,n){var r=this.updateMap.get(t);if(r){var i=r.get(e);i&&(i(n),this.subject.next({element:t,key:e,value:n}))}},t.prototype.releaseElement=function(t){var e=this.watcherMap.get(t);e&&(e.forEach((function(t){return t.unsubscribe()})),this.watcherMap.delete(t));var n=this.elementMap.get(t);n&&(n.forEach((function(t,e){return n.delete(e)})),this.elementMap.delete(t))},t.prototype.triggerUpdate=function(t,e){var n=this,r=this.elementMap.get(t);if(r){var i=this.getActivatedValues(r,e);i&&(e?this.updateElement(t,e,i.get(e)):i.forEach((function(e,r){return n.updateElement(t,r,e)})))}},t.prototype.buildElementKeyMap=function(t,e){var n=this.elementKeyMap.get(t);n||(n=new Set,this.elementKeyMap.set(t,n)),n.add(e)},t.prototype.watchExtraTriggers=function(t,e,n){var r=this;if(n&&n.length){var i=this.watcherMap.get(t);if(i||(i=new Map,this.watcherMap.set(t,i)),!i.get(e)){var o=J.apply(void 0,n).subscribe((function(){var n=r.getValue(t,e);r.updateElement(t,e,n)}));i.set(e,o)}}},t.prototype.findByQuery=function(t){return this.breakpoints.findByQuery(t)},t.prototype.getActivatedValues=function(t,e){for(var n=0;n-1}function qm(t){if(t)switch(t.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":t="wrap-reverse";break;case"no":case"none":case"nowrap":t="nowrap";break;default:t="wrap"}return t}var Wm=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}i(e,t),e.prototype.buildStyles=function(t){return void 0===(e=(r=Hm(t))[1])&&(e=null),void 0===(n=r[2])&&(n=!1),{display:n?"inline-flex":"flex","box-sizing":"border-box","flex-direction":r[0],"flex-wrap":e||null};var e,n,r},e.\u0275prov=vt({factory:function(){return new e},token:e,providedIn:"root"}),e.\u0275fac=function(t){return n(t||e)};var n=cr(e);return e}(wm),Qm=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"],Gm=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Qm,e}i(e,t),e.\u0275fac=function(t){return n(t||e)},e.\u0275dir=ke({type:e,selectors:[["","fxLayout",""],["","fxLayout.xs",""],["","fxLayout.sm",""],["","fxLayout.md",""],["","fxLayout.lg",""],["","fxLayout.xl",""],["","fxLayout.lt-sm",""],["","fxLayout.lt-md",""],["","fxLayout.lt-lg",""],["","fxLayout.lt-xl",""],["","fxLayout.gt-xs",""],["","fxLayout.gt-sm",""],["","fxLayout.gt-md",""],["","fxLayout.gt-lg",""]],inputs:{fxLayout:"fxLayout","fxLayout.xs":"fxLayout.xs","fxLayout.sm":"fxLayout.sm","fxLayout.md":"fxLayout.md","fxLayout.lg":"fxLayout.lg","fxLayout.xl":"fxLayout.xl","fxLayout.lt-sm":"fxLayout.lt-sm","fxLayout.lt-md":"fxLayout.lt-md","fxLayout.lt-lg":"fxLayout.lt-lg","fxLayout.lt-xl":"fxLayout.lt-xl","fxLayout.gt-xs":"fxLayout.gt-xs","fxLayout.gt-sm":"fxLayout.gt-sm","fxLayout.gt-md":"fxLayout.gt-md","fxLayout.gt-lg":"fxLayout.gt-lg"},features:[Ts]});var n=cr(e);return e}(function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.DIRECTIVE_KEY="layout",o.styleCache=Um,o.init(),o}return i(e,t),e.\u0275fac=function(t){return new(t||e)(qo(Xs),qo(bm),qo(Wm),qo(Em))},e.\u0275dir=ke({type:e,features:[Ts]}),e}(tm)),Um=new Map;function Km(t){for(var e=[],n=1;n-1?"column":"row",a=zm(s)?"max-width":"max-height",l=zm(s)?"min-width":"min-height",u=String(o).indexOf("calc")>-1,c=u||"auto"===o,p=String(o).indexOf("%")>-1&&!u,h=String(o).indexOf("px")>-1||String(o).indexOf("rem")>-1||String(o).indexOf("em")>-1||String(o).indexOf("vw")>-1||String(o).indexOf("vh")>-1,f=u||h;i="0"==i?0:i;var d=!(r="0"==r?0:r)&&!i,m={},y={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(o||""){case"":o="row"===s?"0%":!1!==this.layoutConfig.useColumnBasisZero?"0.000000001px":"auto";break;case"initial":case"nogrow":r=0,o="auto";break;case"grow":o="100%";break;case"noshrink":i=0,o="auto";break;case"auto":break;case"none":r=0,i=0,o="auto";break;default:f||p||isNaN(o)||(o+="%"),"0%"===o&&(f=!0),"0px"===o&&(o="0%"),m=Km(y,u?{"flex-grow":r,"flex-shrink":i,"flex-basis":f?o:"100%"}:{flex:r+" "+i+" "+(f?o:"100%")})}return m.flex||m["flex-grow"]||(m=Km(y,u?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o})),"0%"!==o&&"0px"!==o&&"0.000000001px"!==o&&"auto"!==o&&(m[l]=d||f&&r?o:null,m[a]=d||!c&&i?o:null),m[l]||m[a]?e.hasWrap&&(m[u?"flex-basis":"flex"]=m[a]?u?m[a]:r+" "+i+" "+m[a]:u?m[l]:r+" "+i+" "+m[l]):m=Km(y,u?{"flex-grow":r,"flex-shrink":i,"flex-basis":o}:{flex:r+" "+i+" "+o}),Km(m,{"box-sizing":"border-box"})},e.\u0275prov=vt({factory:function(){return new e(ee(Kd))},token:e,providedIn:"root"}),e.\u0275fac=function(t){return new(t||e)(ee(Kd))},e}(wm),Xm=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"],$m=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=Xm,e}i(e,t),e.\u0275fac=function(t){return n(t||e)},e.\u0275dir=ke({type:e,selectors:[["","fxFlex",""],["","fxFlex.xs",""],["","fxFlex.sm",""],["","fxFlex.md",""],["","fxFlex.lg",""],["","fxFlex.xl",""],["","fxFlex.lt-sm",""],["","fxFlex.lt-md",""],["","fxFlex.lt-lg",""],["","fxFlex.lt-xl",""],["","fxFlex.gt-xs",""],["","fxFlex.gt-sm",""],["","fxFlex.gt-md",""],["","fxFlex.gt-lg",""]],inputs:{fxFlex:"fxFlex","fxFlex.xs":"fxFlex.xs","fxFlex.sm":"fxFlex.sm","fxFlex.md":"fxFlex.md","fxFlex.lg":"fxFlex.lg","fxFlex.xl":"fxFlex.xl","fxFlex.lt-sm":"fxFlex.lt-sm","fxFlex.lt-md":"fxFlex.lt-md","fxFlex.lt-lg":"fxFlex.lt-lg","fxFlex.lt-xl":"fxFlex.lt-xl","fxFlex.gt-xs":"fxFlex.gt-xs","fxFlex.gt-sm":"fxFlex.gt-sm","fxFlex.gt-md":"fxFlex.gt-md","fxFlex.gt-lg":"fxFlex.gt-lg"},features:[Ts]});var n=cr(e);return e}(function(t){function e(e,n,r,i,o){var s=t.call(this,e,i,n,o)||this;return s.layoutConfig=r,s.marshal=o,s.DIRECTIVE_KEY="flex",s.direction=void 0,s.wrap=void 0,s.flexGrow="1",s.flexShrink="1",s.init(),s}return i(e,t),Object.defineProperty(e.prototype,"shrink",{get:function(){return this.flexShrink},set:function(t){this.flexShrink=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"grow",{get:function(){return this.flexGrow},set:function(t){this.flexGrow=t||"1",this.triggerReflow()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.parentElement&&(this.marshal.trackValue(this.parentElement,"layout").pipe(Td(this.destroySubject)).subscribe(this.onLayoutChange.bind(this)),this.marshal.trackValue(this.nativeElement,"layout-align").pipe(Td(this.destroySubject)).subscribe(this.triggerReflow.bind(this)))},e.prototype.onLayoutChange=function(t){var e=t.value.split(" ");this.direction=e[0],this.wrap=void 0!==e[1]&&"wrap"===e[1],this.triggerUpdate()},e.prototype.updateWithValue=function(t){void 0===this.direction&&(this.direction=this.getFlexFlowDirection(this.parentElement,!1!==this.layoutConfig.addFlexToParent)),void 0===this.wrap&&(this.wrap=this.hasWrap(this.parentElement));var e=this.direction,n=e.startsWith("row"),r=this.wrap;n&&r?this.styleCache=ey:n&&!r?this.styleCache=Jm:!n&&r?this.styleCache=ny:n||r||(this.styleCache=ty);var i=xm(String(t).replace(";",""),this.flexGrow,this.flexShrink);this.addStyles(i.join(" "),{direction:e,hasWrap:r})},e.prototype.triggerReflow=function(){var t=this.activatedValue;if(void 0!==t){var e=xm(t+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,e.join(" "))}},e.\u0275fac=function(t){return new(t||e)(qo(Xs),qo(bm),qo(Kd),qo(Ym),qo(Em))},e.\u0275dir=ke({type:e,inputs:{shrink:["fxShrink","shrink"],grow:["fxGrow","grow"]},features:[Ts]}),e}(tm)),Jm=new Map,ty=new Map,ey=new Map,ny=new Map,ry=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}i(e,t),e.prototype.buildStyles=function(t,e){var n={},r=t.split(" "),i=r[1];switch(r[0]){case"center":n["justify-content"]="center";break;case"space-around":n["justify-content"]="space-around";break;case"space-between":n["justify-content"]="space-between";break;case"space-evenly":n["justify-content"]="space-evenly";break;case"end":case"flex-end":n["justify-content"]="flex-end";break;case"start":case"flex-start":default:n["justify-content"]="flex-start"}switch(i){case"start":case"flex-start":n["align-items"]=n["align-content"]="flex-start";break;case"center":n["align-items"]=n["align-content"]="center";break;case"end":case"flex-end":n["align-items"]=n["align-content"]="flex-end";break;case"space-between":n["align-content"]="space-between",n["align-items"]="stretch";break;case"space-around":n["align-content"]="space-around",n["align-items"]="stretch";break;case"baseline":n["align-content"]="stretch",n["align-items"]="baseline";break;case"stretch":default:n["align-items"]=n["align-content"]="stretch"}return Km(n,{display:e.inline?"inline-flex":"flex","flex-direction":e.layout,"box-sizing":"border-box","max-width":"stretch"===i?zm(e.layout)?null:"100%":null,"max-height":"stretch"===i&&zm(e.layout)?"100%":null})},e.\u0275prov=vt({factory:function(){return new e},token:e,providedIn:"root"}),e.\u0275fac=function(t){return n(t||e)};var n=cr(e);return e}(wm),iy=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"],oy=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.inputs=iy,e}i(e,t),e.\u0275fac=function(t){return n(t||e)},e.\u0275dir=ke({type:e,selectors:[["","fxLayoutAlign",""],["","fxLayoutAlign.xs",""],["","fxLayoutAlign.sm",""],["","fxLayoutAlign.md",""],["","fxLayoutAlign.lg",""],["","fxLayoutAlign.xl",""],["","fxLayoutAlign.lt-sm",""],["","fxLayoutAlign.lt-md",""],["","fxLayoutAlign.lt-lg",""],["","fxLayoutAlign.lt-xl",""],["","fxLayoutAlign.gt-xs",""],["","fxLayoutAlign.gt-sm",""],["","fxLayoutAlign.gt-md",""],["","fxLayoutAlign.gt-lg",""]],inputs:{fxLayoutAlign:"fxLayoutAlign","fxLayoutAlign.xs":"fxLayoutAlign.xs","fxLayoutAlign.sm":"fxLayoutAlign.sm","fxLayoutAlign.md":"fxLayoutAlign.md","fxLayoutAlign.lg":"fxLayoutAlign.lg","fxLayoutAlign.xl":"fxLayoutAlign.xl","fxLayoutAlign.lt-sm":"fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md":"fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg":"fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl":"fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs":"fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm":"fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md":"fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg":"fxLayoutAlign.gt-lg"},features:[Ts]});var n=cr(e);return e}(function(t){function e(e,n,r,i){var o=t.call(this,e,r,n,i)||this;return o.DIRECTIVE_KEY="layout-align",o.layout="row",o.inline=!1,o.init(),o.marshal.trackValue(o.nativeElement,"layout").pipe(Td(o.destroySubject)).subscribe(o.onLayoutChange.bind(o)),o}return i(e,t),e.prototype.updateWithValue=function(t){var e=this.layout||"row",n=this.inline;"row"===e&&n?this.styleCache=cy:"row"!==e||n?"row-reverse"===e&&n?this.styleCache=hy:"row-reverse"!==e||n?"column"===e&&n?this.styleCache=py:"column"!==e||n?"column-reverse"===e&&n?this.styleCache=fy:"column-reverse"!==e||n||(this.styleCache=uy):this.styleCache=ay:this.styleCache=ly:this.styleCache=sy,this.addStyles(t,{layout:e,inline:n})},e.prototype.onLayoutChange=function(t){var e=this,n=t.value.split(" ");this.layout=n[0],this.inline=t.value.includes("inline"),Bm.find((function(t){return t===e.layout}))||(this.layout="row"),this.triggerUpdate()},e.\u0275fac=function(t){return new(t||e)(qo(Xs),qo(bm),qo(ry),qo(Em))},e.\u0275dir=ke({type:e,features:[Ts]}),e}(tm)),sy=new Map,ay=new Map,ly=new Map,uy=new Map,cy=new Map,py=new Map,hy=new Map,fy=new Map,dy=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},imports:[[Wd,Nm]]}),t}(),my=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},imports:[[Wd]]}),t}(),yy=function(){function t(t,e){ju(e)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}return t.withConfig=function(e,n){return void 0===n&&(n=[]),{ngModule:t,providers:e.serverLoaded?[{provide:Kd,useValue:o(o({},Ud),e)},{provide:Yd,useValue:n,multi:!0},{provide:Zd,useValue:!0}]:[{provide:Kd,useValue:o(o({},Ud),e)},{provide:Yd,useValue:n,multi:!0}]}},t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)(ee(Zd),ee(yl))},imports:[[dy,Vm,my],dy,Vm,my]}),t}();function vy(t){for(var e=[],n=1;n-1&&n!==e._activeItemIndex&&(e._activeItemIndex=n)}}))}return t.prototype.skipPredicate=function(t){return this._skipPredicateFn=t,this},t.prototype.withWrap=function(t){return void 0===t&&(t=!0),this._wrap=t,this},t.prototype.withVerticalOrientation=function(t){return void 0===t&&(t=!0),this._vertical=t,this},t.prototype.withHorizontalOrientation=function(t){return this._horizontal=t,this},t.prototype.withAllowedModifierKeys=function(t){return this._allowedModifierKeys=t,this},t.prototype.withTypeAhead=function(t){var e=this;if(void 0===t&&(t=200),this._items.length&&this._items.some((function(t){return"function"!=typeof t.getLabel})))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Nd((function(t){return e._pressedLetters.push(t)})),Cd(t),_d((function(){return e._pressedLetters.length>0})),q((function(){return e._pressedLetters.join("")}))).subscribe((function(t){for(var n=e._getItemsArray(),r=1;r-1}));switch(n){case 9:return void this.tabOut.next();case 40:if(this._vertical&&r){this.setNextItemActive();break}return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&r){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&r){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;default:return void((r||vy(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(n>=65&&n<=90||n>=48&&n<=57)&&this._letterKeyStream.next(String.fromCharCode(n))))}this._pressedLetters=[],t.preventDefault()},Object.defineProperty(t.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),t.prototype.isTyping=function(){return this._pressedLetters.length>0},t.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},t.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},t.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},t.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},t.prototype.updateActiveItem=function(t){var e=this._getItemsArray(),n="number"==typeof t?t:e.indexOf(t),r=e[n];this._activeItem=null==r?null:r,this._activeItemIndex=n},t.prototype._setActiveItemByDelta=function(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)},t.prototype._setActiveInWrapMode=function(t){for(var e=this._getItemsArray(),n=1;n<=e.length;n++){var r=(this._activeItemIndex+t*n+e.length)%e.length;if(!this._skipPredicateFn(e[r]))return void this.setActiveItem(r)}},t.prototype._setActiveInDefaultMode=function(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)},t.prototype._setActiveItemByIndex=function(t,e){var n=this._getItemsArray();if(n[t]){for(;this._skipPredicateFn(n[t]);)if(!n[t+=e])return;this.setActiveItem(t)}},t.prototype._getItemsArray=function(){return this._items instanceof Wa?this._items.toArray():this._items},t}());"undefined"!=typeof Element&∈var Oy=new Gt("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),Ay=new Gt("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),Py=function(){function t(t,e,n,r){this._ngZone=e,this._defaultOptions=r,this._document=n,this._liveElement=t||this._createLiveElement()}return t.prototype.announce=function(t){for(var e,n=this,r=[],i=1;i.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions .mat-button:first-child,.mat-card-actions .mat-raised-button:first-child,.mat-card-actions .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}\n"],encapsulation:2,changeDetection:0}),t}(),gv=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},imports:[[Hy],Hy]}),t}(),_v=function(){function t(){this._vertical=!1,this._inset=!1}return Object.defineProperty(t.prototype,"vertical",{get:function(){return this._vertical},set:function(t){this._vertical=km(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"inset",{get:function(){return this._inset},set:function(t){this._inset=km(t)},enumerable:!0,configurable:!0}),t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=be({type:t,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,e){2&t&&(Bo("aria-orientation",e.vertical?"vertical":"horizontal"),ds("mat-divider-vertical",e.vertical)("mat-divider-horizontal",!e.vertical)("mat-divider-inset",e.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,e){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),t}(),bv=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},imports:[[Hy],Hy]}),t}(),wv=["underline"],xv=["connectionContainer"],Cv=["inputContainer"],Ev=["label"];function Sv(t,e){1&t&&(Zo(0),Go(1,"div",14),Ko(2,"div",15),Ko(3,"div",16),Ko(4,"div",17),Uo(),Go(5,"div",18),Ko(6,"div",15),Ko(7,"div",16),Ko(8,"div",17),Uo(),Yo())}function kv(t,e){1&t&&(Go(0,"div",19),os(1,1),Uo())}function Ov(t,e){if(1&t&&(Zo(0),os(1,2),Go(2,"span"),Ss(3),Uo(),Yo()),2&t){var n=ns(2);Nr(3),ks(n._control.placeholder)}}function Av(t,e){1&t&&os(0,3,["*ngSwitchCase","true"])}function Pv(t,e){1&t&&(Go(0,"span",23),Ss(1," *"),Uo())}function Tv(t,e){if(1&t){var n=Xo();Go(0,"label",20,21),Jo("cdkObserveContent",(function(){return nn(n),ns().updateOutlineGap()})),zo(2,Ov,4,1,"ng-container",12),zo(3,Av,1,0,void 0,12),zo(4,Pv,2,0,"span",22),Uo()}if(2&t){var r=ns();ds("mat-empty",r._control.empty&&!r._shouldAlwaysFloat)("mat-form-field-empty",r._control.empty&&!r._shouldAlwaysFloat)("mat-accent","accent"==r.color)("mat-warn","warn"==r.color),Wo("cdkObserveContentDisabled","outline"!=r.appearance)("id",r._labelId)("ngSwitch",r._hasLabel()),Bo("for",r._control.id)("aria-owns",r._control.id),Nr(2),Wo("ngSwitchCase",!1),Nr(1),Wo("ngSwitchCase",!0),Nr(1),Wo("ngIf",!r.hideRequiredMarker&&r._control.required&&!r._control.disabled)}}function Iv(t,e){1&t&&(Go(0,"div",24),os(1,4),Uo())}function Dv(t,e){if(1&t&&(Go(0,"div",25,26),Ko(2,"span",27),Uo()),2&t){var n=ns();Nr(2),ds("mat-accent","accent"==n.color)("mat-warn","warn"==n.color)}}function Fv(t,e){1&t&&(Go(0,"div"),os(1,5),Uo()),2&t&&Wo("@transitionMessages",ns()._subscriptAnimationState)}function Mv(t,e){if(1&t&&(Go(0,"div",31),Ss(1),Uo()),2&t){var n=ns(2);Wo("id",n._hintLabelId),Nr(1),ks(n.hintLabel)}}function Rv(t,e){if(1&t&&(Go(0,"div",28),zo(1,Mv,2,2,"div",29),os(2,6),Ko(3,"div",30),os(4,7),Uo()),2&t){var n=ns();Wo("@transitionMessages",n._subscriptAnimationState),Nr(1),Wo("ngIf",n.hintLabel)}}var Vv=["*",[["","matPrefix",""]],[["mat-placeholder"]],[["mat-label"]],[["","matSuffix",""]],[["mat-error"]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],jv=["*","[matPrefix]","mat-placeholder","mat-label","[matSuffix]","mat-error","mat-hint:not([align='end'])","mat-hint[align='end']"],Lv=0,Nv=function(){function t(){this.id="mat-error-"+Lv++}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["mat-error"]],hostAttrs:["role","alert",1,"mat-error"],hostVars:1,hostBindings:function(t,e){2&t&&Bo("id",e.id)},inputs:{id:"id"}}),t}(),Bv={transitionMessages:dc("transitionMessages",[gc("enter",vc({opacity:1,transform:"translateY(0%)"})),_c("void => enter",[vc({opacity:0,transform:"translateY(-100%)"}),mc("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},Hv=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t}),t}();function zv(t){return Error("A hint was already declared for 'align=\""+t+"\"'.")}var qv=0,Wv=function(){function t(){this.align="start",this.id="mat-hint-"+qv++}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-hint"],hostVars:4,hostBindings:function(t,e){2&t&&(Bo("id",e.id)("align",null),ds("mat-right","end"==e.align))},inputs:{align:"align",id:"id"}}),t}(),Qv=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["mat-label"]]}),t}(),Gv=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["mat-placeholder"]]}),t}(),Uv=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["","matPrefix",""]]}),t}(),Kv=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["","matSuffix",""]]}),t}(),Zv=0,Yv=qy(function(){return function(t){this._elementRef=t}}(),"primary"),Xv=new Gt("MAT_FORM_FIELD_DEFAULT_OPTIONS"),$v=new Gt("MatFormField"),Jv=function(t){function e(e,n,r,i,o,s,a,l){var u=t.call(this,e)||this;return u._elementRef=e,u._changeDetectorRef=n,u._dir=i,u._defaults=o,u._platform=s,u._ngZone=a,u._outlineGapCalculationNeededImmediately=!1,u._outlineGapCalculationNeededOnStable=!1,u._destroyed=new I,u._showAlwaysAnimate=!1,u._subscriptAnimationState="",u._hintLabel="",u._hintLabelId="mat-hint-"+Zv++,u._labelId="mat-form-field-label-"+Zv++,u._labelOptions=r||{},u.floatLabel=u._getDefaultFloatLabelState(),u._animationsEnabled="NoopAnimations"!==l,u.appearance=o&&o.appearance?o.appearance:"legacy",u._hideRequiredMarker=!(!o||null==o.hideRequiredMarker)&&o.hideRequiredMarker,u}return i(e,t),Object.defineProperty(e.prototype,"appearance",{get:function(){return this._appearance},set:function(t){var e=this._appearance;this._appearance=t||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&e!==t&&(this._outlineGapCalculationNeededOnStable=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hideRequiredMarker",{get:function(){return this._hideRequiredMarker},set:function(t){this._hideRequiredMarker=km(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_shouldAlwaysFloat",{get:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_canLabelFloat",{get:function(){return"never"!==this.floatLabel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hintLabel",{get:function(){return this._hintLabel},set:function(t){this._hintLabel=t,this._processHints()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"floatLabel",{get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(t){t!==this._floatLabel&&(this._floatLabel=t||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_control",{get:function(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic},set:function(t){this._explicitFormFieldControl=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_labelChild",{get:function(){return this._labelChildNonStatic||this._labelChildStatic},enumerable:!0,configurable:!0}),e.prototype.getConnectedOverlayOrigin=function(){return this._connectionContainerRef||this._elementRef},e.prototype.ngAfterContentInit=function(){var t=this;this._validateControlChild();var e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-"+e.controlType),e.stateChanges.pipe(My(null)).subscribe((function(){t._validatePlaceholders(),t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Td(this._destroyed)).subscribe((function(){return t._changeDetectorRef.markForCheck()})),this._ngZone.runOutsideAngular((function(){t._ngZone.onStable.asObservable().pipe(Td(t._destroyed)).subscribe((function(){t._outlineGapCalculationNeededOnStable&&t.updateOutlineGap()}))})),J(this._prefixChildren.changes,this._suffixChildren.changes).subscribe((function(){t._outlineGapCalculationNeededOnStable=!0,t._changeDetectorRef.markForCheck()})),this._hintChildren.changes.pipe(My(null)).subscribe((function(){t._processHints(),t._changeDetectorRef.markForCheck()})),this._errorChildren.changes.pipe(My(null)).subscribe((function(){t._syncDescribedByIds(),t._changeDetectorRef.markForCheck()})),this._dir&&this._dir.change.pipe(Td(this._destroyed)).subscribe((function(){"function"==typeof requestAnimationFrame?t._ngZone.runOutsideAngular((function(){requestAnimationFrame((function(){return t.updateOutlineGap()}))})):t.updateOutlineGap()}))},e.prototype.ngAfterContentChecked=function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()},e.prototype.ngAfterViewInit=function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()},e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()},e.prototype._shouldForward=function(t){var e=this._control?this._control.ngControl:null;return e&&e[t]},e.prototype._hasPlaceholder=function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)},e.prototype._hasLabel=function(){return!!this._labelChild},e.prototype._shouldLabelFloat=function(){return this._canLabelFloat&&(this._control.shouldLabelFloat||this._shouldAlwaysFloat)},e.prototype._hideControlPlaceholder=function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()},e.prototype._hasFloatingLabel=function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()},e.prototype._getDisplayedMessages=function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"},e.prototype._animateAndLockLabel=function(){var t=this;this._hasFloatingLabel()&&this._canLabelFloat&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,gd(this._label.nativeElement,"transitionend").pipe(Vd(1)).subscribe((function(){t._showAlwaysAnimate=!1}))),this.floatLabel="always",this._changeDetectorRef.markForCheck())},e.prototype._validatePlaceholders=function(){if(this._control.placeholder&&this._placeholderChild)throw Error("Placeholder attribute and child element were both specified.")},e.prototype._processHints=function(){this._validateHints(),this._syncDescribedByIds()},e.prototype._validateHints=function(){var t,e,n=this;this._hintChildren&&this._hintChildren.forEach((function(r){if("start"===r.align){if(t||n.hintLabel)throw zv("start");t=r}else if("end"===r.align){if(e)throw zv("end");e=r}}))},e.prototype._getDefaultFloatLabelState=function(){return this._defaults&&this._defaults.floatLabel||this._labelOptions.float||"auto"},e.prototype._syncDescribedByIds=function(){if(this._control){var t=[];if("hint"===this._getDisplayedMessages()){var e=this._hintChildren?this._hintChildren.find((function(t){return"start"===t.align})):null,n=this._hintChildren?this._hintChildren.find((function(t){return"end"===t.align})):null;e?t.push(e.id):this._hintLabel&&t.push(this._hintLabelId),n&&t.push(n.id)}else this._errorChildren&&(t=this._errorChildren.map((function(t){return t.id})));this._control.setDescribedByIds(t)}},e.prototype._validateControlChild=function(){if(!this._control)throw Error("mat-form-field must contain a MatFormFieldControl.")},e.prototype.updateOutlineGap=function(){var t,e,n=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&n&&n.children.length&&n.textContent.trim()&&this._platform.isBrowser)if(this._isAttachedToDOM()){var r=0,i=0,o=this._connectionContainerRef.nativeElement,a=o.querySelectorAll(".mat-form-field-outline-start"),l=o.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var u=o.getBoundingClientRect();if(0===u.width&&0===u.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);var c=this._getStartEnd(u),p=this._getStartEnd(n.children[0].getBoundingClientRect()),h=0;try{for(var f=s(n.children),d=f.next();!d.done;d=f.next())h+=d.value.offsetWidth}catch(y){t={error:y}}finally{try{d&&!d.done&&(e=f.return)&&e.call(f)}finally{if(t)throw t.error}}r=Math.abs(p-c)-5,i=h>0?.75*h+10:0}for(var m=0;m=0}function sg(t){var e=t.index,n=t.period,r=t.subscriber;if(r.next(e),!r.closed){if(-1===n)return r.complete();t.index=e+1,this.schedule(t,n)}}function ag(t,e){return void 0===e&&(e=xd),n=function(){return function(t,e,n){void 0===t&&(t=0);var r=-1;return og(e)?r=Number(e)<1?1:Number(e):F(e)&&(n=e),F(n)||(n=xd),new k((function(e){var i=og(t)?t:+t-n.now();return n.schedule(sg,i,{index:0,period:r,subscriber:e})}))}(t,e)},function(t){return t.lift(new rg(n))};var n}var lg=function(){function t(t,e,n){var r=this;void 0===t&&(t=!1),void 0===n&&(n=!0),this._multiple=t,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new I,e&&e.length&&(t?e.forEach((function(t){return r._markSelected(t)})):this._markSelected(e[0]),this._selectedToEmit.length=0)}return Object.defineProperty(t.prototype,"selected",{get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected},enumerable:!0,configurable:!0}),t.prototype.select=function(){for(var t=this,e=[],n=0;n1&&!this._multiple)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")},t}(),ug=function(){function t(t,e,n){this._ngZone=t,this._platform=e,this._scrolled=new I,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}return t.prototype.register=function(t){var e=this;this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe((function(){return e._scrolled.next(t)})))},t.prototype.deregister=function(t){var e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))},t.prototype.scrolled=function(t){var e=this;return void 0===t&&(t=20),this._platform.isBrowser?new k((function(n){e._globalSubscription||e._addGlobalListener();var r=t>0?e._scrolled.pipe(ag(t)).subscribe(n):e._scrolled.subscribe(n);return e._scrolledCount++,function(){r.unsubscribe(),e._scrolledCount--,e._scrolledCount||e._removeGlobalListener()}})):vd()},t.prototype.ngOnDestroy=function(){var t=this;this._removeGlobalListener(),this.scrollContainers.forEach((function(e,n){return t.deregister(n)})),this._scrolled.complete()},t.prototype.ancestorScrolled=function(t,e){var n=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(_d((function(t){return!t||n.indexOf(t)>-1})))},t.prototype.getAncestorScrollContainers=function(t){var e=this,n=[];return this.scrollContainers.forEach((function(r,i){e._scrollableContainsElement(i,t)&&n.push(i)})),n},t.prototype._getDocument=function(){return this._document||document},t.prototype._getWindow=function(){return this._getDocument().defaultView||window},t.prototype._scrollableContainsElement=function(t,e){var n=e.nativeElement,r=t.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},t.prototype._addGlobalListener=function(){var t=this;this._globalSubscription=this._ngZone.runOutsideAngular((function(){return gd(t._getWindow().document,"scroll").subscribe((function(){return t._scrolled.next()}))}))},t.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},t.\u0275prov=vt({factory:function(){return new t(ee(Dl),ee(_y),ee(iu,8))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(Dl),ee(_y),ee(iu,8))},t}(),cg=function(){function t(t,e,n){var r=this;this._platform=t,this._document=n,e.runOutsideAngular((function(){var e=r._getWindow();r._change=t.isBrowser?J(gd(e,"resize"),gd(e,"orientationchange")):vd(),r._invalidateCache=r.change().subscribe((function(){return r._updateViewportSize()}))}))}return t.prototype.ngOnDestroy=function(){this._invalidateCache.unsubscribe()},t.prototype.getViewportSize=function(){this._viewportSize||this._updateViewportSize();var t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t},t.prototype.getViewportRect=function(){var t=this.getViewportScrollPosition(),e=this.getViewportSize(),n=e.width,r=e.height;return{top:t.top,left:t.left,bottom:t.top+r,right:t.left+n,height:r,width:n}},t.prototype.getViewportScrollPosition=function(){if(!this._platform.isBrowser)return{top:0,left:0};var t=this._getDocument(),e=this._getWindow(),n=t.documentElement,r=n.getBoundingClientRect();return{top:-r.top||t.body.scrollTop||e.scrollY||n.scrollTop||0,left:-r.left||t.body.scrollLeft||e.scrollX||n.scrollLeft||0}},t.prototype.change=function(t){return void 0===t&&(t=20),t>0?this._change.pipe(ag(t)):this._change},t.prototype._getDocument=function(){return this._document||document},t.prototype._getWindow=function(){return this._getDocument().defaultView||window},t.prototype._updateViewportSize=function(){var t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}},t.\u0275prov=vt({factory:function(){return new t(ee(_y),ee(Dl),ee(iu,8))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(_y),ee(Dl),ee(iu,8))},t}(),pg=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)}}),t}(),hg=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},imports:[[Nm,by,pg],Nm,pg]}),t}();function fg(){throw Error("Host already has a portal attached")}var dg=function(){function t(){}return t.prototype.attach=function(t){return null==t&&function(){throw Error("Attempting to attach a portal to a null PortalOutlet")}(),t.hasAttached()&&fg(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?function(){throw Error("Attempting to detach a portal that is not attached to a host")}():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),mg=function(t){function e(e,n,r,i){var o=t.call(this)||this;return o.component=e,o.viewContainerRef=n,o.injector=r,o.componentFactoryResolver=i,o}return i(e,t),e}(dg),yg=function(t){function e(e,n,r){var i=t.call(this)||this;return i.templateRef=e,i.viewContainerRef=n,i.context=r,i}return i(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,n){return void 0===n&&(n=this.context),this.context=n,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(dg),vg=function(t){function e(e){var n=t.call(this)||this;return n.element=e instanceof Xs?e.nativeElement:e,n}return i(e,t),e}(dg),gg=function(t){function e(e,n,r,i,o){var s=t.call(this)||this;return s.outletElement=e,s._componentFactoryResolver=n,s._appRef=r,s._defaultInjector=i,s.attachDomPortal=function(e){if(!s._document)throw Error("Cannot attach DOM portal without _document constructor parameter");var n=e.element;if(!n.parentNode)throw Error("DOM portal content must be attached to a parent node.");var r=s._document.createComment("dom-portal");n.parentNode.insertBefore(r,n),s.outletElement.appendChild(n),t.prototype.setDisposeFn.call(s,(function(){r.parentNode&&r.parentNode.replaceChild(n,r)}))},s._document=o,s}return i(e,t),e.prototype.attachComponentPortal=function(t){var e,n=this,r=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(r,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector),this.setDisposeFn((function(){return e.destroy()}))):(e=r.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn((function(){n._appRef.detachView(e.hostView),e.destroy()}))),this.outletElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,n=t.viewContainerRef,r=n.createEmbeddedView(t.templateRef,t.context);return r.detectChanges(),r.rootNodes.forEach((function(t){return e.outletElement.appendChild(t)})),this.setDisposeFn((function(){var t=n.indexOf(r);-1!==t&&n.remove(t)})),r},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this.outletElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(function(){function t(){this._isDisposed=!1,this.attachDomPortal=null}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||function(){throw Error("Must provide a portal to attach")}(),this.hasAttached()&&fg(),this._isDisposed&&function(){throw Error("This PortalOutlet has already been disposed")}(),t instanceof mg?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof yg?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof vg?(this._attachedPortal=t,this.attachDomPortal(t)):void function(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}()},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}()),_g=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)}}),t}(),bg=function(){function t(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}return t.prototype.attach=function(){},t.prototype.enable=function(){if(this._canBeEnabled()){var t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Pm(-this._previousScrollPosition.left),t.style.top=Pm(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}},t.prototype.disable=function(){if(this._isEnabled){var t=this._document.documentElement,e=t.style,n=this._document.body.style,r=e.scrollBehavior||"",i=n.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),e.scrollBehavior=n.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),e.scrollBehavior=r,n.scrollBehavior=i}},t.prototype._canBeEnabled=function(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;var t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width},t}();function wg(){return Error("Scroll strategy has already been attached.")}var xg=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=n,this._config=r,this._scrollSubscription=null,this._detach=function(){i.disable(),i._overlayRef.hasAttached()&&i._ngZone.run((function(){return i._overlayRef.detach()}))}}return t.prototype.attach=function(t){if(this._overlayRef)throw wg();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe((function(){var e=t._viewportRuler.getViewportScrollPosition().top;Math.abs(e-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()}))):this._scrollSubscription=e.subscribe(this._detach)}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t.prototype.detach=function(){this.disable(),this._overlayRef=null},t}(),Cg=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}();function Eg(t,e){return e.some((function(e){return t.bottome.bottom||t.righte.right}))}function Sg(t,e){return e.some((function(e){return t.tope.bottom||t.lefte.right}))}var kg=function(){function t(t,e,n,r){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this._config=r,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw wg();this._overlayRef=t},t.prototype.enable=function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe((function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),n=t._viewportRuler.getViewportSize(),r=n.width,i=n.height;Eg(e,[{width:r,height:i,bottom:i,right:r,top:0,left:0}])&&(t.disable(),t._ngZone.run((function(){return t._overlayRef.detach()})))}})))},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t.prototype.detach=function(){this.disable(),this._overlayRef=null},t}(),Og=function(){function t(t,e,n,r){var i=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=n,this.noop=function(){return new Cg},this.close=function(t){return new xg(i._scrollDispatcher,i._ngZone,i._viewportRuler,t)},this.block=function(){return new bg(i._viewportRuler,i._document)},this.reposition=function(t){return new kg(i._scrollDispatcher,i._viewportRuler,i._ngZone,t)},this._document=r}return t.\u0275prov=vt({factory:function(){return new t(ee(ug),ee(cg),ee(Dl),ee(iu))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(ug),ee(cg),ee(Dl),ee(iu))},t}(),Ag=function(){return function(t){var e,n;if(this.scrollStrategy=new Cg,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){var r=Object.keys(t);try{for(var i=s(r),o=i.next();!o.done;o=i.next()){var a=o.value;void 0!==t[a]&&(this[a]=t[a])}}catch(l){e={error:l}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}}}}(),Pg=function(){return function(t,e,n,r,i){this.offsetX=n,this.offsetY=r,this.panelClass=i,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}}(),Tg=function(){return function(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}();function Ig(t,e){if("top"!==e&&"bottom"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "top", "bottom" or "center".')}function Dg(t,e){if("start"!==e&&"end"!==e&&"center"!==e)throw Error("ConnectedPosition: Invalid "+t+' "'+e+'". Expected "start", "end" or "center".')}var Fg=function(){function t(t){var e=this;this._attachedOverlays=[],this._keydownListener=function(t){for(var n=e._attachedOverlays,r=n.length-1;r>-1;r--)if(n[r]._keydownEvents.observers.length>0){n[r]._keydownEvents.next(t);break}},this._document=t}return t.prototype.ngOnDestroy=function(){this._detach()},t.prototype.add=function(t){this.remove(t),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0),this._attachedOverlays.push(t)},t.prototype.remove=function(t){var e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._detach()},t.prototype._detach=function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)},t.\u0275prov=vt({factory:function(){return new t(ee(iu))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(iu))},t}(),Mg=!("undefined"==typeof window||!window||!window.__karma__&&!window.jasmine),Rg=function(){function t(t,e){this._platform=e,this._document=t}return t.prototype.ngOnDestroy=function(){var t=this._containerElement;t&&t.parentNode&&t.parentNode.removeChild(t)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._platform?this._platform.isBrowser:"undefined"!=typeof window;if(t||Mg)for(var e=this._document.querySelectorAll('.cdk-overlay-container[platform="server"], .cdk-overlay-container[platform="test"]'),n=0;nv&&(v=w,y=b)}}catch(C){n={error:C}}finally{try{_&&!_.done&&(r=g.return)&&r.call(g)}finally{if(n)throw n.error}}return this._isPushed=!1,void this._applyPosition(y.position,y.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(i.position,i.originPoint);this._applyPosition(i.position,i.originPoint)}},t.prototype.detach=function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()},t.prototype.dispose=function(){this._isDisposed||(this._boundingBox&&Ng(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)},t.prototype.reapplyLastPosition=function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}},t.prototype.withScrollableContainers=function(t){return this._scrollables=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this},t.prototype.withViewportMargin=function(t){return this._viewportMargin=t,this},t.prototype.withFlexibleDimensions=function(t){return void 0===t&&(t=!0),this._hasFlexibleDimensions=t,this},t.prototype.withGrowAfterOpen=function(t){return void 0===t&&(t=!0),this._growAfterOpen=t,this},t.prototype.withPush=function(t){return void 0===t&&(t=!0),this._canPush=t,this},t.prototype.withLockedPosition=function(t){return void 0===t&&(t=!0),this._positionLocked=t,this},t.prototype.setOrigin=function(t){return this._origin=t,this},t.prototype.withDefaultOffsetX=function(t){return this._offsetX=t,this},t.prototype.withDefaultOffsetY=function(t){return this._offsetY=t,this},t.prototype.withTransformOriginOn=function(t){return this._transformOriginSelector=t,this},t.prototype._getOriginPoint=function(t,e){var n;if("center"==e.originX)n=t.left+t.width/2;else{var r=this._isRtl()?t.right:t.left,i=this._isRtl()?t.left:t.right;n="start"==e.originX?r:i}return{x:n,y:"center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}},t.prototype._getOverlayPoint=function(t,e,n){var r;return r="center"==n.overlayX?-e.width/2:"start"===n.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+r,y:t.y+("center"==n.overlayY?-e.height/2:"top"==n.overlayY?0:-e.height)}},t.prototype._getOverlayFit=function(t,e,n,r){var i=t.x,o=t.y,s=this._getOffset(r,"x"),a=this._getOffset(r,"y");s&&(i+=s),a&&(o+=a);var l=0-o,u=o+e.height-n.height,c=this._subtractOverflows(e.width,0-i,i+e.width-n.width),p=this._subtractOverflows(e.height,l,u),h=c*p;return{visibleArea:h,isCompletelyWithinViewport:e.width*e.height===h,fitsInViewportVertically:p===e.height,fitsInViewportHorizontally:c==e.width}},t.prototype._canFitWithFlexibleDimensions=function(t,e,n){if(this._hasFlexibleDimensions){var r=n.bottom-e.y,i=n.right-e.x,o=Bg(this._overlayRef.getConfig().minHeight),s=Bg(this._overlayRef.getConfig().minWidth);return(t.fitsInViewportVertically||null!=o&&o<=r)&&(t.fitsInViewportHorizontally||null!=s&&s<=i)}return!1},t.prototype._pushOverlayOnScreen=function(t,e,n){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var r,i,o=this._viewportRect,s=Math.max(t.x+e.width-o.right,0),a=Math.max(t.y+e.height-o.bottom,0),l=Math.max(o.top-n.top-t.y,0),u=Math.max(o.left-n.left-t.x,0);return this._previousPushAmount={x:r=e.width<=o.width?u||-s:t.xp&&!this._isInitialRender&&!this._growAfterOpen&&(r=t.y-p/2)}if("end"===e.overlayX&&!u||"start"===e.overlayX&&u)a=l.width-t.x+this._viewportMargin,o=t.x-this._viewportMargin;else if("start"===e.overlayX&&!u||"end"===e.overlayX&&u)s=t.x,o=l.right-t.x;else{c=Math.min(l.right-t.x+l.left,t.x);var h=this._lastBoundingBoxSize.width;s=t.x-c,(o=2*c)>h&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.x-h/2)}return{top:r,left:s,bottom:i,right:a,width:o,height:n}},t.prototype._setBoundingBoxStyles=function(t,e){var n=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(n.height=Math.min(n.height,this._lastBoundingBoxSize.height),n.width=Math.min(n.width,this._lastBoundingBoxSize.width));var r={};if(this._hasExactPosition())r.top=r.left="0",r.bottom=r.right=r.maxHeight=r.maxWidth="",r.width=r.height="100%";else{var i=this._overlayRef.getConfig().maxHeight,o=this._overlayRef.getConfig().maxWidth;r.height=Pm(n.height),r.top=Pm(n.top),r.bottom=Pm(n.bottom),r.width=Pm(n.width),r.left=Pm(n.left),r.right=Pm(n.right),r.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",r.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",i&&(r.maxHeight=Pm(i)),o&&(r.maxWidth=Pm(o))}this._lastBoundingBoxSize=n,Ng(this._boundingBox.style,r)},t.prototype._resetBoundingBoxStyles=function(){Ng(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})},t.prototype._resetOverlayElementStyles=function(){Ng(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})},t.prototype._setOverlayElementStyles=function(t,e){var n={},r=this._hasExactPosition(),i=this._hasFlexibleDimensions,o=this._overlayRef.getConfig();if(r){var s=this._viewportRuler.getViewportScrollPosition();Ng(n,this._getExactOverlayY(e,t,s)),Ng(n,this._getExactOverlayX(e,t,s))}else n.position="static";var a="",l=this._getOffset(e,"x"),u=this._getOffset(e,"y");l&&(a+="translateX("+l+"px) "),u&&(a+="translateY("+u+"px)"),n.transform=a.trim(),o.maxHeight&&(r?n.maxHeight=Pm(o.maxHeight):i&&(n.maxHeight="")),o.maxWidth&&(r?n.maxWidth=Pm(o.maxWidth):i&&(n.maxWidth="")),Ng(this._pane.style,n)},t.prototype._getExactOverlayY=function(t,e,n){var r={top:"",bottom:""},i=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect,n));var o=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return i.y-=o,"bottom"===t.overlayY?r.bottom=this._document.documentElement.clientHeight-(i.y+this._overlayRect.height)+"px":r.top=Pm(i.y),r},t.prototype._getExactOverlayX=function(t,e,n){var r={left:"",right:""},i=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(i=this._pushOverlayOnScreen(i,this._overlayRect,n)),"right"==(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?r.right=this._document.documentElement.clientWidth-(i.x+this._overlayRect.width)+"px":r.left=Pm(i.x),r},t.prototype._getScrollVisibility=function(){var t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),n=this._scrollables.map((function(t){return t.getElementRef().nativeElement.getBoundingClientRect()}));return{isOriginClipped:Sg(t,n),isOriginOutsideView:Eg(t,n),isOverlayClipped:Sg(e,n),isOverlayOutsideView:Eg(e,n)}},t.prototype._subtractOverflows=function(t){for(var e=[],n=1;n void",wc("@transformPanel",[bc()],{optional:!0}))]),transformPanel:dc("transformPanel",[gc("void",vc({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),gc("showing",vc({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),gc("showing-multiple",vc({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),_c("void => *",mc("120ms cubic-bezier(0, 0, 0.2, 1)")),_c("* => void",mc("100ms 25ms linear",vc({opacity:0})))])},l_=0,u_=new Gt("mat-select-scroll-strategy"),c_=new Gt("MAT_SELECT_CONFIG"),p_={provide:u_,deps:[Qg],useFactory:function(t){return function(){return t.scrollStrategies.reposition()}}},h_=function(){return function(t,e){this.source=t,this.value=e}}(),f_=Wy(Qy(zy(Gy(function(){return function(t,e,n,r,i){this._elementRef=t,this._defaultErrorStateMatcher=e,this._parentForm=n,this._parentFormGroup=r,this.ngControl=i}}())))),d_=function(){function t(){}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=ke({type:t,selectors:[["mat-select-trigger"]]}),t}(),m_=function(t){function e(e,n,r,i,o,s,a,u,c,p,h,f,d,m){var y,v=t.call(this,o,i,a,u,p)||this;return v._viewportRuler=e,v._changeDetectorRef=n,v._ngZone=r,v._dir=s,v._parentFormField=c,v.ngControl=p,v._liveAnnouncer=d,v._panelOpen=!1,v._required=!1,v._scrollTop=0,v._multiple=!1,v._compareWith=function(t,e){return t===e},v._uid="mat-select-"+l_++,v._destroy=new I,v._triggerFontSize=0,v._onChange=function(){},v._onTouched=function(){},v._optionIds="",v._transformOrigin="top",v._panelDoneAnimatingStream=new I,v._offsetY=0,v._positions=[{originX:"start",originY:"top",overlayX:"start",overlayY:"top"},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"bottom"}],v._disableOptionCentering=!1,v._focused=!1,v.controlType="mat-select",v.ariaLabel="",v.optionSelectionChanges=(y=function(){var t=v.options;return t?t.changes.pipe(My(t),Od((function(){return J.apply(void 0,l(t.map((function(t){return t.onSelectionChange}))))}))):v._ngZone.onStable.asObservable().pipe(Vd(1),Od((function(){return v.optionSelectionChanges})))},new k((function(t){var e;try{e=y()}catch(n){return void t.error(n)}return(e?U(e):Rd()).subscribe(t)}))),v.openedChange=new za,v._openedStream=v.openedChange.pipe(_d((function(t){return t})),q((function(){}))),v._closedStream=v.openedChange.pipe(_d((function(t){return!t})),q((function(){}))),v.selectionChange=new za,v.valueChange=new za,v.ngControl&&(v.ngControl.valueAccessor=v),v._scrollStrategyFactory=f,v._scrollStrategy=v._scrollStrategyFactory(),v.tabIndex=parseInt(h)||0,v.id=v.id,m&&(null!=m.disableOptionCentering&&(v.disableOptionCentering=m.disableOptionCentering),null!=m.typeaheadDebounceInterval&&(v.typeaheadDebounceInterval=m.typeaheadDebounceInterval)),v}return i(e,t),Object.defineProperty(e.prototype,"focused",{get:function(){return this._focused||this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"placeholder",{get:function(){return this._placeholder},set:function(t){this._placeholder=t,this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(t){this._required=km(t),this.stateChanges.next()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"multiple",{get:function(){return this._multiple},set:function(t){if(this._selectionModel)throw Error("Cannot change `multiple` mode of select after initialization.");this._multiple=km(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disableOptionCentering",{get:function(){return this._disableOptionCentering},set:function(t){this._disableOptionCentering=km(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"compareWith",{get:function(){return this._compareWith},set:function(t){if("function"!=typeof t)throw Error("`compareWith` must be a function.");this._compareWith=t,this._selectionModel&&this._initializeSelection()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(t){t!==this._value&&(this.writeValue(t),this._value=t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"typeaheadDebounceInterval",{get:function(){return this._typeaheadDebounceInterval},set:function(t){this._typeaheadDebounceInterval=Om(t)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(t){this._id=t||this._uid,this.stateChanges.next()},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var t=this;this._selectionModel=new lg(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe((function(t){return t.lift(new eg(void 0,void 0))}),Td(this._destroy)).subscribe((function(){t.panelOpen?(t._scrollTop=0,t.openedChange.emit(!0)):(t.openedChange.emit(!1),t.overlayDir.offsetX=0,t._changeDetectorRef.markForCheck())})),this._viewportRuler.change().pipe(Td(this._destroy)).subscribe((function(){t._panelOpen&&(t._triggerRect=t.trigger.nativeElement.getBoundingClientRect(),t._changeDetectorRef.markForCheck())}))},e.prototype.ngAfterContentInit=function(){var t=this;this._initKeyManager(),this._selectionModel.changed.pipe(Td(this._destroy)).subscribe((function(t){t.added.forEach((function(t){return t.select()})),t.removed.forEach((function(t){return t.deselect()}))})),this.options.changes.pipe(My(null),Td(this._destroy)).subscribe((function(){t._resetOptions(),t._initializeSelection()}))},e.prototype.ngDoCheck=function(){this.ngControl&&this.updateErrorState()},e.prototype.ngOnChanges=function(t){t.disabled&&this.stateChanges.next(),t.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)},e.prototype.ngOnDestroy=function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()},e.prototype.toggle=function(){this.panelOpen?this.close():this.open()},e.prototype.open=function(){var t=this;!this.disabled&&this.options&&this.options.length&&!this._panelOpen&&(this._triggerRect=this.trigger.nativeElement.getBoundingClientRect(),this._triggerFontSize=parseInt(getComputedStyle(this.trigger.nativeElement).fontSize||"0"),this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._calculateOverlayPosition(),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck(),this._ngZone.onStable.asObservable().pipe(Vd(1)).subscribe((function(){t._triggerFontSize&&t.overlayDir.overlayRef&&t.overlayDir.overlayRef.overlayElement&&(t.overlayDir.overlayRef.overlayElement.style.fontSize=t._triggerFontSize+"px")})))},e.prototype.close=function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())},e.prototype.writeValue=function(t){this.options&&this._setSelectionByValue(t)},e.prototype.registerOnChange=function(t){this._onChange=t},e.prototype.registerOnTouched=function(t){this._onTouched=t},e.prototype.setDisabledState=function(t){this.disabled=t,this._changeDetectorRef.markForCheck(),this.stateChanges.next()},Object.defineProperty(e.prototype,"panelOpen",{get:function(){return this._panelOpen},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this.multiple?this._selectionModel.selected:this._selectionModel.selected[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"triggerValue",{get:function(){if(this.empty)return"";if(this._multiple){var t=this._selectionModel.selected.map((function(t){return t.viewValue}));return this._isRtl()&&t.reverse(),t.join(", ")}return this._selectionModel.selected[0].viewValue},enumerable:!0,configurable:!0}),e.prototype._isRtl=function(){return!!this._dir&&"rtl"===this._dir.value},e.prototype._handleKeydown=function(t){this.disabled||(this.panelOpen?this._handleOpenKeydown(t):this._handleClosedKeydown(t))},e.prototype._handleClosedKeydown=function(t){var e=t.keyCode,n=40===e||38===e||37===e||39===e,r=13===e||32===e,i=this._keyManager;if(!i.isTyping()&&r&&!vy(t)||(this.multiple||t.altKey)&&n)t.preventDefault(),this.open();else if(!this.multiple){var o=this.selected;36===e||35===e?(36===e?i.setFirstItemActive():i.setLastItemActive(),t.preventDefault()):i.onKeydown(t);var s=this.selected;s&&o!==s&&this._liveAnnouncer.announce(s.viewValue,1e4)}},e.prototype._handleOpenKeydown=function(t){var e=this._keyManager,n=t.keyCode,r=40===n||38===n,i=e.isTyping();if(36===n||35===n)t.preventDefault(),36===n?e.setFirstItemActive():e.setLastItemActive();else if(r&&t.altKey)t.preventDefault(),this.close();else if(i||13!==n&&32!==n||!e.activeItem||vy(t))if(!i&&this._multiple&&65===n&&t.ctrlKey){t.preventDefault();var o=this.options.some((function(t){return!t.disabled&&!t.selected}));this.options.forEach((function(t){t.disabled||(o?t.select():t.deselect())}))}else{var s=e.activeItemIndex;e.onKeydown(t),this._multiple&&r&&t.shiftKey&&e.activeItem&&e.activeItemIndex!==s&&e.activeItem._selectViaInteraction()}else t.preventDefault(),e.activeItem._selectViaInteraction()},e.prototype._onFocus=function(){this.disabled||(this._focused=!0,this.stateChanges.next())},e.prototype._onBlur=function(){this._focused=!1,this.disabled||this.panelOpen||(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())},e.prototype._onAttached=function(){var t=this;this.overlayDir.positionChange.pipe(Vd(1)).subscribe((function(){t._changeDetectorRef.detectChanges(),t._calculateOverlayOffsetX(),t.panel.nativeElement.scrollTop=t._scrollTop}))},e.prototype._getPanelTheme=function(){return this._parentFormField?"mat-"+this._parentFormField.color:""},Object.defineProperty(e.prototype,"empty",{get:function(){return!this._selectionModel||this._selectionModel.isEmpty()},enumerable:!0,configurable:!0}),e.prototype._initializeSelection=function(){var t=this;Promise.resolve().then((function(){t._setSelectionByValue(t.ngControl?t.ngControl.value:t._value),t.stateChanges.next()}))},e.prototype._setSelectionByValue=function(t){var e=this;if(this.multiple&&t){if(!Array.isArray(t))throw Error("Value must be an array in multiple-selection mode.");this._selectionModel.clear(),t.forEach((function(t){return e._selectValue(t)})),this._sortValues()}else{this._selectionModel.clear();var n=this._selectValue(t);n?this._keyManager.setActiveItem(n):this.panelOpen||this._keyManager.setActiveItem(-1)}this._changeDetectorRef.markForCheck()},e.prototype._selectValue=function(t){var e=this,n=this.options.find((function(n){try{return null!=n.value&&e._compareWith(n.value,t)}catch(r){return _r()&&console.warn(r),!1}}));return n&&this._selectionModel.select(n),n},e.prototype._initKeyManager=function(){var t=this;this._keyManager=new ky(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Td(this._destroy)).subscribe((function(){t.panelOpen&&(!t.multiple&&t._keyManager.activeItem&&t._keyManager.activeItem._selectViaInteraction(),t.focus(),t.close())})),this._keyManager.change.pipe(Td(this._destroy)).subscribe((function(){t._panelOpen&&t.panel?t._scrollActiveOptionIntoView():t._panelOpen||t.multiple||!t._keyManager.activeItem||t._keyManager.activeItem._selectViaInteraction()}))},e.prototype._resetOptions=function(){var t=this,e=J(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Td(e)).subscribe((function(e){t._onSelect(e.source,e.isUserInput),e.isUserInput&&!t.multiple&&t._panelOpen&&(t.close(),t.focus())})),J.apply(void 0,l(this.options.map((function(t){return t._stateChanges})))).pipe(Td(e)).subscribe((function(){t._changeDetectorRef.markForCheck(),t.stateChanges.next()})),this._setOptionIds()},e.prototype._onSelect=function(t,e){var n=this._selectionModel.isSelected(t);null!=t.value||this._multiple?(n!==t.selected&&(t.selected?this._selectionModel.select(t):this._selectionModel.deselect(t)),e&&this._keyManager.setActiveItem(t),this.multiple&&(this._sortValues(),e&&this.focus())):(t.deselect(),this._selectionModel.clear(),this._propagateChanges(t.value)),n!==this._selectionModel.isSelected(t)&&this._propagateChanges(),this.stateChanges.next()},e.prototype._sortValues=function(){var t=this;if(this.multiple){var e=this.options.toArray();this._selectionModel.sort((function(n,r){return t.sortComparator?t.sortComparator(n,r,e):e.indexOf(n)-e.indexOf(r)})),this.stateChanges.next()}},e.prototype._propagateChanges=function(t){var e;e=this.multiple?this.selected.map((function(t){return t.value})):this.selected?this.selected.value:t,this._value=e,this.valueChange.emit(e),this._onChange(e),this.selectionChange.emit(new h_(this,e)),this._changeDetectorRef.markForCheck()},e.prototype._setOptionIds=function(){this._optionIds=this.options.map((function(t){return t.id})).join(" ")},e.prototype._highlightCorrectOption=function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))},e.prototype._scrollActiveOptionIntoView=function(){var t,e,n,r=this._keyManager.activeItemIndex||0,i=pv(r,this.options,this.optionGroups);this.panel.nativeElement.scrollTop=(n=(r+i)*(t=this._getItemHeight()))<(e=this.panel.nativeElement.scrollTop)?n:n+t>e+256?Math.max(0,n-256+t):e},e.prototype.focus=function(t){this._elementRef.nativeElement.focus(t)},e.prototype._getOptionIndex=function(t){return this.options.reduce((function(e,n,r){return void 0!==e?e:t===n?r:void 0}),void 0)},e.prototype._calculateOverlayPosition=function(){var t=this._getItemHeight(),e=this._getItemCount(),n=Math.min(e*t,256),r=e*t-n,i=this.empty?0:this._getOptionIndex(this._selectionModel.selected[0]);i+=pv(i,this.options,this.optionGroups);var o=n/2;this._scrollTop=this._calculateOverlayScroll(i,o,r),this._offsetY=this._calculateOverlayOffsetY(i,o,r),this._checkOverlayWithinViewport(r)},e.prototype._calculateOverlayScroll=function(t,e,n){var r=this._getItemHeight();return Math.min(Math.max(0,r*t-e+r/2),n)},e.prototype._getAriaLabel=function(){return this.ariaLabelledby?null:this.ariaLabel||this.placeholder},e.prototype._getAriaLabelledby=function(){return this.ariaLabelledby?this.ariaLabelledby:this._parentFormField&&this._parentFormField._hasFloatingLabel()&&!this._getAriaLabel()&&this._parentFormField._labelId||null},e.prototype._getAriaActiveDescendant=function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null},e.prototype._calculateOverlayOffsetX=function(){var t,e=this.overlayDir.overlayRef.overlayElement.getBoundingClientRect(),n=this._viewportRuler.getViewportSize(),r=this._isRtl(),i=this.multiple?56:32;if(this.multiple)t=40;else{var o=this._selectionModel.selected[0]||this.options.first;t=o&&o.group?32:16}r||(t*=-1);var s=0-(e.left+t-(r?i:0)),a=e.right+t-n.width+(r?0:i);s>0?t+=s+8:a>0&&(t-=a+8),this.overlayDir.offsetX=Math.round(t),this.overlayDir.overlayRef.updatePosition()},e.prototype._calculateOverlayOffsetY=function(t,e,n){var r,i=this._getItemHeight(),o=(i-this._triggerRect.height)/2,s=Math.floor(256/i);return this._disableOptionCentering?0:(r=0===this._scrollTop?t*i:this._scrollTop===n?(t-(this._getItemCount()-s))*i+(i-(this._getItemCount()*i-256)%i):e-i/2,Math.round(-1*r-o))},e.prototype._checkOverlayWithinViewport=function(t){var e=this._getItemHeight(),n=this._viewportRuler.getViewportSize(),r=this._triggerRect.top-8,i=n.height-this._triggerRect.bottom-8,o=Math.abs(this._offsetY),s=Math.min(this._getItemCount()*e,256)-o-this._triggerRect.height;s>i?this._adjustPanelUp(s,i):o>r?this._adjustPanelDown(o,r,t):this._transformOrigin=this._getOriginBasedOnOption()},e.prototype._adjustPanelUp=function(t,e){var n=Math.round(t-e);this._scrollTop-=n,this._offsetY-=n,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")},e.prototype._adjustPanelDown=function(t,e,n){var r=Math.round(t-e);if(this._scrollTop+=r,this._offsetY+=r,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=n)return this._scrollTop=n,this._offsetY=0,void(this._transformOrigin="50% top 0px")},e.prototype._getOriginBasedOnOption=function(){var t=this._getItemHeight(),e=(t-this._triggerRect.height)/2;return"50% "+(Math.abs(this._offsetY)-e+t/2)+"px 0px"},e.prototype._getItemCount=function(){return this.options.length+this.optionGroups.length},e.prototype._getItemHeight=function(){return 3*this._triggerFontSize},e.prototype.setDescribedByIds=function(t){this._ariaDescribedby=t.join(" ")},e.prototype.onContainerClick=function(){this.focus(),this.open()},Object.defineProperty(e.prototype,"shouldLabelFloat",{get:function(){return this._panelOpen||!this.empty},enumerable:!0,configurable:!0}),e.\u0275fac=function(t){return new(t||e)(qo(cg),qo(co),qo(Dl),qo(Uy),qo(Xs),qo(Lm,8),qo(Wf,8),qo(ed,8),qo($v,8),qo(Gh,10),("tabindex",function(t,e){var n=t.attrs;if(n)for(var r=n.length,i=0;i` elements explicitly or just place content inside of a `` for a single row.")}()},e.\u0275fac=function(t){return new(t||e)(qo(Xs),qo(_y),qo(iu))},e.\u0275cmp=be({type:e,selectors:[["mat-toolbar"]],contentQueries:function(t,e,n){var r;1&t&&rl(n,b_,!0),2&t&&Ja(r=sl())&&(e._toolbarRows=r)},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,e){2&t&&ds("mat-toolbar-multiple-rows",e._toolbarRows.length>0)("mat-toolbar-single-row",0===e._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[Ts],ngContentSelectors:g_,decls:2,vars:0,template:function(t,e){1&t&&(is(v_),os(0),os(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}.mat-toolbar-multiple-rows{min-height:64px}.mat-toolbar-row,.mat-toolbar-single-row{height:64px}@media(max-width: 599px){.mat-toolbar-multiple-rows{min-height:56px}.mat-toolbar-row,.mat-toolbar-single-row{height:56px}}\n"],encapsulation:2,changeDetection:0}),e}(__),x_=function(){function t(){}return t.\u0275mod=Ee({type:t}),t.\u0275inj=gt({factory:function(e){return new(e||t)},imports:[[Hy],Hy]}),t}(),C_=["editor"],E_=["diffEditor"],S_=function(){function t(t,e){var n=this;this.ngZone=t,this.monacoPathConfig=e,this.isMonacoLoaded$=new fd(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?t.run((function(){return n.isMonacoLoaded$.next(!0)})):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}return Object.defineProperty(t.prototype,"monacoPath",{set:function(t){t&&(this._monacoPath=t)},enumerable:!0,configurable:!0}),t.prototype.loadMonaco=function(){var t=this,e=function(){var e=t._monacoPath;window.amdRequire=window.require;var n=!!t.nodeRequire,r=e.includes("http");n&&(window.require=t.nodeRequire,r||(e=window.require("path").resolve(window.__dirname,t._monacoPath))),window.amdRequire.config({paths:{vs:e}}),window.amdRequire(["vs/editor/editor.main"],(function(){t.ngZone.run((function(){return t.isMonacoLoaded$.next(!0)}))}),(function(t){return console.error("Error loading monaco-editor: ",t)}))};if(window.amdRequire)return e();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);var n=document.createElement("script");n.type="text/javascript",n.src=this._monacoPath+"/loader.js",n.addEventListener("load",e),document.body.appendChild(n)},t.prototype.addElectronFixScripts=function(){var t=document.createElement("script"),e=document.createTextNode("self.module = undefined;"),n=document.createTextNode("self.process.browser = true;");t.appendChild(e),t.appendChild(n),document.body.appendChild(t)},t.\u0275prov=vt({factory:function(){return new t(ee(Dl),ee("MONACO_PATH",8))},token:t,providedIn:"root"}),t.\u0275fac=function(e){return new(e||t)(ee(Dl),ee("MONACO_PATH",8))},t}(),k_=function(){function t(t){this.monacoLoader=t,this.init=new za,this.propagateChange=function(t){}}var e;return e=t,Object.defineProperty(t.prototype,"model",{get:function(){return this.editor&&this.editor.getModel()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"modelMarkers",{get:function(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.monacoLoader.isMonacoLoaded$.pipe(_d((function(t){return t})),Vd(1)).subscribe((function(){t.initEditor()}))},t.prototype.ngOnChanges=function(t){if(this.editor&&t.options&&!t.options.firstChange){var e=t.options.currentValue,n=e.language,r=e.theme,i=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(t);i0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;n--){var r=e[n];if("json"===r.name)return r}throw new Error("The pipe 'json' could not be found!")}(0,r.pipeRegistry),r.data[124]=n,n.onDestroy&&(r.destroyHooks||(r.destroyHooks=[])).push(124,n.onDestroy)):n=r.data[124];var i=n.factory||(n.factory=Ae(n.type)),o=Jt(qo),s=Kn(!1),a=i();Kn(s),Jt(o),function(t,e,n,r){124>=t.data.length&&(t.data[124]=null,t.blueprint[124]=null),e[124]=r}(r,tn(),0,a)}(),Uo(),Uo(),Uo(),Go(105,"form",20),Ko(106,"ngx-monaco-editor",24),Uo(),Uo(),Uo(),Uo()),2&t&&(Nr(6),fs("color","red"),Nr(3),fs("margin",10,"px"),Nr(7),Wo("value",e.theme),Nr(1),Wo("ngForOf",e.themes),Nr(2),Wo("value",!1),Nr(1),Wo("ngForOf",e.readOnlys),Nr(2),Wo("value",!0),Nr(1),Wo("ngForOf",Ba(41,F_)),Nr(9),Wo("ngModel",e.typescriptCode)("options",e.mergeOptions(Ba(42,M_))),Nr(5),Wo("ngModel",e.simpleText)("options",e.mergeOptions()),Nr(5),Wo("ngModel",e.sqlRequest)("options",e.mergeOptions(Ba(43,R_))),Nr(7),Wo("options",e.mergeOptions(Ba(44,V_)))("original",e.sqlRequest)("modified",e.modifiedSqlRequest),Nr(8),Wo("formGroup",e.reactiveForm),Nr(1),Wo("options",e.mergeOptions(Ba(45,j_))),Nr(7),fs("color",null!=e.reactiveForm.controls&&null!=e.reactiveForm.controls.json&&e.reactiveForm.controls.json.valid?"green":"red"),Nr(1),Os("\xa0",null==e.reactiveForm.controls||null==e.reactiveForm.controls.json?null:e.reactiveForm.controls.json.valid,""),Nr(4),fs("color",null!=e.reactiveForm.controls&&null!=e.reactiveForm.controls.json&&e.reactiveForm.controls.json.touched?"green":"red"),Nr(1),Os("\xa0",null==e.reactiveForm.controls||null==e.reactiveForm.controls.json?null:e.reactiveForm.controls.json.touched,""),Nr(5),ks(null==e.reactiveForm.value?null:e.reactiveForm.value.code),Nr(11),fs("color",null!=e.reactiveForm.controls&&null!=e.reactiveForm.controls.code&&e.reactiveForm.controls.code.valid?"green":"red"),Nr(1),Os("\xa0",null==e.reactiveForm.controls||null==e.reactiveForm.controls.code?null:e.reactiveForm.controls.code.valid,""),Nr(4),fs("color",null!=e.reactiveForm.controls&&null!=e.reactiveForm.controls.code&&e.reactiveForm.controls.code.touched?"green":"red"),Nr(1),Os("\xa0",null==e.reactiveForm.controls||null==e.reactiveForm.controls.code?null:e.reactiveForm.controls.code.touched,""),Nr(5),ks(null==e.reactiveForm.value?null:e.reactiveForm.value.code),Nr(5),ks(Ha(104,39,null==e.reactiveForm.controls||null==e.reactiveForm.controls.code?null:e.reactiveForm.controls.code.errors)),Nr(2),Wo("formGroup",e.reactiveForm),Nr(1),Wo("options",e.mergeOptions(Ba(46,j_)))("uri",e.modelUri))},directives:[w_,Gm,oy,$m,Rm,Jv,m_,Su,_v,vv,k_,Kh,Xf,O_,$f,Zh,ed,ld,cv],pipes:[Mu],styles:["[_nghost-%COMP%]{background:#fafafa;flex-direction:column;display:flex}.examples[_ngcontent-%COMP%]{margin:0 5%}.examples[_ngcontent-%COMP%] mat-toolbar[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis}.examples[_ngcontent-%COMP%] mat-toolbar[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:15px}.examples[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{text-align:center;margin:30px}.examples[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{text-align:center;color:#2196f3;margin:10px}.examples[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{margin:15px}.examples[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%]{padding:0;margin:15px;height:auto}.examples[_ngcontent-%COMP%] .basic-examples[_ngcontent-%COMP%]{min-height:300px}.examples[_ngcontent-%COMP%] .basic-examples[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{min-width:300px;min-height:300px}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%]{margin:0 15px}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:10px 0}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] .form-info[_ngcontent-%COMP%]{margin-bottom:10px}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] .form-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child{font-weight:700}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;background:hsla(0,0%,93.3%,.9333333333333333);padding:10px}"]}),t}(),N_=function(){function t(){}return t.\u0275mod=Ee({type:t,bootstrap:[L_]}),t.\u0275inj=gt({factory:function(e){return new(e||t)},providers:[{provide:"MONACO_PATH",useValue:"https://unpkg.com/monaco-editor@0.24.0/min/vs"}],imports:[[pc,Rh,pd,hd,A_,x_,dv,gv,tg,y_,bv,yy]]}),t}();(function(){if(gr)throw new Error("Cannot enable prod mode after platform setup.");vr=!1})(),uc().bootstrapModule(N_).catch((function(t){return console.log(t)}))}},[[0,0]]]); \ No newline at end of file diff --git a/docs/main.d732e5452b06e70b.js b/docs/main.d732e5452b06e70b.js new file mode 100644 index 00000000..1df4100f --- /dev/null +++ b/docs/main.d732e5452b06e70b.js @@ -0,0 +1 @@ +(self.webpackChunkdemo=self.webpackChunkdemo||[]).push([[179],{25:function(li,Qi,Et){"use strict";function Y(e){return(Y=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(e)}function q(e,n,t){return q="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(i,a,o){var s=function(e,n){for(;!Object.prototype.hasOwnProperty.call(e,n)&&null!==(e=Y(e)););return e}(i,a);if(s){var u=Object.getOwnPropertyDescriptor(s,a);return u.get?u.get.call(o):u.value}},q(e,n,t||e)}function Or(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function ci(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),t.push.apply(t,r)}return t}function K(e){for(var n=1;ne.length)&&(n=e.length);for(var t=0,r=new Array(n);t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(l){throw l},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,o=!1;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return a=l.done,l},e:function(l){o=!0,s=l},f:function(){try{!a&&null!=t.return&&t.return()}finally{if(o)throw s}}}}function $i(e){if(Array.isArray(e))return e}function gr(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function Te(e,n){return $i(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,s,r=[],i=!0,a=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(r.push(o.value),!n||r.length!==n);i=!0);}catch(u){a=!0,s=u}finally{try{!i&&null!=t.return&&t.return()}finally{if(a)throw s}}return r}}(e,n)||Tn(e,n)||gr()}function di(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function ve(e){return function(e){if(Array.isArray(e))return Pr(e)}(e)||di(e)||Tn(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,n,t){return(Vt=Us()?Reflect.construct:function(i,a,o){var s=[null];s.push.apply(s,a);var l=new(Function.bind.apply(i,s));return o&&vr(l,o.prototype),l}).apply(null,arguments)}function yt(e){var n="function"==typeof Map?new Map:void 0;return yt=function(r){if(null===r||!function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}(r))return r;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(r))return n.get(r);n.set(r,i)}function i(){return Vt(r,arguments,Y(this).constructor)}return i.prototype=Object.create(r.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),vr(i,r)},yt(e)}var R=Array.isArray||function(e){return e&&"number"==typeof e.length};function M(e){return null!==e&&"object"==typeof e}function L(e){return"function"==typeof e}var e,ee=function(){function e(n){return Error.call(this),this.message=n?"".concat(n.length," errors occurred during unsubscription:\n").concat(n.map(function(t,r){return"".concat(r+1,") ").concat(t.toString())}).join("\n ")):"",this.name="UnsubscriptionError",this.errors=n,this}return e.prototype=Object.create(Error.prototype),e}(),W=ee,se=function(){function e(n){h(this,e),this.closed=!1,this._parentOrParents=null,this._subscriptions=null,n&&(this._unsubscribe=n)}return p(e,[{key:"unsubscribe",value:function(){var t;if(!this.closed){var r=this._parentOrParents,i=this._unsubscribe,a=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,r instanceof e)r.remove(this);else if(null!==r)for(var o=0;o4&&void 0!==arguments[4]?arguments[4]:new _c(e,t,r);if(!i.closed)return n instanceof ze?n.subscribe(i):Eg(n)(i)}var Ks=function(e){C(t,e);var n=b(t);function t(){return h(this,t),n.apply(this,arguments)}return p(t,[{key:"notifyNext",value:function(i,a,o,s,u){this.destination.next(a)}},{key:"notifyError",value:function(i,a){this.destination.error(i)}},{key:"notifyComplete",value:function(i){this.destination.complete()}}]),t}(wt);function Vr(e,n){return function(r){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return r.lift(new TS(e,n))}}var TS=function(){function e(n,t){h(this,e),this.project=n,this.thisArg=t}return p(e,[{key:"call",value:function(t,r){return r.subscribe(new FS(t,this.project,this.thisArg))}}]),e}(),FS=function(e){C(t,e);var n=b(t);function t(r,i,a){var o;return h(this,t),(o=n.call(this,r)).project=i,o.count=0,o.thisArg=a||Pe(o),o}return p(t,[{key:"_next",value:function(i){var a;try{a=this.project.call(this.thisArg,i,this.count++)}catch(o){return void this.destination.error(o)}this.destination.next(a)}}]),t}(wt);function bc(e,n){return new ze(function(t){var r=new se,i=0;return r.add(n.schedule(function(){i!==e.length?(t.next(e[i++]),t.closed||r.add(this.schedule())):t.complete()})),r})}function po(e,n){return n?function(e,n){if(null!=e){if(function(e){return e&&"function"==typeof e[vo]}(e))return function(e,n){return new ze(function(t){var r=new se;return r.add(n.schedule(function(){var i=e[vo]();r.add(i.subscribe({next:function(o){r.add(n.schedule(function(){return t.next(o)}))},error:function(o){r.add(n.schedule(function(){return t.error(o)}))},complete:function(){r.add(n.schedule(function(){return t.complete()}))}}))})),r})}(e,n);if(Dg(e))return function(e,n){return new ze(function(t){var r=new se;return r.add(n.schedule(function(){return e.then(function(i){r.add(n.schedule(function(){t.next(i),r.add(n.schedule(function(){return t.complete()}))}))},function(i){r.add(n.schedule(function(){return t.error(i)}))})})),r})}(e,n);if(Cg(e))return bc(e,n);if(function(e){return e&&"function"==typeof e[Ws]}(e)||"string"==typeof e)return function(e,n){if(!e)throw new Error("Iterable cannot be null");return new ze(function(t){var i,r=new se;return r.add(function(){i&&"function"==typeof i.return&&i.return()}),r.add(n.schedule(function(){i=e[Ws](),r.add(n.schedule(function(){if(!t.closed){var a,o;try{var s=i.next();a=s.value,o=s.done}catch(u){return void t.error(u)}o?t.complete():(t.next(a),this.schedule())}}))})),r})}(e,n)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}(e,n):e instanceof ze?e:new ze(Eg(e))}function kg(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return"function"==typeof n?function(r){return r.pipe(kg(function(i,a){return po(e(i,a)).pipe(Vr(function(o,s){return n(i,o,a,s)}))},t))}:("number"==typeof n&&(t=n),function(r){return r.lift(new VS(e,t))})}var VS=function(){function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.POSITIVE_INFINITY;h(this,e),this.project=n,this.concurrent=t}return p(e,[{key:"call",value:function(t,r){return r.subscribe(new BS(t,this.project,this.concurrent))}}]),e}(),BS=function(e){C(t,e);var n=b(t);function t(r,i){var a,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Number.POSITIVE_INFINITY;return h(this,t),(a=n.call(this,r)).project=i,a.concurrent=o,a.hasCompleted=!1,a.buffer=[],a.active=0,a.index=0,a}return p(t,[{key:"_next",value:function(i){this.active0?this._next(a.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}]),t}(Ks);function jS(e){return e}function wg(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Number.POSITIVE_INFINITY;return kg(jS,e)}function Sg(e,n){return n?bc(e,n):new ze(bg(e))}function Br(){for(var e=Number.POSITIVE_INFINITY,n=null,t=arguments.length,r=new Array(t),i=0;i1&&"number"==typeof r[r.length-1]&&(e=r.pop())):"number"==typeof a&&(e=r.pop()),null===n&&1===r.length&&r[0]instanceof ze?r[0]:wg(e)(Sg(r,n))}function Ag(){return function(n){return n.lift(new HS(n))}}var HS=function(){function e(n){h(this,e),this.connectable=n}return p(e,[{key:"call",value:function(t,r){var i=this.connectable;i._refCount++;var a=new GS(t,i),o=r.subscribe(a);return a.closed||(a.connection=i.connect()),o}}]),e}(),GS=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this,r)).connectable=i,a}return p(t,[{key:"_unsubscribe",value:function(){var i=this.connectable;if(i){this.connectable=null;var a=i._refCount;if(a<=0)this.connection=null;else if(i._refCount=a-1,a>1)this.connection=null;else{var o=this.connection,s=i._connection;this.connection=null,s&&(!o||s===o)&&s.unsubscribe()}}else this.connection=null}}]),t}(wt),US=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this)).source=r,a.subjectFactory=i,a._refCount=0,a._isComplete=!1,a}return p(t,[{key:"_subscribe",value:function(i){return this.getSubject().subscribe(i)}},{key:"getSubject",value:function(){var i=this._subject;return(!i||i.isStopped)&&(this._subject=this.subjectFactory()),this._subject}},{key:"connect",value:function(){var i=this._connection;return i||(this._isComplete=!1,(i=this._connection=new se).add(this.source.subscribe(new WS(this.getSubject(),this))),i.closed&&(this._connection=null,i=se.EMPTY)),i}},{key:"refCount",value:function(){return Ag()(this)}}]),t}(ze),zS=function(){var e=US.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:e._subscribe},_isComplete:{value:e._isComplete,writable:!0},getSubject:{value:e.getSubject},connect:{value:e.connect},refCount:{value:e.refCount}}}(),WS=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this,r)).connectable=i,a}return p(t,[{key:"_error",value:function(i){this._unsubscribe(),q(Y(t.prototype),"_error",this).call(this,i)}},{key:"_complete",value:function(){this.connectable._isComplete=!0,this._unsubscribe(),q(Y(t.prototype),"_complete",this).call(this)}},{key:"_unsubscribe",value:function(){var i=this.connectable;if(i){this.connectable=null;var a=i._connection;i._refCount=0,i._subject=null,i._connection=null,a&&a.unsubscribe()}}}]),t}(yg);function QS(){return new Ne}function ke(e){for(var n in e)if(e[n]===ke)return n;throw Error("Could not find renamed property on target object.")}function Cc(e,n){for(var t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function de(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(de).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return"".concat(e.overriddenName);if(e.name)return"".concat(e.name);var n=e.toString();if(null==n)return""+n;var t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function Dc(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}var $S=ke({__forward_ref__:ke});function Se(e){return e.__forward_ref__=Se,e.toString=function(){return de(this())},e}function z(e){return Mg(e)?e():e}function Mg(e){return"function"==typeof e&&e.hasOwnProperty($S)&&e.__forward_ref__===Se}var hi=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this,function(e,n){var t=e?"NG0".concat(e,": "):"";return"".concat(t).concat(n)}(r,i))).code=r,a}return t}(yt(Error));function ae(e){return"string"==typeof e?e:null==e?"":String(e)}function Bt(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():ae(e)}function Qs(e,n){var t=n?" in ".concat(n):"";throw new hi("201","No provider for ".concat(Bt(e)," found").concat(t))}function tn(e,n){null==e&&function(e,n,t,r){throw new Error("ASSERTION ERROR: ".concat(e)+(null==r?"":" [Expected=> ".concat(t," ").concat(r," ").concat(n," <=Actual]")))}(n,e,null,"!=")}function P(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function me(e){return{providers:e.providers||[],imports:e.imports||[]}}function jr(e){return xg(e,Ys)||xg(e,Fg)}function xg(e,n){return e.hasOwnProperty(n)?e[n]:null}function Tg(e){return e&&(e.hasOwnProperty(kc)||e.hasOwnProperty(rA))?e[kc]:null}var wc,Ys=ke({"\u0275prov":ke}),kc=ke({"\u0275inj":ke}),Fg=ke({ngInjectableDef:ke}),rA=ke({ngInjectorDef:ke}),te=function(){return(te=te||{})[te.Default=0]="Default",te[te.Host=1]="Host",te[te.Self=2]="Self",te[te.SkipSelf=4]="SkipSelf",te[te.Optional=8]="Optional",te}();function iA(){return wc}function Hr(e){var n=wc;return wc=e,n}function Rg(e,n,t){var r=jr(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&te.Optional?null:void 0!==n?n:void Qs(de(e),"Injector")}function Gr(e){return{toString:e}.toString()}var dn=function(){return(dn=dn||{})[dn.OnPush=0]="OnPush",dn[dn.Default=1]="Default",dn}(),Kt=function(){return function(e){e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom"}(Kt||(Kt={})),Kt}(),aA="undefined"!=typeof globalThis&&globalThis,oA="undefined"!=typeof window&&window,sA="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,uA="undefined"!=typeof global&&global,Ee=aA||uA||oA||sA,Ji={},Ae=[],$s=ke({"\u0275cmp":ke}),Sc=ke({"\u0275dir":ke}),Ac=ke({"\u0275pipe":ke}),Ig=ke({"\u0275mod":ke}),yr=ke({"\u0275fac":ke}),mo=ke({__NG_ELEMENT_ID__:ke}),lA=0;function hn(e){return Gr(function(){var t={},r={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===dn.OnPush,directiveDefs:null,pipeDefs:null,selectors:e.selectors||Ae,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||Kt.Emulated,id:"c",styles:e.styles||Ae,_:null,setInput:null,schemas:e.schemas||null,tView:null},i=e.directives,a=e.features,o=e.pipes;return r.id+=lA++,r.inputs=Lg(e.inputs,t),r.outputs=Lg(e.outputs),a&&a.forEach(function(s){return s(r)}),r.directiveDefs=i?function(){return("function"==typeof i?i():i).map(Og)}:null,r.pipeDefs=o?function(){return("function"==typeof o?o():o).map(Pg)}:null,r})}function Og(e){return Mt(e)||function(e){return e[Sc]||null}(e)}function Pg(e){return function(e){return e[Ac]||null}(e)}var Ng={};function be(e){return Gr(function(){var n={type:e.type,bootstrap:e.bootstrap||Ae,declarations:e.declarations||Ae,imports:e.imports||Ae,exports:e.exports||Ae,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null};return null!=e.id&&(Ng[e.id]=e.type),n})}function Lg(e,n){if(null==e)return Ji;var t={};for(var r in e)if(e.hasOwnProperty(r)){var i=e[r],a=i;Array.isArray(i)&&(a=i[1],i=i[0]),t[i]=r,n&&(n[i]=a)}return t}var x=hn;function Qt(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,onDestroy:e.type.prototype.ngOnDestroy||null}}function Mt(e){return e[$s]||null}function vn(e,n){var t=e[Ig]||null;if(!t&&!0===n)throw new Error("Type ".concat(de(e)," does not have '\u0275mod' property."));return t}function Xn(e){return Array.isArray(e)&&"object"==typeof e[1]}function Rn(e){return Array.isArray(e)&&!0===e[1]}function Tc(e){return 0!=(8&e.flags)}function eu(e){return 2==(2&e.flags)}function tu(e){return 1==(1&e.flags)}function In(e){return null!==e.template}function gA(e){return 0!=(512&e[2])}function yi(e,n){return e.hasOwnProperty(yr)?e[yr]:null}var Bg=function(){function e(n,t,r){h(this,e),this.previousValue=n,this.currentValue=t,this.firstChange=r}return p(e,[{key:"isFirstChange",value:function(){return this.firstChange}}]),e}();function dt(){return jg}function jg(e){return e.type.prototype.ngOnChanges&&(e.setInput=_A),yA}function yA(){var e=Gg(this),n=null==e?void 0:e.current;if(n){var t=e.previous;if(t===Ji)e.previous=n;else for(var r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function _A(e,n,t,r){var i=Gg(e)||function(e,n){return e[Hg]=n}(e,{previous:Ji,current:null}),a=i.current||(i.current={}),o=i.previous,s=this.declaredInputs[t],u=o[s];a[s]=new Bg(u&&u.currentValue,n,o===Ji),e[r]=n}dt.ngInherit=!0;var Hg="__ngSimpleChanges__";function Gg(e){return e[Hg]||null}var Ic=void 0;function Ye(e){return!!e.listen}var Wg={createRenderer:function(n,t){return void 0!==Ic?Ic:"undefined"!=typeof document?document:void 0}};function st(e){for(;Array.isArray(e);)e=e[0];return e}function nu(e,n){return st(n[e])}function mn(e,n){return st(n[e.index])}function Pc(e,n){return e.data[n]}function ia(e,n){return e[n]}function rn(e,n){var t=n[e];return Xn(t)?t:t[0]}function qg(e){return 4==(4&e[2])}function Nc(e){return 128==(128&e[2])}function zr(e,n){return null==n?null:e[n]}function Kg(e){e[18]=0}function Lc(e,n){e[5]+=n;for(var t=e,r=e[3];null!==r&&(1===n&&1===t[5]||-1===n&&0===t[5]);)r[5]+=n,t=r,r=r[3]}var ne={lFrame:tp(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Qg(){return ne.bindingsEnabled}function A(){return ne.lFrame.lView}function _e(){return ne.lFrame.tView}function Co(e){return ne.lFrame.contextLView=e,e[8]}function ht(){for(var e=Yg();null!==e&&64===e.type;)e=e.parent;return e}function Yg(){return ne.lFrame.currentTNode}function Jn(e,n){var t=ne.lFrame;t.currentTNode=e,t.isParent=n}function Vc(){return ne.lFrame.isParent}function Bc(){ne.lFrame.isParent=!1}function ru(){return ne.isInCheckNoChangesMode}function iu(e){ne.isInCheckNoChangesMode=e}function jt(){var e=ne.lFrame,n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function aa(){return ne.lFrame.bindingIndex++}function br(e){var n=ne.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function OA(e,n){var t=ne.lFrame;t.bindingIndex=t.bindingRootIndex=e,jc(n)}function jc(e){ne.lFrame.currentDirectiveIndex=e}function Xg(){return ne.lFrame.currentQueryIndex}function Gc(e){ne.lFrame.currentQueryIndex=e}function NA(e){var n=e[1];return 2===n.type?n.declTNode:1===n.type?e[6]:null}function Jg(e,n,t){if(t&te.SkipSelf){for(var r=n,i=e;!(null!==(r=r.parent)||t&te.Host||null===(r=NA(i))||(i=i[15],10&r.type)););if(null===r)return!1;n=r,e=i}var a=ne.lFrame=ep();return a.currentTNode=n,a.lView=e,!0}function au(e){var n=ep(),t=e[1];ne.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function ep(){var e=ne.lFrame,n=null===e?null:e.child;return null===n?tp(e):n}function tp(e){var n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function np(){var e=ne.lFrame;return ne.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var rp=np;function ou(){var e=np();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function LA(e){var n=ne.lFrame.contextLView=function(e,n){for(;e>0;)n=n[15],e--;return n}(e,ne.lFrame.contextLView);return n[8]}function Ht(){return ne.lFrame.selectedIndex}function Wr(e){ne.lFrame.selectedIndex=e}function $e(){var e=ne.lFrame;return Pc(e.tView,e.selectedIndex)}function su(e,n){for(var t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[u]<0&&(e[18]+=65536),(s>11>16&&(3&e[2])===n){e[2]+=2048;try{a.call(s)}finally{}}}else try{a.call(s)}finally{}}var Eo=function e(n,t,r){h(this,e),this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r};function cu(e,n,t){for(var r=Ye(e),i=0;in){o=a-1;break}}}for(;a>16}(e),r=n;t>0;)r=r[15],t--;return r}var qc=!0;function du(e){var n=qc;return qc=e,n}var XA=0;function wo(e,n){var t=Qc(e,n);if(-1!==t)return t;var r=n[1];r.firstCreatePass&&(e.injectorIndex=n.length,Kc(r.data,e),Kc(n,null),Kc(r.blueprint,null));var i=hu(e,n),a=e.injectorIndex;if(sp(i))for(var o=oa(i),s=sa(i,n),u=s[1].data,l=0;l<8;l++)n[a+l]=s[o+l]|u[o+l];return n[a+8]=i,a}function Kc(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Qc(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function hu(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;for(var t=0,r=null,i=n;null!==i;){var a=i[1],o=a.type;if(null===(r=2===o?a.declTNode:1===o?i[6]:null))return-1;if(t++,i=i[15],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return-1}function vu(e,n,t){!function(e,n,t){var r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(mo)&&(r=t[mo]),null==r&&(r=t[mo]=XA++);var i=255&r;n.data[e+(i>>5)]|=1<3&&void 0!==arguments[3]?arguments[3]:te.Default,i=arguments.length>4?arguments[4]:void 0;if(null!==e){var a=r0(t);if("function"==typeof a){if(!Jg(n,e,r))return r&te.Host?cp(i,t,r):fp(n,t,r,i);try{var o=a(r);if(null!=o||r&te.Optional)return o;Qs(t)}finally{rp()}}else if("number"==typeof a){var s=null,u=Qc(e,n),l=-1,c=r&te.Host?n[16][6]:null;for((-1===u||r&te.SkipSelf)&&(-1!==(l=-1===u?hu(e,n):n[u+8])&&gp(r,!1)?(s=n[1],u=oa(l),n=sa(l,n)):u=-1);-1!==u;){var f=n[1];if(vp(a,u,f.data)){var d=n0(u,n,t,s,r,c);if(d!==hp)return d}-1!==(l=n[u+8])&&gp(r,n[1].data[u+8]===c)&&vp(a,u,n)?(s=f,u=oa(l),n=sa(l,n)):u=-1}}}return fp(n,t,r,i)}var hp={};function t0(){return new ua(ht(),A())}function n0(e,n,t,r,i,a){var o=n[1],s=o.data[e+8],c=gu(s,o,t,null==r?eu(s)&&qc:r!=o&&0!=(3&s.type),i&te.Host&&a===s);return null!==c?So(n,o,c,s):hp}function gu(e,n,t,r,i){for(var a=e.providerIndexes,o=n.data,s=1048575&a,u=e.directiveStart,c=a>>20,d=i?s+c:e.directiveEnd,v=r?s:s+c;v=u&&g.type===t)return v}if(i){var m=o[u];if(m&&In(m)&&m.type===t)return u}return null}function So(e,n,t,r){var i=e[t],a=n.data;if(function(e){return e instanceof Eo}(i)){var o=i;o.resolving&&function(e,n){throw new hi("200","Circular dependency in DI detected for ".concat(e).concat(""))}(Bt(a[t]));var s=du(o.canSeeViewProviders);o.resolving=!0;var u=o.injectImpl?Hr(o.injectImpl):null;Jg(e,r,te.Default);try{i=e[t]=o.factory(void 0,a,e,r),n.firstCreatePass&&t>=r.directiveStart&&function(e,n,t){var r=n.type.prototype,a=r.ngOnInit,o=r.ngDoCheck;if(r.ngOnChanges){var s=jg(n);(t.preOrderHooks||(t.preOrderHooks=[])).push(e,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(e,s)}a&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-e,a),o&&((t.preOrderHooks||(t.preOrderHooks=[])).push(e,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(e,o))}(t,a[t],n)}finally{null!==u&&Hr(u),du(s),o.resolving=!1,rp()}}return i}function r0(e){if("string"==typeof e)return e.charCodeAt(0)||0;var n=e.hasOwnProperty(mo)?e[mo]:void 0;return"number"==typeof n?n>=0?255&n:t0:n}function vp(e,n,t){return!!(t[n+(e>>5)]&1<=e.length?e.push(t):e.splice(n,0,t)}function bi(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Kr(e,n){for(var t=[],r=0;r=0?e[1|r]=t:function(e,n,t,r){var i=e.length;if(i==n)e.push(t,r);else if(1===i)e.push(r,e[0]),e[0]=t;else{for(i--,e.push(e[i-1],e[i]);i>n;)e[i]=e[i-2],i--;e[n]=t,e[n+1]=r}}(e,r=~r,n,t),r}function Xc(e,n){var t=da(e,n);if(t>=0)return e[1|t]}function da(e,n){return function(e,n,t){for(var r=0,i=e.length>>t;i!==r;){var a=r+(i-r>>1),o=e[a<n?i=a:r=a+1}return~(i<1&&void 0!==arguments[1]?arguments[1]:te.Default;if(void 0===Ro)throw new Error("inject() must be called from an injection context");return null===Ro?Rg(e,void 0,n):Ro.get(e,n&te.Optional?null:void 0,n)}function k(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te.Default;return(iA()||b0)(z(e),n)}var bu=k;function Ci(e){for(var n=[],t=0;t3&&void 0!==arguments[3]?arguments[3]:null;e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.substr(2):e;var i=de(n);if(Array.isArray(n))i=n.map(de).join(" -> ");else if("object"==typeof n){var a=[];for(var o in n)if(n.hasOwnProperty(o)){var s=n[o];a.push(o+":"+("string"==typeof s?JSON.stringify(s):de(s)))}i="{".concat(a.join(", "),"}")}return"".concat(t).concat(r?"("+r+")":"","[").concat(i,"]: ").concat(e.replace(y0,"\n "))}("\n"+e.message,i,t,r),e.ngTokenPath=i,e[ha]=null,e}var Oo=Io(_i("Inject",function(e){return{token:e}}),-1),tr=Io(_i("Optional"),8),Di=Io(_i("SkipSelf"),4),Ei=function(){function e(n){h(this,e),this.changingThisBreaksApplicationSecurity=n}return p(e,[{key:"toString",value:function(){return"SafeValue must use [property]=binding: ".concat(this.changingThisBreaksApplicationSecurity)+" (see https://g.co/ng/security#xss)"}}]),e}();function on(e){return e instanceof Ei?e.changingThisBreaksApplicationSecurity:e}var Bp="__ngContext__";function Tt(e,n){e[Bp]=n}function hf(e){var n=function(e){return e[Bp]||null}(e);return n?Array.isArray(n)?n:n.lView:null}function Su(e){return e.ngOriginalError}function bM(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r0&&(e[t-1][4]=r[4]);var a=bi(e,10+n);!function(e,n){Ho(e,n,n[11],2,null,null),n[0]=null,n[6]=null}(r[1],r);var o=a[19];null!==o&&o.detachView(a[1]),r[3]=null,r[4]=null,r[2]&=-129}return r}}function nm(e,n){if(!(256&n[2])){var t=n[11];Ye(t)&&t.destroyNode&&Ho(e,n,t,3,null,null),function(e){var n=e[13];if(!n)return Ef(e[1],e);for(;n;){var t=null;if(Xn(n))t=n[13];else{var r=n[10];r&&(t=r)}if(!t){for(;n&&!n[4]&&n!==e;)Xn(n)&&Ef(n[1],n),n=n[3];null===n&&(n=e),Xn(n)&&Ef(n[1],n),t=n&&n[4]}n=t}}(n)}}function Ef(e,n){if(!(256&n[2])){n[2]&=-129,n[2]|=256,function(e,n){var t;if(null!=e&&null!=(t=e.destroyHooks))for(var r=0;r=0?r[i=l]():r[i=-l].unsubscribe(),a+=2}else{var c=r[i=t[a+1]];t[a].call(c)}if(null!==r){for(var f=i+1;fa?"":i[f+1].toLowerCase();var v=8&r?d:null;if(v&&-1!==gm(v,l,0)||2&r&&l!==d){if(On(r))return!1;o=!0}}}}else{if(!o&&!On(r)&&!On(u))return!1;if(o&&On(u))continue;o=!1,r=u|1&r}}return On(r)||o}function On(e){return 0==(1&e)}function YM(e,n,t,r){if(null===n)return-1;var i=0;if(r||!t){for(var a=!1;i-1)for(t++;t2&&void 0!==arguments[2]&&arguments[2],r=0;r0?'="'+s+'"':"")+"]"}else 8&r?i+="."+o:4&r&&(i+=" "+o);else""!==i&&!On(o)&&(n+=_m(a,i),i=""),r=o,a=a||!On(r);t++}return""!==i&&(n+=_m(a,i)),n}var oe={};function G(e){bm(_e(),A(),Ht()+e,ru())}function bm(e,n,t,r){if(!r)if(3==(3&n[2])){var a=e.preOrderCheckHooks;null!==a&&uu(n,a,t)}else{var o=e.preOrderHooks;null!==o&&lu(n,o,0,t)}Wr(t)}function Tu(e,n){return e<<17|n<<2}function Pn(e){return e>>17&32767}function Mf(e){return 2|e}function Cr(e){return(131068&e)>>2}function xf(e,n){return-131069&e|n<<2}function Tf(e){return 1|e}function Fm(e,n){var t=e.contentQueries;if(null!==t)for(var r=0;r20&&bm(e,n,20,ru()),t(r,i)}finally{Wr(a)}}function Im(e,n,t){if(Tc(n))for(var i=n.directiveEnd,a=n.directiveStart;a2&&void 0!==arguments[2]?arguments[2]:mn,r=n.localNames;if(null!==r)for(var i=n.index+1,a=0;a0;){var t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=u&&s.push(u),s.push(r,i,o)}}function Hm(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function Gm(e,n){n.flags|=2,(e.components||(e.components=[])).push(n.index)}function xx(e,n,t){if(t){if(n.exportAs)for(var r=0;r0&&zf(t)}}function zf(e){for(var n=yf(e);null!==n;n=_f(n))for(var t=10;t0&&zf(r)}var o=e[1].components;if(null!==o)for(var s=0;s0&&zf(u)}}function Nx(e,n){var t=rn(n,e),r=t[1];(function(e,n){for(var t=n.length;t1&&void 0!==arguments[1]?arguments[1]:Fo;if(r===Fo){var i=new Error("NullInjectorError: No provider for ".concat(de(t),"!"));throw i.name="NullInjectorError",i}return r}}]),e}(),zo=new j("Set Injector scope."),Wo={},zx={},$f=void 0;function Jm(){return void 0===$f&&($f=new Xm),$f}function ey(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3?arguments[3]:void 0;return new qx(e,t,n||Jm(),r)}var qx=function(){function e(n,t,r){var i=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;h(this,e),this.parent=r,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;var o=[];t&&er(t,function(u){return i.processProvider(u,n,t)}),er([n],function(u){return i.processInjectorType(u,[],o)}),this.records.set(Yf,Ca(void 0,this));var s=this.records.get(zo);this.scope=null!=s?s.value:null,this.source=a||("object"==typeof n?null:de(n))}return p(e,[{key:"destroyed",get:function(){return this._destroyed}},{key:"destroy",value:function(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(function(t){return t.ngOnDestroy()})}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}},{key:"get",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Fo,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:te.Default;this.assertNotDestroyed();var a=_u(this),o=Hr(void 0);try{if(!(i&te.SkipSelf)){var s=this.records.get(t);if(void 0===s){var u=eT(t)&&jr(t);s=u&&this.injectableDefInScope(u)?Ca(Zf(t),Wo):null,this.records.set(t,s)}if(null!=s)return this.hydrate(t,s)}var l=i&te.Self?Jm():this.parent;return l.get(t,r=i&te.Optional&&r===Fo?null:r)}catch(f){if("NullInjectorError"===f.name){var c=f[ha]=f[ha]||[];if(c.unshift(de(t)),a)throw f;return D0(f,t,"R3InjectorError",this.source)}throw f}finally{Hr(o),_u(a)}}},{key:"_resolveInjectorDefTypes",value:function(){var t=this;this.injectorDefTypes.forEach(function(r){return t.get(r)})}},{key:"toString",value:function(){var t=[];return this.records.forEach(function(i,a){return t.push(de(a))}),"R3Injector[".concat(t.join(", "),"]")}},{key:"assertNotDestroyed",value:function(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}},{key:"processInjectorType",value:function(t,r,i){var a=this;if(!(t=z(t)))return!1;var o=Tg(t),s=null==o&&t.ngModule||void 0,u=void 0===s?t:s,f=-1!==i.indexOf(u);if(void 0!==s&&(o=Tg(s)),null==o)return!1;if(null!=o.imports&&!f){var d;i.push(u);try{er(o.imports,function(D){a.processInjectorType(D,r,i)&&(void 0===d&&(d=[]),d.push(D))})}finally{}if(void 0!==d)for(var v=function(w){var I=d[w],S=I.ngModule,O=I.providers;er(O,function(ie){return a.processProvider(ie,S,O||Ae)})},g=0;g0){var t=Kr(n,"?");throw new Error("Can't resolve all parameters for ".concat(de(e),": (").concat(t.join(", "),")."))}var r=function(e){var n=e&&(e[Ys]||e[Fg]);if(n){var t=function(e){if(e.hasOwnProperty("name"))return e.name;var n=(""+e).match(/^function\s*([^\s(]+)/);return null===n?"":n[1]}(e);return console.warn('DEPRECATED: DI is instantiating a token "'.concat(t,'" that inherits its @Injectable decorator but does not provide one itself.\n')+'This will become an error in a future version of Angular. Please add @Injectable() to the "'.concat(t,'" class.')),n}return null}(e);return null!==r?function(){return r.factory(e)}:function(){return new e}}(e);throw new Error("unreachable")}function ty(e,n,t){var r=void 0;if(Da(e)){var i=z(e);return yi(i)||Zf(i)}if(ny(e))r=function(){return z(e.useValue)};else if(function(e){return!(!e||!e.useFactory)}(e))r=function(){return e.useFactory.apply(e,ve(Ci(e.deps||[])))};else if(function(e){return!(!e||!e.useExisting)}(e))r=function(){return k(z(e.useExisting))};else{var a=z(e&&(e.useClass||e.provide));if(!function(e){return!!e.deps}(e))return yi(a)||Zf(a);r=function(){return Vt(a,ve(Ci(e.deps)))}}return r}function Ca(e,n){var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return{factory:e,value:n,multi:t?[]:void 0}}function ny(e){return null!==e&&"object"==typeof e&&nf in e}function Da(e){return"function"==typeof e}function eT(e){return"function"==typeof e||"object"==typeof e&&e instanceof j}var ry=function(e,n,t){return function(e){var i=ey(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,arguments.length>3?arguments[3]:void 0);return i._resolveInjectorDefTypes(),i}({name:t},n,e,t)},at=function(){var e=function(){function n(){h(this,n)}return p(n,null,[{key:"create",value:function(r,i){return Array.isArray(r)?ry(r,i,""):ry(r.providers,r.parent,r.name||"")}}]),n}();return e.THROW_IF_NOT_FOUND=Fo,e.NULL=new Xm,e.\u0275prov=P({token:e,providedIn:"any",factory:function(){return k(Yf)}}),e.__NG_ELEMENT_ID__=-1,e}();function bT(e,n){su(hf(e)[1],ht())}function N(e){for(var n=function(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0,r=[e];n;){var i=void 0;if(In(e))i=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new Error("Directives cannot inherit Components");i=n.\u0275dir}if(i){if(t){r.push(i);var a=e;a.inputs=td(e.inputs),a.declaredInputs=td(e.declaredInputs),a.outputs=td(e.outputs);var o=i.hostBindings;o&&kT(e,o);var s=i.viewQuery,u=i.contentQueries;if(s&&DT(e,s),u&&ET(e,u),Cc(e.inputs,i.inputs),Cc(e.declaredInputs,i.declaredInputs),Cc(e.outputs,i.outputs),In(i)&&i.data.animation){var l=e.data;l.animation=(l.animation||[]).concat(i.data.animation)}}var c=i.features;if(c)for(var f=0;f=0;r--){var i=e[r];i.hostVars=n+=i.hostVars,i.hostAttrs=fu(i.hostAttrs,t=fu(t,i.hostAttrs))}}(r)}function td(e){return e===Ji?{}:e===Ae?[]:e}function DT(e,n){var t=e.viewQuery;e.viewQuery=t?function(r,i){n(r,i),t(r,i)}:n}function ET(e,n){var t=e.contentQueries;e.contentQueries=t?function(r,i,a){n(r,i,a),t(r,i,a)}:n}function kT(e,n){var t=e.hostBindings;e.hostBindings=t?function(r,i){n(r,i),t(r,i)}:n}var Nu=null;function ka(){if(!Nu){var e=Ee.Symbol;if(e&&e.iterator)Nu=e.iterator;else for(var n=Object.getOwnPropertyNames(Map.prototype),t=0;t1&&void 0!==arguments[1]?arguments[1]:te.Default,t=A();if(null===t)return k(e,n);var r=ht();return dp(r,t,z(e),n)}function Z(e,n,t){var r=A();return Ft(r,aa(),n)&&un(_e(),$e(),r,e,n,r[11],t,!1),Z}function od(e,n,t,r,i){var o=i?"class":"style";Zm(e,t,n.inputs[o],o,r)}function T(e,n,t,r){var i=A(),a=_e(),o=20+e,s=i[11],u=i[o]=Cf(s,n,ne.lFrame.currentNamespace),l=a.firstCreatePass?function(e,n,t,r,i,a,o){var s=n.consts,l=ya(n,e,2,i,zr(s,a));return Gf(n,t,l,zr(s,o)),null!==l.attrs&&Pu(l,l.attrs,!1),null!==l.mergedAttrs&&Pu(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(o,a,i,0,n,t,r):a.data[o];Jn(l,!0);var c=l.mergedAttrs;null!==c&&cu(s,u,c);var f=l.classes;null!==f&&Af(s,u,f);var d=l.styles;null!==d&&vm(s,u,d),64!=(64&l.flags)&&Mu(a,i,u,l),0===ne.lFrame.elementDepthCount&&Tt(u,i),ne.lFrame.elementDepthCount++,tu(l)&&(jf(a,i,l),Im(a,l,i)),null!==r&&Hf(i,l)}function F(){var e=ht();Vc()?Bc():Jn(e=e.parent,!1);var n=e;ne.lFrame.elementDepthCount--;var t=_e();t.firstCreatePass&&(su(t,e),Tc(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(n)&&od(t,n,A(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function(e){return 0!=(32&e.flags)}(n)&&od(t,n,A(),n.stylesWithoutHost,!1)}function Xe(e,n,t,r){T(e,n,t,r),F()}function Vu(e,n,t){var r=A(),i=_e(),a=e+20,o=i.firstCreatePass?function(e,n,t,r,i){var a=n.consts,o=zr(a,r),s=ya(n,e,8,"ng-container",o);return null!==o&&Pu(s,o,!0),Gf(n,t,s,zr(a,i)),null!==n.queries&&n.queries.elementStart(n,s),s}(a,i,r,n,t):i.data[a];Jn(o,!0);var s=r[a]=r[11].createComment("");Mu(i,r,s,o),Tt(s,r),tu(o)&&(jf(i,r,o),Im(i,o,r)),null!=t&&Hf(r,o)}function Bu(){var e=ht(),n=_e();Vc()?Bc():Jn(e=e.parent,!1),n.firstCreatePass&&(su(n,e),Tc(e)&&n.queries.elementEnd(e))}function ju(){return A()}function Hu(e){return!!e&&"function"==typeof e.then}var sd=function(e){return!!e&&"function"==typeof e.subscribe};function Ve(e,n,t,r){var i=A(),a=_e(),o=ht();return function(e,n,t,r,i,a,o,s){var u=tu(r),c=e.firstCreatePass&&Qm(e),f=n[8],d=Km(n),v=!0;if(3&r.type||s){var g=mn(r,n),m=s?s(g):g,_=d.length,E=s?function(xn){return s(st(xn[r.index]))}:r.index;if(Ye(t)){var D=null;if(!s&&u&&(D=function(e,n,t,r){var i=e.cleanup;if(null!=i)for(var a=0;au?s[u]:null}"string"==typeof o&&(a+=2)}return null}(e,n,i,r.index)),null!==D)(D.__ngLastListenerFn__||D).__ngNextListenerFn__=a,D.__ngLastListenerFn__=a,v=!1;else{a=ud(r,n,f,a,!1);var I=t.listen(m,i,a);d.push(a,I),c&&c.push(i,E,_,_+1)}}else a=ud(r,n,f,a,!0),m.addEventListener(i,a,o),d.push(a),c&&c.push(i,E,_,o)}else a=ud(r,n,f,a,!1);var O,S=r.outputs;if(v&&null!==S&&(O=S[i])){var ie=O.length;if(ie)for(var Ce=0;Ce0&&void 0!==arguments[0]?arguments[0]:1;return LA(e)}function nF(e,n){for(var t=null,r=function(e){var n=e.attrs;if(null!=n){var t=n.indexOf(5);if(0==(1&t))return n[t+1]}return null}(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2?arguments[2]:void 0,r=A(),i=_e(),a=ya(i,20+e,16,null,t||null);null===a.projection&&(a.projection=n),Bc(),64!=(64&a.flags)&&UM(i,r,a)}function $y(e,n,t,r,i){for(var a=e[t+1],o=null===n,s=r?Pn(a):Cr(a),u=!1;0!==s&&(!1===u||o);){var c=e[s+1];aF(e[s],n)&&(u=!0,e[s+1]=r?Tf(c):Mf(c)),s=r?Pn(c):Cr(c)}u&&(e[t+1]=r?Mf(a):Tf(a))}function aF(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&da(e,n)>=0}var gt={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Zy(e){return e.substring(gt.key,gt.keyEnd)}function Xy(e,n){var t=gt.textEnd;return t===n?-1:(n=gt.keyEnd=function(e,n,t){for(;n32;)n++;return n}(e,gt.key=n,t),Na(e,n,t))}function Na(e,n,t){for(;n=0;t=Xy(n,t))an(e,Zy(n),!0)}function Ln(e,n,t,r){var i=A(),a=_e(),o=br(2);a.firstUpdatePass&&i_(a,e,o,r),n!==oe&&Ft(i,o,n)&&o_(a,a.data[Ht()],i,i[11],e,i[o+1]=function(e,n){return null==e||("string"==typeof n?e+=n:"object"==typeof e&&(e=de(on(e)))),e}(n,t),r,o)}function r_(e,n){return n>=e.expandoStartIndex}function i_(e,n,t,r){var i=e.data;if(null===i[t+1]){var a=i[Ht()],o=r_(e,t);u_(a,r)&&null===n&&!o&&(n=!1),n=function(e,n,t,r){var i=function(e){var n=ne.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e),a=r?n.residualClasses:n.residualStyles;if(null===i)0===(r?n.classBindings:n.styleBindings)&&(t=Yo(t=cd(null,e,n,t,r),n.attrs,r),a=null);else{var s=n.directiveStylingLast;if(-1===s||e[s]!==i)if(t=cd(i,e,n,t,r),null===a){var l=function(e,n,t){var r=t?n.classBindings:n.styleBindings;if(0!==Cr(r))return e[Pn(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&function(e,n,t,r){e[Pn(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l=Yo(l=cd(null,e,n,l[1],r),n.attrs,r))}else a=function(e,n,t){for(var r=void 0,i=n.directiveEnd,a=1+n.directiveStylingLast;a0)&&(l=!0):c=t,i)if(0!==u){var v=Pn(e[s+1]);e[r+1]=Tu(v,s),0!==v&&(e[v+1]=xf(e[v+1],r)),e[s+1]=function(e,n){return 131071&e|n<<17}(e[s+1],r)}else e[r+1]=Tu(s,0),0!==s&&(e[s+1]=xf(e[s+1],r)),s=r;else e[r+1]=Tu(u,0),0===s?s=r:e[u+1]=xf(e[u+1],r),u=r;l&&(e[r+1]=Mf(e[r+1])),$y(e,c,r,!0),$y(e,c,r,!1),function(e,n,t,r,i){var a=i?e.residualClasses:e.residualStyles;null!=a&&"string"==typeof n&&da(a,n)>=0&&(t[r+1]=Tf(t[r+1]))}(n,c,e,r,a),o=Tu(s,u),a?n.classBindings=o:n.styleBindings=o}(i,a,n,t,o,r)}}function cd(e,n,t,r,i){var a=null,o=t.directiveEnd,s=t.directiveStylingLast;for(-1===s?s=t.directiveStart:s++;s0;){var u=e[i],l=Array.isArray(u),c=l?u[1]:u,f=null===c,d=t[i+1];d===oe&&(d=f?Ae:void 0);var v=f?Xc(d,r):c===r?d:void 0;if(l&&!Gu(v)&&(v=Xc(u,r)),Gu(v)&&(s=v,o))return s;var g=e[i+1];i=o?Pn(g):Cr(g)}if(null!==n){var m=a?n.residualClasses:n.residualStyles;null!=m&&(s=Xc(m,r))}return s}function Gu(e){return void 0!==e}function u_(e,n){return 0!=(e.flags&(n?16:32))}function fe(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=A(),r=_e(),i=e+20,a=r.firstCreatePass?ya(r,i,1,n,null):r.data[i],o=t[i]=bf(t[11],n);Mu(r,t,o,a),Jn(a,!1)}function Cn(e){return $r("",e,""),Cn}function $r(e,n,t){var r=A(),i=Sa(r,e,n,t);return i!==oe&&Dr(r,Ht(),i),$r}function m_(e,n,t){!function(e,n,t,r){var i=_e(),a=br(2);i.firstUpdatePass&&i_(i,null,a,r);var o=A();if(t!==oe&&Ft(o,a,t)){var s=i.data[Ht()];if(u_(s,r)&&!r_(i,a)){var l=r?s.classesWithoutHost:s.stylesWithoutHost;null!==l&&(t=Dc(l,t||"")),od(i,s,o,t,r)}else!function(e,n,t,r,i,a,o,s){i===oe&&(i=Ae);for(var u=0,l=0,c=0>20;if(Da(e)||!e.multi){var g=new Eo(l,i,y),m=pd(u,n,i?f:f+v,d);-1===m?(vu(wo(c,s),o,u),gd(o,e,n.length),n.push(u),c.directiveStart++,c.directiveEnd++,i&&(c.providerIndexes+=1048576),t.push(g),s.push(g)):(t[m]=g,s[m]=g)}else{var _=pd(u,n,f+v,d),E=pd(u,n,f,f+v),w=E>=0&&t[E];if(i&&!w||!i&&!(_>=0&&t[_])){vu(wo(c,s),o,u);var I=function(e,n,t,r,i){var a=new Eo(e,t,y);return a.multi=[],a.index=n,a.componentProviders=0,eb(a,i,r&&!t),a}(i?LR:NR,t.length,i,r,l);!i&&w&&(t[E].providerFactory=I),gd(o,e,n.length,0),n.push(u),c.directiveStart++,c.directiveEnd++,i&&(c.providerIndexes+=1048576),t.push(I),s.push(I)}else gd(o,e,_>-1?_:E,eb(t[i?E:_],l,!i&&r));!i&&r&&w&&t[E].componentProviders++}}}function gd(e,n,t,r){var i=Da(n);if(i||function(e){return!!e.useClass}(n)){var o=(n.useClass||n).prototype.ngOnDestroy;if(o){var s=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){var u=s.indexOf(t);-1===u?s.push(t,[r,o]):s[u+1].push(r,o)}else s.push(t,o)}}}function eb(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function pd(e,n,t,r){for(var i=t;i1&&void 0!==arguments[1]?arguments[1]:[];return function(t){t.providersResolver=function(r,i){return PR(r,i?i(e):e,n)}}}var BR=function e(){h(this,e)},tb=function e(){h(this,e)},HR=function(){function e(){h(this,e)}return p(e,[{key:"resolveComponentFactory",value:function(t){throw function(e){var n=Error("No component factory found for ".concat(de(e),". Did you add it to @NgModule.entryComponents?"));return n.ngComponent=e,n}(t)}}]),e}(),Ba=function(){var e=function n(){h(this,n)};return e.NULL=new HR,e}();function Qu(){}function ja(e,n){return new X(mn(e,n))}var WR=function(){return ja(ht(),A())},X=function(){var e=function n(t){h(this,n),this.nativeElement=t};return e.__NG_ELEMENT_ID__=WR,e}();function rb(e){return e instanceof X?e.nativeElement:e}var Mi=function e(){h(this,e)},kr=function(){var e=function n(){h(this,n)};return e.__NG_ELEMENT_ID__=function(){return KR()},e}(),KR=function(){var e=A(),t=rn(ht().index,e);return function(e){return e[11]}(Xn(t)?t:e)},yd=function(){var e=function n(){h(this,n)};return e.\u0275prov=P({token:e,providedIn:"root",factory:function(){return null}}),e}(),Zr=function e(n){h(this,e),this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")},$R=new Zr("13.0.2"),Ha={};function Yu(e,n,t,r){for(var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];null!==t;){var a=n[t.index];if(null!==a&&r.push(st(a)),Rn(a))for(var o=10;o-1&&(Df(t,i),bi(r,i))}this._attachedToViewContainer=!1}nm(this._lView[1],this._lView)}},{key:"onDestroy",value:function(t){Lm(this._lView[1],this._lView,null,t)}},{key:"markForCheck",value:function(){Wf(this._cdRefInjectingView||this._lView)}},{key:"detach",value:function(){this._lView[2]&=-129}},{key:"reattach",value:function(){this._lView[2]|=128}},{key:"detectChanges",value:function(){Kf(this._lView[1],this._lView,this.context)}},{key:"checkNoChanges",value:function(){!function(e,n,t){iu(!0);try{Kf(e,n,t)}finally{iu(!1)}}(this._lView[1],this._lView,this.context)}},{key:"attachToViewContainerRef",value:function(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}},{key:"detachFromAppRef",value:function(){this._appRef=null,function(e,n){Ho(e,n,n[11],2,null,null)}(this._lView[1],this._lView)}},{key:"attachToAppRef",value:function(t){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=t}}]),e}(),ZR=function(e){C(t,e);var n=b(t);function t(r){var i;return h(this,t),(i=n.call(this,r))._view=r,i}return p(t,[{key:"detectChanges",value:function(){qm(this._view)}},{key:"checkNoChanges",value:function(){!function(e){iu(!0);try{qm(e)}finally{iu(!1)}}(this._view)}},{key:"context",get:function(){return null}}]),t}(es),ib=function(e){C(t,e);var n=b(t);function t(r){var i;return h(this,t),(i=n.call(this)).ngModule=r,i}return p(t,[{key:"resolveComponentFactory",value:function(i){var a=Mt(i);return new _d(a,this.ngModule)}}]),t}(Ba);function ab(e){var n=[];for(var t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}var JR=new j("SCHEDULER_TOKEN",{providedIn:"root",factory:function(){return Qp}}),_d=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this)).componentDef=r,a.ngModule=i,a.componentType=r.type,a.selector=function(e){return e.map(ex).join(",")}(r.selectors),a.ngContentSelectors=r.ngContentSelectors?r.ngContentSelectors:[],a.isBoundToModule=!!i,a}return p(t,[{key:"inputs",get:function(){return ab(this.componentDef.inputs)}},{key:"outputs",get:function(){return ab(this.componentDef.outputs)}},{key:"create",value:function(i,a,o,s){var D,w,u=(s=s||this.ngModule)?function(e,n){return{get:function(r,i,a){var o=e.get(r,Ha,a);return o!==Ha||i===Ha?o:n.get(r,i,a)}}}(i,s.injector):i,l=u.get(Mi,Wg),c=u.get(yd,null),f=l.createRenderer(null,this.componentDef),d=this.componentDef.selectors[0][0]||"div",v=o?function(e,n,t){if(Ye(e))return e.selectRootElement(n,t===Kt.ShadowDom);var i="string"==typeof n?e.querySelector(n):n;return i.textContent="",i}(f,o,this.componentDef.encapsulation):Cf(l.createRenderer(null,this.componentDef),d,function(e){var n=e.toLowerCase();return"svg"===n?"http://www.w3.org/2000/svg":"math"===n?"http://www.w3.org/1998/MathML/":null}(d)),g=this.componentDef.onPush?576:528,m=function(e,n){return{components:[],scheduler:e||Qp,clean:Hx,playerHandler:n||null,flags:0}}(),_=Iu(0,null,null,1,0,null,null,null,null,null),E=Go(null,_,m,g,null,null,l,f,c,u);au(E);try{var I=function(e,n,t,r,i,a){var o=t[1];t[20]=e;var u=ya(o,20,2,"#host",null),l=u.mergedAttrs=n.hostAttrs;null!==l&&(Pu(u,l,!0),null!==e&&(cu(i,e,l),null!==u.classes&&Af(i,e,u.classes),null!==u.styles&&vm(i,e,u.styles)));var c=r.createRenderer(e,n),f=Go(t,Om(n),null,n.onPush?64:16,t[20],u,r,c,a||null,null);return o.firstCreatePass&&(vu(wo(u,t),o,n.type),Gm(o,u),Um(u,t.length,1)),Ou(t,f),t[20]=f}(v,this.componentDef,E,l,f);if(v)if(o)cu(f,v,["ng-version",$R.full]);else{var S=function(e){for(var n=[],t=[],r=1,i=2;r0&&Af(f,v,ie.join(" "))}if(w=Pc(_,20),void 0!==a)for(var Ce=w.projection=[],Oe=0;Oe1&&void 0!==arguments[1]?arguments[1]:at.THROW_IF_NOT_FOUND,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:te.Default;return i===at||i===Ga||i===Yf?this:this._r3Injector.get(i,a,o)}},{key:"destroy",value:function(){var i=this._r3Injector;!i.destroyed&&i.destroy(),this.destroyCbs.forEach(function(a){return a()}),this.destroyCbs=null}},{key:"onDestroy",value:function(i){this.destroyCbs.push(i)}}]),t}(Ga),Cd=function(e){C(t,e);var n=b(t);function t(r){var i;return h(this,t),(i=n.call(this)).moduleType=r,null!==vn(r)&&function(e){var n=new Set;!function t(r){var i=vn(r,!0),a=i.id;null!==a&&(function(e,n,t){if(n&&n!==t)throw new Error("Duplicate module registered for ".concat(e," - ").concat(de(n)," vs ").concat(de(n.name)))}(a,Ua.get(a),r),Ua.set(a,r));var l,u=Lt(ir(i.imports));try{for(u.s();!(l=u.n()).done;){var c=l.value;n.has(c)||(n.add(c),t(c))}}catch(f){u.e(f)}finally{u.f()}}(e)}(r),i}return p(t,[{key:"create",value:function(i){return new sb(this.moduleType,i)}}]),t}(iI);function xi(e,n,t){var r=jt()+e,i=A();return i[r]===oe?or(i,r,t?n.call(t):n()):function(e,n){return e[n]}(i,r)}function ub(e,n,t,r,i,a){var o=n+t;return Ft(e,o,i)?or(e,o+1,a?r.call(a,i):r(i)):function(e,n){var t=e[n];return t===oe?void 0:t}(e,o+1)}var bI=function(e){C(t,e);var n=b(t);function t(){var r,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return h(this,t),(r=n.call(this)).__isAsync=i,r}return p(t,[{key:"emit",value:function(i){q(Y(t.prototype),"next",this).call(this,i)}},{key:"subscribe",value:function(i,a,o){var s=i,u=a||function(){return null},l=o;if(i&&"object"==typeof i){var c,f,d,v=i;s=null===(c=v.next)||void 0===c?void 0:c.bind(v),u=null===(f=v.error)||void 0===f?void 0:f.bind(v),l=null===(d=v.complete)||void 0===d?void 0:d.bind(v)}this.__isAsync&&(u=Dd(u),s&&(s=Dd(s)),l&&(l=Dd(l)));var g=q(Y(t.prototype),"subscribe",this).call(this,{next:s,error:u,complete:l});return i instanceof se&&i.add(g),g}}]),t}(Ne);function Dd(e){return function(n){setTimeout(e,void 0,n)}}var De=bI;function CI(){return this._results[ka()]()}var $u=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];h(this,e),this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;var t=ka(),r=e.prototype;r[t]||(r[t]=CI)}return p(e,[{key:"changes",get:function(){return this._changes||(this._changes=new De)}},{key:"get",value:function(t){return this._results[t]}},{key:"map",value:function(t){return this._results.map(t)}},{key:"filter",value:function(t){return this._results.filter(t)}},{key:"find",value:function(t){return this._results.find(t)}},{key:"reduce",value:function(t,r){return this._results.reduce(t,r)}},{key:"forEach",value:function(t){this._results.forEach(t)}},{key:"some",value:function(t){return this._results.some(t)}},{key:"toArray",value:function(){return this._results.slice()}},{key:"toString",value:function(){return this._results.toString()}},{key:"reset",value:function(t,r){var i=this;i.dirty=!1;var a=yn(t);(this._changesDetected=!function(e,n,t){if(e.length!==n.length)return!1;for(var r=0;r0;)this.remove(this.length-1)}},{key:"get",value:function(i){var a=pb(this._lContainer);return null!==a&&a[i]||null}},{key:"length",get:function(){return this._lContainer.length-10}},{key:"createEmbeddedView",value:function(i,a,o){var s=i.createEmbeddedView(a||{});return this.insert(s,o),s}},{key:"createComponent",value:function(i,a,o,s,u){var c,l=i&&!function(e){return"function"==typeof e}(i);if(l)c=a;else{var f=a||{};c=f.index,o=f.injector,s=f.projectableNodes,u=f.ngModuleRef}var d=l?i:new _d(Mt(i)),v=o||this.parentInjector;if(!u&&null==d.ngModule&&v){var g=v.get(Ga,null);g&&(u=g)}var m=d.create(v,s,void 0,u);return this.insert(m.hostView,c),m}},{key:"insert",value:function(i,a){var o=i._lView,s=o[1];if(function(e){return Rn(e[3])}(o)){var u=this.indexOf(i);if(-1!==u)this.detach(u);else{var l=o[3],c=new gb(l,l[6],l[3]);c.detach(c.indexOf(i))}}var f=this._adjustIndex(a),d=this._lContainer;!function(e,n,t,r){var i=10+r,a=t.length;r>0&&(t[i-1][4]=n),r1&&void 0!==arguments[1]?arguments[1]:0;return null==i?this.length+a:i}}]),t}(Bn);function pb(e){return e[8]}function Ed(e){return e[8]||(e[8]=[])}function mb(e,n){var t,r=n[e.index];if(Rn(r))t=r;else{var i;if(8&e.type)i=st(r);else{var a=n[11];i=a.createComment("");var o=mn(e,n);wi(a,Au(a,o),i,function(e,n){return Ye(e)?e.nextSibling(n):n.nextSibling}(a,o),!1)}n[e.index]=t=Wm(r,n,i,e),Ou(n,t)}return new gb(t,e,n)}var II=function(){function e(n){h(this,e),this.queryList=n,this.matches=null}return p(e,[{key:"clone",value:function(){return new e(this.queryList)}},{key:"setDirty",value:function(){this.queryList.setDirty()}}]),e}(),OI=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];h(this,e),this.queries=n}return p(e,[{key:"createEmbeddedView",value:function(t){var r=t.queries;if(null!==r){for(var i=null!==t.contentQueries?t.contentQueries[0]:r.length,a=[],o=0;o2&&void 0!==arguments[2]?arguments[2]:null;h(this,e),this.predicate=n,this.flags=t,this.read=r},PI=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];h(this,e),this.queries=n}return p(e,[{key:"elementStart",value:function(t,r){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:-1;h(this,e),this.metadata=n,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=t}return p(e,[{key:"elementStart",value:function(t,r){this.isApplyingToNode(r)&&this.matchTNode(t,r)}},{key:"elementEnd",value:function(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}},{key:"template",value:function(t,r){this.elementStart(t,r)}},{key:"embeddedTView",value:function(t,r){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,r),new e(this.metadata)):null}},{key:"isApplyingToNode",value:function(t){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){for(var r=this._declarationNodeIndex,i=t.parent;null!==i&&8&i.type&&i.index!==r;)i=i.parent;return r===(null!==i?i.index:-1)}return this._appliesToNextNode}},{key:"matchTNode",value:function(t,r){var i=this.metadata.predicate;if(Array.isArray(i))for(var a=0;a0)r.push(o[s/2]);else{for(var l=a[s+1],c=n[-u],f=10;f0&&(s=setTimeout(function(){o._callbacks=o._callbacks.filter(function(u){return u.timeoutId!==s}),r(o._didWork,o.getPendingTasks())},i)),this._callbacks.push({doneCb:r,timeoutId:s,updateCb:a})}},{key:"whenStable",value:function(r,i,a){if(a&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(r,i,a),this._runCallbacksIfReady()}},{key:"getPendingRequestCount",value:function(){return this._pendingCount}},{key:"findProviders",value:function(r,i,a){return[]}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(we))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),Qb=function(){var e=function(){function n(){h(this,n),this._applications=new Map,Ld.addToWindow(this)}return p(n,[{key:"registerApplication",value:function(r,i){this._applications.set(r,i)}},{key:"unregisterApplication",value:function(r){this._applications.delete(r)}},{key:"unregisterAllApplications",value:function(){this._applications.clear()}},{key:"getTestability",value:function(r){return this._applications.get(r)||null}},{key:"getAllTestabilities",value:function(){return Array.from(this._applications.values())}},{key:"getAllRootElements",value:function(){return Array.from(this._applications.keys())}},{key:"findTestabilityInTree",value:function(r){var i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Ld.findTestabilityInTree(this,r,i)}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),OO=function(){function e(){h(this,e)}return p(e,[{key:"addToWindow",value:function(t){}},{key:"findTestabilityInTree",value:function(t,r,i){return null}}]),e}(),Ld=new OO,Yb=!0,$b=!1;function Vd(){return $b=!0,Yb}var jn,LO=function(e,n,t){var r=new Cd(t);return Promise.resolve(r)},Zb=new j("AllowMultipleToken");function zO(e){if(jn&&!jn.destroyed&&!jn.injector.get(Zb,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");jn=e.get(eC);var n=e.get(jb,null);return n&&n.forEach(function(t){return t()}),jn}function Xb(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r="Platform: ".concat(n),i=new j(r);return function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=Jb();if(!o||o.injector.get(Zb,!1))if(e)e(t.concat(a).concat({provide:i,useValue:!0}));else{var s=t.concat(a).concat({provide:i,useValue:!0},{provide:zo,useValue:"platform"});zO(at.create({providers:s,name:r}))}return WO(i)}}function WO(e){var n=Jb();if(!n)throw new Error("No platform exists!");if(!n.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return n}function Jb(){return jn&&!jn.destroyed?jn:null}var eC=function(){var e=function(){function n(t){h(this,n),this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return p(n,[{key:"bootstrapModuleFactory",value:function(r,i){var a=this,l=function(e,n){return"noop"===e?new IO:("zone.js"===e?void 0:e)||new we({enableLongStackTrace:Vd(),shouldCoalesceEventChangeDetection:!(null==n||!n.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!(null==n||!n.ngZoneRunCoalescing)})}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),c=[{provide:we,useValue:l}];return l.run(function(){var f=at.create({providers:c,parent:a.injector,name:r.moduleType.name}),d=r.create(f),v=d.injector.get(ki,null);if(!v)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return l.runOutsideAngular(function(){var g=l.onError.subscribe({next:function(_){v.handleError(_)}});d.onDestroy(function(){Bd(a._modules,d),g.unsubscribe()})}),function(e,n,t){try{var r=((g=d.injector.get(Wa)).runInitializers(),g.donePromise.then(function(){return function(e){tn(e,"Expected localeId to be defined"),"string"==typeof e&&e.toLowerCase().replace(/_/g,"-")}(d.injector.get(Sr,Uu)||Uu),a._moduleDoBootstrap(d),d}));return Hu(r)?r.catch(function(i){throw n.runOutsideAngular(function(){return e.handleError(i)}),i}):r}catch(i){throw n.runOutsideAngular(function(){return e.handleError(i)}),i}var g}(v,l)})}},{key:"bootstrapModule",value:function(r){var i=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=tC({},a);return LO(0,0,r).then(function(s){return i.bootstrapModuleFactory(s,o)})}},{key:"_moduleDoBootstrap",value:function(r){var i=r.injector.get(qa);if(r._bootstrapComponents.length>0)r._bootstrapComponents.forEach(function(a){return i.bootstrap(a)});else{if(!r.instance.ngDoBootstrap)throw new Error("The module ".concat(de(r.instance.constructor),' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. ')+"Please define one of these.");r.instance.ngDoBootstrap(i)}this._modules.push(r)}},{key:"onDestroy",value:function(r){this._destroyListeners.push(r)}},{key:"injector",get:function(){return this._injector}},{key:"destroy",value:function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(r){return r.destroy()}),this._destroyListeners.forEach(function(r){return r()}),this._destroyed=!0}},{key:"destroyed",get:function(){return this._destroyed}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(at))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}();function tC(e,n){return Array.isArray(n)?n.reduce(tC,e):K(K({},e),n)}var qa=function(){var e=function(){function n(t,r,i,a,o){var s=this;h(this,n),this._zone=t,this._injector=r,this._exceptionHandler=i,this._componentFactoryResolver=a,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:function(){s._zone.run(function(){s.tick()})}});var u=new ze(function(c){s._stable=s._zone.isStable&&!s._zone.hasPendingMacrotasks&&!s._zone.hasPendingMicrotasks,s._zone.runOutsideAngular(function(){c.next(s._stable),c.complete()})}),l=new ze(function(c){var f;s._zone.runOutsideAngular(function(){f=s._zone.onStable.subscribe(function(){we.assertNotInAngularZone(),Id(function(){!s._stable&&!s._zone.hasPendingMacrotasks&&!s._zone.hasPendingMicrotasks&&(s._stable=!0,c.next(!0))})})});var d=s._zone.onUnstable.subscribe(function(){we.assertInAngularZone(),s._stable&&(s._stable=!1,s._zone.runOutsideAngular(function(){c.next(!1)}))});return function(){f.unsubscribe(),d.unsubscribe()}});this.isStable=Br(u,l.pipe(function(e){return Ag()(function(e,n){return function(r){var i;i="function"==typeof e?e:function(){return e};var a=Object.create(r,zS);return a.source=r,a.subjectFactory=i,a}}(QS)(e))}))}return p(n,[{key:"bootstrap",value:function(r,i){var o,a=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");o=r instanceof tb?r:this._componentFactoryResolver.resolveComponentFactory(r),this.componentTypes.push(o.componentType);var s=function(e){return e.isBoundToModule}(o)?void 0:this._injector.get(Ga),l=o.create(at.NULL,[],i||o.selector,s),c=l.location.nativeElement,f=l.injector.get(Nd,null),d=f&&l.injector.get(Qb);return f&&d&&d.registerApplication(c,f),l.onDestroy(function(){a.detachView(l.hostView),Bd(a.components,l),d&&d.unregisterApplication(c)}),this._loadComponent(l),l}},{key:"tick",value:function(){var r=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;var a,i=Lt(this._views);try{for(i.s();!(a=i.n()).done;)a.value.detectChanges()}catch(c){i.e(c)}finally{i.f()}}catch(c){this._zone.runOutsideAngular(function(){return r._exceptionHandler.handleError(c)})}finally{this._runningTick=!1}}},{key:"attachView",value:function(r){var i=r;this._views.push(i),i.attachToAppRef(this)}},{key:"detachView",value:function(r){var i=r;Bd(this._views,i),i.detachFromAppRef()}},{key:"_loadComponent",value:function(r){this.attachView(r.hostView),this.tick(),this.components.push(r),this._injector.get(Hb,[]).concat(this._bootstrapListeners).forEach(function(a){return a(r)})}},{key:"ngOnDestroy",value:function(){this._views.slice().forEach(function(r){return r.destroy()}),this._onMicrotaskEmptySubscription.unsubscribe()}},{key:"viewCount",get:function(){return this._views.length}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(we),k(at),k(ki),k(Ba),k(Wa))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}();function Bd(e,n){var t=e.indexOf(n);t>-1&&e.splice(t,1)}var $O=function(e){return function(e,n,t){if(eu(e)&&!t){var r=rn(e.index,n);return new es(r,r)}return 47&e.type?new es(n[16],n):null}(ht(),A(),16==(16&e))},tl=function(){var e=function n(){h(this,n)};return e.__NG_ELEMENT_ID__=$O,e}(),aC=function(){function e(){h(this,e)}return p(e,[{key:"supports",value:function(t){return Ko(t)}},{key:"create",value:function(t){return new u1(t)}}]),e}(),s1=function(n,t){return t},u1=function(){function e(n){h(this,e),this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||s1}return p(e,[{key:"forEachItem",value:function(t){var r;for(r=this._itHead;null!==r;r=r._next)t(r)}},{key:"forEachOperation",value:function(t){for(var r=this._itHead,i=this._removalsHead,a=0,o=null;r||i;){var s=!i||r&&r.currentIndex0&&void 0!==arguments[0]?arguments[0]:0;this._history.go(a)}},{key:"getState",value:function(){return this._history.state}}]),r}(vs);return e.\u0275fac=function(t){return new(t||e)(k(pe))},e.\u0275prov=P({token:e,factory:function(){return new qC(k(pe))},providedIn:"platform"}),e}();function KC(){return!!window.history.pushState}function QC(e,n){if(0==e.length)return n;if(0==n.length)return e;var t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function YC(e){var n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function Oi(e){return e&&"?"!==e[0]?"?"+e:e}var hh=function(){var e=function(){function n(){h(this,n)}return p(n,[{key:"historyGo",value:function(r){throw new Error("Not implemented")}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:function(){return n=k(pe).location,new mN(k(vs),n&&n.origin||"");var n},providedIn:"root"}),e}(),pN=new j("appBaseHref"),mN=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a){var o;if(h(this,r),(o=t.call(this))._platformLocation=i,o._removeListenerFns=[],null==a&&(a=o._platformLocation.getBaseHrefFromDOM()),null==a)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return o._baseHref=a,o}return p(r,[{key:"ngOnDestroy",value:function(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}},{key:"onPopState",value:function(a){this._removeListenerFns.push(this._platformLocation.onPopState(a),this._platformLocation.onHashChange(a))}},{key:"getBaseHref",value:function(){return this._baseHref}},{key:"prepareExternalUrl",value:function(a){return QC(this._baseHref,a)}},{key:"path",value:function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=this._platformLocation.pathname+Oi(this._platformLocation.search),s=this._platformLocation.hash;return s&&a?"".concat(o).concat(s):o}},{key:"pushState",value:function(a,o,s,u){var l=this.prepareExternalUrl(s+Oi(u));this._platformLocation.pushState(a,o,l)}},{key:"replaceState",value:function(a,o,s,u){var l=this.prepareExternalUrl(s+Oi(u));this._platformLocation.replaceState(a,o,l)}},{key:"forward",value:function(){this._platformLocation.forward()}},{key:"back",value:function(){this._platformLocation.back()}},{key:"historyGo",value:function(){var a,o,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(a=(o=this._platformLocation).historyGo)||void 0===a||a.call(o,s)}}]),r}(hh);return e.\u0275fac=function(t){return new(t||e)(k(vs),k(pN,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),$C=function(){var e=function(){function n(t,r){var i=this;h(this,n),this._subject=new De,this._urlChangeListeners=[],this._platformStrategy=t;var a=this._platformStrategy.getBaseHref();this._platformLocation=r,this._baseHref=YC(ZC(a)),this._platformStrategy.onPopState(function(o){i._subject.emit({url:i.path(!0),pop:!0,state:o.state,type:o.type})})}return p(n,[{key:"path",value:function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.normalize(this._platformStrategy.path(r))}},{key:"getState",value:function(){return this._platformLocation.getState()}},{key:"isCurrentPathEqualTo",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return this.path()==this.normalize(r+Oi(i))}},{key:"normalize",value:function(r){return n.stripTrailingSlash(function(e,n){return e&&n.startsWith(e)?n.substring(e.length):n}(this._baseHref,ZC(r)))}},{key:"prepareExternalUrl",value:function(r){return r&&"/"!==r[0]&&(r="/"+r),this._platformStrategy.prepareExternalUrl(r)}},{key:"go",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.pushState(a,"",r,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(r+Oi(i)),a)}},{key:"replaceState",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this._platformStrategy.replaceState(a,"",r,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(r+Oi(i)),a)}},{key:"forward",value:function(){this._platformStrategy.forward()}},{key:"back",value:function(){this._platformStrategy.back()}},{key:"historyGo",value:function(){var r,i,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,a)}},{key:"onUrlChange",value:function(r){var i=this;this._urlChangeListeners.push(r),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(function(a){i._notifyUrlChangeListeners(a.url,a.state)}))}},{key:"_notifyUrlChangeListeners",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1?arguments[1]:void 0;this._urlChangeListeners.forEach(function(a){return a(r,i)})}},{key:"subscribe",value:function(r,i,a){return this._subject.subscribe({next:r,error:i,complete:a})}}]),n}();return e.normalizeQueryParams=Oi,e.joinWithSlash=QC,e.stripTrailingSlash=YC,e.\u0275fac=function(t){return new(t||e)(k(hh),k(vs))},e.\u0275prov=P({token:e,factory:function(){return new $C(k(hh),k(vs))},providedIn:"root"}),e}();function ZC(e){return e.replace(/\/index.html$/,"")}var ut=function(){return(ut=ut||{})[ut.Zero=0]="Zero",ut[ut.One=1]="One",ut[ut.Two=2]="Two",ut[ut.Few=3]="Few",ut[ut.Many=4]="Many",ut[ut.Other=5]="Other",ut}(),SN=function(e){return function(e){var n=function(e){return e.toLowerCase().replace(/_/g,"-")}(e),t=x_(n);if(t)return t;var r=n.split("-")[0];if(t=x_(r))return t;if("en"===r)return BF;throw new Error('Missing locale data for the locale "'.concat(e,'".'))}(e)[V.PluralCase]},kl=function e(){h(this,e)},tL=function(){var e=function(n){C(r,n);var t=b(r);function r(i){var a;return h(this,r),(a=t.call(this)).locale=i,a}return p(r,[{key:"getPluralCategory",value:function(a,o){switch(SN(o||this.locale)(a)){case ut.Zero:return"zero";case ut.One:return"one";case ut.Two:return"two";case ut.Few:return"few";case ut.Many:return"many";default:return"other"}}}]),r}(kl);return e.\u0275fac=function(t){return new(t||e)(k(Sr))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),wl=function(){var e=function(){function n(t,r,i,a){h(this,n),this._iterableDiffers=t,this._keyValueDiffers=r,this._ngEl=i,this._renderer=a,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return p(n,[{key:"klass",set:function(r){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof r?r.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}},{key:"ngClass",set:function(r){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof r?r.split(/\s+/):r,this._rawClass&&(Ko(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}},{key:"ngDoCheck",value:function(){if(this._iterableDiffer){var r=this._iterableDiffer.diff(this._rawClass);r&&this._applyIterableChanges(r)}else if(this._keyValueDiffer){var i=this._keyValueDiffer.diff(this._rawClass);i&&this._applyKeyValueChanges(i)}}},{key:"_applyKeyValueChanges",value:function(r){var i=this;r.forEachAddedItem(function(a){return i._toggleClass(a.key,a.currentValue)}),r.forEachChangedItem(function(a){return i._toggleClass(a.key,a.currentValue)}),r.forEachRemovedItem(function(a){a.previousValue&&i._toggleClass(a.key,!1)})}},{key:"_applyIterableChanges",value:function(r){var i=this;r.forEachAddedItem(function(a){if("string"!=typeof a.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got ".concat(de(a.item)));i._toggleClass(a.item,!0)}),r.forEachRemovedItem(function(a){return i._toggleClass(a.item,!1)})}},{key:"_applyClasses",value:function(r){var i=this;r&&(Array.isArray(r)||r instanceof Set?r.forEach(function(a){return i._toggleClass(a,!0)}):Object.keys(r).forEach(function(a){return i._toggleClass(a,!!r[a])}))}},{key:"_removeClasses",value:function(r){var i=this;r&&(Array.isArray(r)||r instanceof Set?r.forEach(function(a){return i._toggleClass(a,!1)}):Object.keys(r).forEach(function(a){return i._toggleClass(a,!1)}))}},{key:"_toggleClass",value:function(r,i){var a=this;(r=r.trim())&&r.split(/\s+/g).forEach(function(o){i?a._renderer.addClass(a._ngEl.nativeElement,o):a._renderer.removeClass(a._ngEl.nativeElement,o)})}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(Ka),y(Xr),y(X),y(kr))},e.\u0275dir=x({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e}(),iL=function(){function e(n,t,r,i){h(this,e),this.$implicit=n,this.ngForOf=t,this.index=r,this.count=i}return p(e,[{key:"first",get:function(){return 0===this.index}},{key:"last",get:function(){return this.index===this.count-1}},{key:"even",get:function(){return this.index%2==0}},{key:"odd",get:function(){return!this.even}}]),e}(),oD=function(){var e=function(){function n(t,r,i){h(this,n),this._viewContainer=t,this._template=r,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return p(n,[{key:"ngForOf",set:function(r){this._ngForOf=r,this._ngForOfDirty=!0}},{key:"ngForTrackBy",get:function(){return this._trackByFn},set:function(r){this._trackByFn=r}},{key:"ngForTemplate",set:function(r){r&&(this._template=r)}},{key:"ngDoCheck",value:function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var r=this._ngForOf;if(!this._differ&&r)try{this._differ=this._differs.find(r).create(this.ngForTrackBy)}catch(a){throw new Error("Cannot find a differ supporting object '".concat(r,"' of type '").concat(function(e){return e.name||typeof e}(r),"'. NgFor only supports binding to Iterables such as Arrays."))}}if(this._differ){var i=this._differ.diff(this._ngForOf);i&&this._applyChanges(i)}}},{key:"_applyChanges",value:function(r){var i=this,a=[];r.forEachOperation(function(c,f,d){if(null==c.previousIndex){var v=i._viewContainer.createEmbeddedView(i._template,new iL(null,i._ngForOf,-1,-1),null===d?void 0:d),g=new sD(c,v);a.push(g)}else if(null==d)i._viewContainer.remove(null===f?void 0:f);else if(null!==f){var m=i._viewContainer.get(f);i._viewContainer.move(m,d);var _=new sD(c,m);a.push(_)}});for(var o=0;o1&&void 0!==arguments[1])||arguments[1],o=t.findTestabilityInTree(i,a);if(null==o)throw new Error("Could not find testability for element.");return o},Ee.getAllAngularTestabilities=function(){return t.getAllTestabilities()},Ee.getAllAngularRootElements=function(){return t.getAllRootElements()},Ee.frameworkStabilizers||(Ee.frameworkStabilizers=[]),Ee.frameworkStabilizers.push(function(a){var o=Ee.getAllAngularTestabilities(),s=o.length,u=!1,l=function(f){u=u||f,0==--s&&a(u)};o.forEach(function(c){c.whenStable(l)})})}},{key:"findTestabilityInTree",value:function(t,r,i){if(null==r)return null;var a=t.getTestability(r);return null!=a?a:i?cr().isShadowRoot(r)?this.findTestabilityInTree(t,r.host,!0):this.findTestabilityInTree(t,r.parentElement,!0):null}}],[{key:"init",value:function(){!function(e){Ld=e}(new e)}}]),e}(),jL=function(){var e=function(){function n(){h(this,n)}return p(n,[{key:"build",value:function(){return new XMLHttpRequest}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),_s=new j("EventManagerPlugins"),xl=function(){var e=function(){function n(t,r){var i=this;h(this,n),this._zone=r,this._eventNameToPlugin=new Map,t.forEach(function(a){return a.manager=i}),this._plugins=t.slice().reverse()}return p(n,[{key:"addEventListener",value:function(r,i,a){return this._findPluginFor(i).addEventListener(r,i,a)}},{key:"addGlobalEventListener",value:function(r,i,a){return this._findPluginFor(i).addGlobalEventListener(r,i,a)}},{key:"getZone",value:function(){return this._zone}},{key:"_findPluginFor",value:function(r){var i=this._eventNameToPlugin.get(r);if(i)return i;for(var a=this._plugins,o=0;o-1&&(o.splice(d,1),l+=f+".")}),l+=u,0!=o.length||0===u.length)return null;var c={};return c.domEventName=s,c.fullKey=l,c}},{key:"getEventFullKey",value:function(a){var o="",s=function(e){var n=e.key;if(null==n){if(null==(n=e.keyIdentifier))return"Unidentified";n.startsWith("U+")&&(n=String.fromCharCode(parseInt(n.substring(2),16)),3===e.location&&kD.hasOwnProperty(n)&&(n=kD[n]))}return cV[n]||n}(a);return" "===(s=s.toLowerCase())?s="space":"."===s&&(s="dot"),ED.forEach(function(u){u!=s&&(0,fV[u])(a)&&(o+=u+".")}),o+=s}},{key:"eventCallback",value:function(a,o,s){return function(u){r.getEventFullKey(u)===a&&s.runGuarded(function(){return o(u)})}}},{key:"_normalizeKey",value:function(a){return"esc"===a?"escape":a}}]),r}(Mh);return e.\u0275fac=function(t){return new(t||e)(k(pe))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),yV=[{provide:Dn,useValue:hD},{provide:jb,useValue:function(){OL.makeCurrent(),BL.init()},multi:!0},{provide:pe,useFactory:function(){return function(e){Ic=e}(document),document},deps:[]}],CV=Xb(_1,"browser",yV),DV=[[],{provide:zo,useValue:"root"},{provide:ki,useFactory:function(){return new ki},deps:[]},{provide:_s,useClass:rV,multi:!0,deps:[pe,we,Dn]},{provide:_s,useClass:dV,multi:!0,deps:[pe]},[],{provide:Fl,useClass:Fl,deps:[xl,bs,is]},{provide:Mi,useExisting:Fl},{provide:pD,useExisting:bs},{provide:bs,useClass:bs,deps:[pe]},{provide:Nd,useClass:Nd,deps:[we]},{provide:xl,useClass:xl,deps:[_s,we]},{provide:function e(){h(this,e)},useClass:jL,deps:[]},[]],wD=function(){var e=function(){function n(t){if(h(this,n),t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return p(n,null,[{key:"withServerTransition",value:function(r){return{ngModule:n,providers:[{provide:is,useValue:r.appId},{provide:vD,useExisting:is},VL]}}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(e,12))},e.\u0275mod=be({type:e}),e.\u0275inj=me({providers:DV,imports:[Sl,S1]}),e}();"undefined"!=typeof window&&window;var AD=function e(){h(this,e)},MV=function e(){h(this,e)},xr="*";function Ph(e,n){return{type:7,name:e,definitions:n,options:{}}}function Nh(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:4,styles:n,timings:e}}function MD(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return{type:2,steps:e,options:n}}function ei(e){return{type:6,styles:e,offset:null}}function Il(e,n,t){return{type:0,name:e,styles:n,options:t}}function Ol(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:1,expr:e,animation:n,options:t}}function xV(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return{type:9,options:e}}function TV(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return{type:11,selector:e,animation:n,options:t}}function xD(e){Promise.resolve(null).then(e)}var Xa=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;h(this,e),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+t}return p(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])}},{key:"onStart",value:function(t){this._onStartFns.push(t)}},{key:"onDone",value:function(t){this._onDoneFns.push(t)}},{key:"onDestroy",value:function(t){this._onDestroyFns.push(t)}},{key:"hasStarted",value:function(){return this._started}},{key:"init",value:function(){}},{key:"play",value:function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}},{key:"triggerMicrotask",value:function(){var t=this;xD(function(){return t._onFinish()})}},{key:"_onStart",value:function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]}},{key:"pause",value:function(){}},{key:"restart",value:function(){}},{key:"finish",value:function(){this._onFinish()}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this._started=!1}},{key:"setPosition",value:function(t){this._position=this.totalTime?t*this.totalTime:1}},{key:"getPosition",value:function(){return this.totalTime?this._position/this.totalTime:1}},{key:"triggerCallback",value:function(t){var r="start"==t?this._onStartFns:this._onDoneFns;r.forEach(function(i){return i()}),r.length=0}}]),e}(),TD=function(){function e(n){var t=this;h(this,e),this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;var r=0,i=0,a=0,o=this.players.length;0==o?xD(function(){return t._onFinish()}):this.players.forEach(function(s){s.onDone(function(){++r==o&&t._onFinish()}),s.onDestroy(function(){++i==o&&t._onDestroy()}),s.onStart(function(){++a==o&&t._onStart()})}),this.totalTime=this.players.reduce(function(s,u){return Math.max(s,u.totalTime)},0)}return p(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])}},{key:"init",value:function(){this.players.forEach(function(t){return t.init()})}},{key:"onStart",value:function(t){this._onStartFns.push(t)}},{key:"_onStart",value:function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[])}},{key:"onDone",value:function(t){this._onDoneFns.push(t)}},{key:"onDestroy",value:function(t){this._onDestroyFns.push(t)}},{key:"hasStarted",value:function(){return this._started}},{key:"play",value:function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(t){return t.play()})}},{key:"pause",value:function(){this.players.forEach(function(t){return t.pause()})}},{key:"restart",value:function(){this.players.forEach(function(t){return t.restart()})}},{key:"finish",value:function(){this._onFinish(),this.players.forEach(function(t){return t.finish()})}},{key:"destroy",value:function(){this._onDestroy()}},{key:"_onDestroy",value:function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(t){return t.destroy()}),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])}},{key:"reset",value:function(){this.players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"setPosition",value:function(t){var r=t*this.totalTime;this.players.forEach(function(i){var a=i.totalTime?Math.min(1,r/i.totalTime):1;i.setPosition(a)})}},{key:"getPosition",value:function(){var t=this.players.reduce(function(r,i){return null===r||i.totalTime>r.totalTime?i:r},null);return null!=t?t.getPosition():0}},{key:"beforeDestroy",value:function(){this.players.forEach(function(t){t.beforeDestroy&&t.beforeDestroy()})}},{key:"triggerCallback",value:function(t){var r="start"==t?this._onStartFns:this._onDoneFns;r.forEach(function(i){return i()}),r.length=0}}]),e}();function FD(){return"undefined"!=typeof window&&void 0!==window.document}function Vh(){return"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)}function ti(e){switch(e.length){case 0:return new Xa;case 1:return e[0];default:return new TD(e)}}function RD(e,n,t,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},o=[],s=[],u=-1,l=null;if(r.forEach(function(f){var d=f.offset,v=d==u,g=v&&l||{};Object.keys(f).forEach(function(m){var _=m,E=f[m];if("offset"!==m)switch(_=n.normalizePropertyName(_,o),E){case"!":E=i[m];break;case xr:E=a[m];break;default:E=n.normalizeStyleValue(m,_,E,o)}g[_]=E}),v||s.push(g),l=g,u=d}),o.length){var c="\n - ";throw new Error("Unable to animate due to the following errors:".concat(c).concat(o.join(c)))}return s}function Bh(e,n,t,r){switch(n){case"start":e.onStart(function(){return r(t&&jh(t,"start",e))});break;case"done":e.onDone(function(){return r(t&&jh(t,"done",e))});break;case"destroy":e.onDestroy(function(){return r(t&&jh(t,"destroy",e))})}}function jh(e,n,t){var r=t.totalTime,a=Hh(e.element,e.triggerName,e.fromState,e.toState,n||e.phaseName,null==r?e.totalTime:r,!!t.disabled),o=e._data;return null!=o&&(a._data=o),a}function Hh(e,n,t,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6?arguments[6]:void 0;return{element:e,triggerName:n,fromState:t,toState:r,phaseName:i,totalTime:a,disabled:!!o}}function ln(e,n,t){var r;return e instanceof Map?(r=e.get(n))||e.set(n,r=t):(r=e[n])||(r=e[n]=t),r}function ID(e){var n=e.indexOf(":");return[e.substring(1,n),e.substr(n+1)]}var Gh=function(n,t){return!1},Uh=function(n,t){return!1},OD=function(n,t,r){return[]},PD=Vh();(PD||"undefined"!=typeof Element)&&(Gh=FD()?function(n,t){for(;t&&t!==document.documentElement;){if(t===n)return!0;t=t.parentNode||t.host}return!1}:function(n,t){return n.contains(t)},Uh=function(){if(PD||Element.prototype.matches)return function(t,r){return t.matches(r)};var e=Element.prototype,n=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return n?function(t,r){return n.apply(t,[r])}:Uh}(),OD=function(n,t,r){var i=[];if(r)for(var a=n.querySelectorAll(t),o=0;o1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).forEach(function(t){n[t]=e[t]}),n}function ni(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(n)for(var r in e)t[r]=e[r];else Ja(e,t);return t}function GD(e,n,t){return t?n+":"+t+";":""}function UD(e){for(var n="",t=0;t *";case":leave":return"* => void";case":increment":return function(t,r){return parseFloat(r)>parseFloat(t)};case":decrement":return function(t,r){return parseFloat(r) *"}}(e,t);if("function"==typeof r)return void n.push(r);e=r}var i=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push('The provided transition expression "'.concat(e,'" is not supported')),n;var a=i[1],o=i[2],s=i[3];n.push(KD(a,s)),"<"==o[0]&&!("*"==a&&"*"==s)&&n.push(KD(s,a))}(r,t,n)}):t.push(e),t}var Hl=new Set(["true","1"]),Gl=new Set(["false","0"]);function KD(e,n){var t=Hl.has(e)||Gl.has(e),r=Hl.has(n)||Gl.has(n);return function(i,a){var o="*"==e||e==i,s="*"==n||n==a;return!o&&t&&"boolean"==typeof i&&(o=i?Hl.has(e):Gl.has(e)),!s&&r&&"boolean"==typeof a&&(s=a?Hl.has(n):Gl.has(n)),o&&s}}var GV=new RegExp("s*".concat(":self","s*,?"),"g");function YD(e,n,t){return new UV(e).build(n,t)}var UV=function(){function e(n){h(this,e),this._driver=n}return p(e,[{key:"build",value:function(t,r){var i=new qV(r);return this._resetContextStyleTimingState(i),cn(this,Cs(t),i)}},{key:"_resetContextStyleTimingState",value:function(t){t.currentQuerySelector="",t.collectedStyles={},t.collectedStyles[""]={},t.currentTime=0}},{key:"visitTrigger",value:function(t,r){var i=this,a=r.queryCount=0,o=r.depCount=0,s=[],u=[];return"@"==t.name.charAt(0)&&r.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),t.definitions.forEach(function(l){if(i._resetContextStyleTimingState(r),0==l.type){var c=l,f=c.name;f.toString().split(/\s*,\s*/).forEach(function(v){c.name=v,s.push(i.visitState(c,r))}),c.name=f}else if(1==l.type){var d=i.visitTransition(l,r);a+=d.queryCount,o+=d.depCount,u.push(d)}else r.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:t.name,states:s,transitions:u,queryCount:a,depCount:o,options:null}}},{key:"visitState",value:function(t,r){var i=this.visitStyle(t.styles,r),a=t.options&&t.options.params||null;if(i.containsDynamicStyles){var o=new Set,s=a||{};if(i.styles.forEach(function(l){if(Ul(l)){var c=l;Object.keys(c).forEach(function(f){zD(c[f]).forEach(function(d){s.hasOwnProperty(d)||o.add(d)})})}}),o.size){var u=Bl(o.values());r.errors.push('state("'.concat(t.name,'", ...) must define default values for all the following style substitutions: ').concat(u.join(", ")))}}return{type:0,name:t.name,style:i,options:a?{params:a}:null}}},{key:"visitTransition",value:function(t,r){r.queryCount=0,r.depCount=0;var i=cn(this,Cs(t.animation),r);return{type:1,matchers:BV(t.expr,r.errors),animation:i,queryCount:r.queryCount,depCount:r.depCount,options:Bi(t.options)}}},{key:"visitSequence",value:function(t,r){var i=this;return{type:2,steps:t.steps.map(function(a){return cn(i,a,r)}),options:Bi(t.options)}}},{key:"visitGroup",value:function(t,r){var i=this,a=r.currentTime,o=0,s=t.steps.map(function(u){r.currentTime=a;var l=cn(i,u,r);return o=Math.max(o,r.currentTime),l});return r.currentTime=o,{type:3,steps:s,options:Bi(t.options)}}},{key:"visitAnimate",value:function(t,r){var i=function(e,n){var t=null;if(e.hasOwnProperty("duration"))t=e;else if("number"==typeof e)return tv(Ll(e,n).duration,0,"");var i=e,a=i.split(/\s+/).some(function(s){return"{"==s.charAt(0)&&"{"==s.charAt(1)});if(a){var o=tv(0,0,"");return o.dynamic=!0,o.strValue=i,o}return tv((t=t||Ll(i,n)).duration,t.delay,t.easing)}(t.timings,r.errors);r.currentAnimateTimings=i;var a,o=t.styles?t.styles:ei({});if(5==o.type)a=this.visitKeyframes(o,r);else{var s=t.styles,u=!1;if(!s){u=!0;var l={};i.easing&&(l.easing=i.easing),s=ei(l)}r.currentTime+=i.duration+i.delay;var c=this.visitStyle(s,r);c.isEmptyStep=u,a=c}return r.currentAnimateTimings=null,{type:4,timings:i,style:a,options:null}}},{key:"visitStyle",value:function(t,r){var i=this._makeStyleAst(t,r);return this._validateStyleAst(i,r),i}},{key:"_makeStyleAst",value:function(t,r){var i=[];Array.isArray(t.styles)?t.styles.forEach(function(s){"string"==typeof s?s==xr?i.push(s):r.errors.push("The provided style string value ".concat(s," is not allowed.")):i.push(s)}):i.push(t.styles);var a=!1,o=null;return i.forEach(function(s){if(Ul(s)){var u=s,l=u.easing;if(l&&(o=l,delete u.easing),!a)for(var c in u)if(u[c].toString().indexOf("{{")>=0){a=!0;break}}}),{type:6,styles:i,easing:o,offset:t.offset,containsDynamicStyles:a,options:null}}},{key:"_validateStyleAst",value:function(t,r){var i=this,a=r.currentAnimateTimings,o=r.currentTime,s=r.currentTime;a&&s>0&&(s-=a.duration+a.delay),t.styles.forEach(function(u){"string"!=typeof u&&Object.keys(u).forEach(function(l){if(i._driver.validateStyleProperty(l)){var c=r.collectedStyles[r.currentQuerySelector],f=c[l],d=!0;f&&(s!=o&&s>=f.startTime&&o<=f.endTime&&(r.errors.push('The CSS property "'.concat(l,'" that exists between the times of "').concat(f.startTime,'ms" and "').concat(f.endTime,'ms" is also being animated in a parallel animation between the times of "').concat(s,'ms" and "').concat(o,'ms"')),d=!1),s=f.startTime),d&&(c[l]={startTime:s,endTime:o}),r.options&&function(e,n,t){var r=n.params||{},i=zD(e);i.length&&i.forEach(function(a){r.hasOwnProperty(a)||t.push("Unable to resolve the local animation param ".concat(a," in the given list of values"))})}(u[l],r.options,r.errors)}else r.errors.push('The provided animation property "'.concat(l,'" is not a supported CSS property for animations'))})})}},{key:"visitKeyframes",value:function(t,r){var i=this,a={type:5,styles:[],options:null};if(!r.currentAnimateTimings)return r.errors.push("keyframes() must be placed inside of a call to animate()"),a;var s=0,u=[],l=!1,c=!1,f=0,d=t.steps.map(function(w){var I=i._makeStyleAst(w,r),S=null!=I.offset?I.offset:function(e){if("string"==typeof e)return null;var n=null;if(Array.isArray(e))e.forEach(function(r){if(Ul(r)&&r.hasOwnProperty("offset")){var i=r;n=parseFloat(i.offset),delete i.offset}});else if(Ul(e)&&e.hasOwnProperty("offset")){var t=e;n=parseFloat(t.offset),delete t.offset}return n}(I.styles),O=0;return null!=S&&(s++,O=I.offset=S),c=c||O<0||O>1,l=l||O0&&s0?I==m?1:g*I:u[I],O=S*D;r.currentTime=_+E.delay+O,E.duration=O,i._validateStyleAst(w,r),w.offset=S,a.styles.push(w)}),a}},{key:"visitReference",value:function(t,r){return{type:8,animation:cn(this,Cs(t.animation),r),options:Bi(t.options)}}},{key:"visitAnimateChild",value:function(t,r){return r.depCount++,{type:9,options:Bi(t.options)}}},{key:"visitAnimateRef",value:function(t,r){return{type:10,animation:this.visitReference(t.animation,r),options:Bi(t.options)}}},{key:"visitQuery",value:function(t,r){var i=r.currentQuerySelector,a=t.options||{};r.queryCount++,r.currentQuery=t;var o=function(e){var n=!!e.split(/\s*,\s*/).find(function(t){return":self"==t});return n&&(e=e.replace(GV,"")),e=e.replace(/@\*/g,Nl).replace(/@\w+/g,function(t){return Nl+"-"+t.substr(1)}).replace(/:animating/g,$h),[e,n]}(t.selector),s=Te(o,2),u=s[0],l=s[1];r.currentQuerySelector=i.length?i+" "+u:u,ln(r.collectedStyles,r.currentQuerySelector,{});var c=cn(this,Cs(t.animation),r);return r.currentQuery=null,r.currentQuerySelector=i,{type:11,selector:u,limit:a.limit||0,optional:!!a.optional,includeSelf:l,animation:c,originalSelector:t.selector,options:Bi(t.options)}}},{key:"visitStagger",value:function(t,r){r.currentQuery||r.errors.push("stagger() can only be used inside of query()");var i="full"===t.timings?{duration:0,delay:0,easing:"full"}:Ll(t.timings,r.errors,!0);return{type:12,animation:cn(this,Cs(t.animation),r),timings:i,options:null}}}]),e}(),qV=function e(n){h(this,e),this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null};function Ul(e){return!Array.isArray(e)&&"object"==typeof e}function Bi(e){return e?(e=Ja(e)).params&&(e.params=function(e){return e?Ja(e):null}(e.params)):e={},e}function tv(e,n,t){return{duration:e,delay:n,easing:t}}function nv(e,n,t,r,i,a){var o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];return{type:1,element:e,keyframes:n,preStyleProps:t,postStyleProps:r,duration:i,delay:a,totalTime:i+a,easing:o,subTimeline:s}}var rv=function(){function e(){h(this,e),this._map=new Map}return p(e,[{key:"consume",value:function(t){var r=this._map.get(t);return r?this._map.delete(t):r=[],r}},{key:"append",value:function(t,r){var i,a=this._map.get(t);a||this._map.set(t,a=[]),(i=a).push.apply(i,ve(r))}},{key:"has",value:function(t){return this._map.has(t)}},{key:"clear",value:function(){this._map.clear()}}]),e}(),ZV=new RegExp(":enter","g"),JV=new RegExp(":leave","g");function ZD(e,n,t,r,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},s=arguments.length>7?arguments[7]:void 0,u=arguments.length>8?arguments[8]:void 0,l=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];return(new e2).buildKeyframes(e,n,t,r,i,a,o,s,u,l)}var e2=function(){function e(){h(this,e)}return p(e,[{key:"buildKeyframes",value:function(t,r,i,a,o,s,u,l,c){var f=arguments.length>9&&void 0!==arguments[9]?arguments[9]:[];c=c||new rv;var d=new t2(t,r,c,a,o,f,[]);d.options=l,d.currentTimeline.setStyles([s],null,d.errors,l),cn(this,i,d);var v=d.timelines.filter(function(m){return m.containsAnimation()});if(v.length&&Object.keys(u).length){var g=v[v.length-1];g.allowOnlyTimelineStyles()||g.setStyles([u],null,d.errors,l)}return v.length?v.map(function(m){return m.buildKeyframes()}):[nv(r,[],[],[],0,0,"",!1)]}},{key:"visitTrigger",value:function(t,r){}},{key:"visitState",value:function(t,r){}},{key:"visitTransition",value:function(t,r){}},{key:"visitAnimateChild",value:function(t,r){var i=r.subInstructions.consume(r.element);if(i){var a=r.createSubContext(t.options),o=r.currentTimeline.currentTime,s=this._visitSubInstructions(i,a,a.options);o!=s&&r.transformIntoNewTimeline(s)}r.previousNode=t}},{key:"visitAnimateRef",value:function(t,r){var i=r.createSubContext(t.options);i.transformIntoNewTimeline(),this.visitReference(t.animation,i),r.transformIntoNewTimeline(i.currentTimeline.currentTime),r.previousNode=t}},{key:"_visitSubInstructions",value:function(t,r,i){var o=r.currentTimeline.currentTime,s=null!=i.duration?Li(i.duration):null,u=null!=i.delay?Li(i.delay):null;return 0!==s&&t.forEach(function(l){var c=r.appendInstructionToTimeline(l,s,u);o=Math.max(o,c.duration+c.delay)}),o}},{key:"visitReference",value:function(t,r){r.updateOptions(t.options,!0),cn(this,t.animation,r),r.previousNode=t}},{key:"visitSequence",value:function(t,r){var i=this,a=r.subContextCount,o=r,s=t.options;if(s&&(s.params||s.delay)&&((o=r.createSubContext(s)).transformIntoNewTimeline(),null!=s.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=zl);var u=Li(s.delay);o.delayNextStep(u)}t.steps.length&&(t.steps.forEach(function(l){return cn(i,l,o)}),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>a&&o.transformIntoNewTimeline()),r.previousNode=t}},{key:"visitGroup",value:function(t,r){var i=this,a=[],o=r.currentTimeline.currentTime,s=t.options&&t.options.delay?Li(t.options.delay):0;t.steps.forEach(function(u){var l=r.createSubContext(t.options);s&&l.delayNextStep(s),cn(i,u,l),o=Math.max(o,l.currentTimeline.currentTime),a.push(l.currentTimeline)}),a.forEach(function(u){return r.currentTimeline.mergeTimelineCollectedStyles(u)}),r.transformIntoNewTimeline(o),r.previousNode=t}},{key:"_visitTiming",value:function(t,r){if(t.dynamic){var i=t.strValue;return Ll(r.params?Vl(i,r.params,r.errors):i,r.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}},{key:"visitAnimate",value:function(t,r){var i=r.currentAnimateTimings=this._visitTiming(t.timings,r),a=r.currentTimeline;i.delay&&(r.incrementTime(i.delay),a.snapshotCurrentStyles());var o=t.style;5==o.type?this.visitKeyframes(o,r):(r.incrementTime(i.duration),this.visitStyle(o,r),a.applyStylesToKeyframe()),r.currentAnimateTimings=null,r.previousNode=t}},{key:"visitStyle",value:function(t,r){var i=r.currentTimeline,a=r.currentAnimateTimings;!a&&i.getCurrentStyleProperties().length&&i.forwardFrame();var o=a&&a.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(o):i.setStyles(t.styles,o,r.errors,r.options),r.previousNode=t}},{key:"visitKeyframes",value:function(t,r){var i=r.currentAnimateTimings,a=r.currentTimeline.duration,o=i.duration,u=r.createSubContext().currentTimeline;u.easing=i.easing,t.styles.forEach(function(l){u.forwardTime((l.offset||0)*o),u.setStyles(l.styles,l.easing,r.errors,r.options),u.applyStylesToKeyframe()}),r.currentTimeline.mergeTimelineCollectedStyles(u),r.transformIntoNewTimeline(a+o),r.previousNode=t}},{key:"visitQuery",value:function(t,r){var i=this,a=r.currentTimeline.currentTime,o=t.options||{},s=o.delay?Li(o.delay):0;s&&(6===r.previousNode.type||0==a&&r.currentTimeline.getCurrentStyleProperties().length)&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=zl);var u=a,l=r.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!o.optional,r.errors);r.currentQueryTotal=l.length;var c=null;l.forEach(function(f,d){r.currentQueryIndex=d;var v=r.createSubContext(t.options,f);s&&v.delayNextStep(s),f===r.element&&(c=v.currentTimeline),cn(i,t.animation,v),v.currentTimeline.applyStylesToKeyframe(),u=Math.max(u,v.currentTimeline.currentTime)}),r.currentQueryIndex=0,r.currentQueryTotal=0,r.transformIntoNewTimeline(u),c&&(r.currentTimeline.mergeTimelineCollectedStyles(c),r.currentTimeline.snapshotCurrentStyles()),r.previousNode=t}},{key:"visitStagger",value:function(t,r){var i=r.parentContext,a=r.currentTimeline,o=t.timings,s=Math.abs(o.duration),u=s*(r.currentQueryTotal-1),l=s*r.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=u-l;break;case"full":l=i.currentStaggerTime}var f=r.currentTimeline;l&&f.delayNextStep(l);var d=f.currentTime;cn(this,t.animation,r),r.previousNode=t,i.currentStaggerTime=a.currentTime-d+(a.startTime-i.currentTimeline.startTime)}}]),e}(),zl={},t2=function(){function e(n,t,r,i,a,o,s,u){h(this,e),this._driver=n,this.element=t,this.subInstructions=r,this._enterClassName=i,this._leaveClassName=a,this.errors=o,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=zl,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=u||new XD(this._driver,t,0),s.push(this.currentTimeline)}return p(e,[{key:"params",get:function(){return this.options.params}},{key:"updateOptions",value:function(t,r){var i=this;if(t){var a=t,o=this.options;null!=a.duration&&(o.duration=Li(a.duration)),null!=a.delay&&(o.delay=Li(a.delay));var s=a.params;if(s){var u=o.params;u||(u=this.options.params={}),Object.keys(s).forEach(function(l){(!r||!u.hasOwnProperty(l))&&(u[l]=Vl(s[l],u,i.errors))})}}}},{key:"_copyOptions",value:function(){var t={};if(this.options){var r=this.options.params;if(r){var i=t.params={};Object.keys(r).forEach(function(a){i[a]=r[a]})}}return t}},{key:"createSubContext",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0,a=r||this.element,o=new e(this._driver,a,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(a,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}},{key:"transformIntoNewTimeline",value:function(t){return this.previousNode=zl,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}},{key:"appendInstructionToTimeline",value:function(t,r,i){var a={duration:null!=r?r:t.duration,delay:this.currentTimeline.currentTime+(null!=i?i:0)+t.delay,easing:""},o=new n2(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,a,t.stretchStartingKeyframe);return this.timelines.push(o),a}},{key:"incrementTime",value:function(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}},{key:"delayNextStep",value:function(t){t>0&&this.currentTimeline.delayNextStep(t)}},{key:"invokeQuery",value:function(t,r,i,a,o,s){var u=[];if(a&&u.push(this.element),t.length>0){t=(t=t.replace(ZV,"."+this._enterClassName)).replace(JV,"."+this._leaveClassName);var c=this._driver.query(this.element,t,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),u.push.apply(u,ve(c))}return!o&&0==u.length&&s.push('`query("'.concat(r,'")` returned zero elements. (Use `query("').concat(r,'", { optional: true })` if you wish to allow this.)')),u}}]),e}(),XD=function(){function e(n,t,r,i){h(this,e),this._driver=n,this.element=t,this.startTime=r,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}return p(e,[{key:"containsAnimation",value:function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}}},{key:"getCurrentStyleProperties",value:function(){return Object.keys(this._currentKeyframe)}},{key:"currentTime",get:function(){return this.startTime+this.duration}},{key:"delayNextStep",value:function(t){var r=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||r?(this.forwardTime(this.currentTime+t),r&&this.snapshotCurrentStyles()):this.startTime+=t}},{key:"fork",value:function(t,r){return this.applyStylesToKeyframe(),new e(this._driver,t,r||this.currentTime,this._elementTimelineStylesLookup)}},{key:"_loadKeyframe",value:function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))}},{key:"forwardFrame",value:function(){this.duration+=1,this._loadKeyframe()}},{key:"forwardTime",value:function(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}},{key:"_updateStyle",value:function(t,r){this._localTimelineStyles[t]=r,this._globalTimelineStyles[t]=r,this._styleSummary[t]={time:this.currentTime,value:r}}},{key:"allowOnlyTimelineStyles",value:function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}},{key:"applyEmptyStep",value:function(t){var r=this;t&&(this._previousKeyframe.easing=t),Object.keys(this._globalTimelineStyles).forEach(function(i){r._backFill[i]=r._globalTimelineStyles[i]||xr,r._currentKeyframe[i]=xr}),this._currentEmptyStepKeyframe=this._currentKeyframe}},{key:"setStyles",value:function(t,r,i,a){var o=this;r&&(this._previousKeyframe.easing=r);var s=a&&a.params||{},u=function(e,n){var r,t={};return e.forEach(function(i){"*"===i?(r=r||Object.keys(n)).forEach(function(a){t[a]=xr}):ni(i,!1,t)}),t}(t,this._globalTimelineStyles);Object.keys(u).forEach(function(l){var c=Vl(u[l],s,i);o._pendingStyles[l]=c,o._localTimelineStyles.hasOwnProperty(l)||(o._backFill[l]=o._globalTimelineStyles.hasOwnProperty(l)?o._globalTimelineStyles[l]:xr),o._updateStyle(l,c)})}},{key:"applyStylesToKeyframe",value:function(){var t=this,r=this._pendingStyles,i=Object.keys(r);0!=i.length&&(this._pendingStyles={},i.forEach(function(a){t._currentKeyframe[a]=r[a]}),Object.keys(this._localTimelineStyles).forEach(function(a){t._currentKeyframe.hasOwnProperty(a)||(t._currentKeyframe[a]=t._localTimelineStyles[a])}))}},{key:"snapshotCurrentStyles",value:function(){var t=this;Object.keys(this._localTimelineStyles).forEach(function(r){var i=t._localTimelineStyles[r];t._pendingStyles[r]=i,t._updateStyle(r,i)})}},{key:"getFinalKeyframe",value:function(){return this._keyframes.get(this.duration)}},{key:"properties",get:function(){var t=[];for(var r in this._currentKeyframe)t.push(r);return t}},{key:"mergeTimelineCollectedStyles",value:function(t){var r=this;Object.keys(t._styleSummary).forEach(function(i){var a=r._styleSummary[i],o=t._styleSummary[i];(!a||o.time>a.time)&&r._updateStyle(i,o.value)})}},{key:"buildKeyframes",value:function(){var t=this;this.applyStylesToKeyframe();var r=new Set,i=new Set,a=1===this._keyframes.size&&0===this.duration,o=[];this._keyframes.forEach(function(f,d){var v=ni(f,!0);Object.keys(v).forEach(function(g){var m=v[g];"!"==m?r.add(g):m==xr&&i.add(g)}),a||(v.offset=d/t.duration),o.push(v)});var s=r.size?Bl(r.values()):[],u=i.size?Bl(i.values()):[];if(a){var l=o[0],c=Ja(l);l.offset=0,c.offset=1,o=[l,c]}return nv(this.element,o,s,u,this.duration,this.startTime,this.easing,!1)}}]),e}(),n2=function(e){C(t,e);var n=b(t);function t(r,i,a,o,s,u){var l,c=arguments.length>6&&void 0!==arguments[6]&&arguments[6];return h(this,t),(l=n.call(this,r,i,u.delay)).keyframes=a,l.preStyleProps=o,l.postStyleProps=s,l._stretchStartingKeyframe=c,l.timings={duration:u.duration,delay:u.delay,easing:u.easing},l}return p(t,[{key:"containsAnimation",value:function(){return this.keyframes.length>1}},{key:"buildKeyframes",value:function(){var i=this.keyframes,a=this.timings,o=a.delay,s=a.duration,u=a.easing;if(this._stretchStartingKeyframe&&o){var l=[],c=s+o,f=o/c,d=ni(i[0],!1);d.offset=0,l.push(d);var v=ni(i[0],!1);v.offset=JD(f),l.push(v);for(var g=i.length-1,m=1;m<=g;m++){var _=ni(i[m],!1);_.offset=JD((o+_.offset*s)/c),l.push(_)}s=c,o=0,u="",i=l}return nv(this.element,i,this.preStyleProps,this.postStyleProps,s,o,u,!0)}}]),t}(XD);function JD(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,t=Math.pow(10,n-1);return Math.round(e*t)/t}var iv=function e(){h(this,e)},a2=function(e){C(t,e);var n=b(t);function t(){return h(this,t),n.apply(this,arguments)}return p(t,[{key:"normalizePropertyName",value:function(i,a){return Jh(i)}},{key:"normalizeStyleValue",value:function(i,a,o,s){var u="",l=o.toString().trim();if(o2[a]&&0!==o&&"0"!==o)if("number"==typeof o)u="px";else{var c=o.match(/^[+-]?[\d\.]+([a-z]*)$/);c&&0==c[1].length&&s.push("Please provide a CSS unit value for ".concat(i,":").concat(o))}return l+u}}]),t}(iv),o2=function(){return function(e){var n={};return e.forEach(function(t){return n[t]=!0}),n}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","))}();function eE(e,n,t,r,i,a,o,s,u,l,c,f,d){return{type:0,element:e,triggerName:n,isRemovalTransition:i,fromState:t,fromStyles:a,toState:r,toStyles:o,timelines:s,queriedElements:u,preStyleProps:l,postStyleProps:c,totalTime:f,errors:d}}var av={},tE=function(){function e(n,t,r){h(this,e),this._triggerName=n,this.ast=t,this._stateStyles=r}return p(e,[{key:"match",value:function(t,r,i,a){return function(e,n,t,r,i){return e.some(function(a){return a(n,t,r,i)})}(this.ast.matchers,t,r,i,a)}},{key:"buildStyles",value:function(t,r,i){var a=this._stateStyles["*"],o=this._stateStyles[t],s=a?a.buildStyles(r,i):{};return o?o.buildStyles(r,i):s}},{key:"build",value:function(t,r,i,a,o,s,u,l,c,f){var d=[],v=this.ast.options&&this.ast.options.params||av,m=this.buildStyles(i,u&&u.params||av,d),_=l&&l.params||av,E=this.buildStyles(a,_,d),D=new Set,w=new Map,I=new Map,S="void"===a,O={params:K(K({},v),_)},ie=f?[]:ZD(t,r,this.ast.animation,o,s,m,E,O,c,d),Ce=0;if(ie.forEach(function(Ue){Ce=Math.max(Ue.duration+Ue.delay,Ce)}),d.length)return eE(r,this._triggerName,i,a,S,m,E,[],[],w,I,Ce,d);ie.forEach(function(Ue){var ft=Ue.element,fn=ln(w,ft,{});Ue.preStyleProps.forEach(function(At){return fn[At]=!0});var Mn=ln(I,ft,{});Ue.postStyleProps.forEach(function(At){return Mn[At]=!0}),ft!==r&&D.add(ft)});var Oe=Bl(D.values());return eE(r,this._triggerName,i,a,S,m,E,ie,Oe,w,I,Ce)}}]),e}(),l2=function(){function e(n,t,r){h(this,e),this.styles=n,this.defaultParams=t,this.normalizer=r}return p(e,[{key:"buildStyles",value:function(t,r){var i=this,a={},o=Ja(this.defaultParams);return Object.keys(t).forEach(function(s){var u=t[s];null!=u&&(o[s]=u)}),this.styles.styles.forEach(function(s){if("string"!=typeof s){var u=s;Object.keys(u).forEach(function(l){var c=u[l];c.length>1&&(c=Vl(c,o,r));var f=i.normalizer.normalizePropertyName(l,r);c=i.normalizer.normalizeStyleValue(l,f,c,r),a[f]=c})}}),a}}]),e}(),f2=function(){function e(n,t,r){var i=this;h(this,e),this.name=n,this.ast=t,this._normalizer=r,this.transitionFactories=[],this.states={},t.states.forEach(function(a){i.states[a.name]=new l2(a.style,a.options&&a.options.params||{},r)}),nE(this.states,"true","1"),nE(this.states,"false","0"),t.transitions.forEach(function(a){i.transitionFactories.push(new tE(n,a,i.states))}),this.fallbackTransition=function(e,n,t){return new tE(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(o,s){return!0}],options:null,queryCount:0,depCount:0},n)}(n,this.states)}return p(e,[{key:"containsQueries",get:function(){return this.ast.queryCount>0}},{key:"matchTransition",value:function(t,r,i,a){return this.transitionFactories.find(function(s){return s.match(t,r,i,a)})||null}},{key:"matchStyles",value:function(t,r,i){return this.fallbackTransition.buildStyles(t,r,i)}}]),e}();function nE(e,n,t){e.hasOwnProperty(n)?e.hasOwnProperty(t)||(e[t]=e[n]):e.hasOwnProperty(t)&&(e[n]=e[t])}var h2=new rv,v2=function(){function e(n,t,r){h(this,e),this.bodyNode=n,this._driver=t,this._normalizer=r,this._animations={},this._playersById={},this.players=[]}return p(e,[{key:"register",value:function(t,r){var i=[],a=YD(this._driver,r,i);if(i.length)throw new Error("Unable to build the animation due to the following errors: ".concat(i.join("\n")));this._animations[t]=a}},{key:"_buildPlayer",value:function(t,r,i){var a=t.element,o=RD(this._driver,this._normalizer,a,t.keyframes,r,i);return this._driver.animate(a,o,t.duration,t.delay,t.easing,[],!0)}},{key:"create",value:function(t,r){var u,i=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=[],s=this._animations[t],l=new Map;if(s?(u=ZD(this._driver,r,s,jD,Yh,{},{},a,h2,o)).forEach(function(d){var v=ln(l,d.element,{});d.postStyleProps.forEach(function(g){return v[g]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),u=[]),o.length)throw new Error("Unable to create the animation due to the following errors: ".concat(o.join("\n")));l.forEach(function(d,v){Object.keys(d).forEach(function(g){d[g]=i._driver.computeStyle(v,g,xr)})});var c=u.map(function(d){var v=l.get(d.element);return i._buildPlayer(d,{},v)}),f=ti(c);return this._playersById[t]=f,f.onDestroy(function(){return i.destroy(t)}),this.players.push(f),f}},{key:"destroy",value:function(t){var r=this._getPlayer(t);r.destroy(),delete this._playersById[t];var i=this.players.indexOf(r);i>=0&&this.players.splice(i,1)}},{key:"_getPlayer",value:function(t){var r=this._playersById[t];if(!r)throw new Error("Unable to find the timeline player referenced by ".concat(t));return r}},{key:"listen",value:function(t,r,i,a){var o=Hh(r,"","","");return Bh(this._getPlayer(t),i,o,a),function(){}}},{key:"command",value:function(t,r,i,a){if("register"!=i)if("create"!=i){var s=this._getPlayer(t);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(a[0]));break;case"destroy":this.destroy(t)}}else this.create(t,r,a[0]||{});else this.register(t,a[0])}}]),e}(),rE="ng-animate-queued",iE="ng-animate-disabled",aE=".ng-animate-disabled",p2="ng-star-inserted",y2=[],oE={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},_2={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Sn="__ng_removed",ov=function(){function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";h(this,e),this.namespaceId=t;var r=n&&n.hasOwnProperty("value"),i=r?n.value:n;if(this.value=E2(i),r){var a=Ja(n);delete a.value,this.options=a}else this.options={};this.options.params||(this.options.params={})}return p(e,[{key:"params",get:function(){return this.options.params}},{key:"absorbOptions",value:function(t){var r=t.params;if(r){var i=this.options.params;Object.keys(r).forEach(function(a){null==i[a]&&(i[a]=r[a])})}}}]),e}(),Ds="void",sv=new ov(Ds),b2=function(){function e(n,t,r){h(this,e),this.id=n,this.hostElement=t,this._engine=r,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,An(t,this._hostClassName)}return p(e,[{key:"listen",value:function(t,r,i,a){var o=this;if(!this._triggers.hasOwnProperty(r))throw new Error('Unable to listen on the animation trigger event "'.concat(i,'" because the animation trigger "').concat(r,"\" doesn't exist!"));if(null==i||0==i.length)throw new Error('Unable to listen on the animation trigger "'.concat(r,'" because the provided event is undefined!'));if(!function(e){return"start"==e||"done"==e}(i))throw new Error('The provided animation trigger event "'.concat(i,'" for the animation trigger "').concat(r,'" is not supported!'));var s=ln(this._elementListeners,t,[]),u={name:r,phase:i,callback:a};s.push(u);var l=ln(this._engine.statesByElement,t,{});return l.hasOwnProperty(r)||(An(t,Pl),An(t,Pl+"-"+r),l[r]=sv),function(){o._engine.afterFlush(function(){var c=s.indexOf(u);c>=0&&s.splice(c,1),o._triggers[r]||delete l[r]})}}},{key:"register",value:function(t,r){return!this._triggers[t]&&(this._triggers[t]=r,!0)}},{key:"_getTrigger",value:function(t){var r=this._triggers[t];if(!r)throw new Error('The provided animation trigger "'.concat(t,'" has not been registered!'));return r}},{key:"trigger",value:function(t,r,i){var a=this,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=this._getTrigger(r),u=new uv(this.id,r,t),l=this._engine.statesByElement.get(t);l||(An(t,Pl),An(t,Pl+"-"+r),this._engine.statesByElement.set(t,l={}));var c=l[r],f=new ov(i,this.id),d=i&&i.hasOwnProperty("value");!d&&c&&f.absorbOptions(c.options),l[r]=f,c||(c=sv);var v=f.value===Ds;if(v||c.value!==f.value){var E=ln(this._engine.playersByElement,t,[]);E.forEach(function(I){I.namespaceId==a.id&&I.triggerName==r&&I.queued&&I.destroy()});var D=s.matchTransition(c.value,f.value,t,f.params),w=!1;if(!D){if(!o)return;D=s.fallbackTransition,w=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:r,transition:D,fromState:c,toState:f,player:u,isFallbackTransition:w}),w||(An(t,rE),u.onStart(function(){eo(t,rE)})),u.onDone(function(){var I=a.players.indexOf(u);I>=0&&a.players.splice(I,1);var S=a._engine.playersByElement.get(t);if(S){var O=S.indexOf(u);O>=0&&S.splice(O,1)}}),this.players.push(u),E.push(u),u}if(!A2(c.params,f.params)){var g=[],m=s.matchStyles(c.value,c.params,g),_=s.matchStyles(f.value,f.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(function(){Vi(t,m),fr(t,_)})}}},{key:"deregister",value:function(t){var r=this;delete this._triggers[t],this._engine.statesByElement.forEach(function(i,a){delete i[t]}),this._elementListeners.forEach(function(i,a){r._elementListeners.set(a,i.filter(function(o){return o.name!=t}))})}},{key:"clearElementCache",value:function(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);var r=this._engine.playersByElement.get(t);r&&(r.forEach(function(i){return i.destroy()}),this._engine.playersByElement.delete(t))}},{key:"_signalRemovalForInnerTriggers",value:function(t,r){var i=this,a=this._engine.driver.query(t,Nl,!0);a.forEach(function(o){if(!o[Sn]){var s=i._engine.fetchNamespacesByElement(o);s.size?s.forEach(function(u){return u.triggerLeaveAnimation(o,r,!1,!0)}):i.clearElementCache(o)}}),this._engine.afterFlushAnimationsDone(function(){return a.forEach(function(o){return i.clearElementCache(o)})})}},{key:"triggerLeaveAnimation",value:function(t,r,i,a){var o=this,s=this._engine.statesByElement.get(t);if(s){var u=[];if(Object.keys(s).forEach(function(l){if(o._triggers[l]){var c=o.trigger(t,l,Ds,a);c&&u.push(c)}}),u.length)return this._engine.markElementAsRemoved(this.id,t,!0,r),i&&ti(u).onDone(function(){return o._engine.processLeaveNode(t)}),!0}return!1}},{key:"prepareLeaveAnimationListeners",value:function(t){var r=this,i=this._elementListeners.get(t),a=this._engine.statesByElement.get(t);if(i&&a){var o=new Set;i.forEach(function(s){var u=s.name;if(!o.has(u)){o.add(u);var c=r._triggers[u].fallbackTransition,f=a[u]||sv,d=new ov(Ds),v=new uv(r.id,u,t);r._engine.totalQueuedPlayers++,r._queue.push({element:t,triggerName:u,transition:c,fromState:f,toState:d,player:v,isFallbackTransition:!0})}})}}},{key:"removeNode",value:function(t,r){var i=this,a=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,r),!this.triggerLeaveAnimation(t,r,!0)){var o=!1;if(a.totalAnimations){var s=a.players.length?a.playersByQueriedElement.get(t):[];if(s&&s.length)o=!0;else for(var u=t;u=u.parentNode;)if(a.statesByElement.get(u)){o=!0;break}}if(this.prepareLeaveAnimationListeners(t),o)a.markElementAsRemoved(this.id,t,!1,r);else{var c=t[Sn];(!c||c===oE)&&(a.afterFlush(function(){return i.clearElementCache(t)}),a.destroyInnerAnimations(t),a._onRemovalComplete(t,r))}}}},{key:"insertNode",value:function(t,r){An(t,this._hostClassName)}},{key:"drainQueuedTransitions",value:function(t){var r=this,i=[];return this._queue.forEach(function(a){var o=a.player;if(!o.destroyed){var s=a.element,u=r._elementListeners.get(s);u&&u.forEach(function(l){if(l.name==a.triggerName){var c=Hh(s,a.triggerName,a.fromState.value,a.toState.value);c._data=t,Bh(a.player,l.phase,c,l.callback)}}),o.markedForDestroy?r._engine.afterFlush(function(){o.destroy()}):i.push(a)}}),this._queue=[],i.sort(function(a,o){var s=a.transition.ast.depCount,u=o.transition.ast.depCount;return 0==s||0==u?s-u:r._engine.driver.containsElement(a.element,o.element)?1:-1})}},{key:"destroy",value:function(t){this.players.forEach(function(r){return r.destroy()}),this._signalRemovalForInnerTriggers(this.hostElement,t)}},{key:"elementContainsData",value:function(t){var r=!1;return this._elementListeners.has(t)&&(r=!0),!!this._queue.find(function(i){return i.element===t})||r}}]),e}(),C2=function(){function e(n,t,r){h(this,e),this.bodyNode=n,this.driver=t,this._normalizer=r,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=function(i,a){}}return p(e,[{key:"_onRemovalComplete",value:function(t,r){this.onRemovalComplete(t,r)}},{key:"queuedPlayers",get:function(){var t=[];return this._namespaceList.forEach(function(r){r.players.forEach(function(i){i.queued&&t.push(i)})}),t}},{key:"createNamespace",value:function(t,r){var i=new b2(t,r,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,r)?this._balanceNamespaceList(i,r):(this.newHostElements.set(r,i),this.collectEnterElement(r)),this._namespaceLookup[t]=i}},{key:"_balanceNamespaceList",value:function(t,r){var i=this._namespaceList.length-1;if(i>=0){for(var a=!1,o=i;o>=0;o--)if(this.driver.containsElement(this._namespaceList[o].hostElement,r)){this._namespaceList.splice(o+1,0,t),a=!0;break}a||this._namespaceList.splice(0,0,t)}else this._namespaceList.push(t);return this.namespacesByHostElement.set(r,t),t}},{key:"register",value:function(t,r){var i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,r)),i}},{key:"registerTrigger",value:function(t,r,i){var a=this._namespaceLookup[t];a&&a.register(r,i)&&this.totalAnimations++}},{key:"destroy",value:function(t,r){var i=this;if(t){var a=this._fetchNamespace(t);this.afterFlush(function(){i.namespacesByHostElement.delete(a.hostElement),delete i._namespaceLookup[t];var o=i._namespaceList.indexOf(a);o>=0&&i._namespaceList.splice(o,1)}),this.afterFlushAnimationsDone(function(){return a.destroy(r)})}}},{key:"_fetchNamespace",value:function(t){return this._namespaceLookup[t]}},{key:"fetchNamespacesByElement",value:function(t){var r=new Set,i=this.statesByElement.get(t);if(i)for(var a=Object.keys(i),o=0;o=0&&this.collectedLeaveElements.splice(s,1)}if(t){var u=this._fetchNamespace(t);u&&u.insertNode(r,i)}a&&this.collectEnterElement(r)}}},{key:"collectEnterElement",value:function(t){this.collectedEnterElements.push(t)}},{key:"markElementAsDisabled",value:function(t,r){r?this.disabledNodes.has(t)||(this.disabledNodes.add(t),An(t,iE)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),eo(t,iE))}},{key:"removeNode",value:function(t,r,i,a){if(Wl(r)){var o=t?this._fetchNamespace(t):null;if(o?o.removeNode(r,a):this.markElementAsRemoved(t,r,!1,a),i){var s=this.namespacesByHostElement.get(r);s&&s.id!==t&&s.removeNode(r,a)}}else this._onRemovalComplete(r,a)}},{key:"markElementAsRemoved",value:function(t,r,i,a){this.collectedLeaveElements.push(r),r[Sn]={namespaceId:t,setForRemoval:a,hasAnimation:i,removedBeforeQueried:!1}}},{key:"listen",value:function(t,r,i,a,o){return Wl(r)?this._fetchNamespace(t).listen(r,i,a,o):function(){}}},{key:"_buildInstruction",value:function(t,r,i,a,o){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,a,t.fromState.options,t.toState.options,r,o)}},{key:"destroyInnerAnimations",value:function(t){var r=this,i=this.driver.query(t,Nl,!0);i.forEach(function(a){return r.destroyActiveAnimationsForElement(a)}),0!=this.playersByQueriedElement.size&&(i=this.driver.query(t,$h,!0)).forEach(function(a){return r.finishActiveQueriedAnimationOnElement(a)})}},{key:"destroyActiveAnimationsForElement",value:function(t){var r=this.playersByElement.get(t);r&&r.forEach(function(i){i.queued?i.markedForDestroy=!0:i.destroy()})}},{key:"finishActiveQueriedAnimationOnElement",value:function(t){var r=this.playersByQueriedElement.get(t);r&&r.forEach(function(i){return i.finish()})}},{key:"whenRenderingDone",value:function(){var t=this;return new Promise(function(r){if(t.players.length)return ti(t.players).onDone(function(){return r()});r()})}},{key:"processLeaveNode",value:function(t){var r=this,i=t[Sn];if(i&&i.setForRemoval){if(t[Sn]=oE,i.namespaceId){this.destroyInnerAnimations(t);var a=this._fetchNamespace(i.namespaceId);a&&a.clearElementCache(t)}this._onRemovalComplete(t,i.setForRemoval)}this.driver.matchesElement(t,aE)&&this.markElementAsDisabled(t,!1),this.driver.query(t,aE,!0).forEach(function(o){r.markElementAsDisabled(o,!1)})}},{key:"flush",value:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,i=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(d,v){return t._balanceNamespaceList(d,v)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var a=0;a=0;fn--)this._namespaceList[fn].drainQueuedTransitions(r).forEach(function(H){var J=H.player,ue=H.element;if(Ue.push(J),i.collectedEnterElements.length){var mt=ue[Sn];if(mt&&mt.setForMove)return void J.destroy()}var Wi=!v||!i.driver.containsElement(v,ue),co=Ce.get(ue),pc=_.get(ue),Nt=i._buildInstruction(H,a,pc,co,Wi);if(Nt.errors&&Nt.errors.length)ft.push(Nt);else{if(Wi)return J.onStart(function(){return Vi(ue,Nt.fromStyles)}),J.onDestroy(function(){return fr(ue,Nt.toStyles)}),void o.push(J);if(H.isFallbackTransition)return J.onStart(function(){return Vi(ue,Nt.fromStyles)}),J.onDestroy(function(){return fr(ue,Nt.toStyles)}),void o.push(J);Nt.timelines.forEach(function($n){return $n.stretchStartingKeyframe=!0}),a.append(ue,Nt.timelines),u.push({instruction:Nt,player:J,element:ue}),Nt.queriedElements.forEach(function($n){return ln(l,$n,[]).push(J)}),Nt.preStyleProps.forEach(function($n,qi){var mc=Object.keys($n);if(mc.length){var Ki=c.get(qi);Ki||c.set(qi,Ki=new Set),mc.forEach(function(vg){return Ki.add(vg)})}}),Nt.postStyleProps.forEach(function($n,qi){var mc=Object.keys($n),Ki=f.get(qi);Ki||f.set(qi,Ki=new Set),mc.forEach(function(vg){return Ki.add(vg)})})}});if(ft.length){var At=[];ft.forEach(function(H){At.push("@".concat(H.triggerName," has failed due to:\n")),H.errors.forEach(function(J){return At.push("- ".concat(J,"\n"))})}),Ue.forEach(function(H){return H.destroy()}),this.reportError(At)}var xn=new Map,Yn=new Map;u.forEach(function(H){var J=H.element;a.has(J)&&(Yn.set(J,J),i._beforeAnimationBuild(H.player.namespaceId,H.instruction,xn))}),o.forEach(function(H){var J=H.element;i._getPreviousPlayers(J,!1,H.namespaceId,H.triggerName,null).forEach(function(mt){ln(xn,J,[]).push(mt),mt.destroy()})});var Ui=D.filter(function(H){return fE(H,c,f)}),zi=new Map;uE(zi,this.driver,I,f,xr).forEach(function(H){fE(H,c,f)&&Ui.push(H)});var Vs=new Map;m.forEach(function(H,J){uE(Vs,i.driver,new Set(H),c,"!")}),Ui.forEach(function(H){var J=zi.get(H),ue=Vs.get(H);zi.set(H,K(K({},J),ue))});var Bs=[],hc=[],js={};u.forEach(function(H){var J=H.element,ue=H.player,mt=H.instruction;if(a.has(J)){if(d.has(J))return ue.onDestroy(function(){return fr(J,mt.toStyles)}),ue.disabled=!0,ue.overrideTotalTime(mt.totalTime),void o.push(ue);var Wi=js;if(Yn.size>1){for(var co=J,pc=[];co=co.parentNode;){var Nt=Yn.get(co);if(Nt){Wi=Nt;break}pc.push(co)}pc.forEach(function(qi){return Yn.set(qi,Wi)})}var hg=i._buildAnimation(ue.namespaceId,mt,xn,s,Vs,zi);if(ue.setRealPlayer(hg),Wi===js)Bs.push(ue);else{var $n=i.playersByElement.get(Wi);$n&&$n.length&&(ue.parentPlayer=ti($n)),o.push(ue)}}else Vi(J,mt.fromStyles),ue.onDestroy(function(){return fr(J,mt.toStyles)}),hc.push(ue),d.has(J)&&o.push(ue)}),hc.forEach(function(H){var J=s.get(H.element);if(J&&J.length){var ue=ti(J);H.setRealPlayer(ue)}}),o.forEach(function(H){H.parentPlayer?H.syncPlayerEvents(H.parentPlayer):H.destroy()});for(var Hs=0;Hs0?this.driver.animate(t.element,r,t.duration,t.delay,t.easing,i):new Xa(t.duration,t.delay)}}]),e}(),uv=function(){function e(n,t,r){h(this,e),this.namespaceId=n,this.triggerName=t,this.element=r,this._player=new Xa,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return p(e,[{key:"setRealPlayer",value:function(t){var r=this;this._containsRealPlayer||(this._player=t,Object.keys(this._queuedCallbacks).forEach(function(i){r._queuedCallbacks[i].forEach(function(a){return Bh(t,i,void 0,a)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}},{key:"getRealPlayer",value:function(){return this._player}},{key:"overrideTotalTime",value:function(t){this.totalTime=t}},{key:"syncPlayerEvents",value:function(t){var r=this,i=this._player;i.triggerCallback&&t.onStart(function(){return i.triggerCallback("start")}),t.onDone(function(){return r.finish()}),t.onDestroy(function(){return r.destroy()})}},{key:"_queueEvent",value:function(t,r){ln(this._queuedCallbacks,t,[]).push(r)}},{key:"onDone",value:function(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}},{key:"onStart",value:function(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}},{key:"onDestroy",value:function(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}},{key:"init",value:function(){this._player.init()}},{key:"hasStarted",value:function(){return!this.queued&&this._player.hasStarted()}},{key:"play",value:function(){!this.queued&&this._player.play()}},{key:"pause",value:function(){!this.queued&&this._player.pause()}},{key:"restart",value:function(){!this.queued&&this._player.restart()}},{key:"finish",value:function(){this._player.finish()}},{key:"destroy",value:function(){this.destroyed=!0,this._player.destroy()}},{key:"reset",value:function(){!this.queued&&this._player.reset()}},{key:"setPosition",value:function(t){this.queued||this._player.setPosition(t)}},{key:"getPosition",value:function(){return this.queued?0:this._player.getPosition()}},{key:"triggerCallback",value:function(t){var r=this._player;r.triggerCallback&&r.triggerCallback(t)}}]),e}();function E2(e){return null!=e?e:null}function Wl(e){return e&&1===e.nodeType}function sE(e,n){var t=e.style.display;return e.style.display=null!=n?n:"none",t}function uE(e,n,t,r,i){var a=[];t.forEach(function(u){return a.push(sE(u))});var o=[];r.forEach(function(u,l){var c={};u.forEach(function(f){var d=c[f]=n.computeStyle(l,f,i);(!d||0==d.length)&&(l[Sn]=_2,o.push(l))}),e.set(l,c)});var s=0;return t.forEach(function(u){return sE(u,a[s++])}),o}function lE(e,n){var t=new Map;if(e.forEach(function(s){return t.set(s,[])}),0==n.length)return t;var i=new Set(n),a=new Map;function o(s){if(!s)return 1;var u=a.get(s);if(u)return u;var l=s.parentNode;return u=t.has(l)?l:i.has(l)?1:o(l),a.set(s,u),u}return n.forEach(function(s){var u=o(s);1!==u&&t.get(u).push(s)}),t}var ql="$$classes";function An(e,n){if(e.classList)e.classList.add(n);else{var t=e[ql];t||(t=e[ql]={}),t[n]=!0}}function eo(e,n){if(e.classList)e.classList.remove(n);else{var t=e[ql];t&&delete t[n]}}function w2(e,n,t){ti(t).onDone(function(){return e.processLeaveNode(n)})}function cE(e,n){for(var t=0;t0&&void 0!==arguments[0]?arguments[0]:-1;this._transitionEngine.flush(t)}},{key:"players",get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)}},{key:"whenRenderingDone",value:function(){return this._transitionEngine.whenRenderingDone()}}]),e}();function dE(e,n){var t=null,r=null;return Array.isArray(n)&&n.length?(t=lv(n[0]),n.length>1&&(r=lv(n[n.length-1]))):n&&(t=lv(n)),t||r?new M2(e,t,r):null}var M2=function(){var e=function(){function n(t,r,i){h(this,n),this._element=t,this._startStyles=r,this._endStyles=i,this._state=0;var a=n.initialStylesByElement.get(t);a||n.initialStylesByElement.set(t,a={}),this._initialStyles=a}return p(n,[{key:"start",value:function(){this._state<1&&(this._startStyles&&fr(this._element,this._startStyles,this._initialStyles),this._state=1)}},{key:"finish",value:function(){this.start(),this._state<2&&(fr(this._element,this._initialStyles),this._endStyles&&(fr(this._element,this._endStyles),this._endStyles=null),this._state=1)}},{key:"destroy",value:function(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(Vi(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Vi(this._element,this._endStyles),this._endStyles=null),fr(this._element,this._initialStyles),this._state=3)}}]),n}();return e.initialStylesByElement=new WeakMap,e}();function lv(e){for(var n=null,t=Object.keys(e),r=0;r=this._delay&&i>=this._duration&&this.finish()}},{key:"finish",value:function(){this._finished||(this._finished=!0,this._onDoneFn(),mE(this._element,this._eventFn,!0))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,n){var r=fv(e,"").split(","),i=cv(r,n);i>=0&&(r.splice(i,1),Ql(e,"",r.join(",")))}(this._element,this._name))}}]),e}();function gE(e,n,t){Ql(e,"PlayState",t,pE(e,n))}function pE(e,n){var t=fv(e,"");return t.indexOf(",")>0?cv(t.split(","),n):cv([t],n)}function cv(e,n){for(var t=0;t=0)return t;return-1}function mE(e,n,t){t?e.removeEventListener(vE,n):e.addEventListener(vE,n)}function Ql(e,n,t,r){var i=hE+n;if(null!=r){var a=e.style[i];if(a.length){var o=a.split(",");o[r]=t,t=o.join(",")}}e.style[i]=t}function fv(e,n){return e.style[hE+n]||""}var yE=function(){function e(n,t,r,i,a,o,s,u){h(this,e),this.element=n,this.keyframes=t,this.animationName=r,this._duration=i,this._delay=a,this._finalStyles=s,this._specialStyles=u,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this.currentSnapshot={},this._state=0,this.easing=o||"linear",this.totalTime=i+a,this._buildStyler()}return p(e,[{key:"onStart",value:function(t){this._onStartFns.push(t)}},{key:"onDone",value:function(t){this._onDoneFns.push(t)}},{key:"onDestroy",value:function(t){this._onDestroyFns.push(t)}},{key:"destroy",value:function(){this.init(),!(this._state>=4)&&(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])}},{key:"_flushDoneFns",value:function(){this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[]}},{key:"_flushStartFns",value:function(){this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]}},{key:"finish",value:function(){this.init(),!(this._state>=3)&&(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())}},{key:"setPosition",value:function(t){this._styler.setPosition(t)}},{key:"getPosition",value:function(){return this._styler.getPosition()}},{key:"hasStarted",value:function(){return this._state>=2}},{key:"init",value:function(){this._state>=1||(this._state=1,this._styler.apply(),this._delay&&this._styler.pause())}},{key:"play",value:function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()}},{key:"pause",value:function(){this.init(),this._styler.pause()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"reset",value:function(){this._state=0,this._styler.destroy(),this._buildStyler(),this._styler.apply()}},{key:"_buildStyler",value:function(){var t=this;this._styler=new R2(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return t.finish()})}},{key:"triggerCallback",value:function(t){var r="start"==t?this._onStartFns:this._onDoneFns;r.forEach(function(i){return i()}),r.length=0}},{key:"beforeDestroy",value:function(){var t=this;this.init();var r={};if(this.hasStarted()){var i=this._state>=3;Object.keys(this._finalStyles).forEach(function(a){"offset"!=a&&(r[a]=i?t._finalStyles[a]:ev(t.element,a))})}this.currentSnapshot=r}}]),e}(),V2=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this)).element=r,a._startingStyles={},a.__initialized=!1,a._styles=LD(i),a}return p(t,[{key:"init",value:function(){var i=this;this.__initialized||!this._startingStyles||(this.__initialized=!0,Object.keys(this._styles).forEach(function(a){i._startingStyles[a]=i.element.style[a]}),q(Y(t.prototype),"init",this).call(this))}},{key:"play",value:function(){var i=this;!this._startingStyles||(this.init(),Object.keys(this._styles).forEach(function(a){return i.element.style.setProperty(a,i._styles[a])}),q(Y(t.prototype),"play",this).call(this))}},{key:"destroy",value:function(){var i=this;!this._startingStyles||(Object.keys(this._startingStyles).forEach(function(a){var o=i._startingStyles[a];o?i.element.style.setProperty(a,o):i.element.style.removeProperty(a)}),this._startingStyles=null,q(Y(t.prototype),"destroy",this).call(this))}}]),t}(Xa),B2="gen_css_kf_",bE=function(){function e(){h(this,e),this._count=0}return p(e,[{key:"validateStyleProperty",value:function(t){return zh(t)}},{key:"matchesElement",value:function(t,r){return Wh(t,r)}},{key:"containsElement",value:function(t,r){return qh(t,r)}},{key:"query",value:function(t,r,i){return Kh(t,r,i)}},{key:"computeStyle",value:function(t,r,i){return window.getComputedStyle(t)[r]}},{key:"buildKeyframeElement",value:function(t,r,i){i=i.map(function(u){return LD(u)});var a="@keyframes ".concat(r," {\n"),o="";i.forEach(function(u){o=" ";var l=parseFloat(u.offset);a+="".concat(o).concat(100*l,"% {\n"),o+=" ",Object.keys(u).forEach(function(c){var f=u[c];switch(c){case"offset":return;case"easing":return void(f&&(a+="".concat(o,"animation-timing-function: ").concat(f,";\n")));default:return void(a+="".concat(o).concat(c,": ").concat(f,";\n"))}}),a+="".concat(o,"}\n")}),a+="}\n";var s=document.createElement("style");return s.textContent=a,s}},{key:"animate",value:function(t,r,i,a,o){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],l=s.filter(function(E){return E instanceof yE}),c={};WD(i,a)&&l.forEach(function(E){var D=E.currentSnapshot;Object.keys(D).forEach(function(w){return c[w]=D[w]})});var f=H2(r=qD(t,r,c));if(0==i)return new V2(t,f);var d="".concat(B2).concat(this._count++),v=this.buildKeyframeElement(t,d,r),g=j2(t);g.appendChild(v);var m=dE(t,r),_=new yE(t,r,d,i,a,o,f,m);return _.onDestroy(function(){return G2(v)}),_}}]),e}();function j2(e){var n,t=null===(n=e.getRootNode)||void 0===n?void 0:n.call(e);return"undefined"!=typeof ShadowRoot&&t instanceof ShadowRoot?t:document.head}function H2(e){var n={};return e&&(Array.isArray(e)?e:[e]).forEach(function(r){Object.keys(r).forEach(function(i){"offset"==i||"easing"==i||(n[i]=r[i])})}),n}function G2(e){e.parentNode.removeChild(e)}var DE=function(){function e(n,t,r,i){h(this,e),this.element=n,this.keyframes=t,this.options=r,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=r.duration,this._delay=r.delay||0,this.time=this._duration+this._delay}return p(e,[{key:"_onFinish",value:function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])}},{key:"init",value:function(){this._buildPlayer(),this._preparePlayerBeforeStart()}},{key:"_buildPlayer",value:function(){var t=this;if(!this._initialized){this._initialized=!0;var r=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,r,this.options),this._finalKeyframe=r.length?r[r.length-1]:{},this.domPlayer.addEventListener("finish",function(){return t._onFinish()})}}},{key:"_preparePlayerBeforeStart",value:function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}},{key:"_triggerWebAnimation",value:function(t,r,i){return t.animate(r,i)}},{key:"onStart",value:function(t){this._onStartFns.push(t)}},{key:"onDone",value:function(t){this._onDoneFns.push(t)}},{key:"onDestroy",value:function(t){this._onDestroyFns.push(t)}},{key:"play",value:function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}},{key:"pause",value:function(){this.init(),this.domPlayer.pause()}},{key:"finish",value:function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}},{key:"reset",value:function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}},{key:"_resetDomPlayerState",value:function(){this.domPlayer&&this.domPlayer.cancel()}},{key:"restart",value:function(){this.reset(),this.play()}},{key:"hasStarted",value:function(){return this._started}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(t){return t()}),this._onDestroyFns=[])}},{key:"setPosition",value:function(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}},{key:"getPosition",value:function(){return this.domPlayer.currentTime/this.time}},{key:"totalTime",get:function(){return this._delay+this._duration}},{key:"beforeDestroy",value:function(){var t=this,r={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(i){"offset"!=i&&(r[i]=t._finished?t._finalKeyframe[i]:ev(t.element,i))}),this.currentSnapshot=r}},{key:"triggerCallback",value:function(t){var r="start"==t?this._onStartFns:this._onDoneFns;r.forEach(function(i){return i()}),r.length=0}}]),e}(),U2=function(){function e(){h(this,e),this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(EE().toString()),this._cssKeyframesDriver=new bE}return p(e,[{key:"validateStyleProperty",value:function(t){return zh(t)}},{key:"matchesElement",value:function(t,r){return Wh(t,r)}},{key:"containsElement",value:function(t,r){return qh(t,r)}},{key:"query",value:function(t,r,i){return Kh(t,r,i)}},{key:"computeStyle",value:function(t,r,i){return window.getComputedStyle(t)[r]}},{key:"overrideWebAnimationsSupport",value:function(t){this._isNativeImpl=t}},{key:"animate",value:function(t,r,i,a,o){var s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],u=arguments.length>6?arguments[6]:void 0,l=!u&&!this._isNativeImpl;if(l)return this._cssKeyframesDriver.animate(t,r,i,a,o,s);var c=0==a?"both":"forwards",f={duration:i,delay:a,fill:c};o&&(f.easing=o);var d={},v=s.filter(function(m){return m instanceof DE});WD(i,a)&&v.forEach(function(m){var _=m.currentSnapshot;Object.keys(_).forEach(function(E){return d[E]=_[E]})});var g=dE(t,r=qD(t,r=r.map(function(m){return ni(m,!1)}),d));return new DE(t,r,f,g)}}]),e}();function EE(){return FD()&&Element.prototype.animate||{}}var W2=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a){var o;return h(this,r),(o=t.call(this))._nextAnimationId=0,o._renderer=i.createRenderer(a.body,{id:"0",encapsulation:Kt.None,styles:[],data:{animation:[]}}),o}return p(r,[{key:"build",value:function(a){var o=this._nextAnimationId.toString();this._nextAnimationId++;var s=Array.isArray(a)?MD(a):a;return kE(this._renderer,null,o,"register",[s]),new q2(o,this._renderer)}}]),r}(AD);return e.\u0275fac=function(t){return new(t||e)(k(Mi),k(pe))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),q2=function(e){C(t,e);var n=b(t);function t(r,i){var a;return h(this,t),(a=n.call(this))._id=r,a._renderer=i,a}return p(t,[{key:"create",value:function(i,a){return new K2(this._id,i,a||{},this._renderer)}}]),t}(MV),K2=function(){function e(n,t,r,i){h(this,e),this.id=n,this.element=t,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",r)}return p(e,[{key:"_listen",value:function(t,r){return this._renderer.listen(this.element,"@@".concat(this.id,":").concat(t),r)}},{key:"_command",value:function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a=0&&r3&&void 0!==arguments[3])||arguments[3];this.delegate.insertBefore(t,r,i),this.engine.onInsert(this.namespaceId,r,t,a)}},{key:"removeChild",value:function(t,r,i){this.engine.onRemove(this.namespaceId,r,this.delegate,i)}},{key:"selectRootElement",value:function(t,r){return this.delegate.selectRootElement(t,r)}},{key:"parentNode",value:function(t){return this.delegate.parentNode(t)}},{key:"nextSibling",value:function(t){return this.delegate.nextSibling(t)}},{key:"setAttribute",value:function(t,r,i,a){this.delegate.setAttribute(t,r,i,a)}},{key:"removeAttribute",value:function(t,r,i){this.delegate.removeAttribute(t,r,i)}},{key:"addClass",value:function(t,r){this.delegate.addClass(t,r)}},{key:"removeClass",value:function(t,r){this.delegate.removeClass(t,r)}},{key:"setStyle",value:function(t,r,i,a){this.delegate.setStyle(t,r,i,a)}},{key:"removeStyle",value:function(t,r,i){this.delegate.removeStyle(t,r,i)}},{key:"setProperty",value:function(t,r,i){"@"==r.charAt(0)&&r==wE?this.disableAnimations(t,!!i):this.delegate.setProperty(t,r,i)}},{key:"setValue",value:function(t,r){this.delegate.setValue(t,r)}},{key:"listen",value:function(t,r,i){return this.delegate.listen(t,r,i)}},{key:"disableAnimations",value:function(t,r){this.engine.disableAnimations(t,r)}}]),e}(),Y2=function(e){C(t,e);var n=b(t);function t(r,i,a,o){var s;return h(this,t),(s=n.call(this,i,a,o)).factory=r,s.namespaceId=i,s}return p(t,[{key:"setProperty",value:function(i,a,o){"@"==a.charAt(0)?"."==a.charAt(1)&&a==wE?this.disableAnimations(i,o=void 0===o||!!o):this.engine.process(this.namespaceId,i,a.substr(1),o):this.delegate.setProperty(i,a,o)}},{key:"listen",value:function(i,a,o){var s=this;if("@"==a.charAt(0)){var u=function(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(i),l=a.substr(1),c="";if("@"!=l.charAt(0)){var f=function(e){var n=e.indexOf(".");return[e.substring(0,n),e.substr(n+1)]}(l),d=Te(f,2);l=d[0],c=d[1]}return this.engine.listen(this.namespaceId,u,l,c,function(v){s.factory.scheduleListenerCallback(v._data||-1,o,v)})}return this.delegate.listen(i,a,o)}}]),t}(SE),X2=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o){return h(this,r),t.call(this,i.body,a,o)}return p(r,[{key:"ngOnDestroy",value:function(){this.flush()}}]),r}(Kl);return e.\u0275fac=function(t){return new(t||e)(k(pe),k(Qh),k(iv))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),to=new j("AnimationModuleType"),AE=[{provide:AD,useClass:W2},{provide:iv,useFactory:function(){return new a2}},{provide:Kl,useClass:X2},{provide:Mi,useFactory:function(e,n,t){return new Q2(e,n,t)},deps:[Fl,Kl,we]}],ME=[{provide:Qh,useFactory:function(){return"function"==typeof EE()?new U2:new bE}},{provide:to,useValue:"BrowserAnimations"}].concat(AE),nB=[{provide:Qh,useClass:VD},{provide:to,useValue:"NoopAnimations"}].concat(AE),rB=function(){var e=function(){function n(){h(this,n)}return p(n,null,[{key:"withConfig",value:function(r){return{ngModule:n,providers:r.disableAnimations?nB:ME}}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({providers:ME,imports:[wD]}),e}();function $l(e,n){return new ze(function(t){var r=e.length;if(0!==r)for(var i=new Array(r),a=0,o=0,s=function(c){var f=po(e[c]),d=!1;t.add(f.subscribe({next:function(g){d||(d=!0,o++),i[c]=g},error:function(g){return t.error(g)},complete:function(){(++a===r||!d)&&(o===r&&t.next(n?n.reduce(function(g,m,_){return g[m]=i[_],g},{}):i),t.complete())}}))},u=0;ue?{max:{max:e,actual:n.value}}:null}}(t)}},{key:"required",value:function(t){return function(e){return ri(e.value)?{required:!0}:null}(t)}},{key:"requiredTrue",value:function(t){return function(e){return!0===e.value?null:{required:!0}}(t)}},{key:"email",value:function(t){return function(e){return ri(e.value)||lB.test(e.value)?null:{email:!0}}(t)}},{key:"minLength",value:function(t){return function(e){return function(n){return ri(n.value)||!FE(n.value)?null:n.value.lengthe?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}}(t)}},{key:"pattern",value:function(t){return function(e){return e?("string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),function(r){if(ri(r.value))return null;var i=r.value;return n.test(i)?null:{pattern:{requiredPattern:t,actualValue:i}}}):Es;var n,t}(t)}},{key:"nullValidator",value:function(t){return null}},{key:"compose",value:function(t){return WE(t)}},{key:"composeAsync",value:function(t){return qE(t)}}]),e}();function Es(e){return null}function jE(e){return null!=e}function HE(e){var n=Hu(e)?po(e):e;return sd(n),n}function GE(e){var n={};return e.forEach(function(t){n=null!=t?K(K({},n),t):n}),0===Object.keys(n).length?null:n}function UE(e,n){return n.map(function(t){return t(e)})}function zE(e){return e.map(function(n){return function(e){return!e.validate}(n)?n:function(t){return n.validate(t)}})}function WE(e){if(!e)return null;var n=e.filter(jE);return 0==n.length?null:function(t){return GE(UE(t,n))}}function hv(e){return null!=e?WE(zE(e)):null}function qE(e){if(!e)return null;var n=e.filter(jE);return 0==n.length?null:function(t){return function(){for(var e=arguments.length,n=new Array(e),t=0;t0&&void 0!==arguments[0]?arguments[0]:void 0;this.control&&this.control.reset(t)}},{key:"hasError",value:function(t,r){return!!this.control&&this.control.hasError(t,r)}},{key:"getError",value:function(t,r){return this.control?this.control.getError(t,r):null}}]),e}(),qt=function(e){C(t,e);var n=b(t);function t(){return h(this,t),n.apply(this,arguments)}return p(t,[{key:"formDirective",get:function(){return null}},{key:"path",get:function(){return null}}]),t}(XE),Tr=function(e){C(t,e);var n=b(t);function t(){var r;return h(this,t),(r=n.apply(this,arguments))._parent=null,r.name=null,r.valueAccessor=null,r}return t}(XE),JE=function(){function e(n){h(this,e),this._cd=n}return p(e,[{key:"is",value:function(t){var r,i,a;return"submitted"===t?!(null===(a=this._cd)||void 0===a||!a.submitted):!(null===(r=this._cd)||void 0===r||null===(i=r.control)||void 0===i||!i[t])}}]),e}(),ek=function(){var e=function(n){C(r,n);var t=b(r);function r(i){return h(this,r),t.call(this,i)}return r}(JE);return e.\u0275fac=function(t){return new(t||e)(y(Tr,2))},e.\u0275dir=x({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,r){2&t&&$t("ng-untouched",r.is("untouched"))("ng-touched",r.is("touched"))("ng-pristine",r.is("pristine"))("ng-dirty",r.is("dirty"))("ng-valid",r.is("valid"))("ng-invalid",r.is("invalid"))("ng-pending",r.is("pending"))},features:[N]}),e}(),tk=function(){var e=function(n){C(r,n);var t=b(r);function r(i){return h(this,r),t.call(this,i)}return r}(JE);return e.\u0275fac=function(t){return new(t||e)(y(qt,10))},e.\u0275dir=x({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,r){2&t&&$t("ng-untouched",r.is("untouched"))("ng-touched",r.is("touched"))("ng-pristine",r.is("pristine"))("ng-dirty",r.is("dirty"))("ng-valid",r.is("valid"))("ng-invalid",r.is("invalid"))("ng-pending",r.is("pending"))("ng-submitted",r.is("submitted"))},features:[N]}),e}();function Jl(e,n){return[].concat(ve(n.path),[e])}function ks(e,n){yv(e,n),n.valueAccessor.writeValue(e.value),function(e,n){n.valueAccessor.registerOnChange(function(t){e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nk(e,n)})}(e,n),function(e,n){var t=function(i,a){n.valueAccessor.writeValue(i),a&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(function(){e._unregisterOnChange(t)})}(e,n),function(e,n){n.valueAccessor.registerOnTouched(function(){e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nk(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function(e,n){if(n.valueAccessor.setDisabledState){var t=function(i){n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(function(){e._unregisterOnDisabledChange(t)})}}(e,n)}function ec(e,n){var r=function(){};n.valueAccessor&&(n.valueAccessor.registerOnChange(r),n.valueAccessor.registerOnTouched(r)),nc(e,n),e&&(n._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(function(){}))}function tc(e,n){e.forEach(function(t){t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function yv(e,n){var t=QE(e);null!==n.validator?e.setValidators(KE(t,n.validator)):"function"==typeof t&&e.setValidators([t]);var r=YE(e);null!==n.asyncValidator?e.setAsyncValidators(KE(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);var i=function(){return e.updateValueAndValidity()};tc(n._rawValidators,i),tc(n._rawAsyncValidators,i)}function nc(e,n){var t=!1;if(null!==e){if(null!==n.validator){var r=QE(e);if(Array.isArray(r)&&r.length>0){var i=r.filter(function(u){return u!==n.validator});i.length!==r.length&&(t=!0,e.setValidators(i))}}if(null!==n.asyncValidator){var a=YE(e);if(Array.isArray(a)&&a.length>0){var o=a.filter(function(u){return u!==n.asyncValidator});o.length!==a.length&&(t=!0,e.setAsyncValidators(o))}}}var s=function(){};return tc(n._rawValidators,s),tc(n._rawAsyncValidators,s),t}function nk(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function rk(e,n){yv(e,n)}function _v(e,n){if(!e.hasOwnProperty("model"))return!1;var t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}function ik(e,n){e._syncPendingControls(),n.forEach(function(t){var r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}function bv(e,n){if(!n)return null;Array.isArray(n);var t=void 0,r=void 0,i=void 0;return n.forEach(function(a){a.constructor===dv?t=a:function(e){return Object.getPrototypeOf(e.constructor)===ji}(a)?r=a:i=a}),i||r||t||null}function rc(e,n){var t=e.indexOf(n);t>-1&&e.splice(t,1)}var ws="VALID",ic="INVALID",no="PENDING",Ss="DISABLED";function Cv(e){return(Ev(e)?e.validators:e)||null}function ak(e){return Array.isArray(e)?hv(e):e||null}function Dv(e,n){return(Ev(n)?n.asyncValidators:e)||null}function ok(e){return Array.isArray(e)?vv(e):e||null}function Ev(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var kv=function(){function e(n,t){h(this,e),this._hasOwnPendingAsyncValidator=!1,this._onCollectionChange=function(){},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=n,this._rawAsyncValidators=t,this._composedValidatorFn=ak(this._rawValidators),this._composedAsyncValidatorFn=ok(this._rawAsyncValidators)}return p(e,[{key:"validator",get:function(){return this._composedValidatorFn},set:function(t){this._rawValidators=this._composedValidatorFn=t}},{key:"asyncValidator",get:function(){return this._composedAsyncValidatorFn},set:function(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}},{key:"parent",get:function(){return this._parent}},{key:"valid",get:function(){return this.status===ws}},{key:"invalid",get:function(){return this.status===ic}},{key:"pending",get:function(){return this.status==no}},{key:"disabled",get:function(){return this.status===Ss}},{key:"enabled",get:function(){return this.status!==Ss}},{key:"dirty",get:function(){return!this.pristine}},{key:"untouched",get:function(){return!this.touched}},{key:"updateOn",get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}},{key:"setValidators",value:function(t){this._rawValidators=t,this._composedValidatorFn=ak(t)}},{key:"setAsyncValidators",value:function(t){this._rawAsyncValidators=t,this._composedAsyncValidatorFn=ok(t)}},{key:"addValidators",value:function(t){this.setValidators($E(t,this._rawValidators))}},{key:"addAsyncValidators",value:function(t){this.setAsyncValidators($E(t,this._rawAsyncValidators))}},{key:"removeValidators",value:function(t){this.setValidators(ZE(t,this._rawValidators))}},{key:"removeAsyncValidators",value:function(t){this.setAsyncValidators(ZE(t,this._rawAsyncValidators))}},{key:"hasValidator",value:function(t){return Zl(this._rawValidators,t)}},{key:"hasAsyncValidator",value:function(t){return Zl(this._rawAsyncValidators,t)}},{key:"clearValidators",value:function(){this.validator=null}},{key:"clearAsyncValidators",value:function(){this.asyncValidator=null}},{key:"markAsTouched",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}},{key:"markAllAsTouched",value:function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(t){return t.markAllAsTouched()})}},{key:"markAsUntouched",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(r){r.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}},{key:"markAsDirty",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}},{key:"markAsPristine",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(r){r.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}},{key:"markAsPending",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.status=no,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}},{key:"disable",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._parentMarkedDirty(t.onlySelf);this.status=Ss,this.errors=null,this._forEachChild(function(i){i.disable(K(K({},t),{},{onlySelf:!0}))}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(K(K({},t),{},{skipPristineCheck:r})),this._onDisabledChange.forEach(function(i){return i(!0)})}},{key:"enable",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this._parentMarkedDirty(t.onlySelf);this.status=ws,this._forEachChild(function(i){i.enable(K(K({},t),{},{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(K(K({},t),{},{skipPristineCheck:r})),this._onDisabledChange.forEach(function(i){return i(!1)})}},{key:"_updateAncestors",value:function(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}},{key:"setParent",value:function(t){this._parent=t}},{key:"updateValueAndValidity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ws||this.status===no)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}},{key:"_updateTreeValidity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{emitEvent:!0};this._forEachChild(function(r){return r._updateTreeValidity(t)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}},{key:"_setInitialStatus",value:function(){this.status=this._allControlsDisabled()?Ss:ws}},{key:"_runValidator",value:function(){return this.validator?this.validator(this):null}},{key:"_runAsyncValidator",value:function(t){var r=this;if(this.asyncValidator){this.status=no,this._hasOwnPendingAsyncValidator=!0;var i=HE(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(function(a){r._hasOwnPendingAsyncValidator=!1,r.setErrors(a,{emitEvent:t})})}}},{key:"_cancelExistingSubscription",value:function(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}},{key:"setErrors",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.errors=t,this._updateControlsErrors(!1!==r.emitEvent)}},{key:"get",value:function(t){return function(e,n,t){if(null==n||(Array.isArray(n)||(n=n.split(".")),Array.isArray(n)&&0===n.length))return null;var r=e;return n.forEach(function(i){r=r instanceof As?r.controls.hasOwnProperty(i)?r.controls[i]:null:r instanceof wv&&r.at(i)||null}),r}(this,t)}},{key:"getError",value:function(t,r){var i=r?this.get(r):this;return i&&i.errors?i.errors[t]:null}},{key:"hasError",value:function(t,r){return!!this.getError(t,r)}},{key:"root",get:function(){for(var t=this;t._parent;)t=t._parent;return t}},{key:"_updateControlsErrors",value:function(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}},{key:"_initObservables",value:function(){this.valueChanges=new De,this.statusChanges=new De}},{key:"_calculateStatus",value:function(){return this._allControlsDisabled()?Ss:this.errors?ic:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(no)?no:this._anyControlsHaveStatus(ic)?ic:ws}},{key:"_anyControlsHaveStatus",value:function(t){return this._anyControls(function(r){return r.status===t})}},{key:"_anyControlsDirty",value:function(){return this._anyControls(function(t){return t.dirty})}},{key:"_anyControlsTouched",value:function(){return this._anyControls(function(t){return t.touched})}},{key:"_updatePristine",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}},{key:"_updateTouched",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}},{key:"_isBoxedValue",value:function(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}},{key:"_registerOnCollectionChange",value:function(t){this._onCollectionChange=t}},{key:"_setUpdateStrategy",value:function(t){Ev(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}},{key:"_parentMarkedDirty",value:function(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}]),e}(),ro=function(e){C(t,e);var n=b(t);function t(){var r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,a=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0;return h(this,t),(r=n.call(this,Cv(a),Dv(o,a)))._onChange=[],r._applyFormState(i),r._setUpdateStrategy(a),r._initObservables(),r.updateValueAndValidity({onlySelf:!0,emitEvent:!!r.asyncValidator}),r}return p(t,[{key:"setValue",value:function(i){var a=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.value=this._pendingValue=i,this._onChange.length&&!1!==o.emitModelToViewChange&&this._onChange.forEach(function(s){return s(a.value,!1!==o.emitViewToModelChange)}),this.updateValueAndValidity(o)}},{key:"patchValue",value:function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.setValue(i,a)}},{key:"reset",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._applyFormState(i),this.markAsPristine(a),this.markAsUntouched(a),this.setValue(this.value,a),this._pendingChange=!1}},{key:"_updateValue",value:function(){}},{key:"_anyControls",value:function(i){return!1}},{key:"_allControlsDisabled",value:function(){return this.disabled}},{key:"registerOnChange",value:function(i){this._onChange.push(i)}},{key:"_unregisterOnChange",value:function(i){rc(this._onChange,i)}},{key:"registerOnDisabledChange",value:function(i){this._onDisabledChange.push(i)}},{key:"_unregisterOnDisabledChange",value:function(i){rc(this._onDisabledChange,i)}},{key:"_forEachChild",value:function(i){}},{key:"_syncPendingControls",value:function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}},{key:"_applyFormState",value:function(i){this._isBoxedValue(i)?(this.value=this._pendingValue=i.value,i.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=i}}]),t}(kv),As=function(e){C(t,e);var n=b(t);function t(r,i,a){var o;return h(this,t),(o=n.call(this,Cv(i),Dv(a,i))).controls=r,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return p(t,[{key:"registerControl",value:function(i,a){return this.controls[i]?this.controls[i]:(this.controls[i]=a,a.setParent(this),a._registerOnCollectionChange(this._onCollectionChange),a)}},{key:"addControl",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.registerControl(i,a),this.updateValueAndValidity({emitEvent:o.emitEvent}),this._onCollectionChange()}},{key:"removeControl",value:function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),delete this.controls[i],this.updateValueAndValidity({emitEvent:a.emitEvent}),this._onCollectionChange()}},{key:"setControl",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),delete this.controls[i],a&&this.registerControl(i,a),this.updateValueAndValidity({emitEvent:o.emitEvent}),this._onCollectionChange()}},{key:"contains",value:function(i){return this.controls.hasOwnProperty(i)&&this.controls[i].enabled}},{key:"setValue",value:function(i){var a=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(i),Object.keys(i).forEach(function(s){a._throwIfControlMissing(s),a.controls[s].setValue(i[s],{onlySelf:!0,emitEvent:o.emitEvent})}),this.updateValueAndValidity(o)}},{key:"patchValue",value:function(i){var a=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=i&&(Object.keys(i).forEach(function(s){a.controls[s]&&a.controls[s].patchValue(i[s],{onlySelf:!0,emitEvent:o.emitEvent})}),this.updateValueAndValidity(o))}},{key:"reset",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(o,s){o.reset(i[s],{onlySelf:!0,emitEvent:a.emitEvent})}),this._updatePristine(a),this._updateTouched(a),this.updateValueAndValidity(a)}},{key:"getRawValue",value:function(){return this._reduceChildren({},function(i,a,o){return i[o]=a instanceof ro?a.value:a.getRawValue(),i})}},{key:"_syncPendingControls",value:function(){var i=this._reduceChildren(!1,function(a,o){return!!o._syncPendingControls()||a});return i&&this.updateValueAndValidity({onlySelf:!0}),i}},{key:"_throwIfControlMissing",value:function(i){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[i])throw new Error("Cannot find form control with name: ".concat(i,"."))}},{key:"_forEachChild",value:function(i){var a=this;Object.keys(this.controls).forEach(function(o){var s=a.controls[o];s&&i(s,o)})}},{key:"_setUpControls",value:function(){var i=this;this._forEachChild(function(a){a.setParent(i),a._registerOnCollectionChange(i._onCollectionChange)})}},{key:"_updateValue",value:function(){this.value=this._reduceValue()}},{key:"_anyControls",value:function(i){for(var a=0,o=Object.keys(this.controls);a0||this.disabled}},{key:"_checkAllValuesPresent",value:function(i){this._forEachChild(function(a,o){if(void 0===i[o])throw new Error("Must supply a value for form control with name: '".concat(o,"'."))})}}]),t}(kv),wv=function(e){C(t,e);var n=b(t);function t(r,i,a){var o;return h(this,t),(o=n.call(this,Cv(i),Dv(a,i))).controls=r,o._initObservables(),o._setUpdateStrategy(i),o._setUpControls(),o.updateValueAndValidity({onlySelf:!0,emitEvent:!!o.asyncValidator}),o}return p(t,[{key:"at",value:function(i){return this.controls[i]}},{key:"push",value:function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls.push(i),this._registerControl(i),this.updateValueAndValidity({emitEvent:a.emitEvent}),this._onCollectionChange()}},{key:"insert",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls.splice(i,0,a),this._registerControl(a),this.updateValueAndValidity({emitEvent:o.emitEvent})}},{key:"removeAt",value:function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:a.emitEvent})}},{key:"setControl",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.controls[i]&&this.controls[i]._registerOnCollectionChange(function(){}),this.controls.splice(i,1),a&&(this.controls.splice(i,0,a),this._registerControl(a)),this.updateValueAndValidity({emitEvent:o.emitEvent}),this._onCollectionChange()}},{key:"length",get:function(){return this.controls.length}},{key:"setValue",value:function(i){var a=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._checkAllValuesPresent(i),i.forEach(function(s,u){a._throwIfControlMissing(u),a.at(u).setValue(s,{onlySelf:!0,emitEvent:o.emitEvent})}),this.updateValueAndValidity(o)}},{key:"patchValue",value:function(i){var a=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};null!=i&&(i.forEach(function(s,u){a.at(u)&&a.at(u).patchValue(s,{onlySelf:!0,emitEvent:o.emitEvent})}),this.updateValueAndValidity(o))}},{key:"reset",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._forEachChild(function(o,s){o.reset(i[s],{onlySelf:!0,emitEvent:a.emitEvent})}),this._updatePristine(a),this._updateTouched(a),this.updateValueAndValidity(a)}},{key:"getRawValue",value:function(){return this.controls.map(function(i){return i instanceof ro?i.value:i.getRawValue()})}},{key:"clear",value:function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.controls.length<1||(this._forEachChild(function(a){return a._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity({emitEvent:i.emitEvent}))}},{key:"_syncPendingControls",value:function(){var i=this.controls.reduce(function(a,o){return!!o._syncPendingControls()||a},!1);return i&&this.updateValueAndValidity({onlySelf:!0}),i}},{key:"_throwIfControlMissing",value:function(i){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(i))throw new Error("Cannot find form control at index ".concat(i))}},{key:"_forEachChild",value:function(i){this.controls.forEach(function(a,o){i(a,o)})}},{key:"_updateValue",value:function(){var i=this;this.value=this.controls.filter(function(a){return a.enabled||i.disabled}).map(function(a){return a.value})}},{key:"_anyControls",value:function(i){return this.controls.some(function(a){return a.enabled&&i(a)})}},{key:"_setUpControls",value:function(){var i=this;this._forEachChild(function(a){return i._registerControl(a)})}},{key:"_checkAllValuesPresent",value:function(i){this._forEachChild(function(a,o){if(void 0===i[o])throw new Error("Must supply a value for form control at index: ".concat(o,"."))})}},{key:"_allControlsDisabled",value:function(){var a,i=Lt(this.controls);try{for(i.s();!(a=i.n()).done;)if(a.value.enabled)return!1}catch(s){i.e(s)}finally{i.f()}return this.controls.length>0||this.disabled}},{key:"_registerControl",value:function(i){i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange)}}]),t}(kv),EB={provide:qt,useExisting:Se(function(){return ac})},Ms=function(){return Promise.resolve(null)}(),ac=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a){var o;return h(this,r),(o=t.call(this)).submitted=!1,o._directives=[],o.ngSubmit=new De,o.form=new As({},hv(i),vv(a)),o}return p(r,[{key:"ngAfterViewInit",value:function(){this._setUpdateStrategy()}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"controls",get:function(){return this.form.controls}},{key:"addControl",value:function(a){var o=this;Ms.then(function(){var s=o._findContainer(a.path);a.control=s.registerControl(a.name,a.control),ks(a.control,a),a.control.updateValueAndValidity({emitEvent:!1}),o._directives.push(a)})}},{key:"getControl",value:function(a){return this.form.get(a.path)}},{key:"removeControl",value:function(a){var o=this;Ms.then(function(){var s=o._findContainer(a.path);s&&s.removeControl(a.name),rc(o._directives,a)})}},{key:"addFormGroup",value:function(a){var o=this;Ms.then(function(){var s=o._findContainer(a.path),u=new As({});rk(u,a),s.registerControl(a.name,u),u.updateValueAndValidity({emitEvent:!1})})}},{key:"removeFormGroup",value:function(a){var o=this;Ms.then(function(){var s=o._findContainer(a.path);s&&s.removeControl(a.name)})}},{key:"getFormGroup",value:function(a){return this.form.get(a.path)}},{key:"updateModel",value:function(a,o){var s=this;Ms.then(function(){s.form.get(a.path).setValue(o)})}},{key:"setValue",value:function(a){this.control.setValue(a)}},{key:"onSubmit",value:function(a){return this.submitted=!0,ik(this.form,this._directives),this.ngSubmit.emit(a),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;this.form.reset(a),this.submitted=!1}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}},{key:"_findContainer",value:function(a){return a.pop(),a.length?this.form.get(a):this.form}}]),r}(qt);return e.\u0275fac=function(t){return new(t||e)(y(St,10),y(ii,10))},e.\u0275dir=x({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,r){1&t&&Ve("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xe([EB]),N]}),e}(),wB={provide:Tr,useExisting:Se(function(){return Sv})},lk=function(){return Promise.resolve(null)}(),Sv=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s){var u;return h(this,r),(u=t.call(this)).control=new ro,u._registered=!1,u.update=new De,u._parent=i,u._setValidators(a),u._setAsyncValidators(o),u.valueAccessor=bv(Pe(u),s),u}return p(r,[{key:"ngOnChanges",value:function(a){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in a&&this._updateDisabled(a),_v(a,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"path",get:function(){return this._parent?Jl(this.name,this._parent):[this.name]}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"viewToModelUpdate",value:function(a){this.viewModel=a,this.update.emit(a)}},{key:"_setUpControl",value:function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}},{key:"_setUpdateStrategy",value:function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}},{key:"_isStandalone",value:function(){return!this._parent||!(!this.options||!this.options.standalone)}},{key:"_setUpStandalone",value:function(){ks(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}},{key:"_checkForErrors",value:function(){this._isStandalone()||this._checkParentType(),this._checkName()}},{key:"_checkParentType",value:function(){}},{key:"_checkName",value:function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}},{key:"_updateValue",value:function(a){var o=this;lk.then(function(){o.control.setValue(a,{emitViewToModelChange:!1})})}},{key:"_updateDisabled",value:function(a){var o=this,s=a.isDisabled.currentValue,u=""===s||s&&"false"!==s;lk.then(function(){u&&!o.control.disabled?o.control.disable():!u&&o.control.disabled&&o.control.enable()})}}]),r}(Tr);return e.\u0275fac=function(t){return new(t||e)(y(qt,9),y(St,10),y(ii,10),y(Qn,10))},e.\u0275dir=x({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[xe([wB]),N,dt]}),e}(),ck=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=x({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e}(),dk=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({}),e}(),Av=new j("NgModelWithFormControlWarning"),FB={provide:qt,useExisting:Se(function(){return xs})},xs=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a){var o;return h(this,r),(o=t.call(this)).validators=i,o.asyncValidators=a,o.submitted=!1,o._onCollectionChange=function(){return o._updateDomValue()},o.directives=[],o.form=null,o.ngSubmit=new De,o._setValidators(i),o._setAsyncValidators(a),o}return p(r,[{key:"ngOnChanges",value:function(a){this._checkFormPresent(),a.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}},{key:"ngOnDestroy",value:function(){this.form&&(nc(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(function(){}))}},{key:"formDirective",get:function(){return this}},{key:"control",get:function(){return this.form}},{key:"path",get:function(){return[]}},{key:"addControl",value:function(a){var o=this.form.get(a.path);return ks(o,a),o.updateValueAndValidity({emitEvent:!1}),this.directives.push(a),o}},{key:"getControl",value:function(a){return this.form.get(a.path)}},{key:"removeControl",value:function(a){ec(a.control||null,a),rc(this.directives,a)}},{key:"addFormGroup",value:function(a){this._setUpFormContainer(a)}},{key:"removeFormGroup",value:function(a){this._cleanUpFormContainer(a)}},{key:"getFormGroup",value:function(a){return this.form.get(a.path)}},{key:"addFormArray",value:function(a){this._setUpFormContainer(a)}},{key:"removeFormArray",value:function(a){this._cleanUpFormContainer(a)}},{key:"getFormArray",value:function(a){return this.form.get(a.path)}},{key:"updateModel",value:function(a,o){this.form.get(a.path).setValue(o)}},{key:"onSubmit",value:function(a){return this.submitted=!0,ik(this.form,this.directives),this.ngSubmit.emit(a),!1}},{key:"onReset",value:function(){this.resetForm()}},{key:"resetForm",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;this.form.reset(a),this.submitted=!1}},{key:"_updateDomValue",value:function(){var a=this;this.directives.forEach(function(o){var s=o.control,u=a.form.get(o.path);s!==u&&(ec(s||null,o),u instanceof ro&&(ks(u,o),o.control=u))}),this.form._updateTreeValidity({emitEvent:!1})}},{key:"_setUpFormContainer",value:function(a){var o=this.form.get(a.path);rk(o,a),o.updateValueAndValidity({emitEvent:!1})}},{key:"_cleanUpFormContainer",value:function(a){if(this.form){var o=this.form.get(a.path);if(o){var s=function(e,n){return nc(e,n)}(o,a);s&&o.updateValueAndValidity({emitEvent:!1})}}}},{key:"_updateRegistrations",value:function(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){})}},{key:"_updateValidators",value:function(){yv(this.form,this),this._oldForm&&nc(this._oldForm,this)}},{key:"_checkFormPresent",value:function(){}}]),r}(qt);return e.\u0275fac=function(t){return new(t||e)(y(St,10),y(ii,10))},e.\u0275dir=x({type:e,selectors:[["","formGroup",""]],hostBindings:function(t,r){1&t&&Ve("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[xe([FB]),N,dt]}),e}(),OB={provide:Tr,useExisting:Se(function(){return Tv})},Tv=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s,u){var l;return h(this,r),(l=t.call(this))._ngModelWarningConfig=u,l._added=!1,l.update=new De,l._ngModelWarningSent=!1,l._parent=i,l._setValidators(a),l._setAsyncValidators(o),l.valueAccessor=bv(Pe(l),s),l}return p(r,[{key:"isDisabled",set:function(a){}},{key:"ngOnChanges",value:function(a){this._added||this._setUpControl(),_v(a,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}},{key:"ngOnDestroy",value:function(){this.formDirective&&this.formDirective.removeControl(this)}},{key:"viewToModelUpdate",value:function(a){this.viewModel=a,this.update.emit(a)}},{key:"path",get:function(){return Jl(null==this.name?this.name:this.name.toString(),this._parent)}},{key:"formDirective",get:function(){return this._parent?this._parent.formDirective:null}},{key:"_checkParentType",value:function(){}},{key:"_setUpControl",value:function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0}}]),r}(Tr);return e._ngModelWarningSentOnce=!1,e.\u0275fac=function(t){return new(t||e)(y(qt,13),y(St,10),y(ii,10),y(Qn,10),y(Av,8))},e.\u0275dir=x({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[xe([OB]),N,dt]}),e}(),Mk=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[dk]]}),e}(),YB=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[Mk]}),e}(),xk=function(){var e=function(){function n(){h(this,n)}return p(n,null,[{key:"withConfig",value:function(r){return{ngModule:n,providers:[{provide:Av,useValue:r.warnOnNgModelWithFormControl}]}}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[Mk]}),e}();function $B(e){return void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn}var ZB=function(){var e=function(){function n(){h(this,n)}return p(n,[{key:"group",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=this._reduceControls(r),o=null,s=null,u=void 0;return null!=i&&($B(i)?(o=null!=i.validators?i.validators:null,s=null!=i.asyncValidators?i.asyncValidators:null,u=null!=i.updateOn?i.updateOn:void 0):(o=null!=i.validator?i.validator:null,s=null!=i.asyncValidator?i.asyncValidator:null)),new As(a,{asyncValidators:s,updateOn:u,validators:o})}},{key:"control",value:function(r,i,a){return new ro(r,i,a)}},{key:"array",value:function(r,i,a){var o=this,s=r.map(function(u){return o._createControl(u)});return new wv(s,i,a)}},{key:"_reduceControls",value:function(r){var i=this,a={};return Object.keys(r).forEach(function(o){a[o]=i._createControl(r[o])}),a}},{key:"_createControl",value:function(r){return r instanceof ro||r instanceof As||r instanceof wv?r:Array.isArray(r)?this.control(r[0],r.length>1?r[1]:null,r.length>2?r[2]:null):this.control(r)}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:xk}),e}(),Tk=function(e){C(t,e);var n=b(t);function t(r){var i;return h(this,t),(i=n.call(this))._value=r,i}return p(t,[{key:"value",get:function(){return this.getValue()}},{key:"_subscribe",value:function(i){var a=q(Y(t.prototype),"_subscribe",this).call(this,i);return a&&!a.closed&&i.next(this._value),a}},{key:"getValue",value:function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new Xi;return this._value}},{key:"next",value:function(i){q(Y(t.prototype),"next",this).call(this,this._value=i)}}]),t}(Ne);function Fk(e){for(var n in e){var t=e[n]||"";switch(n){case"display":e.display="flex"===t?["-webkit-flex","flex"]:"inline-flex"===t?["-webkit-inline-flex","inline-flex"]:t;break;case"align-items":case"align-self":case"align-content":case"flex":case"flex-basis":case"flex-flow":case"flex-grow":case"flex-shrink":case"flex-wrap":case"justify-content":e["-webkit-"+n]=t;break;case"flex-direction":e["-webkit-flex-direction"]=t=t||"row",e["flex-direction"]=t;break;case"order":e.order=e["-webkit-"+n]=isNaN(+t)?"0":t}}return e}var Ov="inline",sc=["row","column","row-reverse","column-reverse"];function Rk(e){var t=Te(Ik(e),3);return function(e){return{display:arguments.length>2&&void 0!==arguments[2]&&arguments[2]?"inline-flex":"flex","box-sizing":"border-box","flex-direction":e,"flex-wrap":(arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)||null}}(t[0],t[1],t[2])}function Ik(e){var t=Te((e=e?e.toLowerCase():"").split(" "),3),r=t[0],i=t[1],a=t[2];return sc.find(function(o){return o===r})||(r=sc[0]),i===Ov&&(i=a!==Ov?a:"",a=Ov),[r,XB(i),!!a]}function Ts(e){return Te(Ik(e),1)[0].indexOf("row")>-1}function XB(e){if(e)switch(e.toLowerCase()){case"reverse":case"wrap-reverse":case"reverse-wrap":e="wrap-reverse";break;case"no":case"none":case"nowrap":e="nowrap";break;default:e="wrap"}return e}function Fr(e){if(null==e)throw TypeError("Cannot convert undefined or null to object");for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;h(this,e),this.matches=n,this.mediaQuery=t,this.mqAlias=r,this.suffix=i,this.priority=a,this.property=""}return p(e,[{key:"clone",value:function(){return new e(this.matches,this.mediaQuery,this.mqAlias,this.suffix)}}]),e}(),o3=function(){var e=function(){function n(){h(this,n),this.stylesheet=new Map}return p(n,[{key:"addStyleToElement",value:function(r,i,a){var o=this.stylesheet.get(r);o?o.set(i,a):this.stylesheet.set(r,new Map([[i,a]]))}},{key:"clearStyles",value:function(){this.stylesheet.clear()}},{key:"getStyleForElement",value:function(r,i){var a=this.stylesheet.get(r),o="";if(a){var s=a.get(i);("number"==typeof s||"string"==typeof s)&&(o=s+"")}return o}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),Nv={addFlexToParent:!0,addOrientationBps:!1,disableDefaultBps:!1,disableVendorPrefixes:!1,serverLoaded:!1,useColumnBasisZero:!0,printWithBreakpoints:[],mediaTriggerAutoRestore:!0,ssrObserveBreakpoints:[]},ai=new j("Flex Layout token, config options for the library",{providedIn:"root",factory:function(){return Nv}}),io=new j("FlexLayoutServerLoaded",{providedIn:"root",factory:function(){return!1}}),Lv=new j("Flex Layout token, collect all breakpoints into one provider",{providedIn:"root",factory:function(){return null}});function Nk(e,n){return e=e?e.clone():new Fs,n&&(e.mqAlias=n.alias,e.mediaQuery=n.mediaQuery,e.suffix=n.suffix,e.priority=n.priority),e}var nt=function(){function e(){h(this,e),this.shouldCache=!0}return p(e,[{key:"sideEffect",value:function(t,r,i){}}]),e}(),Be=function(){var e=function(){function n(t,r,i,a){h(this,n),this._serverStylesheet=t,this._serverModuleLoaded=r,this._platformId=i,this.layoutConfig=a}return p(n,[{key:"applyStyleToElement",value:function(r,i){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o={};"string"==typeof i&&(o[i]=a,i=o),o=this.layoutConfig.disableVendorPrefixes?i:Fk(i),this._applyMultiValueStyleToElement(o,r)}},{key:"applyStyleToElements",value:function(r){var i=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this.layoutConfig.disableVendorPrefixes?r:Fk(r);a.forEach(function(s){i._applyMultiValueStyleToElement(o,s)})}},{key:"getFlowDirection",value:function(r){var i="flex-direction",a=this.lookupStyle(r,i);return[a||"row",this.lookupInlineStyle(r,i)||Za(this._platformId)&&this._serverModuleLoaded?a:""]}},{key:"hasWrap",value:function(r){return"wrap"===this.lookupStyle(r,"flex-wrap")}},{key:"lookupAttributeValue",value:function(r,i){return r.getAttribute(i)||""}},{key:"lookupInlineStyle",value:function(r,i){return Pi(this._platformId)?r.style.getPropertyValue(i):this._getServerStyle(r,i)}},{key:"lookupStyle",value:function(r,i){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o="";if(r){var s=o=this.lookupInlineStyle(r,i);s||(Pi(this._platformId)?a||(o=getComputedStyle(r).getPropertyValue(i)):this._serverModuleLoaded&&(o=this._serverStylesheet.getStyleForElement(r,i)))}return o?o.trim():""}},{key:"_applyMultiValueStyleToElement",value:function(r,i){var a=this;Object.keys(r).sort().forEach(function(o){var s=r[o],u=Array.isArray(s)?s:[s];u.sort();var c,l=Lt(u);try{for(l.s();!(c=l.n()).done;){var f=c.value;f=f?f+"":"",Pi(a._platformId)||!a._serverModuleLoaded?Pi(a._platformId)?i.style.setProperty(o,f):a._setServerStyle(i,o,f):a._serverStylesheet.addStyleToElement(i,o,f)}}catch(d){l.e(d)}finally{l.f()}})}},{key:"_setServerStyle",value:function(r,i,a){i=i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();var o=this._readStyleAttribute(r);o[i]=a||"",this._writeStyleAttribute(r,o)}},{key:"_getServerStyle",value:function(r,i){return this._readStyleAttribute(r)[i]||""}},{key:"_readStyleAttribute",value:function(r){var i={},a=r.getAttribute("style");if(a)for(var o=a.split(/;+/g),s=0;s0){var l=u.indexOf(":");if(-1===l)throw new Error("Invalid CSS style: ".concat(u));i[u.substr(0,l).trim()]=u.substr(l+1).trim()}}return i}},{key:"_writeStyleAttribute",value:function(r,i){var a="";for(var o in i)i[o]&&(a+=o+":"+i[o]+";");r.setAttribute("style",a)}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(o3),k(io),k(Dn),k(ai))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function Rs(e,n){return(n&&n.priority||0)-(e&&e.priority||0)}function s3(e,n){return(e.priority||0)-(n.priority||0)}var Vv=function(){var e=function(){function n(t,r,i){h(this,n),this._zone=t,this._platformId=r,this._document=i,this.source=new Tk(new Fs(!0)),this.registry=new Map,this.pendingRemoveListenerFns=[],this._observable$=this.source.asObservable()}return p(n,[{key:"activations",get:function(){var r=[];return this.registry.forEach(function(i,a){i.matches&&r.push(a)}),r}},{key:"isActive",value:function(r){var i=this.registry.get(r);return i?i.matches:this.registerQuery(r).some(function(a){return a.matches})}},{key:"observe",value:function(r){var i=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(r&&r.length){var o=this._observable$.pipe(dr(function(u){return!a||r.indexOf(u.mediaQuery)>-1})),s=new ze(function(u){var l=i.registerQuery(r);if(l.length){var c=l.pop();l.forEach(function(f){u.next(f)}),i.source.next(c)}u.complete()});return Br(s,o)}return this._observable$}},{key:"registerQuery",value:function(r){var i=this,a=Array.isArray(r)?r:[r],o=[];return function(e,n){var t=e.filter(function(o){return!Lk[o]});if(t.length>0){var r=t.join(", ");try{var i=n.createElement("style");if(i.setAttribute("type","text/css"),!i.styleSheet){var a="\n/*\n @angular/flex-layout - workaround for possible browser quirk with mediaQuery listeners\n see http://bit.ly/2sd4HMP\n*/\n@media ".concat(r," {.fx-query-test{ }}\n");i.appendChild(n.createTextNode(a))}n.head.appendChild(i),t.forEach(function(o){return Lk[o]=i})}catch(o){console.error(o)}}}(a,this._document),a.forEach(function(s){var u=function(f){i._zone.run(function(){return i.source.next(new Fs(f.matches,s))})},l=i.registry.get(s);l||((l=i.buildMQL(s)).addListener(u),i.pendingRemoveListenerFns.push(function(){return l.removeListener(u)}),i.registry.set(s,l)),l.matches&&o.push(new Fs(!0,s))}),o}},{key:"ngOnDestroy",value:function(){for(var r;r=this.pendingRemoveListenerFns.pop();)r()}},{key:"buildMQL",value:function(r){return function(e,n){return n&&window.matchMedia("all").addListener?window.matchMedia(e):{matches:"all"===e||""===e,media:e,addListener:function(){},removeListener:function(){},onchange:null,addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){return!1}}}(r,Pi(this._platformId))}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(we),k(Dn),k(pe))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),Lk={},c3=[{alias:"xs",mediaQuery:"screen and (min-width: 0px) and (max-width: 599.98px)",priority:1e3},{alias:"sm",mediaQuery:"screen and (min-width: 600px) and (max-width: 959.98px)",priority:900},{alias:"md",mediaQuery:"screen and (min-width: 960px) and (max-width: 1279.98px)",priority:800},{alias:"lg",mediaQuery:"screen and (min-width: 1280px) and (max-width: 1919.98px)",priority:700},{alias:"xl",mediaQuery:"screen and (min-width: 1920px) and (max-width: 4999.98px)",priority:600},{alias:"lt-sm",overlapping:!0,mediaQuery:"screen and (max-width: 599.98px)",priority:950},{alias:"lt-md",overlapping:!0,mediaQuery:"screen and (max-width: 959.98px)",priority:850},{alias:"lt-lg",overlapping:!0,mediaQuery:"screen and (max-width: 1279.98px)",priority:750},{alias:"lt-xl",overlapping:!0,priority:650,mediaQuery:"screen and (max-width: 1919.98px)"},{alias:"gt-xs",overlapping:!0,mediaQuery:"screen and (min-width: 600px)",priority:-950},{alias:"gt-sm",overlapping:!0,mediaQuery:"screen and (min-width: 960px)",priority:-850},{alias:"gt-md",overlapping:!0,mediaQuery:"screen and (min-width: 1280px)",priority:-750},{alias:"gt-lg",overlapping:!0,mediaQuery:"screen and (min-width: 1920px)",priority:-650}],Vk="(orientation: portrait) and (max-width: 599.98px)",Bk="(orientation: landscape) and (max-width: 959.98px)",jk="(orientation: portrait) and (min-width: 600px) and (max-width: 839.98px)",Hk="(orientation: landscape) and (min-width: 960px) and (max-width: 1279.98px)",Gk="(orientation: portrait) and (min-width: 840px)",Uk="(orientation: landscape) and (min-width: 1280px)",Rr={HANDSET:"".concat(Vk,", ").concat(Bk),TABLET:"".concat(jk," , ").concat(Hk),WEB:"".concat(Gk,", ").concat(Uk," "),HANDSET_PORTRAIT:"".concat(Vk),TABLET_PORTRAIT:"".concat(jk," "),WEB_PORTRAIT:"".concat(Gk),HANDSET_LANDSCAPE:"".concat(Bk),TABLET_LANDSCAPE:"".concat(Hk),WEB_LANDSCAPE:"".concat(Uk)},f3=[{alias:"handset",priority:2e3,mediaQuery:Rr.HANDSET},{alias:"handset.landscape",priority:2e3,mediaQuery:Rr.HANDSET_LANDSCAPE},{alias:"handset.portrait",priority:2e3,mediaQuery:Rr.HANDSET_PORTRAIT},{alias:"tablet",priority:2100,mediaQuery:Rr.TABLET},{alias:"tablet.landscape",priority:2100,mediaQuery:Rr.TABLET_LANDSCAPE},{alias:"tablet.portrait",priority:2100,mediaQuery:Rr.TABLET_PORTRAIT},{alias:"web",priority:2200,mediaQuery:Rr.WEB,overlapping:!0},{alias:"web.landscape",priority:2200,mediaQuery:Rr.WEB_LANDSCAPE,overlapping:!0},{alias:"web.portrait",priority:2200,mediaQuery:Rr.WEB_PORTRAIT,overlapping:!0}],d3=/(\.|-|_)/g;function h3(e){var n=e.length>0?e.charAt(0):"",t=e.length>1?e.slice(1):"";return n.toUpperCase()+t}function g3(e){return e.forEach(function(n){n.suffix||(n.suffix=function(e){return e.replace(d3,"|").split("|").map(h3).join("")}(n.alias),n.overlapping=!!n.overlapping)}),e}var m3=new j("Token (@angular/flex-layout) Breakpoints",{providedIn:"root",factory:function(){var n=bu(Lv),t=bu(ai),r=[].concat.apply([],(n||[]).map(function(a){return Array.isArray(a)?a:[a]}));return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t={};return e.forEach(function(r){t[r.alias]=r}),n.forEach(function(r){t[r.alias]?Fr(t[r.alias],r):t[r.alias]=r}),g3(Object.keys(t).map(function(r){return t[r]}))}((t.disableDefaultBps?[]:c3).concat(t.addOrientationBps?f3:[]),r)}}),Bv=function(){var e=function(){function n(t){h(this,n),this.findByMap=new Map,this.items=ve(t).sort(s3)}return p(n,[{key:"findByAlias",value:function(r){return r?this.findWithPredicate(r,function(i){return i.alias==r}):null}},{key:"findByQuery",value:function(r){return this.findWithPredicate(r,function(i){return i.mediaQuery==r})}},{key:"overlappings",get:function(){return this.items.filter(function(r){return 1==r.overlapping})}},{key:"aliases",get:function(){return this.items.map(function(r){return r.alias})}},{key:"suffixes",get:function(){return this.items.map(function(r){return r.suffix?r.suffix:""})}},{key:"findWithPredicate",value:function(r,i){var a=this.findByMap.get(r);return a||(a=this.items.find(i)||null,this.findByMap.set(r,a)),a||null}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(m3))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),ao="print",y3={alias:ao,mediaQuery:ao,priority:1e3},_3=function(){var e=function(){function n(t,r,i){h(this,n),this.breakpoints=t,this.layoutConfig=r,this._document=i,this.registeredBeforeAfterPrintHooks=!1,this.isPrintingBeforeAfterEvent=!1,this.beforePrintEventListeners=[],this.afterPrintEventListeners=[],this.isPrinting=!1,this.queue=new b3,this.deactivations=[]}return p(n,[{key:"withPrintQuery",value:function(r){return[].concat(ve(r),[ao])}},{key:"isPrintEvent",value:function(r){return r.mediaQuery.startsWith(ao)}},{key:"printAlias",get:function(){return this.layoutConfig.printWithBreakpoints||[]}},{key:"printBreakPoints",get:function(){var r=this;return this.printAlias.map(function(i){return r.breakpoints.findByAlias(i)}).filter(function(i){return null!==i})}},{key:"getEventBreakpoints",value:function(r){var a=this.breakpoints.findByQuery(r.mediaQuery);return(a?[].concat(ve(this.printBreakPoints),[a]):this.printBreakPoints).sort(Rs)}},{key:"updateEvent",value:function(r){var i=this.breakpoints.findByQuery(r.mediaQuery);return this.isPrintEvent(r)&&(i=this.getEventBreakpoints(r)[0],r.mediaQuery=i?i.mediaQuery:""),Nk(r,i)}},{key:"registerBeforeAfterPrintHooks",value:function(r){var i=this;if(this._document.defaultView&&!this.registeredBeforeAfterPrintHooks){this.registeredBeforeAfterPrintHooks=!0;var a=function(){i.isPrinting||(i.isPrintingBeforeAfterEvent=!0,i.startPrinting(r,i.getEventBreakpoints(new Fs(!0,ao))),r.updateStyles())},o=function(){i.isPrintingBeforeAfterEvent=!1,i.isPrinting&&(i.stopPrinting(r),r.updateStyles())};this._document.defaultView.addEventListener("beforeprint",a),this._document.defaultView.addEventListener("afterprint",o),this.beforePrintEventListeners.push(a),this.afterPrintEventListeners.push(o)}}},{key:"interceptEvents",value:function(r){var i=this;return this.registerBeforeAfterPrintHooks(r),function(a){i.isPrintEvent(a)?a.matches&&!i.isPrinting?(i.startPrinting(r,i.getEventBreakpoints(a)),r.updateStyles()):!a.matches&&i.isPrinting&&!i.isPrintingBeforeAfterEvent&&(i.stopPrinting(r),r.updateStyles()):i.collectActivations(a)}}},{key:"blockPropagation",value:function(){var r=this;return function(i){return!(r.isPrinting||r.isPrintEvent(i))}}},{key:"startPrinting",value:function(r,i){this.isPrinting=!0,r.activatedBreakpoints=this.queue.addPrintBreakpoints(i)}},{key:"stopPrinting",value:function(r){r.activatedBreakpoints=this.deactivations,this.deactivations=[],this.queue.clear(),this.isPrinting=!1}},{key:"collectActivations",value:function(r){if(!this.isPrinting||this.isPrintingBeforeAfterEvent)if(r.matches)this.isPrintingBeforeAfterEvent||(this.deactivations=[]);else{var i=this.breakpoints.findByQuery(r.mediaQuery);i&&(this.deactivations.push(i),this.deactivations.sort(Rs))}}},{key:"ngOnDestroy",value:function(){var r=this;this._document.defaultView&&(this.beforePrintEventListeners.forEach(function(i){return r._document.defaultView.removeEventListener("beforeprint",i)}),this.afterPrintEventListeners.forEach(function(i){return r._document.defaultView.removeEventListener("afterprint",i)}))}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(Bv),k(ai),k(pe))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),b3=function(){function e(){h(this,e),this.printBreakpoints=[]}return p(e,[{key:"addPrintBreakpoints",value:function(t){var r=this;return t.push(y3),t.sort(Rs),t.forEach(function(i){return r.addBreakpoint(i)}),this.printBreakpoints}},{key:"addBreakpoint",value:function(t){t&&void 0===this.printBreakpoints.find(function(i){return i.mediaQuery===t.mediaQuery})&&(this.printBreakpoints=function(e){return!!e&&e.mediaQuery.startsWith(ao)}(t)?[t].concat(ve(this.printBreakpoints)):[].concat(ve(this.printBreakpoints),[t]))}},{key:"clear",value:function(){this.printBreakpoints=[]}}]),e}(),Ge=function(){var e=function(){function n(t,r,i){h(this,n),this.matchMedia=t,this.breakpoints=r,this.hook=i,this.activatedBreakpoints=[],this.elementMap=new Map,this.elementKeyMap=new WeakMap,this.watcherMap=new WeakMap,this.updateMap=new WeakMap,this.clearMap=new WeakMap,this.subject=new Ne,this.observeActivations()}return p(n,[{key:"activatedAlias",get:function(){return this.activatedBreakpoints[0]?this.activatedBreakpoints[0].alias:""}},{key:"onMediaChange",value:function(r){var i=this.findByQuery(r.mediaQuery);i&&((r=Nk(r,i)).matches&&-1===this.activatedBreakpoints.indexOf(i)?(this.activatedBreakpoints.push(i),this.activatedBreakpoints.sort(Rs),this.updateStyles()):!r.matches&&-1!==this.activatedBreakpoints.indexOf(i)&&(this.activatedBreakpoints.splice(this.activatedBreakpoints.indexOf(i),1),this.activatedBreakpoints.sort(Rs),this.updateStyles()))}},{key:"init",value:function(r,i,a,o){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[];zk(this.updateMap,r,i,a),zk(this.clearMap,r,i,o),this.buildElementKeyMap(r,i),this.watchExtraTriggers(r,i,s)}},{key:"getValue",value:function(r,i,a){var o=this.elementMap.get(r);if(o){var s=void 0!==a?o.get(a):this.getActivatedValues(o,i);if(s)return s.get(i)}}},{key:"hasValue",value:function(r,i){var a=this.elementMap.get(r);if(a){var o=this.getActivatedValues(a,i);if(o)return void 0!==o.get(i)||!1}return!1}},{key:"setValue",value:function(r,i,a,o){var s=this.elementMap.get(r);if(s){var u=(s.get(o)||new Map).set(i,a);s.set(o,u),this.elementMap.set(r,s)}else s=(new Map).set(o,(new Map).set(i,a)),this.elementMap.set(r,s);var l=this.getValue(r,i);void 0!==l&&this.updateElement(r,i,l)}},{key:"trackValue",value:function(r,i){return this.subject.asObservable().pipe(dr(function(a){return a.element===r&&a.key===i}))}},{key:"updateStyles",value:function(){var r=this;this.elementMap.forEach(function(i,a){var o=new Set(r.elementKeyMap.get(a)),s=r.getActivatedValues(i);s&&s.forEach(function(u,l){r.updateElement(a,l,u),o.delete(l)}),o.forEach(function(u){if(s=r.getActivatedValues(i,u)){var l=s.get(u);r.updateElement(a,u,l)}else r.clearElement(a,u)})})}},{key:"clearElement",value:function(r,i){var a=this.clearMap.get(r);if(a){var o=a.get(i);o&&(o(),this.subject.next({element:r,key:i,value:""}))}}},{key:"updateElement",value:function(r,i,a){var o=this.updateMap.get(r);if(o){var s=o.get(i);s&&(s(a),this.subject.next({element:r,key:i,value:a}))}}},{key:"releaseElement",value:function(r){var i=this.watcherMap.get(r);i&&(i.forEach(function(o){return o.unsubscribe()}),this.watcherMap.delete(r));var a=this.elementMap.get(r);a&&(a.forEach(function(o,s){return a.delete(s)}),this.elementMap.delete(r))}},{key:"triggerUpdate",value:function(r,i){var a=this,o=this.elementMap.get(r);if(o){var s=this.getActivatedValues(o,i);s&&(i?this.updateElement(r,i,s.get(i)):s.forEach(function(u,l){return a.updateElement(r,l,u)}))}}},{key:"buildElementKeyMap",value:function(r,i){var a=this.elementKeyMap.get(r);a||(a=new Set,this.elementKeyMap.set(r,a)),a.add(i)}},{key:"watchExtraTriggers",value:function(r,i,a){var o=this;if(a&&a.length){var s=this.watcherMap.get(r);if(s||(s=new Map,this.watcherMap.set(r,s)),!s.get(i)){var l=Br.apply(void 0,ve(a)).subscribe(function(){var c=o.getValue(r,i);o.updateElement(r,i,c)});s.set(i,l)}}}},{key:"findByQuery",value:function(r){return this.breakpoints.findByQuery(r)}},{key:"getActivatedValues",value:function(r,i){for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:[];this.marshal.init(this.elementRef.nativeElement,this.DIRECTIVE_KEY,this.updateWithValue.bind(this),this.clearStyles.bind(this),r)}},{key:"addStyles",value:function(r,i){var a=this.styleBuilder,o=a.shouldCache,s=this.styleCache.get(r);(!s||!o)&&(s=a.buildStyles(r,i),o&&this.styleCache.set(r,s)),this.mru=K({},s),this.applyStyleToElement(s),a.sideEffect(r,s,i)}},{key:"clearStyles",value:function(){var r=this;Object.keys(this.mru).forEach(function(i){r.mru[i]=""}),this.applyStyleToElement(this.mru),this.mru={}}},{key:"triggerUpdate",value:function(){this.marshal.triggerUpdate(this.nativeElement,this.DIRECTIVE_KEY)}},{key:"getFlexFlowDirection",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(r){var a=this.styler.getFlowDirection(r),o=Te(a,2),s=o[0],u=o[1];if(!u&&i){var l=Rk(s),c=[r];this.styler.applyStyleToElements(l,c)}return s.trim()}return"row"}},{key:"hasWrap",value:function(r){return this.styler.hasWrap(r)}},{key:"applyStyleToElement",value:function(r,i){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.nativeElement;this.styler.applyStyleToElement(a,r,i)}},{key:"setValue",value:function(r,i){this.marshal.setValue(this.nativeElement,this.DIRECTIVE_KEY,r,i)}},{key:"updateWithValue",value:function(r){this.currentValue!==r&&(this.addStyles(r),this.currentValue=r)}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(X),y(nt),y(Be),y(Ge))},e.\u0275dir=x({type:e,features:[dt]}),e}();function Wk(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"1",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"1",r=[n,t,e],i=e.indexOf("calc");if(i>0){r[2]=qk(e.substring(i).trim());var a=e.substr(0,i).trim().split(" ");2==a.length&&(r[0]=a[0],r[1]=a[1])}else if(0==i)r[2]=qk(e.trim());else{var o=e.split(" ");r=3===o.length?o:[n,t,e]}return r}function qk(e){return e.replace(/[\s]/g,"").replace(/[\/\*\+\-]/g," $& ")}function Qe(e){return null!=e&&"false"!=="".concat(e)}function jv(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return k3(e)?Number(e):n}function k3(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}function Kk(e){return Array.isArray(e)?e:[e]}function ct(e){return null==e?"":"string"==typeof e?e:"".concat(e,"px")}function uc(e){return e instanceof X?e.nativeElement:e}function Dt(e){return function(n){return n.lift(new w3(e))}}var w3=function(){function e(n){h(this,e),this.notifier=n}return p(e,[{key:"call",value:function(t,r){var i=new S3(t),a=qs(i,this.notifier);return a&&!i.seenValue?(i.add(a),r.subscribe(i)):i}}]),e}(),S3=function(e){C(t,e);var n=b(t);function t(r){var i;return h(this,t),(i=n.call(this,r)).seenValue=!1,i}return p(t,[{key:"notifyNext",value:function(i,a,o,s,u){this.seenValue=!0,this.complete()}},{key:"notifyComplete",value:function(){}}]),t}(Ks),P3=function(){var e=function(n){C(r,n);var t=b(r);function r(){return h(this,r),t.apply(this,arguments)}return p(r,[{key:"buildStyles",value:function(a,o){return{display:"true"===a?o.display||(o.isServer?"initial":""):"none"}}}]),r}(nt);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),N3=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s,u,l,c){var f;return h(this,r),(f=t.call(this,i,a,o,s)).layoutConfig=u,f.platformId=l,f.serverModuleLoaded=c,f.DIRECTIVE_KEY="show-hide",f.display="",f.hasLayout=!1,f.hasFlexChild=!1,f}return p(r,[{key:"ngAfterViewInit",value:function(){this.trackExtraTriggers();for(var a=Array.from(this.nativeElement.children),o=0;o0&&void 0!==arguments[0])||arguments[0];if(""!==a){var o=Za(this.platformId);this.addStyles(a?"true":"false",{display:this.display,isServer:o}),o&&this.serverModuleLoaded&&this.nativeElement.style.setProperty("display",""),this.marshal.triggerUpdate(this.parentElement,"layout-gap")}}}]),r}(Ke);return e.\u0275fac=function(t){return new(t||e)(y(X),y(P3),y(Be),y(Ge),y(ai),y(Dn),y(io))},e.\u0275dir=x({type:e,features:[N,dt]}),e}(),Hv=new WeakMap,L3=["fxShow","fxShow.print","fxShow.xs","fxShow.sm","fxShow.md","fxShow.lg","fxShow.xl","fxShow.lt-sm","fxShow.lt-md","fxShow.lt-lg","fxShow.lt-xl","fxShow.gt-xs","fxShow.gt-sm","fxShow.gt-md","fxShow.gt-lg","fxHide","fxHide.print","fxHide.xs","fxHide.sm","fxHide.md","fxHide.lg","fxHide.xl","fxHide.lt-sm","fxHide.lt-md","fxHide.lt-lg","fxHide.lt-xl","fxHide.gt-xs","fxHide.gt-sm","fxHide.gt-md","fxHide.gt-lg"],Qk=function(){var e=function(n){C(r,n);var t=b(r);function r(){var i;return h(this,r),(i=t.apply(this,arguments)).inputs=L3,i}return r}(N3);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275dir=x({type:e,selectors:[["","fxShow",""],["","fxShow.print",""],["","fxShow.xs",""],["","fxShow.sm",""],["","fxShow.md",""],["","fxShow.lg",""],["","fxShow.xl",""],["","fxShow.lt-sm",""],["","fxShow.lt-md",""],["","fxShow.lt-lg",""],["","fxShow.lt-xl",""],["","fxShow.gt-xs",""],["","fxShow.gt-sm",""],["","fxShow.gt-md",""],["","fxShow.gt-lg",""],["","fxHide",""],["","fxHide.print",""],["","fxHide.xs",""],["","fxHide.sm",""],["","fxHide.md",""],["","fxHide.lg",""],["","fxHide.xl",""],["","fxHide.lt-sm",""],["","fxHide.lt-md",""],["","fxHide.lt-lg",""],["","fxHide.lt-xl",""],["","fxHide.gt-xs",""],["","fxHide.gt-sm",""],["","fxHide.gt-md",""],["","fxHide.gt-lg",""]],inputs:{fxShow:"fxShow","fxShow.print":"fxShow.print","fxShow.xs":"fxShow.xs","fxShow.sm":"fxShow.sm","fxShow.md":"fxShow.md","fxShow.lg":"fxShow.lg","fxShow.xl":"fxShow.xl","fxShow.lt-sm":"fxShow.lt-sm","fxShow.lt-md":"fxShow.lt-md","fxShow.lt-lg":"fxShow.lt-lg","fxShow.lt-xl":"fxShow.lt-xl","fxShow.gt-xs":"fxShow.gt-xs","fxShow.gt-sm":"fxShow.gt-sm","fxShow.gt-md":"fxShow.gt-md","fxShow.gt-lg":"fxShow.gt-lg",fxHide:"fxHide","fxHide.print":"fxHide.print","fxHide.xs":"fxHide.xs","fxHide.sm":"fxHide.sm","fxHide.md":"fxHide.md","fxHide.lg":"fxHide.lg","fxHide.xl":"fxHide.xl","fxHide.lt-sm":"fxHide.lt-sm","fxHide.lt-md":"fxHide.lt-md","fxHide.lt-lg":"fxHide.lt-lg","fxHide.lt-xl":"fxHide.lt-xl","fxHide.gt-xs":"fxHide.gt-xs","fxHide.gt-sm":"fxHide.gt-sm","fxHide.gt-md":"fxHide.gt-md","fxHide.gt-lg":"fxHide.gt-lg"},features:[N]}),e}(),ew=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pv]]}),e}(),z3=new j("cdk-dir-doc",{providedIn:"root",factory:function(){return bu(pe)}}),oo=function(){var e=function(){function n(t){if(h(this,n),this.value="ltr",this.change=new De,t){var a=(t.body?t.body.dir:null)||(t.documentElement?t.documentElement.dir:null);this.value="ltr"===a||"rtl"===a?a:"ltr"}}return p(n,[{key:"ngOnDestroy",value:function(){this.change.complete()}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(z3,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),so=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({}),e}(),q3=function(){var e=function(n){C(r,n);var t=b(r);function r(){return h(this,r),t.apply(this,arguments)}return p(r,[{key:"buildStyles",value:function(a){return Rk(a)}}]),r}(nt);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),K3=["fxLayout","fxLayout.xs","fxLayout.sm","fxLayout.md","fxLayout.lg","fxLayout.xl","fxLayout.lt-sm","fxLayout.lt-md","fxLayout.lt-lg","fxLayout.lt-xl","fxLayout.gt-xs","fxLayout.gt-sm","fxLayout.gt-md","fxLayout.gt-lg"],Q3=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s){var u;return h(this,r),(u=t.call(this,i,o,a,s)).DIRECTIVE_KEY="layout",u.styleCache=Y3,u.init(),u}return r}(Ke);return e.\u0275fac=function(t){return new(t||e)(y(X),y(Be),y(q3),y(Ge))},e.\u0275dir=x({type:e,features:[N]}),e}(),tw=function(){var e=function(n){C(r,n);var t=b(r);function r(){var i;return h(this,r),(i=t.apply(this,arguments)).inputs=K3,i}return r}(Q3);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275dir=x({type:e,selectors:[["","fxLayout",""],["","fxLayout.xs",""],["","fxLayout.sm",""],["","fxLayout.md",""],["","fxLayout.lg",""],["","fxLayout.xl",""],["","fxLayout.lt-sm",""],["","fxLayout.lt-md",""],["","fxLayout.lt-lg",""],["","fxLayout.lt-xl",""],["","fxLayout.gt-xs",""],["","fxLayout.gt-sm",""],["","fxLayout.gt-md",""],["","fxLayout.gt-lg",""]],inputs:{fxLayout:"fxLayout","fxLayout.xs":"fxLayout.xs","fxLayout.sm":"fxLayout.sm","fxLayout.md":"fxLayout.md","fxLayout.lg":"fxLayout.lg","fxLayout.xl":"fxLayout.xl","fxLayout.lt-sm":"fxLayout.lt-sm","fxLayout.lt-md":"fxLayout.lt-md","fxLayout.lt-lg":"fxLayout.lt-lg","fxLayout.lt-xl":"fxLayout.lt-xl","fxLayout.gt-xs":"fxLayout.gt-xs","fxLayout.gt-sm":"fxLayout.gt-sm","fxLayout.gt-md":"fxLayout.gt-md","fxLayout.gt-lg":"fxLayout.gt-lg"},features:[N]}),e}(),Y3=new Map,sj=function(){var e=function(n){C(r,n);var t=b(r);function r(i){var a;return h(this,r),(a=t.call(this)).layoutConfig=i,a}return p(r,[{key:"buildStyles",value:function(a,o){var u=function(e){return $i(e)||di(e)||Tn(e)||gr()}(a.split(" ")),l=u[0],c=u[1],d=u.slice(2).join(" "),v=o.direction.indexOf("column")>-1?"column":"row",g=Ts(v)?"max-width":"max-height",m=Ts(v)?"min-width":"min-height",_=String(d).indexOf("calc")>-1,E=_||"auto"===d,D=String(d).indexOf("%")>-1&&!_,w=String(d).indexOf("px")>-1||String(d).indexOf("rem")>-1||String(d).indexOf("em")>-1||String(d).indexOf("vw")>-1||String(d).indexOf("vh")>-1,I=_||w;c="0"==c?0:c;var S=!(l="0"==l?0:l)&&!c,O={},ie={"max-width":null,"max-height":null,"min-width":null,"min-height":null};switch(d||""){case"":d="row"===v?"0%":!1!==this.layoutConfig.useColumnBasisZero?"0.000000001px":"auto";break;case"initial":case"nogrow":l=0,d="auto";break;case"grow":d="100%";break;case"noshrink":c=0,d="auto";break;case"auto":break;case"none":l=0,c=0,d="auto";break;default:!I&&!D&&!isNaN(d)&&(d+="%"),"0%"===d&&(I=!0),"0px"===d&&(d="0%"),O=Fr(ie,_?{"flex-grow":l,"flex-shrink":c,"flex-basis":I?d:"100%"}:{flex:"".concat(l," ").concat(c," ").concat(I?d:"100%")})}return O.flex||O["flex-grow"]||(O=Fr(ie,_?{"flex-grow":l,"flex-shrink":c,"flex-basis":d}:{flex:"".concat(l," ").concat(c," ").concat(d)})),"0%"!==d&&"0px"!==d&&"0.000000001px"!==d&&"auto"!==d&&(O[m]=S||I&&l?d:null,O[g]=S||!E&&c?d:null),O[m]||O[g]?o.hasWrap&&(O[_?"flex-basis":"flex"]=O[g]?_?O[g]:"".concat(l," ").concat(c," ").concat(O[g]):_?O[m]:"".concat(l," ").concat(c," ").concat(O[m])):O=Fr(ie,_?{"flex-grow":l,"flex-shrink":c,"flex-basis":d}:{flex:"".concat(l," ").concat(c," ").concat(d)}),Fr(O,{"box-sizing":"border-box"})}}]),r}(nt);return e.\u0275fac=function(t){return new(t||e)(k(ai))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),uj=["fxFlex","fxFlex.xs","fxFlex.sm","fxFlex.md","fxFlex.lg","fxFlex.xl","fxFlex.lt-sm","fxFlex.lt-md","fxFlex.lt-lg","fxFlex.lt-xl","fxFlex.gt-xs","fxFlex.gt-sm","fxFlex.gt-md","fxFlex.gt-lg"],lj=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s,u){var l;return h(this,r),(l=t.call(this,i,s,a,u)).layoutConfig=o,l.marshal=u,l.DIRECTIVE_KEY="flex",l.direction=void 0,l.wrap=void 0,l.flexGrow="1",l.flexShrink="1",l.init(),l}return p(r,[{key:"shrink",get:function(){return this.flexShrink},set:function(a){this.flexShrink=a||"1",this.triggerReflow()}},{key:"grow",get:function(){return this.flexGrow},set:function(a){this.flexGrow=a||"1",this.triggerReflow()}},{key:"ngOnInit",value:function(){this.parentElement&&(this.marshal.trackValue(this.parentElement,"layout").pipe(Dt(this.destroySubject)).subscribe(this.onLayoutChange.bind(this)),this.marshal.trackValue(this.nativeElement,"layout-align").pipe(Dt(this.destroySubject)).subscribe(this.triggerReflow.bind(this)))}},{key:"onLayoutChange",value:function(a){var s=a.value.split(" ");this.direction=s[0],this.wrap=void 0!==s[1]&&"wrap"===s[1],this.triggerUpdate()}},{key:"updateWithValue",value:function(a){void 0===this.direction&&(this.direction=this.getFlexFlowDirection(this.parentElement,!1!==this.layoutConfig.addFlexToParent)),void 0===this.wrap&&(this.wrap=this.hasWrap(this.parentElement));var s=this.direction,u=s.startsWith("row"),l=this.wrap;u&&l?this.styleCache=dj:u&&!l?this.styleCache=cj:!u&&l?this.styleCache=hj:!u&&!l&&(this.styleCache=fj);var f=Wk(String(a).replace(";",""),this.flexGrow,this.flexShrink);this.addStyles(f.join(" "),{direction:s,hasWrap:l})}},{key:"triggerReflow",value:function(){var a=this.activatedValue;if(void 0!==a){var o=Wk(a+"",this.flexGrow,this.flexShrink);this.marshal.updateElement(this.nativeElement,this.DIRECTIVE_KEY,o.join(" "))}}}]),r}(Ke);return e.\u0275fac=function(t){return new(t||e)(y(X),y(Be),y(ai),y(sj),y(Ge))},e.\u0275dir=x({type:e,inputs:{shrink:["fxShrink","shrink"],grow:["fxGrow","grow"]},features:[N]}),e}(),iw=function(){var e=function(n){C(r,n);var t=b(r);function r(){var i;return h(this,r),(i=t.apply(this,arguments)).inputs=uj,i}return r}(lj);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275dir=x({type:e,selectors:[["","fxFlex",""],["","fxFlex.xs",""],["","fxFlex.sm",""],["","fxFlex.md",""],["","fxFlex.lg",""],["","fxFlex.xl",""],["","fxFlex.lt-sm",""],["","fxFlex.lt-md",""],["","fxFlex.lt-lg",""],["","fxFlex.lt-xl",""],["","fxFlex.gt-xs",""],["","fxFlex.gt-sm",""],["","fxFlex.gt-md",""],["","fxFlex.gt-lg",""]],inputs:{fxFlex:"fxFlex","fxFlex.xs":"fxFlex.xs","fxFlex.sm":"fxFlex.sm","fxFlex.md":"fxFlex.md","fxFlex.lg":"fxFlex.lg","fxFlex.xl":"fxFlex.xl","fxFlex.lt-sm":"fxFlex.lt-sm","fxFlex.lt-md":"fxFlex.lt-md","fxFlex.lt-lg":"fxFlex.lt-lg","fxFlex.lt-xl":"fxFlex.lt-xl","fxFlex.gt-xs":"fxFlex.gt-xs","fxFlex.gt-sm":"fxFlex.gt-sm","fxFlex.gt-md":"fxFlex.gt-md","fxFlex.gt-lg":"fxFlex.gt-lg"},features:[N]}),e}(),cj=new Map,fj=new Map,dj=new Map,hj=new Map,Nj=function(){var e=function(n){C(r,n);var t=b(r);function r(){return h(this,r),t.apply(this,arguments)}return p(r,[{key:"buildStyles",value:function(a,o){var s={},l=Te(a.split(" "),2),f=l[1];switch(l[0]){case"center":s["justify-content"]="center";break;case"space-around":s["justify-content"]="space-around";break;case"space-between":s["justify-content"]="space-between";break;case"space-evenly":s["justify-content"]="space-evenly";break;case"end":case"flex-end":s["justify-content"]="flex-end";break;default:s["justify-content"]="flex-start"}switch(f){case"start":case"flex-start":s["align-items"]=s["align-content"]="flex-start";break;case"center":s["align-items"]=s["align-content"]="center";break;case"end":case"flex-end":s["align-items"]=s["align-content"]="flex-end";break;case"space-between":s["align-content"]="space-between",s["align-items"]="stretch";break;case"space-around":s["align-content"]="space-around",s["align-items"]="stretch";break;case"baseline":s["align-content"]="stretch",s["align-items"]="baseline";break;default:s["align-items"]=s["align-content"]="stretch"}return Fr(s,{display:o.inline?"inline-flex":"flex","flex-direction":o.layout,"box-sizing":"border-box","max-width":"stretch"===f?Ts(o.layout)?null:"100%":null,"max-height":"stretch"===f&&Ts(o.layout)?"100%":null})}}]),r}(nt);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),Lj=["fxLayoutAlign","fxLayoutAlign.xs","fxLayoutAlign.sm","fxLayoutAlign.md","fxLayoutAlign.lg","fxLayoutAlign.xl","fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg"],Vj=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s){var u;return h(this,r),(u=t.call(this,i,o,a,s)).DIRECTIVE_KEY="layout-align",u.layout="row",u.inline=!1,u.init(),u.marshal.trackValue(u.nativeElement,"layout").pipe(Dt(u.destroySubject)).subscribe(u.onLayoutChange.bind(Pe(u))),u}return p(r,[{key:"updateWithValue",value:function(a){var o=this.layout||"row",s=this.inline;"row"===o&&s?this.styleCache=Uj:"row"!==o||s?"row-reverse"===o&&s?this.styleCache=Wj:"row-reverse"!==o||s?"column"===o&&s?this.styleCache=zj:"column"!==o||s?"column-reverse"===o&&s?this.styleCache=qj:"column-reverse"===o&&!s&&(this.styleCache=Gj):this.styleCache=jj:this.styleCache=Hj:this.styleCache=Bj,this.addStyles(a,{layout:o,inline:s})}},{key:"onLayoutChange",value:function(a){var o=this,s=a.value.split(" ");this.layout=s[0],this.inline=a.value.includes("inline"),sc.find(function(u){return u===o.layout})||(this.layout="row"),this.triggerUpdate()}}]),r}(Ke);return e.\u0275fac=function(t){return new(t||e)(y(X),y(Be),y(Nj),y(Ge))},e.\u0275dir=x({type:e,features:[N]}),e}(),aw=function(){var e=function(n){C(r,n);var t=b(r);function r(){var i;return h(this,r),(i=t.apply(this,arguments)).inputs=Lj,i}return r}(Vj);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275dir=x({type:e,selectors:[["","fxLayoutAlign",""],["","fxLayoutAlign.xs",""],["","fxLayoutAlign.sm",""],["","fxLayoutAlign.md",""],["","fxLayoutAlign.lg",""],["","fxLayoutAlign.xl",""],["","fxLayoutAlign.lt-sm",""],["","fxLayoutAlign.lt-md",""],["","fxLayoutAlign.lt-lg",""],["","fxLayoutAlign.lt-xl",""],["","fxLayoutAlign.gt-xs",""],["","fxLayoutAlign.gt-sm",""],["","fxLayoutAlign.gt-md",""],["","fxLayoutAlign.gt-lg",""]],inputs:{fxLayoutAlign:"fxLayoutAlign","fxLayoutAlign.xs":"fxLayoutAlign.xs","fxLayoutAlign.sm":"fxLayoutAlign.sm","fxLayoutAlign.md":"fxLayoutAlign.md","fxLayoutAlign.lg":"fxLayoutAlign.lg","fxLayoutAlign.xl":"fxLayoutAlign.xl","fxLayoutAlign.lt-sm":"fxLayoutAlign.lt-sm","fxLayoutAlign.lt-md":"fxLayoutAlign.lt-md","fxLayoutAlign.lt-lg":"fxLayoutAlign.lt-lg","fxLayoutAlign.lt-xl":"fxLayoutAlign.lt-xl","fxLayoutAlign.gt-xs":"fxLayoutAlign.gt-xs","fxLayoutAlign.gt-sm":"fxLayoutAlign.gt-sm","fxLayoutAlign.gt-md":"fxLayoutAlign.gt-md","fxLayoutAlign.gt-lg":"fxLayoutAlign.gt-lg"},features:[N]}),e}(),Bj=new Map,jj=new Map,Hj=new Map,Gj=new Map,Uj=new Map,zj=new Map,Wj=new Map,qj=new Map,ow=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pv,so]]}),e}(),vw=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pv]]}),e}(),vG=function(){var e=function(){function n(t,r){h(this,n),Za(r)&&!t&&console.warn("Warning: Flex Layout loaded on the server without FlexLayoutServerModule")}return p(n,null,[{key:"withConfig",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return{ngModule:n,providers:r.serverLoaded?[{provide:ai,useValue:K(K({},Nv),r)},{provide:Lv,useValue:i,multi:!0},{provide:io,useValue:!0}]:[{provide:ai,useValue:K(K({},Nv),r)},{provide:Lv,useValue:i,multi:!0}]}}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(io),k(Dn))},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[ow,ew,vw],ow,ew,vw]}),e}();function Is(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:0;if(this.closed)return this;this.state=i;var o=this.id,s=this.scheduler;return null!=o&&(this.id=this.recycleAsyncId(s,o,a)),this.pending=!0,this.delay=a,this.id=this.id||this.requestAsyncId(s,this.id,a),this}},{key:"requestAsyncId",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return setInterval(i.flush.bind(i,this),o)}},{key:"recycleAsyncId",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==o&&this.delay===o&&!1===this.pending)return a;clearInterval(a)}},{key:"execute",value:function(i,a){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(i,a);if(o)return o;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}},{key:"_execute",value:function(i,a){var o=!1,s=void 0;try{this.work(i)}catch(u){o=!0,s=!!u&&u||new Error(u)}if(o)return this.unsubscribe(),s}},{key:"_unsubscribe",value:function(){var i=this.id,a=this.scheduler,o=a.actions,s=o.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==s&&o.splice(s,1),null!=i&&(this.id=this.recycleAsyncId(a,i,null)),this.delay=null}}]),t}(AG),yw=function(){var e=function(){function n(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.now;h(this,n),this.SchedulerAction=t,this.now=r}return p(n,[{key:"schedule",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0;return new this.SchedulerAction(this,r).schedule(a,i)}}]),n}();return e.now=function(){return Date.now()},e}(),Kv=function(e){C(t,e);var n=b(t);function t(r){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:yw.now;return h(this,t),(i=n.call(this,r,function(){return t.delegate&&t.delegate!==Pe(i)?t.delegate.now():a()})).actions=[],i.active=!1,i.scheduled=void 0,i}return p(t,[{key:"schedule",value:function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2?arguments[2]:void 0;return t.delegate&&t.delegate!==this?t.delegate.schedule(i,a,o):q(Y(t.prototype),"schedule",this).call(this,i,a,o)}},{key:"flush",value:function(i){var a=this.actions;if(this.active)a.push(i);else{var o;this.active=!0;do{if(o=i.execute(i.state,i.delay))break}while(i=a.shift());if(this.active=!1,o){for(;i=a.shift();)i.unsubscribe();throw o}}}}]),t}(yw),Qv=new Kv(qv);function _w(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qv;return function(t){return t.lift(new MG(e,n))}}var Yv,MG=function(){function e(n,t){h(this,e),this.dueTime=n,this.scheduler=t}return p(e,[{key:"call",value:function(t,r){return r.subscribe(new xG(t,this.dueTime,this.scheduler))}}]),e}(),xG=function(e){C(t,e);var n=b(t);function t(r,i,a){var o;return h(this,t),(o=n.call(this,r)).dueTime=i,o.scheduler=a,o.debouncedSubscription=null,o.lastValue=null,o.hasValue=!1,o}return p(t,[{key:"_next",value:function(i){this.clearDebounce(),this.lastValue=i,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(TG,this.dueTime,this))}},{key:"_complete",value:function(){this.debouncedNext(),this.destination.complete()}},{key:"debouncedNext",value:function(){if(this.clearDebounce(),this.hasValue){var i=this.lastValue;this.lastValue=null,this.hasValue=!1,this.destination.next(i)}}},{key:"clearDebounce",value:function(){var i=this.debouncedSubscription;null!==i&&(this.remove(i),i.unsubscribe(),this.debouncedSubscription=null)}}]),t}(wt);function TG(e){e.debouncedNext()}try{Yv="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(e){Yv=!1}var Os,Hi,Ir=function(){var e=function n(t){h(this,n),this._platformId=t,this.isBrowser=this._platformId?Pi(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!Yv)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT};return e.\u0275prov=P({token:e,factory:e.\u0275fac=function(t){return new(t||e)(k(Dn))},providedIn:"root"}),e}(),bw=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({}),e}();function $v(e){return function(){if(null==Os&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Os=!0}}))}finally{Os=Os||!1}return Os}()?e:!!e.capture}function RG(){if(null==Hi){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Hi=!1;if("scrollBehavior"in document.documentElement.style)Hi=!0;else{var e=Element.prototype.scrollTo;Hi=!!e&&!/\{\s*\[native code\]\s*\}/.test(e.toString())}}return Hi}function Dw(e){return e.composedPath?e.composedPath()[0]:e.target}function Xv(){return"undefined"!=typeof __karma__&&!!__karma__||"undefined"!=typeof jasmine&&!!jasmine||"undefined"!=typeof jest&&!!jest||"undefined"!=typeof Mocha&&!!Mocha}var NG=function(){function e(n){var t=this;h(this,e),this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new Ne,this._typeaheadSubscription=se.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._skipPredicateFn=function(r){return r.disabled},this._pressedLetters=[],this.tabOut=new Ne,this.change=new Ne,n instanceof $u&&n.changes.subscribe(function(r){if(t._activeItem){var a=r.toArray().indexOf(t._activeItem);a>-1&&a!==t._activeItemIndex&&(t._activeItemIndex=a)}})}return p(e,[{key:"skipPredicate",value:function(t){return this._skipPredicateFn=t,this}},{key:"withWrap",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._wrap=t,this}},{key:"withVerticalOrientation",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._vertical=t,this}},{key:"withHorizontalOrientation",value:function(t){return this._horizontal=t,this}},{key:"withAllowedModifierKeys",value:function(t){return this._allowedModifierKeys=t,this}},{key:"withTypeAhead",value:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(Ok(function(i){return t._pressedLetters.push(i)}),_w(r),dr(function(){return t._pressedLetters.length>0}),Vr(function(){return t._pressedLetters.join("")})).subscribe(function(i){for(var a=t._getItemsArray(),o=1;o0&&void 0!==arguments[0])||arguments[0];return this._homeAndEnd=t,this}},{key:"setActiveItem",value:function(t){var r=this._activeItem;this.updateActiveItem(t),this._activeItem!==r&&this.change.next(this._activeItemIndex)}},{key:"onKeydown",value:function(t){var r=this,i=t.keyCode,o=["altKey","ctrlKey","metaKey","shiftKey"].every(function(s){return!t[s]||r._allowedModifierKeys.indexOf(s)>-1});switch(i){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;default:return void((o||Is(t,"shiftKey"))&&(t.key&&1===t.key.length?this._letterKeyStream.next(t.key.toLocaleUpperCase()):(i>=65&&i<=90||i>=48&&i<=57)&&this._letterKeyStream.next(String.fromCharCode(i))))}this._pressedLetters=[],t.preventDefault()}},{key:"activeItemIndex",get:function(){return this._activeItemIndex}},{key:"activeItem",get:function(){return this._activeItem}},{key:"isTyping",value:function(){return this._pressedLetters.length>0}},{key:"setFirstItemActive",value:function(){this._setActiveItemByIndex(0,1)}},{key:"setLastItemActive",value:function(){this._setActiveItemByIndex(this._items.length-1,-1)}},{key:"setNextItemActive",value:function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}},{key:"setPreviousItemActive",value:function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}},{key:"updateActiveItem",value:function(t){var r=this._getItemsArray(),i="number"==typeof t?t:r.indexOf(t),a=r[i];this._activeItem=null==a?null:a,this._activeItemIndex=i}},{key:"_setActiveItemByDelta",value:function(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}},{key:"_setActiveInWrapMode",value:function(t){for(var r=this._getItemsArray(),i=1;i<=r.length;i++){var a=(this._activeItemIndex+t*i+r.length)%r.length;if(!this._skipPredicateFn(r[a]))return void this.setActiveItem(a)}}},{key:"_setActiveInDefaultMode",value:function(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}},{key:"_setActiveItemByIndex",value:function(t,r){var i=this._getItemsArray();if(i[t]){for(;this._skipPredicateFn(i[t]);)if(!i[t+=r])return;this.setActiveItem(t)}}},{key:"_getItemsArray",value:function(){return this._items instanceof $u?this._items.toArray():this._items}}]),e}(),LG=function(e){C(t,e);var n=b(t);function t(){return h(this,t),n.apply(this,arguments)}return p(t,[{key:"setActiveItem",value:function(i){this.activeItem&&this.activeItem.setInactiveStyles(),q(Y(t.prototype),"setActiveItem",this).call(this,i),this.activeItem&&this.activeItem.setActiveStyles()}}]),t}(NG),WG=new j("liveAnnouncerElement",{providedIn:"root",factory:function(){return null}}),KG=new j("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),QG=function(){var e=function(){function n(t,r,i,a){h(this,n),this._ngZone=r,this._defaultOptions=a,this._document=i,this._liveElement=t||this._createLiveElement()}return p(n,[{key:"announce",value:function(r){for(var o,s,i=this,a=this._defaultOptions,u=arguments.length,l=new Array(u>1?u-1:0),c=1;c1&&void 0!==arguments[1]?arguments[1]:0;return function(t){C(i,t);var r=b(i);function i(){var a;h(this,i);for(var o=arguments.length,s=new Array(o),u=0;u2&&void 0!==arguments[2]?arguments[2]:{},o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s=K(K({},Fw),a.animation);a.centered&&(t=o.left+o.width/2,r=o.top+o.height/2);var u=a.radius||f8(t,r,o),l=t-o.left,c=r-o.top,f=s.enterDuration,d=document.createElement("div");d.classList.add("mat-ripple-element"),d.style.left="".concat(l-u,"px"),d.style.top="".concat(c-u,"px"),d.style.height="".concat(2*u,"px"),d.style.width="".concat(2*u,"px"),null!=a.color&&(d.style.backgroundColor=a.color),d.style.transitionDuration="".concat(f,"ms"),this._containerElement.appendChild(d),c8(d),d.style.transform="scale(1)";var v=new s8(this,d,a);return v.state=0,this._activeRipples.add(v),a.persistent||(this._mostRecentTransientRipple=v),this._runTimeoutOutsideZone(function(){var g=v===i._mostRecentTransientRipple;v.state=1,!a.persistent&&(!g||!i._isPointerDown)&&v.fadeOut()},f),v}},{key:"fadeOutRipple",value:function(t){var r=this._activeRipples.delete(t);if(t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),this._activeRipples.size||(this._containerRect=null),r){var i=t.element,a=K(K({},Fw),t.config.animation);i.style.transitionDuration="".concat(a.exitDuration,"ms"),i.style.opacity="0",t.state=2,this._runTimeoutOutsideZone(function(){t.state=3,i.remove()},a.exitDuration)}}},{key:"fadeOutAll",value:function(){this._activeRipples.forEach(function(t){return t.fadeOut()})}},{key:"fadeOutAllNonPersistent",value:function(){this._activeRipples.forEach(function(t){t.config.persistent||t.fadeOut()})}},{key:"setupTriggerEvents",value:function(t){var r=uc(t);!r||r===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=r,this._registerEvents(Rw))}},{key:"handleEvent",value:function(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._registerEvents(Iw),this._pointerUpEventsRegistered=!0)}},{key:"_onMousedown",value:function(t){var r=function(e){return 0===e.offsetX&&0===e.offsetY}(t),i=this._lastTouchStartEvent&&Date.now()1&&void 0!==arguments[1]?arguments[1]:0;this._ngZone.runOutsideAngular(function(){return setTimeout(t,r)})}},{key:"_registerEvents",value:function(t){var r=this;this._ngZone.runOutsideAngular(function(){t.forEach(function(i){r._triggerElement.addEventListener(i,r,eg)})})}},{key:"_removeTriggerEvents",value:function(){var t=this;this._triggerElement&&(Rw.forEach(function(r){t._triggerElement.removeEventListener(r,t,eg)}),this._pointerUpEventsRegistered&&Iw.forEach(function(r){t._triggerElement.removeEventListener(r,t,eg)}))}}]),e}();function c8(e){window.getComputedStyle(e).getPropertyValue("opacity")}function f8(e,n,t){var r=Math.max(Math.abs(e-t.left),Math.abs(e-t.right)),i=Math.max(Math.abs(n-t.top),Math.abs(n-t.bottom));return Math.sqrt(r*r+i*i)}var d8=new j("mat-ripple-global-options"),h8=function(){var e=function(){function n(t,r,i,a,o){h(this,n),this._elementRef=t,this._animationMode=o,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=a||{},this._rippleRenderer=new l8(this,r,t,i)}return p(n,[{key:"disabled",get:function(){return this._disabled},set:function(r){r&&this.fadeOutAllNonPersistent(),this._disabled=r,this._setupTriggerEventsIfEnabled()}},{key:"trigger",get:function(){return this._trigger||this._elementRef.nativeElement},set:function(r){this._trigger=r,this._setupTriggerEventsIfEnabled()}},{key:"ngOnInit",value:function(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}},{key:"ngOnDestroy",value:function(){this._rippleRenderer._removeTriggerEvents()}},{key:"fadeOutAll",value:function(){this._rippleRenderer.fadeOutAll()}},{key:"fadeOutAllNonPersistent",value:function(){this._rippleRenderer.fadeOutAllNonPersistent()}},{key:"rippleConfig",get:function(){return{centered:this.centered,radius:this.radius,color:this.color,animation:K(K(K({},this._globalOptions.animation),"NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}},{key:"rippleDisabled",get:function(){return this.disabled||!!this._globalOptions.disabled}},{key:"_setupTriggerEventsIfEnabled",value:function(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}},{key:"launch",value:function(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0;return"number"==typeof r?this._rippleRenderer.fadeInRipple(r,i,K(K({},this.rippleConfig),a)):this._rippleRenderer.fadeInRipple(0,0,K(K({},this.rippleConfig),r))}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(X),y(we),y(Ir),y(d8,8),y(to,8))},e.\u0275dir=x({type:e,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(t,r){2&t&&$t("mat-ripple-unbounded",r.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),e}(),Ow=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pt,bw],Pt]}),e}(),v8=function(){var e=function n(t){h(this,n),this._animationMode=t,this.state="unchecked",this.disabled=!1};return e.\u0275fac=function(t){return new(t||e)(y(to,8))},e.\u0275cmp=hn({type:e,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(t,r){2&t&&$t("mat-pseudo-checkbox-indeterminate","indeterminate"===r.state)("mat-pseudo-checkbox-checked","checked"===r.state)("mat-pseudo-checkbox-disabled",r.disabled)("_mat-animation-noopable","NoopAnimations"===r._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(t,r){},styles:['.mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n'],encapsulation:2,changeDetection:0}),e}(),g8=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pt]]}),e}(),Pw=new j("MAT_OPTION_PARENT_COMPONENT"),Nw=new j("MatOptgroup"),p8=0,m8=function e(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];h(this,e),this.source=n,this.isUserInput=t},y8=function(){var e=function(){function n(t,r,i,a){h(this,n),this._element=t,this._changeDetectorRef=r,this._parent=i,this.group=a,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-".concat(p8++),this.onSelectionChange=new De,this._stateChanges=new Ne}return p(n,[{key:"multiple",get:function(){return this._parent&&this._parent.multiple}},{key:"selected",get:function(){return this._selected}},{key:"disabled",get:function(){return this.group&&this.group.disabled||this._disabled},set:function(r){this._disabled=Qe(r)}},{key:"disableRipple",get:function(){return this._parent&&this._parent.disableRipple}},{key:"active",get:function(){return this._active}},{key:"viewValue",get:function(){return(this._getHostElement().textContent||"").trim()}},{key:"select",value:function(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"deselect",value:function(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}},{key:"focus",value:function(r,i){var a=this._getHostElement();"function"==typeof a.focus&&a.focus(i)}},{key:"setActiveStyles",value:function(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}},{key:"setInactiveStyles",value:function(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}},{key:"getLabel",value:function(){return this.viewValue}},{key:"_handleKeydown",value:function(r){(13===r.keyCode||32===r.keyCode)&&!Is(r)&&(this._selectViaInteraction(),r.preventDefault())}},{key:"_selectViaInteraction",value:function(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}},{key:"_getAriaSelected",value:function(){return this.selected||!this.multiple&&null}},{key:"_getTabIndex",value:function(){return this.disabled?"-1":"0"}},{key:"_getHostElement",value:function(){return this._element.nativeElement}},{key:"ngAfterViewChecked",value:function(){if(this._selected){var r=this.viewValue;r!==this._mostRecentViewValue&&(this._mostRecentViewValue=r,this._stateChanges.next())}}},{key:"ngOnDestroy",value:function(){this._stateChanges.complete()}},{key:"_emitSelectionChangeEvent",value:function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.onSelectionChange.emit(new m8(this,r))}}]),n}();return e.\u0275fac=function(t){!function(){throw new Error("invalid")}()},e.\u0275dir=x({type:e,inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}}),e}(),Lw=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s){return h(this,r),t.call(this,i,a,o,s)}return r}(y8);return e.\u0275fac=function(t){return new(t||e)(y(X),y(tl),y(Pw,8),y(Nw,8))},e.\u0275cmp=hn({type:e,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-option","mat-focus-indicator"],hostVars:12,hostBindings:function(t,r){1&t&&Ve("click",function(){return r._selectViaInteraction()})("keydown",function(a){return r._handleKeydown(a)}),2&t&&(fd("id",r.id),Rt("tabindex",r._getTabIndex())("aria-selected",r._getAriaSelected())("aria-disabled",r.disabled.toString()),$t("mat-selected",r.selected)("mat-option-multiple",r.multiple)("mat-active",r.active)("mat-option-disabled",r.disabled))},exportAs:["matOption"],features:[N],ngContentSelectors:XG,decls:5,vars:4,consts:[["class","mat-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mat-option-text"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(t,r){1&t&&(Pa(),Ze(0,$G,1,2,"mat-pseudo-checkbox",0),T(1,"span",1),It(2),F(),Ze(3,ZG,2,1,"span",2),Xe(4,"div",3)),2&t&&(Z("ngIf",r.multiple),G(3),Z("ngIf",r.group&&r.group._inert),G(1),Z("matRippleTrigger",r._getHostElement())("matRippleDisabled",r.disabled||r.disableRipple))},directives:[Dh,h8,v8],styles:[".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"],encapsulation:2,changeDetection:0}),e}();function Vw(e,n,t){if(t.length){for(var r=n.toArray(),i=t.toArray(),a=0,o=0;o.mat-card-xl-image{margin:-8px 0 8px}@media(max-width: 599px){.mat-card-title-group{margin:0}.mat-card-xl-image{margin-left:0;margin-right:0}}.mat-card>:first-child,.mat-card-content>:first-child{margin-top:0}.mat-card>:last-child:not(.mat-card-footer),.mat-card-content>:last-child:not(.mat-card-footer){margin-bottom:0}.mat-card-image:first-child{margin-top:-16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-card>.mat-card-actions:last-child{margin-bottom:-8px;padding-bottom:0}.mat-card-actions:not(.mat-card-actions-align-end) .mat-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-raised-button:first-child,.mat-card-actions:not(.mat-card-actions-align-end) .mat-stroked-button:first-child{margin-left:0;margin-right:0}.mat-card-actions-align-end .mat-button:last-child,.mat-card-actions-align-end .mat-raised-button:last-child,.mat-card-actions-align-end .mat-stroked-button:last-child{margin-left:0;margin-right:0}.mat-card-title:not(:first-child),.mat-card-subtitle:not(:first-child){margin-top:-4px}.mat-card-header .mat-card-subtitle:not(:first-child){margin-top:-8px}.mat-card>.mat-card-xl-image:first-child{margin-top:-8px}.mat-card>.mat-card-xl-image:last-child{margin-bottom:-8px}\n"],encapsulation:2,changeDetection:0}),e}(),k8=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pt],Pt]}),e}(),w8=function(){var e=function(){function n(){h(this,n),this._vertical=!1,this._inset=!1}return p(n,[{key:"vertical",get:function(){return this._vertical},set:function(r){this._vertical=Qe(r)}},{key:"inset",get:function(){return this._inset},set:function(r){this._inset=Qe(r)}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=hn({type:e,selectors:[["mat-divider"]],hostAttrs:["role","separator",1,"mat-divider"],hostVars:7,hostBindings:function(t,r){2&t&&(Rt("aria-orientation",r.vertical?"vertical":"horizontal"),$t("mat-divider-vertical",r.vertical)("mat-divider-horizontal",!r.vertical)("mat-divider-inset",r.inset))},inputs:{vertical:"vertical",inset:"inset"},decls:0,vars:0,template:function(t,r){},styles:[".mat-divider{display:block;margin:0;border-top-width:1px;border-top-style:solid}.mat-divider.mat-divider-vertical{border-top:0;border-right-width:1px;border-right-style:solid}.mat-divider.mat-divider-inset{margin-left:80px}[dir=rtl] .mat-divider.mat-divider-inset{margin-left:auto;margin-right:80px}\n"],encapsulation:2,changeDetection:0}),e}(),S8=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pt],Pt]}),e}(),jw=function(){var e=function(){function n(){h(this,n)}return p(n,[{key:"create",value:function(r){return"undefined"==typeof MutationObserver?null:new MutationObserver(r)}}]),n}();return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),A8=function(){var e=function(){function n(t){h(this,n),this._mutationObserverFactory=t,this._observedElements=new Map}return p(n,[{key:"ngOnDestroy",value:function(){var r=this;this._observedElements.forEach(function(i,a){return r._cleanupObserver(a)})}},{key:"observe",value:function(r){var i=this,a=uc(r);return new ze(function(o){var u=i._observeElement(a).subscribe(o);return function(){u.unsubscribe(),i._unobserveElement(a)}})}},{key:"_observeElement",value:function(r){if(this._observedElements.has(r))this._observedElements.get(r).count++;else{var i=new Ne,a=this._mutationObserverFactory.create(function(o){return i.next(o)});a&&a.observe(r,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(r,{observer:a,stream:i,count:1})}return this._observedElements.get(r).stream}},{key:"_unobserveElement",value:function(r){this._observedElements.has(r)&&(this._observedElements.get(r).count--,this._observedElements.get(r).count||this._cleanupObserver(r))}},{key:"_cleanupObserver",value:function(r){if(this._observedElements.has(r)){var i=this._observedElements.get(r),a=i.observer,o=i.stream;a&&a.disconnect(),o.complete(),this._observedElements.delete(r)}}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(jw))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),M8=function(){var e=function(){function n(t,r,i){h(this,n),this._contentObserver=t,this._elementRef=r,this._ngZone=i,this.event=new De,this._disabled=!1,this._currentSubscription=null}return p(n,[{key:"disabled",get:function(){return this._disabled},set:function(r){this._disabled=Qe(r),this._disabled?this._unsubscribe():this._subscribe()}},{key:"debounce",get:function(){return this._debounce},set:function(r){this._debounce=jv(r),this._subscribe()}},{key:"ngAfterContentInit",value:function(){!this._currentSubscription&&!this.disabled&&this._subscribe()}},{key:"ngOnDestroy",value:function(){this._unsubscribe()}},{key:"_subscribe",value:function(){var r=this;this._unsubscribe();var i=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(function(){r._currentSubscription=(r.debounce?i.pipe(_w(r.debounce)):i).subscribe(r.event)})}},{key:"_unsubscribe",value:function(){var r;null===(r=this._currentSubscription)||void 0===r||r.unsubscribe()}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(A8),y(X),y(we))},e.\u0275dir=x({type:e,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),e}(),x8=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({providers:[jw]}),e}();function tg(e,n,t,r){return L(t)&&(r=t,t=void 0),r?tg(e,n,t).pipe(Vr(function(i){return R(i)?r.apply(void 0,ve(i)):r(i)})):new ze(function(i){Hw(e,n,function(o){i.next(arguments.length>1?Array.prototype.slice.call(arguments):o)},i,t)})}function Hw(e,n,t,r,i){var a;if(function(e){return e&&"function"==typeof e.addEventListener&&"function"==typeof e.removeEventListener}(e)){var o=e;e.addEventListener(n,t,i),a=function(){return o.removeEventListener(n,t,i)}}else if(function(e){return e&&"function"==typeof e.on&&"function"==typeof e.off}(e)){var s=e;e.on(n,t),a=function(){return s.off(n,t)}}else if(function(e){return e&&"function"==typeof e.addListener&&"function"==typeof e.removeListener}(e)){var u=e;e.addListener(n,t),a=function(){return u.removeListener(n,t)}}else{if(!e||!e.length)throw new TypeError("Invalid event target");for(var l=0,c=e.length;l enter",[ei({opacity:0,transform:"translateY(-5px)"}),Nh("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])},ng=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=x({type:e}),e}(),iU=new j("MatHint"),Ww=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=x({type:e,selectors:[["mat-label"]]}),e}(),aU=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=x({type:e,selectors:[["mat-placeholder"]]}),e}(),oU=new j("MatPrefix"),sU=new j("MatSuffix"),qw=0,lU=Tw(function(){return function e(n){h(this,e),this._elementRef=n}}(),"primary"),cU=new j("MAT_FORM_FIELD_DEFAULT_OPTIONS"),Qw=new j("MatFormField"),fU=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s,u,l,c){var f;return h(this,r),(f=t.call(this,i))._changeDetectorRef=a,f._dir=o,f._defaults=s,f._platform=u,f._ngZone=l,f._outlineGapCalculationNeededImmediately=!1,f._outlineGapCalculationNeededOnStable=!1,f._destroyed=new Ne,f._showAlwaysAnimate=!1,f._subscriptAnimationState="",f._hintLabel="",f._hintLabelId="mat-hint-".concat(qw++),f._labelId="mat-form-field-label-".concat(qw++),f.floatLabel=f._getDefaultFloatLabelState(),f._animationsEnabled="NoopAnimations"!==c,f.appearance=s&&s.appearance?s.appearance:"legacy",f._hideRequiredMarker=!(!s||null==s.hideRequiredMarker)&&s.hideRequiredMarker,f}return p(r,[{key:"appearance",get:function(){return this._appearance},set:function(a){var o=this._appearance;this._appearance=a||this._defaults&&this._defaults.appearance||"legacy","outline"===this._appearance&&o!==a&&(this._outlineGapCalculationNeededOnStable=!0)}},{key:"hideRequiredMarker",get:function(){return this._hideRequiredMarker},set:function(a){this._hideRequiredMarker=Qe(a)}},{key:"_shouldAlwaysFloat",value:function(){return"always"===this.floatLabel&&!this._showAlwaysAnimate}},{key:"_canLabelFloat",value:function(){return"never"!==this.floatLabel}},{key:"hintLabel",get:function(){return this._hintLabel},set:function(a){this._hintLabel=a,this._processHints()}},{key:"floatLabel",get:function(){return"legacy"!==this.appearance&&"never"===this._floatLabel?"auto":this._floatLabel},set:function(a){a!==this._floatLabel&&(this._floatLabel=a||this._getDefaultFloatLabelState(),this._changeDetectorRef.markForCheck())}},{key:"_control",get:function(){return this._explicitFormFieldControl||this._controlNonStatic||this._controlStatic},set:function(a){this._explicitFormFieldControl=a}},{key:"getLabelId",value:function(){return this._hasFloatingLabel()?this._labelId:null}},{key:"getConnectedOverlayOrigin",value:function(){return this._connectionContainerRef||this._elementRef}},{key:"ngAfterContentInit",value:function(){var a=this;this._validateControlChild();var o=this._control;o.controlType&&this._elementRef.nativeElement.classList.add("mat-form-field-type-".concat(o.controlType)),o.stateChanges.pipe(Ns(null)).subscribe(function(){a._validatePlaceholders(),a._syncDescribedByIds(),a._changeDetectorRef.markForCheck()}),o.ngControl&&o.ngControl.valueChanges&&o.ngControl.valueChanges.pipe(Dt(this._destroyed)).subscribe(function(){return a._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(function(){a._ngZone.onStable.pipe(Dt(a._destroyed)).subscribe(function(){a._outlineGapCalculationNeededOnStable&&a.updateOutlineGap()})}),Br(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(function(){a._outlineGapCalculationNeededOnStable=!0,a._changeDetectorRef.markForCheck()}),this._hintChildren.changes.pipe(Ns(null)).subscribe(function(){a._processHints(),a._changeDetectorRef.markForCheck()}),this._errorChildren.changes.pipe(Ns(null)).subscribe(function(){a._syncDescribedByIds(),a._changeDetectorRef.markForCheck()}),this._dir&&this._dir.change.pipe(Dt(this._destroyed)).subscribe(function(){"function"==typeof requestAnimationFrame?a._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){return a.updateOutlineGap()})}):a.updateOutlineGap()})}},{key:"ngAfterContentChecked",value:function(){this._validateControlChild(),this._outlineGapCalculationNeededImmediately&&this.updateOutlineGap()}},{key:"ngAfterViewInit",value:function(){this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}},{key:"ngOnDestroy",value:function(){this._destroyed.next(),this._destroyed.complete()}},{key:"_shouldForward",value:function(a){var o=this._control?this._control.ngControl:null;return o&&o[a]}},{key:"_hasPlaceholder",value:function(){return!!(this._control&&this._control.placeholder||this._placeholderChild)}},{key:"_hasLabel",value:function(){return!(!this._labelChildNonStatic&&!this._labelChildStatic)}},{key:"_shouldLabelFloat",value:function(){return this._canLabelFloat()&&(this._control&&this._control.shouldLabelFloat||this._shouldAlwaysFloat())}},{key:"_hideControlPlaceholder",value:function(){return"legacy"===this.appearance&&!this._hasLabel()||this._hasLabel()&&!this._shouldLabelFloat()}},{key:"_hasFloatingLabel",value:function(){return this._hasLabel()||"legacy"===this.appearance&&this._hasPlaceholder()}},{key:"_getDisplayedMessages",value:function(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}},{key:"_animateAndLockLabel",value:function(){var a=this;this._hasFloatingLabel()&&this._canLabelFloat()&&(this._animationsEnabled&&this._label&&(this._showAlwaysAnimate=!0,tg(this._label.nativeElement,"transitionend").pipe(oi(1)).subscribe(function(){a._showAlwaysAnimate=!1})),this.floatLabel="always",this._changeDetectorRef.markForCheck())}},{key:"_validatePlaceholders",value:function(){}},{key:"_processHints",value:function(){this._validateHints(),this._syncDescribedByIds()}},{key:"_validateHints",value:function(){}},{key:"_getDefaultFloatLabelState",value:function(){return this._defaults&&this._defaults.floatLabel||"auto"}},{key:"_syncDescribedByIds",value:function(){if(this._control){var a=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&a.push.apply(a,ve(this._control.userAriaDescribedBy.split(" "))),"hint"===this._getDisplayedMessages()){var o=this._hintChildren?this._hintChildren.find(function(u){return"start"===u.align}):null,s=this._hintChildren?this._hintChildren.find(function(u){return"end"===u.align}):null;o?a.push(o.id):this._hintLabel&&a.push(this._hintLabelId),s&&a.push(s.id)}else this._errorChildren&&a.push.apply(a,ve(this._errorChildren.map(function(u){return u.id})));this._control.setDescribedByIds(a)}}},{key:"_validateControlChild",value:function(){}},{key:"updateOutlineGap",value:function(){var a=this._label?this._label.nativeElement:null;if("outline"===this.appearance&&a&&a.children.length&&a.textContent.trim()&&this._platform.isBrowser){if(!this._isAttachedToDOM())return void(this._outlineGapCalculationNeededImmediately=!0);var o=0,s=0,u=this._connectionContainerRef.nativeElement,l=u.querySelectorAll(".mat-form-field-outline-start"),c=u.querySelectorAll(".mat-form-field-outline-gap");if(this._label&&this._label.nativeElement.children.length){var f=u.getBoundingClientRect();if(0===f.width&&0===f.height)return this._outlineGapCalculationNeededOnStable=!0,void(this._outlineGapCalculationNeededImmediately=!1);for(var d=this._getStartEnd(f),v=a.children,g=this._getStartEnd(v[0].getBoundingClientRect()),m=0,_=0;_0?.75*m+10:0}for(var E=0;E2&&void 0!==arguments[2]?arguments[2]:0;return null!==o&&o>0?q(Y(t.prototype),"requestAsyncId",this).call(this,i,a,o):(i.actions.push(this),i.scheduled||(i.scheduled=requestAnimationFrame(function(){return i.flush(null)})))}},{key:"recycleAsyncId",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==o&&o>0||null===o&&this.delay>0)return q(Y(t.prototype),"recycleAsyncId",this).call(this,i,a,o);0===i.actions.length&&(cancelAnimationFrame(a),i.scheduled=void 0)}}]),t}(qv),hU=function(e){C(t,e);var n=b(t);function t(){return h(this,t),n.apply(this,arguments)}return p(t,[{key:"flush",value:function(i){this.active=!0,this.scheduled=void 0;var o,a=this.actions,s=-1,u=a.length;i=i||a.shift();do{if(o=i.execute(i.state,i.delay))break}while(++s2&&void 0!==arguments[2]?arguments[2]:0;return null!==o&&o>0?q(Y(t.prototype),"requestAsyncId",this).call(this,i,a,o):(i.actions.push(this),i.scheduled||(i.scheduled=$w_setImmediate(i.flush.bind(i,null))))}},{key:"recycleAsyncId",value:function(i,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!==o&&o>0||null===o&&this.delay>0)return q(Y(t.prototype),"recycleAsyncId",this).call(this,i,a,o);0===i.actions.length&&($w_clearImmediate(a),i.scheduled=void 0)}}]),t}(qv),yU=function(e){C(t,e);var n=b(t);function t(){return h(this,t),n.apply(this,arguments)}return p(t,[{key:"flush",value:function(i){this.active=!0,this.scheduled=void 0;var o,a=this.actions,s=-1,u=a.length;i=i||a.shift();do{if(o=i.execute(i.state,i.delay))break}while(++s=0}function EU(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0,r=-1;return Zw(n)?r=Number(n)<1?1:Number(n):go(n)&&(t=n),go(t)||(t=Qv),new ze(function(i){var a=Zw(e)?e:+e-t.now();return t.schedule(kU,a,{index:0,period:r,subscriber:i})})}function kU(e){var n=e.index,t=e.period,r=e.subscriber;if(r.next(n),!r.closed){if(-1===t)return r.complete();e.index=n+1,this.schedule(e,t)}}function Xw(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qv;return bU(function(){return EU(e,n)})}var SU=function(){var e=function(){function n(t,r,i){h(this,n),this._ngZone=t,this._platform=r,this._scrolled=new Ne,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=i}return p(n,[{key:"register",value:function(r){var i=this;this.scrollContainers.has(r)||this.scrollContainers.set(r,r.elementScrolled().subscribe(function(){return i._scrolled.next(r)}))}},{key:"deregister",value:function(r){var i=this.scrollContainers.get(r);i&&(i.unsubscribe(),this.scrollContainers.delete(r))}},{key:"scrolled",value:function(){var r=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return this._platform.isBrowser?new ze(function(a){r._globalSubscription||r._addGlobalListener();var o=i>0?r._scrolled.pipe(Xw(i)).subscribe(a):r._scrolled.subscribe(a);return r._scrolledCount++,function(){o.unsubscribe(),r._scrolledCount--,r._scrolledCount||r._removeGlobalListener()}}):Gw()}},{key:"ngOnDestroy",value:function(){var r=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(i,a){return r.deregister(a)}),this._scrolled.complete()}},{key:"ancestorScrolled",value:function(r,i){var a=this.getAncestorScrollContainers(r);return this.scrolled(i).pipe(dr(function(o){return!o||a.indexOf(o)>-1}))}},{key:"getAncestorScrollContainers",value:function(r){var i=this,a=[];return this.scrollContainers.forEach(function(o,s){i._scrollableContainsElement(s,r)&&a.push(s)}),a}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_scrollableContainsElement",value:function(r,i){var a=uc(i),o=r.getElementRef().nativeElement;do{if(a==o)return!0}while(a=a.parentElement);return!1}},{key:"_addGlobalListener",value:function(){var r=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return tg(r._getWindow().document,"scroll").subscribe(function(){return r._scrolled.next()})})}},{key:"_removeGlobalListener",value:function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(we),k(Ir),k(pe,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),ig=function(){var e=function(){function n(t,r,i){var a=this;h(this,n),this._platform=t,this._change=new Ne,this._changeListener=function(o){a._change.next(o)},this._document=i,r.runOutsideAngular(function(){if(t.isBrowser){var o=a._getWindow();o.addEventListener("resize",a._changeListener),o.addEventListener("orientationchange",a._changeListener)}a.change().subscribe(function(){return a._viewportSize=null})})}return p(n,[{key:"ngOnDestroy",value:function(){if(this._platform.isBrowser){var r=this._getWindow();r.removeEventListener("resize",this._changeListener),r.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}},{key:"getViewportSize",value:function(){this._viewportSize||this._updateViewportSize();var r={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),r}},{key:"getViewportRect",value:function(){var r=this.getViewportScrollPosition(),i=this.getViewportSize(),a=i.width,o=i.height;return{top:r.top,left:r.left,bottom:r.top+o,right:r.left+a,height:o,width:a}}},{key:"getViewportScrollPosition",value:function(){if(!this._platform.isBrowser)return{top:0,left:0};var r=this._document,i=this._getWindow(),a=r.documentElement,o=a.getBoundingClientRect();return{top:-o.top||r.body.scrollTop||i.scrollY||a.scrollTop||0,left:-o.left||r.body.scrollLeft||i.scrollX||a.scrollLeft||0}}},{key:"change",value:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:20;return r>0?this._change.pipe(Xw(r)):this._change}},{key:"_getWindow",value:function(){return this._document.defaultView||window}},{key:"_updateViewportSize",value:function(){var r=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:r.innerWidth,height:r.innerHeight}:{width:0,height:0}}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(Ir),k(we),k(pe,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),ag=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({}),e}(),Jw=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[so,bw,ag],so,ag]}),e}(),og=function(){function e(){h(this,e)}return p(e,[{key:"attach",value:function(t){return this._attachedHost=t,t.attach(this)}},{key:"detach",value:function(){var t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}},{key:"isAttached",get:function(){return null!=this._attachedHost}},{key:"setAttachedHost",value:function(t){this._attachedHost=t}}]),e}(),MU=function(e){C(t,e);var n=b(t);function t(r,i,a,o){var s;return h(this,t),(s=n.call(this)).component=r,s.viewContainerRef=i,s.injector=a,s.componentFactoryResolver=o,s}return t}(og),eS=function(e){C(t,e);var n=b(t);function t(r,i,a){var o;return h(this,t),(o=n.call(this)).templateRef=r,o.viewContainerRef=i,o.context=a,o}return p(t,[{key:"origin",get:function(){return this.templateRef.elementRef}},{key:"attach",value:function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.context;return this.context=a,q(Y(t.prototype),"attach",this).call(this,i)}},{key:"detach",value:function(){return this.context=void 0,q(Y(t.prototype),"detach",this).call(this)}}]),t}(og),xU=function(e){C(t,e);var n=b(t);function t(r){var i;return h(this,t),(i=n.call(this)).element=r instanceof X?r.nativeElement:r,i}return t}(og),TU=function(){function e(){h(this,e),this._isDisposed=!1,this.attachDomPortal=null}return p(e,[{key:"hasAttached",value:function(){return!!this._attachedPortal}},{key:"attach",value:function(t){return t instanceof MU?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof eS?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof xU?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}},{key:"detach",value:function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}},{key:"dispose",value:function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}},{key:"setDisposeFn",value:function(t){this._disposeFn=t}},{key:"_invokeDisposeFn",value:function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}]),e}(),FU=function(e){C(t,e);var n=b(t);function t(r,i,a,o,s){var u,l;return h(this,t),(l=n.call(this)).outletElement=r,l._componentFactoryResolver=i,l._appRef=a,l._defaultInjector=o,l.attachDomPortal=function(c){var f=c.element,d=l._document.createComment("dom-portal");f.parentNode.insertBefore(d,f),l.outletElement.appendChild(f),l._attachedPortal=c,q((u=Pe(l),Y(t.prototype)),"setDisposeFn",u).call(u,function(){d.parentNode&&d.parentNode.replaceChild(f,d)})},l._document=s,l}return p(t,[{key:"attachComponentPortal",value:function(i){var u,a=this,s=(i.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(i.component);return i.viewContainerRef?(u=i.viewContainerRef.createComponent(s,i.viewContainerRef.length,i.injector||i.viewContainerRef.injector),this.setDisposeFn(function(){return u.destroy()})):(u=s.create(i.injector||this._defaultInjector),this._appRef.attachView(u.hostView),this.setDisposeFn(function(){a._appRef.detachView(u.hostView),u.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(u)),this._attachedPortal=i,u}},{key:"attachTemplatePortal",value:function(i){var a=this,o=i.viewContainerRef,s=o.createEmbeddedView(i.templateRef,i.context);return s.rootNodes.forEach(function(u){return a.outletElement.appendChild(u)}),s.detectChanges(),this.setDisposeFn(function(){var u=o.indexOf(s);-1!==u&&o.remove(u)}),this._attachedPortal=i,s}},{key:"dispose",value:function(){q(Y(t.prototype),"dispose",this).call(this),this.outletElement.remove()}},{key:"_getComponentRootNode",value:function(i){return i.hostView.rootNodes[0]}}]),t}(TU),RU=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({}),e}(),OU=function(){function e(n,t){h(this,e),this.predicate=n,this.inclusive=t}return p(e,[{key:"call",value:function(t,r){return r.subscribe(new PU(t,this.predicate,this.inclusive))}}]),e}(),PU=function(e){C(t,e);var n=b(t);function t(r,i,a){var o;return h(this,t),(o=n.call(this,r)).predicate=i,o.inclusive=a,o.index=0,o}return p(t,[{key:"_next",value:function(i){var o,a=this.destination;try{o=this.predicate(i,this.index++)}catch(s){return void a.error(s)}this.nextOrComplete(i,o)}},{key:"nextOrComplete",value:function(i,a){var o=this.destination;Boolean(a)?o.next(i):(this.inclusive&&o.next(i),o.complete())}}]),t}(wt),tS=RG(),NU=function(){function e(n,t){h(this,e),this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=t}return p(e,[{key:"attach",value:function(){}},{key:"enable",value:function(){if(this._canBeEnabled()){var t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=ct(-this._previousScrollPosition.left),t.style.top=ct(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}},{key:"disable",value:function(){if(this._isEnabled){var t=this._document.documentElement,i=t.style,a=this._document.body.style,o=i.scrollBehavior||"",s=a.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),tS&&(i.scrollBehavior=a.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),tS&&(i.scrollBehavior=o,a.scrollBehavior=s)}}},{key:"_canBeEnabled",value:function(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;var r=this._document.body,i=this._viewportRuler.getViewportSize();return r.scrollHeight>i.height||r.scrollWidth>i.width}}]),e}(),LU=function(){function e(n,t,r,i){var a=this;h(this,e),this._scrollDispatcher=n,this._ngZone=t,this._viewportRuler=r,this._config=i,this._scrollSubscription=null,this._detach=function(){a.disable(),a._overlayRef.hasAttached()&&a._ngZone.run(function(){return a._overlayRef.detach()})}}return p(e,[{key:"attach",value:function(t){this._overlayRef=t}},{key:"enable",value:function(){var t=this;if(!this._scrollSubscription){var r=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=r.subscribe(function(){var i=t._viewportRuler.getViewportScrollPosition().top;Math.abs(i-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()})):this._scrollSubscription=r.subscribe(this._detach)}}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),nS=function(){function e(){h(this,e)}return p(e,[{key:"enable",value:function(){}},{key:"disable",value:function(){}},{key:"attach",value:function(){}}]),e}();function sg(e,n){return n.some(function(t){return e.bottomt.bottom||e.rightt.right})}function rS(e,n){return n.some(function(t){return e.topt.bottom||e.leftt.right})}var VU=function(){function e(n,t,r,i){h(this,e),this._scrollDispatcher=n,this._viewportRuler=t,this._ngZone=r,this._config=i,this._scrollSubscription=null}return p(e,[{key:"attach",value:function(t){this._overlayRef=t}},{key:"enable",value:function(){var t=this;this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var i=t._overlayRef.overlayElement.getBoundingClientRect(),a=t._viewportRuler.getViewportSize(),o=a.width,s=a.height;sg(i,[{width:o,height:s,bottom:s,right:o,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}}))}},{key:"disable",value:function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}},{key:"detach",value:function(){this.disable(),this._overlayRef=null}}]),e}(),BU=function(){var e=function n(t,r,i,a){var o=this;h(this,n),this._scrollDispatcher=t,this._viewportRuler=r,this._ngZone=i,this.noop=function(){return new nS},this.close=function(s){return new LU(o._scrollDispatcher,o._ngZone,o._viewportRuler,s)},this.block=function(){return new NU(o._viewportRuler,o._document)},this.reposition=function(s){return new VU(o._scrollDispatcher,o._viewportRuler,o._ngZone,s)},this._document=a};return e.\u0275prov=P({token:e,factory:e.\u0275fac=function(t){return new(t||e)(k(SU),k(ig),k(we),k(pe))},providedIn:"root"}),e}(),iS=function e(n){if(h(this,e),this.scrollStrategy=new nS,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n)for(var r=0,i=Object.keys(n);r-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(pe))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),HU=function(){var e=function(n){C(r,n);var t=b(r);function r(i){var a;return h(this,r),(a=t.call(this,i))._keydownListener=function(o){for(var s=a._attachedOverlays,u=s.length-1;u>-1;u--)if(s[u]._keydownEvents.observers.length>0){s[u]._keydownEvents.next(o);break}},a}return p(r,[{key:"add",value:function(a){q(Y(r.prototype),"add",this).call(this,a),this._isAttached||(this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}},{key:"detach",value:function(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}]),r}(aS);return e.\u0275fac=function(t){return new(t||e)(k(pe))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),GU=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a){var o;return h(this,r),(o=t.call(this,i))._platform=a,o._cursorStyleIsSet=!1,o._pointerDownListener=function(s){o._pointerDownEventTarget=Dw(s)},o._clickListener=function(s){var u=Dw(s),l="click"===s.type&&o._pointerDownEventTarget?o._pointerDownEventTarget:u;o._pointerDownEventTarget=null;for(var c=o._attachedOverlays.slice(),f=c.length-1;f>-1;f--){var d=c[f];if(!(d._outsidePointerEvents.observers.length<1)&&d.hasAttached()){if(d.overlayElement.contains(u)||d.overlayElement.contains(l))break;d._outsidePointerEvents.next(s)}}},o}return p(r,[{key:"add",value:function(a){if(q(Y(r.prototype),"add",this).call(this,a),!this._isAttached){var o=this._document.body;o.addEventListener("pointerdown",this._pointerDownListener,!0),o.addEventListener("click",this._clickListener,!0),o.addEventListener("auxclick",this._clickListener,!0),o.addEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=o.style.cursor,o.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}},{key:"detach",value:function(){if(this._isAttached){var a=this._document.body;a.removeEventListener("pointerdown",this._pointerDownListener,!0),a.removeEventListener("click",this._clickListener,!0),a.removeEventListener("auxclick",this._clickListener,!0),a.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(a.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}}]),r}(aS);return e.\u0275fac=function(t){return new(t||e)(k(pe),k(Ir))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),oS=function(){var e=function(){function n(t,r){h(this,n),this._platform=r,this._document=t}return p(n,[{key:"ngOnDestroy",value:function(){var r;null===(r=this._containerElement)||void 0===r||r.remove()}},{key:"getContainerElement",value:function(){return this._containerElement||this._createContainer(),this._containerElement}},{key:"_createContainer",value:function(){var r="cdk-overlay-container";if(this._platform.isBrowser||Xv())for(var i=this._document.querySelectorAll(".".concat(r,'[platform="server"], ')+".".concat(r,'[platform="test"]')),a=0;ag&&(g=D,v=E)}}catch(w){m.e(w)}finally{m.f()}return this._isPushed=!1,void this._applyPosition(v.position,v.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(o.position,o.originPoint);this._applyPosition(o.position,o.originPoint)}}},{key:"detach",value:function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}},{key:"dispose",value:function(){this._isDisposed||(this._boundingBox&&Gi(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(sS),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}},{key:"reapplyLastPosition",value:function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],r=this._getOriginPoint(this._originRect,t);this._applyPosition(t,r)}}},{key:"withScrollableContainers",value:function(t){return this._scrollables=t,this}},{key:"withPositions",value:function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}},{key:"withViewportMargin",value:function(t){return this._viewportMargin=t,this}},{key:"withFlexibleDimensions",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._hasFlexibleDimensions=t,this}},{key:"withGrowAfterOpen",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._growAfterOpen=t,this}},{key:"withPush",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._canPush=t,this}},{key:"withLockedPosition",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._positionLocked=t,this}},{key:"setOrigin",value:function(t){return this._origin=t,this}},{key:"withDefaultOffsetX",value:function(t){return this._offsetX=t,this}},{key:"withDefaultOffsetY",value:function(t){return this._offsetY=t,this}},{key:"withTransformOriginOn",value:function(t){return this._transformOriginSelector=t,this}},{key:"_getOriginPoint",value:function(t,r){var i;if("center"==r.originX)i=t.left+t.width/2;else{var a=this._isRtl()?t.right:t.left,o=this._isRtl()?t.left:t.right;i="start"==r.originX?a:o}return{x:i,y:"center"==r.originY?t.top+t.height/2:"top"==r.originY?t.top:t.bottom}}},{key:"_getOverlayPoint",value:function(t,r,i){var a;return a="center"==i.overlayX?-r.width/2:"start"===i.overlayX?this._isRtl()?-r.width:0:this._isRtl()?0:-r.width,{x:t.x+a,y:t.y+("center"==i.overlayY?-r.height/2:"top"==i.overlayY?0:-r.height)}}},{key:"_getOverlayFit",value:function(t,r,i,a){var o=lS(r),s=t.x,u=t.y,l=this._getOffset(a,"x"),c=this._getOffset(a,"y");l&&(s+=l),c&&(u+=c);var v=0-u,g=u+o.height-i.height,m=this._subtractOverflows(o.width,0-s,s+o.width-i.width),_=this._subtractOverflows(o.height,v,g),E=m*_;return{visibleArea:E,isCompletelyWithinViewport:o.width*o.height===E,fitsInViewportVertically:_===o.height,fitsInViewportHorizontally:m==o.width}}},{key:"_canFitWithFlexibleDimensions",value:function(t,r,i){if(this._hasFlexibleDimensions){var a=i.bottom-r.y,o=i.right-r.x,s=uS(this._overlayRef.getConfig().minHeight),u=uS(this._overlayRef.getConfig().minWidth);return(t.fitsInViewportVertically||null!=s&&s<=a)&&(t.fitsInViewportHorizontally||null!=u&&u<=o)}return!1}},{key:"_pushOverlayOnScreen",value:function(t,r,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var f,d,a=lS(r),o=this._viewportRect,s=Math.max(t.x+a.width-o.width,0),u=Math.max(t.y+a.height-o.height,0),l=Math.max(o.top-i.top-t.y,0),c=Math.max(o.left-i.left-t.x,0);return this._previousPushAmount={x:f=a.width<=o.width?c||-s:t.xc&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.y-c/2)}if("end"===r.overlayX&&!a||"start"===r.overlayX&&a)m=i.width-t.x+this._viewportMargin,v=t.x-this._viewportMargin;else if("start"===r.overlayX&&!a||"end"===r.overlayX&&a)g=t.x,v=i.right-t.x;else{var _=Math.min(i.right-t.x+i.left,t.x),E=this._lastBoundingBoxSize.width;g=t.x-_,(v=2*_)>E&&!this._isInitialRender&&!this._growAfterOpen&&(g=t.x-E/2)}return{top:s,left:g,bottom:u,right:m,width:v,height:o}}},{key:"_setBoundingBoxStyles",value:function(t,r){var i=this._calculateBoundingBoxRect(t,r);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));var a={};if(this._hasExactPosition())a.top=a.left="0",a.bottom=a.right=a.maxHeight=a.maxWidth="",a.width=a.height="100%";else{var o=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;a.height=ct(i.height),a.top=ct(i.top),a.bottom=ct(i.bottom),a.width=ct(i.width),a.left=ct(i.left),a.right=ct(i.right),a.alignItems="center"===r.overlayX?"center":"end"===r.overlayX?"flex-end":"flex-start",a.justifyContent="center"===r.overlayY?"center":"bottom"===r.overlayY?"flex-end":"flex-start",o&&(a.maxHeight=ct(o)),s&&(a.maxWidth=ct(s))}this._lastBoundingBoxSize=i,Gi(this._boundingBox.style,a)}},{key:"_resetBoundingBoxStyles",value:function(){Gi(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}},{key:"_resetOverlayElementStyles",value:function(){Gi(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}},{key:"_setOverlayElementStyles",value:function(t,r){var i={},a=this._hasExactPosition(),o=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(a){var u=this._viewportRuler.getViewportScrollPosition();Gi(i,this._getExactOverlayY(r,t,u)),Gi(i,this._getExactOverlayX(r,t,u))}else i.position="static";var l="",c=this._getOffset(r,"x"),f=this._getOffset(r,"y");c&&(l+="translateX(".concat(c,"px) ")),f&&(l+="translateY(".concat(f,"px)")),i.transform=l.trim(),s.maxHeight&&(a?i.maxHeight=ct(s.maxHeight):o&&(i.maxHeight="")),s.maxWidth&&(a?i.maxWidth=ct(s.maxWidth):o&&(i.maxWidth="")),Gi(this._pane.style,i)}},{key:"_getExactOverlayY",value:function(t,r,i){var a={top:"",bottom:""},o=this._getOverlayPoint(r,this._overlayRect,t);this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i));var s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return o.y-=s,"bottom"===t.overlayY?a.bottom="".concat(this._document.documentElement.clientHeight-(o.y+this._overlayRect.height),"px"):a.top=ct(o.y),a}},{key:"_getExactOverlayX",value:function(t,r,i){var a={left:"",right:""},o=this._getOverlayPoint(r,this._overlayRect,t);return this._isPushed&&(o=this._pushOverlayOnScreen(o,this._overlayRect,i)),"right"==(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?a.right="".concat(this._document.documentElement.clientWidth-(o.x+this._overlayRect.width),"px"):a.left=ct(o.x),a}},{key:"_getScrollVisibility",value:function(){var t=this._getOriginRect(),r=this._pane.getBoundingClientRect(),i=this._scrollables.map(function(a){return a.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:rS(t,i),isOriginOutsideView:sg(t,i),isOverlayClipped:rS(r,i),isOverlayOutsideView:sg(r,i)}}},{key:"_subtractOverflows",value:function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a0&&void 0!==arguments[0]?arguments[0]:"";return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}},{key:"left",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this}},{key:"bottom",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}},{key:"right",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this}},{key:"width",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}},{key:"height",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}},{key:"centerHorizontally",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.left(t),this._justifyContent="center",this}},{key:"centerVertically",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.top(t),this._alignItems="center",this}},{key:"apply",value:function(){if(this._overlayRef&&this._overlayRef.hasAttached()){var t=this._overlayRef.overlayElement.style,r=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),a=i.width,o=i.height,s=i.maxWidth,u=i.maxHeight,l=!("100%"!==a&&"100vw"!==a||s&&"100%"!==s&&"100vw"!==s),c=!("100%"!==o&&"100vh"!==o||u&&"100%"!==u&&"100vh"!==u);t.position=this._cssPosition,t.marginLeft=l?"0":this._leftOffset,t.marginTop=c?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=this._rightOffset,l?r.justifyContent="flex-start":"center"===this._justifyContent?r.justifyContent="center":"rtl"===this._overlayRef.getConfig().direction?"flex-start"===this._justifyContent?r.justifyContent="flex-end":"flex-end"===this._justifyContent&&(r.justifyContent="flex-start"):r.justifyContent=this._justifyContent,r.alignItems=c?"flex-start":this._alignItems}}},{key:"dispose",value:function(){if(!this._isDisposed&&this._overlayRef){var t=this._overlayRef.overlayElement.style,r=this._overlayRef.hostElement,i=r.style;r.classList.remove(cS),i.justifyContent=i.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}}]),e}(),KU=function(){var e=function(){function n(t,r,i,a){h(this,n),this._viewportRuler=t,this._document=r,this._platform=i,this._overlayContainer=a}return p(n,[{key:"global",value:function(){return new qU}},{key:"flexibleConnectedTo",value:function(r){return new WU(r,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(ig),k(pe),k(Ir),k(oS))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),QU=0,fc=function(){var e=function(){function n(t,r,i,a,o,s,u,l,c,f,d){h(this,n),this.scrollStrategies=t,this._overlayContainer=r,this._componentFactoryResolver=i,this._positionBuilder=a,this._keyboardDispatcher=o,this._injector=s,this._ngZone=u,this._document=l,this._directionality=c,this._location=f,this._outsideClickDispatcher=d}return p(n,[{key:"create",value:function(r){var i=this._createHostElement(),a=this._createPaneElement(i),o=this._createPortalOutlet(a),s=new iS(r);return s.direction=s.direction||this._directionality.value,new UU(o,i,a,s,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher)}},{key:"position",value:function(){return this._positionBuilder}},{key:"_createPaneElement",value:function(r){var i=this._document.createElement("div");return i.id="cdk-overlay-".concat(QU++),i.classList.add("cdk-overlay-pane"),r.appendChild(i),i}},{key:"_createHostElement",value:function(){var r=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(r),r}},{key:"_createPortalOutlet",value:function(r){return this._appRef||(this._appRef=this._injector.get(qa)),new FU(r,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(BU),k(oS),k(Ba),k(KU),k(HU),k(at),k(we),k(pe),k(oo),k($C),k(GU))},e.\u0275prov=P({token:e,factory:e.\u0275fac}),e}(),YU=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],fS=new j("cdk-connected-overlay-scroll-strategy"),dS=function(){var e=function n(t){h(this,n),this.elementRef=t};return e.\u0275fac=function(t){return new(t||e)(y(X))},e.\u0275dir=x({type:e,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),e}(),hS=function(){var e=function(){function n(t,r,i,a,o){h(this,n),this._overlay=t,this._dir=o,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=se.EMPTY,this._attachSubscription=se.EMPTY,this._detachSubscription=se.EMPTY,this._positionSubscription=se.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new De,this.positionChange=new De,this.attach=new De,this.detach=new De,this.overlayKeydown=new De,this.overlayOutsideClick=new De,this._templatePortal=new eS(r,i),this._scrollStrategyFactory=a,this.scrollStrategy=this._scrollStrategyFactory()}return p(n,[{key:"offsetX",get:function(){return this._offsetX},set:function(r){this._offsetX=r,this._position&&this._updatePositionStrategy(this._position)}},{key:"offsetY",get:function(){return this._offsetY},set:function(r){this._offsetY=r,this._position&&this._updatePositionStrategy(this._position)}},{key:"hasBackdrop",get:function(){return this._hasBackdrop},set:function(r){this._hasBackdrop=Qe(r)}},{key:"lockPosition",get:function(){return this._lockPosition},set:function(r){this._lockPosition=Qe(r)}},{key:"flexibleDimensions",get:function(){return this._flexibleDimensions},set:function(r){this._flexibleDimensions=Qe(r)}},{key:"growAfterOpen",get:function(){return this._growAfterOpen},set:function(r){this._growAfterOpen=Qe(r)}},{key:"push",get:function(){return this._push},set:function(r){this._push=Qe(r)}},{key:"overlayRef",get:function(){return this._overlayRef}},{key:"dir",get:function(){return this._dir?this._dir.value:"ltr"}},{key:"ngOnDestroy",value:function(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}},{key:"ngOnChanges",value:function(r){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),r.origin&&this.open&&this._position.apply()),r.open&&(this.open?this._attachOverlay():this._detachOverlay())}},{key:"_createOverlay",value:function(){var r=this;(!this.positions||!this.positions.length)&&(this.positions=YU);var i=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=i.attachments().subscribe(function(){return r.attach.emit()}),this._detachSubscription=i.detachments().subscribe(function(){return r.detach.emit()}),i.keydownEvents().subscribe(function(a){r.overlayKeydown.next(a),27===a.keyCode&&!r.disableClose&&!Is(a)&&(a.preventDefault(),r._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(function(a){r.overlayOutsideClick.next(a)})}},{key:"_buildConfig",value:function(){var r=this._position=this.positionStrategy||this._createPositionStrategy(),i=new iS({direction:this._dir,positionStrategy:r,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}},{key:"_updatePositionStrategy",value:function(r){var i=this,a=this.positions.map(function(o){return{originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||i.offsetX,offsetY:o.offsetY||i.offsetY,panelClass:o.panelClass||void 0}});return r.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(a).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}},{key:"_createPositionStrategy",value:function(){var r=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(r),r}},{key:"_getFlexibleConnectedPositionStrategyOrigin",value:function(){return this.origin instanceof dS?this.origin.elementRef:this.origin}},{key:"_attachOverlay",value:function(){var r=this;this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(function(i){r.backdropClick.emit(i)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(t){return t.lift(new OU(e,n))}}(function(){return r.positionChange.observers.length>0})).subscribe(function(i){r.positionChange.emit(i),0===r.positionChange.observers.length&&r._positionSubscription.unsubscribe()}))}},{key:"_detachOverlay",value:function(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(fc),y(lr),y(Bn),y(fS),y(oo,8))},e.\u0275dir=x({type:e,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[dt]}),e}(),ZU={provide:fS,deps:[fc],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},XU=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({providers:[fc,ZU],imports:[[so,RU,Jw],Jw]}),e}(),JU=function(){function e(){var n=this,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1?arguments[1]:void 0,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];h(this,e),this._multiple=t,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new Ne,r&&r.length&&(t?r.forEach(function(a){return n._markSelected(a)}):this._markSelected(r[0]),this._selectedToEmit.length=0)}return p(e,[{key:"selected",get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}},{key:"select",value:function(){for(var t=this,r=arguments.length,i=new Array(r),a=0;a void",TV("@transformPanel",[xV()],{optional:!0}))]),transformPanel:Ph("transformPanel",[Il("void",ei({transform:"scaleY(0.8)",minWidth:"100%",opacity:0})),Il("showing",ei({opacity:1,minWidth:"calc(100% + 32px)",transform:"scaleY(1)"})),Il("showing-multiple",ei({opacity:1,minWidth:"calc(100% + 64px)",transform:"scaleY(1)"})),Ol("void => *",Nh("120ms cubic-bezier(0, 0, 0.2, 1)")),Ol("* => void",Nh("100ms 25ms linear",ei({opacity:0})))])},gS=0,mS=new j("mat-select-scroll-strategy"),y4=new j("MAT_SELECT_CONFIG"),_4={provide:mS,deps:[fc],useFactory:function(e){return function(){return e.scrollStrategies.reposition()}}},b4=function e(n,t){h(this,e),this.source=n,this.value=t},C4=n8(r8(t8(i8(function(){return function e(n,t,r,i,a){h(this,e),this._elementRef=n,this._defaultErrorStateMatcher=t,this._parentForm=r,this._parentFormGroup=i,this.ngControl=a}}())))),D4=new j("MatSelectTrigger"),E4=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o,s,u,l,c,f,d,v,g,m,_,E){var D,w,I,S;return h(this,r),(S=t.call(this,u,s,c,f,v))._viewportRuler=i,S._changeDetectorRef=a,S._ngZone=o,S._dir=l,S._parentFormField=d,S._liveAnnouncer=_,S._defaultOptions=E,S._panelOpen=!1,S._compareWith=function(O,ie){return O===ie},S._uid="mat-select-".concat(gS++),S._triggerAriaLabelledBy=null,S._destroy=new Ne,S._onChange=function(){},S._onTouched=function(){},S._valueId="mat-select-value-".concat(gS++),S._panelDoneAnimatingStream=new Ne,S._overlayPanelClass=(null===(D=S._defaultOptions)||void 0===D?void 0:D.overlayPanelClass)||"",S._focused=!1,S.controlType="mat-select",S._multiple=!1,S._disableOptionCentering=null!==(w=null===(I=S._defaultOptions)||void 0===I?void 0:I.disableOptionCentering)&&void 0!==w&&w,S.ariaLabel="",S.optionSelectionChanges=new ze(function(n){var t,O;try{t=(O=S.options)?O.changes.pipe(Ns(O),ug(function(){return Br.apply(void 0,ve(O.map(function(ie){return ie.onSelectionChange})))})):S._ngZone.onStable.pipe(oi(1),ug(function(){return S.optionSelectionChanges}))}catch(i){return void n.error(i)}return(t?po(t):zw()).subscribe(n)}),S.openedChange=new De,S._openedStream=S.openedChange.pipe(dr(function(O){return O}),Vr(function(){})),S._closedStream=S.openedChange.pipe(dr(function(O){return!O}),Vr(function(){})),S.selectionChange=new De,S.valueChange=new De,S.ngControl&&(S.ngControl.valueAccessor=Pe(S)),null!=(null==E?void 0:E.typeaheadDebounceInterval)&&(S._typeaheadDebounceInterval=E.typeaheadDebounceInterval),S._scrollStrategyFactory=m,S._scrollStrategy=S._scrollStrategyFactory(),S.tabIndex=parseInt(g)||0,S.id=S.id,S}return p(r,[{key:"focused",get:function(){return this._focused||this._panelOpen}},{key:"placeholder",get:function(){return this._placeholder},set:function(a){this._placeholder=a,this.stateChanges.next()}},{key:"required",get:function(){var a,o,s,u;return null!==(a=null!==(o=this._required)&&void 0!==o?o:null===(s=this.ngControl)||void 0===s||null===(u=s.control)||void 0===u?void 0:u.hasValidator(cB.required))&&void 0!==a&&a},set:function(a){this._required=Qe(a),this.stateChanges.next()}},{key:"multiple",get:function(){return this._multiple},set:function(a){this._multiple=Qe(a)}},{key:"disableOptionCentering",get:function(){return this._disableOptionCentering},set:function(a){this._disableOptionCentering=Qe(a)}},{key:"compareWith",get:function(){return this._compareWith},set:function(a){this._compareWith=a,this._selectionModel&&this._initializeSelection()}},{key:"value",get:function(){return this._value},set:function(a){(a!==this._value||this._multiple&&Array.isArray(a))&&(this.options&&this._setSelectionByValue(a),this._value=a)}},{key:"typeaheadDebounceInterval",get:function(){return this._typeaheadDebounceInterval},set:function(a){this._typeaheadDebounceInterval=jv(a)}},{key:"id",get:function(){return this._id},set:function(a){this._id=a||this._uid,this.stateChanges.next()}},{key:"ngOnInit",value:function(){var a=this;this._selectionModel=new JU(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(function(t){return t.lift(new i4(void 0,void 0))},Dt(this._destroy)).subscribe(function(){return a._panelDoneAnimating(a.panelOpen)})}},{key:"ngAfterContentInit",value:function(){var a=this;this._initKeyManager(),this._selectionModel.changed.pipe(Dt(this._destroy)).subscribe(function(o){o.added.forEach(function(s){return s.select()}),o.removed.forEach(function(s){return s.deselect()})}),this.options.changes.pipe(Ns(null),Dt(this._destroy)).subscribe(function(){a._resetOptions(),a._initializeSelection()})}},{key:"ngDoCheck",value:function(){var a=this._getTriggerAriaLabelledby();if(a!==this._triggerAriaLabelledBy){var o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=a,a?o.setAttribute("aria-labelledby",a):o.removeAttribute("aria-labelledby")}this.ngControl&&this.updateErrorState()}},{key:"ngOnChanges",value:function(a){a.disabled&&this.stateChanges.next(),a.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}},{key:"ngOnDestroy",value:function(){this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}},{key:"toggle",value:function(){this.panelOpen?this.close():this.open()}},{key:"open",value:function(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}},{key:"close",value:function(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}},{key:"writeValue",value:function(a){this.value=a}},{key:"registerOnChange",value:function(a){this._onChange=a}},{key:"registerOnTouched",value:function(a){this._onTouched=a}},{key:"setDisabledState",value:function(a){this.disabled=a,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}},{key:"panelOpen",get:function(){return this._panelOpen}},{key:"selected",get:function(){var a,o;return this.multiple?(null===(a=this._selectionModel)||void 0===a?void 0:a.selected)||[]:null===(o=this._selectionModel)||void 0===o?void 0:o.selected[0]}},{key:"triggerValue",get:function(){if(this.empty)return"";if(this._multiple){var a=this._selectionModel.selected.map(function(o){return o.viewValue});return this._isRtl()&&a.reverse(),a.join(", ")}return this._selectionModel.selected[0].viewValue}},{key:"_isRtl",value:function(){return!!this._dir&&"rtl"===this._dir.value}},{key:"_handleKeydown",value:function(a){this.disabled||(this.panelOpen?this._handleOpenKeydown(a):this._handleClosedKeydown(a))}},{key:"_handleClosedKeydown",value:function(a){var o=a.keyCode,s=40===o||38===o||37===o||39===o,u=13===o||32===o,l=this._keyManager;if(!l.isTyping()&&u&&!Is(a)||(this.multiple||a.altKey)&&s)a.preventDefault(),this.open();else if(!this.multiple){var c=this.selected;l.onKeydown(a);var f=this.selected;f&&c!==f&&this._liveAnnouncer.announce(f.viewValue,1e4)}}},{key:"_handleOpenKeydown",value:function(a){var o=this._keyManager,s=a.keyCode,u=40===s||38===s,l=o.isTyping();if(u&&a.altKey)a.preventDefault(),this.close();else if(l||13!==s&&32!==s||!o.activeItem||Is(a))if(!l&&this._multiple&&65===s&&a.ctrlKey){a.preventDefault();var c=this.options.some(function(d){return!d.disabled&&!d.selected});this.options.forEach(function(d){d.disabled||(c?d.select():d.deselect())})}else{var f=o.activeItemIndex;o.onKeydown(a),this._multiple&&u&&a.shiftKey&&o.activeItem&&o.activeItemIndex!==f&&o.activeItem._selectViaInteraction()}else a.preventDefault(),o.activeItem._selectViaInteraction()}},{key:"_onFocus",value:function(){this.disabled||(this._focused=!0,this.stateChanges.next())}},{key:"_onBlur",value:function(){this._focused=!1,!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}},{key:"_onAttached",value:function(){var a=this;this._overlayDir.positionChange.pipe(oi(1)).subscribe(function(){a._changeDetectorRef.detectChanges(),a._positioningSettled()})}},{key:"_getPanelTheme",value:function(){return this._parentFormField?"mat-".concat(this._parentFormField.color):""}},{key:"empty",get:function(){return!this._selectionModel||this._selectionModel.isEmpty()}},{key:"_initializeSelection",value:function(){var a=this;Promise.resolve().then(function(){a._setSelectionByValue(a.ngControl?a.ngControl.value:a._value),a.stateChanges.next()})}},{key:"_setSelectionByValue",value:function(a){var o=this;if(this._selectionModel.selected.forEach(function(u){return u.setInactiveStyles()}),this._selectionModel.clear(),this.multiple&&a)Array.isArray(a),a.forEach(function(u){return o._selectValue(u)}),this._sortValues();else{var s=this._selectValue(a);s?this._keyManager.updateActiveItem(s):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}},{key:"_selectValue",value:function(a){var o=this,s=this.options.find(function(u){if(o._selectionModel.isSelected(u))return!1;try{return null!=u.value&&o._compareWith(u.value,a)}catch(l){return!1}});return s&&this._selectionModel.select(s),s}},{key:"_initKeyManager",value:function(){var a=this;this._keyManager=new LG(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.pipe(Dt(this._destroy)).subscribe(function(){a.panelOpen&&(!a.multiple&&a._keyManager.activeItem&&a._keyManager.activeItem._selectViaInteraction(),a.focus(),a.close())}),this._keyManager.change.pipe(Dt(this._destroy)).subscribe(function(){a._panelOpen&&a.panel?a._scrollOptionIntoView(a._keyManager.activeItemIndex||0):!a._panelOpen&&!a.multiple&&a._keyManager.activeItem&&a._keyManager.activeItem._selectViaInteraction()})}},{key:"_resetOptions",value:function(){var a=this,o=Br(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Dt(o)).subscribe(function(s){a._onSelect(s.source,s.isUserInput),s.isUserInput&&!a.multiple&&a._panelOpen&&(a.close(),a.focus())}),Br.apply(void 0,ve(this.options.map(function(s){return s._stateChanges}))).pipe(Dt(o)).subscribe(function(){a._changeDetectorRef.markForCheck(),a.stateChanges.next()})}},{key:"_onSelect",value:function(a,o){var s=this._selectionModel.isSelected(a);null!=a.value||this._multiple?(s!==a.selected&&(a.selected?this._selectionModel.select(a):this._selectionModel.deselect(a)),o&&this._keyManager.setActiveItem(a),this.multiple&&(this._sortValues(),o&&this.focus())):(a.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(a.value)),s!==this._selectionModel.isSelected(a)&&this._propagateChanges(),this.stateChanges.next()}},{key:"_sortValues",value:function(){var a=this;if(this.multiple){var o=this.options.toArray();this._selectionModel.sort(function(s,u){return a.sortComparator?a.sortComparator(s,u,o):o.indexOf(s)-o.indexOf(u)}),this.stateChanges.next()}}},{key:"_propagateChanges",value:function(a){var o;o=this.multiple?this.selected.map(function(s){return s.value}):this.selected?this.selected.value:a,this._value=o,this.valueChange.emit(o),this._onChange(o),this.selectionChange.emit(this._getChangeEvent(o)),this._changeDetectorRef.markForCheck()}},{key:"_highlightCorrectOption",value:function(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}},{key:"_canOpen",value:function(){var a;return!this._panelOpen&&!this.disabled&&(null===(a=this.options)||void 0===a?void 0:a.length)>0}},{key:"focus",value:function(a){this._elementRef.nativeElement.focus(a)}},{key:"_getPanelAriaLabelledby",value:function(){var a;if(this.ariaLabel)return null;var o=null===(a=this._parentFormField)||void 0===a?void 0:a.getLabelId();return this.ariaLabelledby?(o?o+" ":"")+this.ariaLabelledby:o}},{key:"_getAriaActiveDescendant",value:function(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}},{key:"_getTriggerAriaLabelledby",value:function(){var a;if(this.ariaLabel)return null;var o=null===(a=this._parentFormField)||void 0===a?void 0:a.getLabelId(),s=(o?o+" ":"")+this._valueId;return this.ariaLabelledby&&(s+=" "+this.ariaLabelledby),s}},{key:"_panelDoneAnimating",value:function(a){this.openedChange.emit(a)}},{key:"setDescribedByIds",value:function(a){this._ariaDescribedby=a.join(" ")}},{key:"onContainerClick",value:function(){this.focus(),this.open()}},{key:"shouldLabelFloat",get:function(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}]),r}(C4);return e.\u0275fac=function(t){return new(t||e)(y(ig),y(tl),y(we),y(o8),y(X),y(oo,8),y(ac,8),y(xs,8),y(Qw,8),y(Tr,10),function(e){return function(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;var t=e.attrs;if(t)for(var r=t.length,i=0;it+256?Math.max(0,e-256+n):t}((a+o)*s,s,this.panel.nativeElement.scrollTop)}},{key:"_positioningSettled",value:function(){this._calculateOverlayOffsetX(),this.panel.nativeElement.scrollTop=this._scrollTop}},{key:"_panelDoneAnimating",value:function(a){this.panelOpen?this._scrollTop=0:(this._overlayDir.offsetX=0,this._changeDetectorRef.markForCheck()),q(Y(r.prototype),"_panelDoneAnimating",this).call(this,a)}},{key:"_getChangeEvent",value:function(a){return new b4(this,a)}},{key:"_calculateOverlayOffsetX",value:function(){var l,a=this._overlayDir.overlayRef.overlayElement.getBoundingClientRect(),o=this._viewportRuler.getViewportSize(),s=this._isRtl(),u=this.multiple?56:32;if(this.multiple)l=40;else if(this.disableOptionCentering)l=16;else{var c=this._selectionModel.selected[0]||this.options.first;l=c&&c.group?32:16}s||(l*=-1);var f=0-(a.left+l-(s?u:0)),d=a.right+l-o.width+(s?0:u);f>0?l+=f+8:d>0&&(l-=d+8),this._overlayDir.offsetX=Math.round(l),this._overlayDir.overlayRef.updatePosition()}},{key:"_calculateOverlayOffsetY",value:function(a,o,s){var f,u=this._getItemHeight(),l=(u-this._triggerRect.height)/2,c=Math.floor(256/u);return this.disableOptionCentering?0:(f=0===this._scrollTop?a*u:this._scrollTop===s?(a-(this._getItemCount()-c))*u+(u-(this._getItemCount()*u-256)%u):o-u/2,Math.round(-1*f-l))}},{key:"_checkOverlayWithinViewport",value:function(a){var o=this._getItemHeight(),s=this._viewportRuler.getViewportSize(),u=this._triggerRect.top-8,l=s.height-this._triggerRect.bottom-8,c=Math.abs(this._offsetY),d=Math.min(this._getItemCount()*o,256)-c-this._triggerRect.height;d>l?this._adjustPanelUp(d,l):c>u?this._adjustPanelDown(c,u,a):this._transformOrigin=this._getOriginBasedOnOption()}},{key:"_adjustPanelUp",value:function(a,o){var s=Math.round(a-o);this._scrollTop-=s,this._offsetY-=s,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop<=0&&(this._scrollTop=0,this._offsetY=0,this._transformOrigin="50% bottom 0px")}},{key:"_adjustPanelDown",value:function(a,o,s){var u=Math.round(a-o);if(this._scrollTop+=u,this._offsetY+=u,this._transformOrigin=this._getOriginBasedOnOption(),this._scrollTop>=s)return this._scrollTop=s,this._offsetY=0,void(this._transformOrigin="50% top 0px")}},{key:"_calculateOverlayPosition",value:function(){var c,a=this._getItemHeight(),o=this._getItemCount(),s=Math.min(o*a,256),l=o*a-s;c=this.empty?0:Math.max(this.options.toArray().indexOf(this._selectionModel.selected[0]),0),c+=Vw(c,this.options,this.optionGroups);var f=s/2;this._scrollTop=this._calculateOverlayScroll(c,f,l),this._offsetY=this._calculateOverlayOffsetY(c,f,l),this._checkOverlayWithinViewport(l)}},{key:"_getOriginBasedOnOption",value:function(){var a=this._getItemHeight(),o=(a-this._triggerRect.height)/2,s=Math.abs(this._offsetY)-o+a/2;return"50% ".concat(s,"px 0px")}},{key:"_getItemHeight",value:function(){return 3*this._triggerFontSize}},{key:"_getItemCount",value:function(){return this.options.length+this.optionGroups.length}}]),r}(E4);return e.\u0275fac=function(){var n;return function(r){return(n||(n=U(e)))(r||e)}}(),e.\u0275cmp=hn({type:e,selectors:[["mat-select"]],contentQueries:function(t,r,i){var a;1&t&&(Zt(i,D4,5),Zt(i,Lw,5),Zt(i,Nw,5)),2&t&&(et(a=tt())&&(r.customTrigger=a.first),et(a=tt())&&(r.options=a),et(a=tt())&&(r.optionGroups=a))},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","true",1,"mat-select"],hostVars:20,hostBindings:function(t,r){1&t&&Ve("keydown",function(a){return r._handleKeydown(a)})("focus",function(){return r._onFocus()})("blur",function(){return r._onBlur()}),2&t&&(Rt("id",r.id)("tabindex",r.tabIndex)("aria-controls",r.panelOpen?r.id+"-panel":null)("aria-expanded",r.panelOpen)("aria-label",r.ariaLabel||null)("aria-required",r.required.toString())("aria-disabled",r.disabled.toString())("aria-invalid",r.errorState)("aria-describedby",r._ariaDescribedby||null)("aria-activedescendant",r._getAriaActiveDescendant()),$t("mat-select-disabled",r.disabled)("mat-select-invalid",r.errorState)("mat-select-required",r.required)("mat-select-empty",r.empty)("mat-select-multiple",r.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[xe([{provide:ng,useExisting:e},{provide:Pw,useExisting:e}]),N],ngContentSelectors:v4,decls:9,vars:12,consts:[["cdk-overlay-origin","",1,"mat-select-trigger",3,"click"],["origin","cdkOverlayOrigin","trigger",""],[1,"mat-select-value",3,"ngSwitch"],["class","mat-select-placeholder mat-select-min-line",4,"ngSwitchCase"],["class","mat-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-select-arrow-wrapper"],[1,"mat-select-arrow"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayMinWidth","cdkConnectedOverlayOffsetY","backdropClick","attach","detach"],[1,"mat-select-placeholder","mat-select-min-line"],[1,"mat-select-value-text",3,"ngSwitch"],["class","mat-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-select-min-line"],[1,"mat-select-panel-wrap"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(t,r){if(1&t&&(Pa(h4),T(0,"div",0,1),Ve("click",function(){return r.toggle()}),T(3,"div",2),Ze(4,u4,2,1,"span",3),Ze(5,f4,3,2,"span",4),F(),T(6,"div",5),Xe(7,"div",6),F(),F(),Ze(8,d4,4,14,"ng-template",7),Ve("backdropClick",function(){return r.close()})("attach",function(){return r._onAttached()})("detach",function(){return r.close()})),2&t){var i=function(e){return ia(ne.lFrame.contextLView,20+e)}(1);Rt("aria-owns",r.panelOpen?r.id+"-panel":null),G(3),Z("ngSwitch",r.empty),Rt("id",r._valueId),G(1),Z("ngSwitchCase",!0),G(1),Z("ngSwitchCase",!1),G(3),Z("cdkConnectedOverlayPanelClass",r._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",r._scrollStrategy)("cdkConnectedOverlayOrigin",i)("cdkConnectedOverlayOpen",r.panelOpen)("cdkConnectedOverlayPositions",r._positions)("cdkConnectedOverlayMinWidth",null==r._triggerRect?null:r._triggerRect.width)("cdkConnectedOverlayOffsetY",r._offsetY)}},directives:[dS,ms,kh,hS,lD,wl],styles:['.mat-select{display:inline-block;width:100%;outline:none}.mat-select-trigger{display:inline-table;cursor:pointer;position:relative;box-sizing:border-box}.mat-select-disabled .mat-select-trigger{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.mat-select-value{display:table-cell;max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-select-arrow-wrapper{display:table-cell;vertical-align:middle}.mat-form-field-appearance-fill .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:translateY(-25%)}.mat-form-field-appearance-standard.mat-form-field-has-label .mat-select:not(.mat-select-empty) .mat-select-arrow-wrapper{transform:translateY(-50%)}.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable.mat-form-field-appearance-standard .mat-select.mat-select-empty .mat-select-arrow-wrapper{transition:none}.mat-select-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid;margin:0 4px}.mat-select-panel-wrap{flex-basis:100%}.mat-select-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-bottom:0;max-height:256px;min-width:100%;border-radius:4px;outline:0}.cdk-high-contrast-active .mat-select-panel{outline:solid 1px}.mat-select-panel .mat-optgroup-label,.mat-select-panel .mat-option{font-size:inherit;line-height:3em;height:3em}.mat-form-field-type-mat-select:not(.mat-form-field-disabled) .mat-form-field-flex{cursor:pointer}.mat-form-field-type-mat-select .mat-form-field-label{width:calc(100% - 18px)}.mat-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-select-placeholder{color:transparent;-webkit-text-fill-color:transparent;transition:none;display:block}.mat-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;opacity:0}\n'],encapsulation:2,data:{animation:[vS.transformPanelWrap,vS.transformPanel]},changeDetection:0}),e}(),w4=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({providers:[_4],imports:[[Sl,XU,Bw,Pt],ag,Yw,Bw,Pt]}),e}(),S4=["*",[["mat-toolbar-row"]]],A4=["*","mat-toolbar-row"],M4=Tw(function(){return function e(n){h(this,e),this._elementRef=n}}()),x4=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=x({type:e,selectors:[["mat-toolbar-row"]],hostAttrs:[1,"mat-toolbar-row"],exportAs:["matToolbarRow"]}),e}(),T4=function(){var e=function(n){C(r,n);var t=b(r);function r(i,a,o){var s;return h(this,r),(s=t.call(this,i))._platform=a,s._document=o,s}return p(r,[{key:"ngAfterViewInit",value:function(){var a=this;this._platform.isBrowser&&(this._checkToolbarMixedModes(),this._toolbarRows.changes.subscribe(function(){return a._checkToolbarMixedModes()}))}},{key:"_checkToolbarMixedModes",value:function(){}}]),r}(M4);return e.\u0275fac=function(t){return new(t||e)(y(X),y(Ir),y(pe))},e.\u0275cmp=hn({type:e,selectors:[["mat-toolbar"]],contentQueries:function(t,r,i){var a;1&t&&Zt(i,x4,5),2&t&&et(a=tt())&&(r._toolbarRows=a)},hostAttrs:[1,"mat-toolbar"],hostVars:4,hostBindings:function(t,r){2&t&&$t("mat-toolbar-multiple-rows",r._toolbarRows.length>0)("mat-toolbar-single-row",0===r._toolbarRows.length)},inputs:{color:"color"},exportAs:["matToolbar"],features:[N],ngContentSelectors:A4,decls:2,vars:0,template:function(t,r){1&t&&(Pa(S4),It(0),It(1,1))},styles:[".cdk-high-contrast-active .mat-toolbar{outline:solid 1px}.mat-toolbar-row,.mat-toolbar-single-row{display:flex;box-sizing:border-box;padding:0 16px;width:100%;flex-direction:row;align-items:center;white-space:nowrap}.mat-toolbar-multiple-rows{display:flex;box-sizing:border-box;flex-direction:column;width:100%}\n"],encapsulation:2,changeDetection:0}),e}(),F4=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[Pt],Pt]}),e}(),R4=Et(52),yS=Et.n(R4);var L4=["language","theme"],V4=["editor"],B4=["diffEditor"],_S="MONACO_PATH",lg=function(){var e=function(){function n(t,r){var i=this;h(this,n),this.ngZone=t,this.monacoPathConfig=r,this.isMonacoLoaded$=new Tk(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?t.run(function(){return i.isMonacoLoaded$.next(!0)}):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}return p(n,[{key:"monacoPath",set:function(r){r&&(this._monacoPath=r)}},{key:"loadMonaco",value:function(){var r=this,i=function(){var l=r._monacoPath;window.amdRequire=window.require;var c=!!r.nodeRequire,f=l.includes("http");c&&(window.require=r.nodeRequire,!f)&&(l=window.require("path").resolve(window.__dirname,r._monacoPath)),window.amdRequire.config({paths:{vs:l}}),window.amdRequire(["vs/editor/editor.main"],function(){r.ngZone.run(function(){return r.isMonacoLoaded$.next(!0)})},function(v){return console.error("Error loading monaco-editor: ",v)})};if(window.amdRequire)return i();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);var s=document.createElement("script");s.type="text/javascript",s.src="".concat(this._monacoPath,"/loader.js"),s.addEventListener("load",i),document.body.appendChild(s)}},{key:"addElectronFixScripts",value:function(){var r=document.createElement("script"),i=document.createTextNode("self.module = undefined;"),a=document.createTextNode("self.process.browser = true;");r.appendChild(i),r.appendChild(a),document.body.appendChild(r)}}]),n}();return e.\u0275fac=function(t){return new(t||e)(k(we),k(_S,8))},e.\u0275prov=P({token:e,factory:e.\u0275fac,providedIn:"root"}),e}(),H4=function(){var e=function(){function n(t){h(this,n),this.monacoLoader=t,this.init=new De,this.onTouched=function(){},this.onErrorStatusChange=function(){},this.propagateChange=function(){}}return p(n,[{key:"model",get:function(){return this.editor&&this.editor.getModel()}},{key:"modelMarkers",get:function(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}},{key:"ngOnInit",value:function(){var r=this;this.monacoLoader.isMonacoLoaded$.pipe(dr(function(i){return i}),oi(1)).subscribe(function(){r.initEditor()})}},{key:"ngOnChanges",value:function(r){if(this.editor&&r.options&&!r.options.firstChange){var i=r.options.currentValue,a=i.language,o=i.theme,s=function(e,n){if(null==e)return{};var r,i,t=function(e,n){if(null==e)return{};var i,a,t={},r=Object.keys(e);for(a=0;a=0)&&(t[i]=e[i]);return t}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&(!Object.prototype.propertyIsEnumerable.call(e,r)||(t[r]=e[r]))}return t}(i,L4),u=r.options.previousValue,c=u.theme;u.language!==a&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),c!==o&&monaco.editor.setTheme(o),this.editor.updateOptions(s)}if(this.editor&&r.uri){var f=r.uri.currentValue,d=r.uri.previousValue;if(d&&!f||!d&&f||f&&d&&f.path!==d.path){var g,v=this.editor.getValue();this.modelUriInstance&&this.modelUriInstance.dispose(),f&&(g=monaco.editor.getModels().find(function(m){return m.uri.path===f.path})),this.modelUriInstance=g||monaco.editor.createModel(v,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}},{key:"writeValue",value:function(r){this.value=r,this.editor&&r?this.editor.setValue(r):this.editor&&this.editor.setValue("")}},{key:"registerOnChange",value:function(r){this.propagateChange=r}},{key:"registerOnTouched",value:function(r){this.onTouched=r}},{key:"validate",value:function(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}},{key:"registerOnValidatorChange",value:function(r){this.onErrorStatusChange=r}},{key:"initEditor",value:function(){var r={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?K(K({},r),this.options):r),this.registerEditorListeners(),this.init.emit(this.editor)}},{key:"registerEditorListeners",value:function(){var r=this;this.editor.onDidChangeModelContent(function(){r.propagateChange(r.editor.getValue())}),this.editor.onDidChangeModelDecorations(function(){var i=r.modelMarkers.map(function(o){return o.message}).join("|");r.parsedError!==i&&(r.parsedError=i,r.onErrorStatusChange())}),this.editor.onDidBlurEditorText(function(){r.onTouched()})}},{key:"ngOnDestroy",value:function(){this.editor&&this.editor.dispose()}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(lg))},e.\u0275cmp=hn({type:e,selectors:[["ngx-monaco-editor"]],viewQuery:function(t,r){var i;1&t&&wr(V4,7),2&t&&et(i=tt())&&(r.editorContent=i.first)},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[xe([{provide:Qn,useExisting:Se(function(){return e}),multi:!0},{provide:St,useExisting:Se(function(){return e}),multi:!0}]),dt],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(t,r){1&t&&(T(0,"div",0,1),Xe(2,"div",2,3),F())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),e}(),G4=function(){var e=function(){function n(t){h(this,n),this.monacoLoader=t,this.init=new De}return p(n,[{key:"ngOnInit",value:function(){var r=this;this.container=this.editorContent.nativeElement,this.monacoLoader.isMonacoLoaded$.pipe(dr(function(i){return i}),oi(1)).subscribe(function(){r.initMonaco()})}},{key:"ngOnChanges",value:function(r){if(this.editor&&(r.code&&!r.code.firstChange||r.modified&&!r.modified.firstChange)){var i=monaco.editor.createModel(this.modified),a=monaco.editor.createModel(this.original);this.editor.setModel({original:a,modified:i})}this.editor&&r.options&&!r.options.firstChange&&(r.options.previousValue.theme!==r.options.currentValue.theme&&monaco.editor.setTheme(r.options.currentValue.theme),this.editor.updateOptions(r.options.currentValue))}},{key:"initMonaco",value:function(){var r={readOnly:!0,automaticLayout:!0,theme:"vc"};this.options&&(r=Object.assign({},r,this.options)),this.editor=monaco.editor.createDiffEditor(this.container,r);var i=monaco.editor.createModel(this.original),a=monaco.editor.createModel(this.modified);this.editor.setModel({original:i,modified:a}),this.editor.layout(),this.init.emit(this.editor)}},{key:"ngOnDestroy",value:function(){this.editor&&this.editor.dispose()}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(lg))},e.\u0275cmp=hn({type:e,selectors:[["ngx-monaco-diff-editor"]],viewQuery:function(t,r){var i;1&t&&wr(B4,7),2&t&&et(i=tt())&&(r.editorContent=i.first)},inputs:{original:"original",modified:"modified",options:"options"},outputs:{init:"init"},features:[dt],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["diffEditor",""]],template:function(t,r){1&t&&(T(0,"div",0,1),Xe(2,"div",2,3),F())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),e}(),U4=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e}),e.\u0275inj=me({imports:[[]]}),e}();function W4(e,n){if(1&e&&(T(0,"mat-option",25),fe(1),F()),2&e){var t=n.$implicit;Z("value",t),G(1),Cn(t)}}function q4(e,n){if(1&e&&(T(0,"mat-option",25),fe(1),F()),2&e){var t=n.$implicit;Z("value",t),G(1),Cn(t)}}function K4(e,n){if(1&e&&(T(0,"mat-option",25),fe(1),F()),2&e){var t=n.$implicit;Z("value",t),G(1),Cn(t)}}var Q4=function(){return[!0,!1]},Y4=function(){return{language:"typescript"}},$4=function(){return{language:"sql"}},Z4=function(){return{language:"sql",renderSideBySide:!1}},bS=function(){return{language:"json"}},X4=function(){var e=function(){function n(t,r){h(this,n),this.fb=t,this.monacoLoader=r,this.theme="vs-dark",this.themes=["vs","vs-dark","hc-black"],this.readOnlys=[!0,!1],this.options={theme:"vs-dark",readOnly:!1},this.typescriptCode="export class Animals {\n private name: string;\n constructor(name) {\n this.name = name;\n }\n }",this.simpleText="hello world!",this.sqlRequest="SELECT * FROM user;",this.modifiedSqlRequest="SELECT * FROM user\nWHERE id = 1;",this.reactiveForm=this.fb.group({code:['{\n "city": "Boardman",\n "country": "United States",\n "countryCode": "US",\n "isp": "Test",\n "lat": 49.8696,\n "lon": -128.688,\n "org": "Test",\n "regionName": "Oregon",\n "timezone": "America/Los_Angeles",\n "zip": "97818"\n}'],json:['{\n "colors": [\n {\n "color": "black",\n "category": "hue",\n "type": "primary",\n "code": {\n "rgba": [255,255,255,1],\n "hex": "#000"\n }\n },\n {\n "color": "white",\n "category": "value",\n "code": {\n "rgba": [0,0,0,1],\n "hex": "#FFF"\n }\n },\n {\n "color": "red",\n "category": "hue",\n "type": "primary",\n "code": {\n "rgba": [255,0,0,1],\n "hex": "#FF0"\n }\n },\n {\n "color": "blue",\n "category": "hue",\n "type": "primary",\n "code": {\n "rgba": [0,0,255,1],\n "hex": "#00F"\n }\n },\n {\n "color": "yellow",\n "category": "hue",\n "type": "primary",\n "code": {\n "rgba": [255,255,0,1],\n "hex": "#FF0"\n }\n },\n {\n "color": "green",\n "category": "hue",\n "type": "secondary",\n "code": {\n "rgba": [0,255,0,1],\n "hex": "#0F0"\n }\n }\n ]\n}']}),this.registerJSONValidationSchema()}return p(n,[{key:"setOptions",value:function(r){this.options=Object.assign(Object.assign({},this.options),r)}},{key:"mergeOptions",value:function(r){return Object.assign(Object.assign({},this.options),r)}},{key:"registerJSONValidationSchema",value:function(){return function(e,n,t,r){return new(t||(t=Promise))(function(a,o){function s(c){try{l(r.next(c))}catch(f){o(f)}}function u(c){try{l(r.throw(c))}catch(f){o(f)}}function l(c){c.done?a(c.value):function(a){return a instanceof t?a:new t(function(o){o(a)})}(c.value).then(s,u)}l((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,yS().mark(function r(){return yS().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,this.monacoLoader.isMonacoLoaded$.pipe(dr(function(o){return o}),oi(1)).toPromise();case 2:this.modelUri=monaco.Uri.parse("a://b/city.json"),monaco.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"http://myserver/city-schema.json",fileMatch:["city*.json"],schema:{type:"object",additionalProperties:!1,properties:{city:{enum:["Paris","Berlin","Boardman"]},country:{enum:["France","Germany","United States"]},population:{type:"integer"}}}}]});case 4:case"end":return a.stop()}},r,this)}))}}]),n}();return e.\u0275fac=function(t){return new(t||e)(y(ZB),y(lg))},e.\u0275cmp=hn({type:e,selectors:[["app-root"]],decls:107,vars:47,consts:[["fxLayout","row","fxLayoutAlign","start center","color","primary",1,"mat-elevation-z8"],["fxFlex",""],["fxHide.xs","true"],["width","20","alt","Materia Designer Logo","src","https://materiahq.github.io/materia-website-content/logo/materia.png"],[1,"examples"],["fxLayout","column","fxLayoutAlign","center center"],[1,"mat-headline"],["fxLayout","row wrap","fxLayoutAlign","center center"],["placeholder","Theme",3,"value","selectionChange"],[3,"value",4,"ngFor","ngForOf"],["placeholder","Read only",3,"value","selectionChange"],["placeholder","Minimap",3,"value","selectionChange"],["fxLayout","row wrap",1,"basic-examples"],["fxFlex","","fxLayout","column",1,"basic-example"],[1,"mat-title"],[3,"ngModel","options","ngModelChange"],[2,"height","300px"],["fxFlex","",3,"options","original","modified"],["fxLayout","column"],["fxFlex","","fxLayout","row"],["fxFlex","",3,"formGroup"],["formControlName","json",3,"options"],["fxFlex","30","fxLayout","column",1,"form-infos"],[1,"form-info"],["formControlName","code",3,"options","uri"],[3,"value"]],template:function(t,r){1&t&&(T(0,"mat-toolbar",0),T(1,"h1"),fe(2," Angular Monaco Editor library demo "),F(),Xe(3,"span",1),T(4,"h2",2),fe(5," Made with "),T(6,"span"),fe(7,"\u2764"),F(),fe(8," by Materia Team "),F(),Xe(9,"img",3),F(),T(10,"div",4),T(11,"div",5),T(12,"h2",6),fe(13,"Monaco Editor Options"),F(),T(14,"div",7),T(15,"mat-form-field"),T(16,"mat-select",8),Ve("selectionChange",function(a){return r.setOptions({theme:a.value})}),Ze(17,W4,2,2,"mat-option",9),F(),F(),T(18,"mat-form-field"),T(19,"mat-select",10),Ve("selectionChange",function(a){return r.setOptions({readOnly:a.value})}),Ze(20,q4,2,2,"mat-option",9),F(),F(),T(21,"mat-form-field"),T(22,"mat-select",11),Ve("selectionChange",function(a){return r.setOptions({minimap:{enabled:a.value}})}),Ze(23,K4,2,2,"mat-option",9),F(),F(),F(),F(),Xe(24,"mat-divider"),T(25,"h2",6),fe(26,"Basic Examples "),F(),T(27,"div",12),T(28,"div",13),T(29,"h3",14),fe(30,"Typescript"),F(),T(31,"mat-card",1),T(32,"ngx-monaco-editor",15),Ve("ngModelChange",function(a){return r.typescriptCode=a}),F(),F(),F(),T(33,"div",13),T(34,"h3",14),fe(35,"Simple text"),F(),T(36,"mat-card",1),T(37,"ngx-monaco-editor",15),Ve("ngModelChange",function(a){return r.simpleText=a}),F(),F(),F(),T(38,"div",13),T(39,"h3",14),fe(40,"SQL"),F(),T(41,"mat-card",1),T(42,"ngx-monaco-editor",15),Ve("ngModelChange",function(a){return r.sqlRequest=a}),F(),F(),F(),F(),Xe(43,"mat-divider"),T(44,"h2",6),fe(45,"Diffs Editor Example"),F(),T(46,"h3",14),fe(47,"SQL"),F(),T(48,"mat-card",16),Xe(49,"ngx-monaco-diff-editor",17),F(),Xe(50,"mat-divider"),T(51,"h2",6),fe(52,"Reactive Form Example"),F(),T(53,"div",18),T(54,"h3",14),fe(55,"JSON"),F(),T(56,"mat-card",19),T(57,"form",20),Xe(58,"ngx-monaco-editor",21),F(),T(59,"div",22),T(60,"h4",14),fe(61,"Form control"),F(),T(62,"div",23),T(63,"span"),fe(64,"Valid:"),F(),T(65,"span"),fe(66),F(),F(),T(67,"div",23),T(68,"span"),fe(69,"Touched:"),F(),T(70,"span"),fe(71),F(),F(),T(72,"div",23),T(73,"span"),fe(74,"Value:"),F(),T(75,"pre"),fe(76),F(),F(),F(),F(),F(),T(77,"div",18),T(78,"h3",14),fe(79,"JSON with validation schema"),F(),T(80,"mat-card",19),T(81,"div",22),T(82,"h4",14),fe(83,"Form control"),F(),T(84,"div",23),T(85,"span"),fe(86,"Valid:"),F(),T(87,"span"),fe(88),F(),F(),T(89,"div",23),T(90,"span"),fe(91,"Touched:"),F(),T(92,"span"),fe(93),F(),F(),T(94,"div",23),T(95,"span"),fe(96,"Value"),F(),T(97,"pre"),fe(98),F(),F(),T(99,"div",23),T(100,"span"),fe(101,"Errors"),F(),T(102,"pre"),fe(103),function(e,n){var r,t=_e(),i=e+20;t.firstCreatePass?(r=function(e,n){if(n)for(var t=n.length-1;t>=0;t--){var r=n[t];if(e===r.name)return r}throw new hi("302","The pipe '".concat(e,"' could not be found!"))}(n,t.pipeRegistry),t.data[i]=r,r.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(i,r.onDestroy)):r=t.data[i];var a=r.factory||(r.factory=yi(r.type)),o=Hr(y);try{var s=du(!1),u=a();du(s),function(e,n,t,r){t>=e.data.length&&(e.data[t]=null,e.blueprint[t]=null),n[t]=r}(t,A(),i,u)}finally{Hr(o)}}(104,"json"),F(),F(),F(),T(105,"form",20),Xe(106,"ngx-monaco-editor",24),F(),F(),F(),F()),2&t&&(G(6),Er("color","red"),G(3),Er("margin",10,"px"),G(7),Z("value",r.theme),G(1),Z("ngForOf",r.themes),G(2),Z("value",!1),G(1),Z("ngForOf",r.readOnlys),G(2),Z("value",!0),G(1),Z("ngForOf",xi(41,Q4)),G(9),Z("ngModel",r.typescriptCode)("options",r.mergeOptions(xi(42,Y4))),G(5),Z("ngModel",r.simpleText)("options",r.mergeOptions()),G(5),Z("ngModel",r.sqlRequest)("options",r.mergeOptions(xi(43,$4))),G(7),Z("options",r.mergeOptions(xi(44,Z4)))("original",r.sqlRequest)("modified",r.modifiedSqlRequest),G(8),Z("formGroup",r.reactiveForm),G(1),Z("options",r.mergeOptions(xi(45,bS))),G(7),Er("color",null!=r.reactiveForm.controls&&null!=r.reactiveForm.controls.json&&r.reactiveForm.controls.json.valid?"green":"red"),G(1),$r("\xa0",null==r.reactiveForm.controls||null==r.reactiveForm.controls.json?null:r.reactiveForm.controls.json.valid,""),G(4),Er("color",null!=r.reactiveForm.controls&&null!=r.reactiveForm.controls.json&&r.reactiveForm.controls.json.touched?"green":"red"),G(1),$r("\xa0",null==r.reactiveForm.controls||null==r.reactiveForm.controls.json?null:r.reactiveForm.controls.json.touched,""),G(5),Cn(null==r.reactiveForm.value?null:r.reactiveForm.value.code),G(11),Er("color",null!=r.reactiveForm.controls&&null!=r.reactiveForm.controls.code&&r.reactiveForm.controls.code.valid?"green":"red"),G(1),$r("\xa0",null==r.reactiveForm.controls||null==r.reactiveForm.controls.code?null:r.reactiveForm.controls.code.valid,""),G(4),Er("color",null!=r.reactiveForm.controls&&null!=r.reactiveForm.controls.code&&r.reactiveForm.controls.code.touched?"green":"red"),G(1),$r("\xa0",null==r.reactiveForm.controls||null==r.reactiveForm.controls.code?null:r.reactiveForm.controls.code.touched,""),G(5),Cn(null==r.reactiveForm.value?null:r.reactiveForm.value.code),G(5),Cn(function(e,n,t){var r=e+20,i=A(),a=ia(i,r);return function(e,n){return e[1].data[n].pure}(i,r)?ub(i,jt(),n,a.transform,t,a):a.transform(t)}(104,39,null==r.reactiveForm.controls||null==r.reactiveForm.controls.code?null:r.reactiveForm.controls.code.errors)),G(2),Z("formGroup",r.reactiveForm),G(1),Z("options",r.mergeOptions(xi(46,bS)))("uri",r.modelUri))},directives:[T4,tw,aw,iw,Qk,fU,k4,oD,w8,E8,H4,ek,Sv,G4,ck,tk,xs,Tv,Lw],pipes:[fD],styles:["[_nghost-%COMP%]{background:#fafafa;flex-direction:column;display:flex}.examples[_ngcontent-%COMP%]{margin:0 5%}.examples[_ngcontent-%COMP%] mat-toolbar[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis}.examples[_ngcontent-%COMP%] mat-toolbar[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:15px}.examples[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{text-align:center;margin:30px}.examples[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{text-align:center;color:#2196f3;margin:10px}.examples[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{margin:15px}.examples[_ngcontent-%COMP%] mat-card[_ngcontent-%COMP%]{padding:0;margin:15px;height:auto}.examples[_ngcontent-%COMP%] .basic-examples[_ngcontent-%COMP%]{min-height:300px}.examples[_ngcontent-%COMP%] .basic-examples[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{min-width:300px;min-height:300px}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%]{margin:0 15px}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] h4[_ngcontent-%COMP%]{margin:10px 0}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] .form-info[_ngcontent-%COMP%]{margin-bottom:10px}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] .form-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:last-child{font-weight:bold}.examples[_ngcontent-%COMP%] .form-infos[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;background:#eeee;padding:10px}"]}),e}(),J4=function(){var e=function n(){h(this,n)};return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=be({type:e,bootstrap:[X4]}),e.\u0275inj=me({providers:[{provide:_S,useValue:"https://unpkg.com/monaco-editor@0.31.1/min/vs"}],imports:[[wD,rB,YB,xk,U4,F4,b8,k8,Yw,w4,S8,vG]]}),e}();(function(){if($b)throw new Error("Cannot enable prod mode after platform setup.");Yb=!1})(),CV().bootstrapModule(J4).catch(function(e){return console.log(e)})},510:function(li){var Qi=function(Et){"use strict";var q,Y=Object.prototype,hr=Y.hasOwnProperty,Or="function"==typeof Symbol?Symbol:{},ci=Or.iterator||"@@iterator",K=Or.asyncIterator||"@@asyncIterator",Yi=Or.toStringTag||"@@toStringTag";function p(R,M,L){return Object.defineProperty(R,M,{value:L,enumerable:!0,configurable:!0,writable:!0}),R[M]}try{p({},"")}catch(R){p=function(M,L,ee){return M[L]=ee}}function h(R,M,L,ee){var se=Object.create((M&&M.prototype instanceof b?M:b).prototype),kt=new Vt(ee||[]);return se._invoke=function(R,M,L){var ee=C;return function(se,kt){if(ee===fi)throw new Error("Generator is already running");if(ee===Pe){if("throw"===se)throw kt;return yt()}for(L.method=se,L.arg=kt;;){var _t=L.delegate;if(_t){var je=zs(_t,L);if(je){if(je===Jt)continue;return je}}if("next"===L.method)L.sent=L._sent=L.arg;else if("throw"===L.method){if(ee===C)throw ee=Pe,L.arg;L.dispatchException(L.arg)}else"return"===L.method&&L.abrupt("return",L.arg);ee=fi;var rt=vr(R,M,L);if("normal"===rt.type){if(ee=L.done?Pe:Us,rt.arg===Jt)continue;return{value:rt.arg,done:L.done}}"throw"===rt.type&&(ee=Pe,L.method="throw",L.arg=rt.arg)}}}(R,L,kt),se}function vr(R,M,L){try{return{type:"normal",arg:R.call(M,L)}}catch(ee){return{type:"throw",arg:ee}}}Et.wrap=h;var C="suspendedStart",Us="suspendedYield",fi="executing",Pe="completed",Jt={};function b(){}function Pr(){}function Tn(){}var Lt={};Lt[ci]=function(){return this};var $i=Object.getPrototypeOf,Zi=$i&&$i($i(ho([])));Zi&&Zi!==Y&&hr.call(Zi,ci)&&(Lt=Zi);var gr=Tn.prototype=b.prototype=Object.create(Lt);function Te(R){["next","throw","return"].forEach(function(M){p(R,M,function(L){return this._invoke(M,L)})})}function di(R,M){function L(se,kt,_t,je){var rt=vr(R[se],R,kt);if("throw"!==rt.type){var Nr=rt.arg,Zn=Nr.value;return Zn&&"object"==typeof Zn&&hr.call(Zn,"__await")?M.resolve(Zn.__await).then(function(Lr){L("next",Lr,_t,je)},function(Lr){L("throw",Lr,_t,je)}):M.resolve(Zn).then(function(Lr){Nr.value=Lr,_t(Nr)},function(Lr){return L("throw",Lr,_t,je)})}je(rt.arg)}var ee;this._invoke=function(se,kt){function _t(){return new M(function(je,rt){L(se,kt,je,rt)})}return ee=ee?ee.then(_t,_t):_t()}}function zs(R,M){var L=R.iterator[M.method];if(L===q){if(M.delegate=null,"throw"===M.method){if(R.iterator.return&&(M.method="return",M.arg=q,zs(R,M),"throw"===M.method))return Jt;M.method="throw",M.arg=new TypeError("The iterator does not provide a 'throw' method")}return Jt}var ee=vr(L,R.iterator,M.arg);if("throw"===ee.type)return M.method="throw",M.arg=ee.arg,M.delegate=null,Jt;var W=ee.arg;return W?W.done?(M[R.resultName]=W.value,M.next=R.nextLoc,"return"!==M.method&&(M.method="next",M.arg=q),M.delegate=null,Jt):W:(M.method="throw",M.arg=new TypeError("iterator result is not an object"),M.delegate=null,Jt)}function yc(R){var M={tryLoc:R[0]};1 in R&&(M.catchLoc=R[1]),2 in R&&(M.finallyLoc=R[2],M.afterLoc=R[3]),this.tryEntries.push(M)}function ve(R){var M=R.completion||{};M.type="normal",delete M.arg,R.completion=M}function Vt(R){this.tryEntries=[{tryLoc:"root"}],R.forEach(yc,this),this.reset(!0)}function ho(R){if(R){var M=R[ci];if(M)return M.call(R);if("function"==typeof R.next)return R;if(!isNaN(R.length)){var L=-1,ee=function W(){for(;++L=0;--ee){var W=this.tryEntries[ee],se=W.completion;if("root"===W.tryLoc)return L("end");if(W.tryLoc<=this.prev){var kt=hr.call(W,"catchLoc"),_t=hr.call(W,"finallyLoc");if(kt&&_t){if(this.prev=0;--L){var ee=this.tryEntries[L];if(ee.tryLoc<=this.prev&&hr.call(ee,"finallyLoc")&&this.prev=0;--M){var L=this.tryEntries[M];if(L.finallyLoc===R)return this.complete(L.completion,L.afterLoc),ve(L),Jt}},catch:function(R){for(var M=this.tryEntries.length-1;M>=0;--M){var L=this.tryEntries[M];if(L.tryLoc===R){var ee=L.completion;if("throw"===ee.type){var W=ee.arg;ve(L)}return W}}throw new Error("illegal catch attempt")},delegateYield:function(R,M,L){return this.delegate={iterator:ho(R),resultName:M,nextLoc:L},"next"===this.method&&(this.arg=q),Jt}},Et}(li.exports);try{regeneratorRuntime=Qi}catch(Et){Function("r","regeneratorRuntime = r")(Qi)}},52:function(li,Qi,Et){li.exports=Et(510)}},function(li){li(li.s=25)}]); \ No newline at end of file diff --git a/docs/polyfills-es5.c2e3ad64b58a96a39de7.js b/docs/polyfills-es5.c2e3ad64b58a96a39de7.js deleted file mode 100644 index 26215022..00000000 --- a/docs/polyfills-es5.c2e3ad64b58a96a39de7.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{"+5Eg":function(t,e,n){var r=n("wA6s"),o=n("6XUM"),i=n("M7Xk").onFreeze,a=n("cZY6"),c=n("rG8t"),u=Object.seal;r({target:"Object",stat:!0,forced:c((function(){u(1)})),sham:!a},{seal:function(t){return u&&o(t)?u(i(t)):t}})},"+IJR":function(t,e,n){n("wA6s")({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},"+lvF":function(t,e,n){t.exports=n("VTer")("native-function-to-string",Function.toString)},"+rLv":function(t,e,n){var r=n("dyZX").document;t.exports=r&&r.documentElement},"/AsP":function(t,e,n){var r=n("yIiL"),o=n("SDMg"),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},"/Ybd":function(t,e,n){var r=n("T69T"),o=n("XdSI"),i=n("F26l"),a=n("LdO1"),c=Object.defineProperty;e.f=r?c:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"0/R4":function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},"0Ds2":function(t,e,n){var r=n("m41k")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,"/./"[t](e)}catch(o){}}return!1}},"0TWp":function(t,e,n){var r,o;void 0===(o="function"==typeof(r=function(){"use strict";!function(t){var e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");var o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}var a=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(a||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var c=function(){function e(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==M.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return P.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return I},enumerable:!0,configurable:!0}),e.__load_patch=function(o,i){if(M.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!t["__Zone_disable_"+o]){var c="Zone:"+o;n(c),M[o]=i(t,e,j),r(c,c)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){P={parent:P,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{P=P.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),P={parent:P,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{P=P.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");if(t.state!==w||t.type!==A&&t.type!==T){var r=t.state!=E;r&&t._transitionTo(E,x),t.runCount++;var o=I;I=t,P={parent:P,zone:this};try{t.type==T&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==w&&t.state!==S&&(t.type==A||t.data&&t.data.isPeriodic?r&&t._transitionTo(x,E):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(w,E,w))),P=P.parent,I=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(k,w);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(S,k,w),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==k&&t._transitionTo(x,k),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new l(O,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new l(T,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new l(A,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||b).name+"; Execution: "+this.name+")");t._transitionTo(_,x,E);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(S,_),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(w,_),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t})},t}(),l=function(){function e(n,r,o,i,a,c){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=c,!o)throw new Error("callback is not defined");this.callback=o;var u=this;this.invoke=n===A&&i&&i.useG?e.invokeTask:function(){return e.invokeTask.call(t,u,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),C++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==C&&m(),C--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(w,k)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==w&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),p=i("setTimeout"),h=i("Promise"),v=i("then"),d=[],g=!1;function y(e){if(0===C&&0===d.length)if(u||t[h]&&(u=t[h].resolve(0)),u){var n=u[v];n||(n=u.then),n.call(u,m)}else t[p](m,0);e&&d.push(e)}function m(){if(!g){for(g=!0;d.length;){var t=d;d=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=u(t[n],e+"_"+n));return t}function g(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var y="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,m=!("nw"in h)&&void 0!==h.process&&"[object process]"==={}.toString.call(h.process),b=!m&&!y&&!(!l||!p.HTMLElement),w=void 0!==h.process&&"[object process]"==={}.toString.call(h.process)&&!y&&!(!l||!p.HTMLElement),k={},x=function(t){if(t=t||h.event){var e=k[t.type];e||(e=k[t.type]=f("ON_PROPERTY"+t.type));var n,r=this||t.target||h,o=r[e];if(b&&r===p&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function E(n,r,o){var i=t(n,r);if(!i&&o&&t(o,r)&&(i={enumerable:!0,configurable:!0}),i&&i.configurable){var a=f("on"+r+"patched");if(!n.hasOwnProperty(a)||!n[a]){delete i.writable,delete i.value;var c=i.get,u=i.set,s=r.substr(2),l=k[s];l||(l=k[s]=f("ON_PROPERTY"+s)),i.set=function(t){var e=this;e||n!==h||(e=h),e&&(e[l]&&e.removeEventListener(s,x),u&&u.apply(e,v),"function"==typeof t?(e[l]=t,e.addEventListener(s,x,!1)):e[l]=null)},i.get=function(){var t=this;if(t||n!==h||(t=h),!t)return null;var e=t[l];if(e)return e;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t.removeAttribute&&t.removeAttribute(r),o}return null},e(n,r,i),n[a]=!0}}}function _(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?s(i.name,r[i.cbIdx],i,o):t.apply(e,r)}}))}function M(t,e){t[f("OriginalDelegate")]=e}var j=!1,P=!1;function I(){try{var t=p.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch(e){}return!1}function C(){if(j)return P;j=!0;try{var t=p.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(P=!0)}catch(e){}return P}Zone.__load_patch("toString",(function(t){var e=Function.prototype.toString,n=f("OriginalDelegate"),r=f("Promise"),o=f("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var c=t[o];if(c)return e.call(c)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}));var D=!1;if("undefined"!=typeof window)try{var R=Object.defineProperty({},"passive",{get:function(){D=!0}});window.addEventListener("test",R,R),window.removeEventListener("test",R,R)}catch(wt){D=!1}var N={useG:!0},L={},Z={},F=new RegExp("^"+c+"(\\w+)(true|false)$"),z=f("propagationStopped");function G(t,e){var n=(e?e(t):t)+"false",r=(e?e(t):t)+"true",o=c+n,i=c+r;L[t]={},L[t].false=o,L[t].true=i}function q(t,e,r){var o=r&&r.add||"addEventListener",i=r&&r.rm||"removeEventListener",a=r&&r.listeners||"eventListeners",u=r&&r.rmAll||"removeAllListeners",s=f(o),l="."+o+":",p=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;o&&"object"==typeof o&&o.once&&e[i].call(e,n.type,t.originalDelegate?t.originalDelegate:t.callback,o)}},h=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[L[e.type].false];if(r)if(1===r.length)p(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(u,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(u),c=u,[r,o,"send","close"].forEach((function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var c=Zone.__symbol__("ON_PROPERTY"+i);u[c]=a[c]}}return u[e].apply(u,n)}}))):a=u,t.patchOnProperties(a,["close","error","message","open"],c),a};var a=e.WebSocket;for(var c in i)a[c]=i[c]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",(function(n,i,a){a.patchOnProperties=_,a.patchMethod=T,a.bindArguments=d,a.patchMacroTask=A;var s=i.__symbol__("BLACK_LISTED_EVENTS"),f=i.__symbol__("UNPATCHED_EVENTS");n[f]&&(n[s]=n[f]),n[s]&&(i[s]=i[f]=n[s]),a.patchEventPrototype=U,a.patchEventTarget=q,a.isIEOrEdge=C,a.ObjectDefineProperty=e,a.ObjectGetOwnPropertyDescriptor=t,a.ObjectCreate=r,a.ArraySlice=o,a.patchClass=O,a.wrapWithCurrentZone=u,a.filterProperties=ct,a.attachOriginToPatched=M,a._redefineProperty=Object.defineProperty,a.patchCallbacks=Y,a.getGlobalObjects=function(){return{globalSources:Z,zoneSymbolEventNames:L,eventNames:at,isBrowser:b,isMix:w,isNode:m,TRUE_STR:"true",FALSE_STR:"false",ZONE_SYMBOL_PREFIX:c,ADD_EVENT_LISTENER_STR:"addEventListener",REMOVE_EVENT_LISTENER_STR:"removeEventListener"}}})),function(t){t[(t.__Zone_symbol_prefix||"__zone_symbol__")+"legacyPatch"]=function(){var e=t.Zone;e.__load_patch("defineProperty",(function(t,e,n){n._redefineProperty=lt,ft()})),e.__load_patch("registerElement",(function(t,e,n){!function(t,e){var n=e.getGlobalObjects();(n.isBrowser||n.isMix)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])}(t,n)})),e.__load_patch("EventTargetLegacy",(function(t,e,n){dt(t,n),gt(n,t)}))}}("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{});var yt=f("zoneTask");function mt(t,e,n,r){var o=null,i=null;n+=r;var a={};function c(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[yt]=null))}},n.handleId=o.apply(t,n.args),e}function u(t){return i(t.data.handleId)}o=T(t,e+=r,(function(n){return function(o,i){if("function"==typeof i[0]){var f=s(e,i[0],{isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},c,u);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[yt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}})),i=T(t,n,(function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[yt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[yt]=null),o.zone.cancelTask(o)):e.apply(t,r)}}))}function bt(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,c=n.ZONE_SYMBOL_PREFIX,u=0;u0){var o=t.invoke;t.invoke=function(){for(var n=u[e.__symbol__("loadfalse")],i=0;i"+t+"<\/script>"},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(o){}var t,e;h=r?function(t){t.write(p("")),t.close();var e=t.parentWindow.Object;return t=null,e}(r):((e=s("iframe")).style.display="none",u.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(p("document.F=Object")),t.close(),t.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};c[f]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(l.prototype=o(t),n=new l,l.prototype=null,n[f]=t):n=h(),void 0===e?n:i(n,e)}},"3Lyj":function(t,e,n){var r=n("KroJ");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},"3caY":function(t,e,n){var r=n("wA6s"),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):i(e+a(e*e+1)):e}})},"3vMK":function(t,e,n){"use strict";var r=n("6XUM"),o=n("/Ybd"),i=n("wIVT"),a=n("m41k")("hasInstance"),c=Function.prototype;a in c||o.f(c,a,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},"3xQm":function(t,e,n){var r,o,i,a,c,u,s,f,l=n("ocAm"),p=n("7gGY").f,h=n("ezU2"),v=n("Ox9q").set,d=n("tuHh"),g=l.MutationObserver||l.WebKitMutationObserver,y=l.process,m=l.Promise,b="process"==h(y),w=p(l,"queueMicrotask"),k=w&&w.value;k||(r=function(){var t,e;for(b&&(t=y.domain)&&t.exit();o;){e=o.fn,o=o.next;try{e()}catch(n){throw o?a():i=void 0,n}}i=void 0,t&&t.enter()},b?a=function(){y.nextTick(r)}:g&&!d?(c=!0,u=document.createTextNode(""),new g(r).observe(u,{characterData:!0}),a=function(){u.data=c=!c}):m&&m.resolve?(s=m.resolve(void 0),f=s.then,a=function(){f.call(s,r)}):a=function(){v.call(l,r)}),t.exports=k||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,a()),i=e}},"45Tv":function(t,e,n){var r=n("N6cJ"),o=n("y3w9"),i=n("OP3Y"),a=r.has,c=r.get,u=r.key,s=function(t,e,n){if(a(t,e,n))return c(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},"48xZ":function(t,e,n){var r=n("n/2t"),o=Math.abs,i=Math.pow,a=i(2,-52),c=i(2,-23),u=i(2,127)*(2-c),s=i(2,-126);t.exports=Math.fround||function(t){var e,n,i=o(t),f=r(t);return iu||n!=n?f*(1/0):f*n}},"49D4":function(t,e,n){var r=n("N6cJ"),o=n("y3w9"),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},"4GtL":function(t,e,n){"use strict";var r=n("VCQ8"),o=n("7Oj1"),i=n("xpLY"),a=Math.min;t.exports=[].copyWithin||function(t,e){var n=r(this),c=i(n.length),u=o(t,c),s=o(e,c),f=arguments.length>2?arguments[2]:void 0,l=a((void 0===f?c:o(f,c))-s,c-u),p=1;for(s0;)s in n?n[u]=n[s]:delete n[u],u+=p,s+=p;return n}},"4Kt7":function(t,e,n){"use strict";var r=n("wA6s"),o=n("uoca");r({target:"String",proto:!0,forced:n("d8Sw")("sub")},{sub:function(){return o(this,"sub","","")}})},"4LiD":function(t,e,n){"use strict";var r=n("dyZX"),o=n("XKFU"),i=n("KroJ"),a=n("3Lyj"),c=n("Z6vF"),u=n("SlkY"),s=n("9gX7"),f=n("0/R4"),l=n("eeVq"),p=n("XMVh"),h=n("fyDq"),v=n("Xbzi");t.exports=function(t,e,n,d,g,y){var m=r[t],b=m,w=g?"set":"add",k=b&&b.prototype,x={},E=function(t){var e=k[t];i(k,t,"delete"==t||"has"==t?function(t){return!(y&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof b&&(y||k.forEach&&!l((function(){(new b).entries().next()})))){var _=new b,S=_[w](y?{}:-0,1)!=_,O=l((function(){_.has(1)})),T=p((function(t){new b(t)})),A=!y&&l((function(){for(var t=new b,e=5;e--;)t[w](e,e);return!t.has(-0)}));T||((b=e((function(e,n){s(e,b,t);var r=v(new m,e,b);return null!=n&&u(n,g,r[w],r),r}))).prototype=k,k.constructor=b),(O||A)&&(E("delete"),E("has"),g&&E("get")),(A||S)&&E(w),y&&k.clear&&delete k.clear}else b=d.getConstructor(e,t,g,w),a(b.prototype,n),c.NEED=!0;return h(b,t),x[t]=b,o(o.G+o.W+o.F*(b!=m),x),y||d.setStrong(b,t,g),b}},"4NCC":function(t,e,n){var r=n("ocAm"),o=n("jnLS").trim,i=n("xFZC"),a=r.parseInt,c=/^[+-]?0[Xx]/,u=8!==a(i+"08")||22!==a(i+"0x16");t.exports=u?function(t,e){var n=o(String(t));return a(n,e>>>0||(c.test(n)?16:10))}:a},"4PyY":function(t,e,n){var r={};r[n("m41k")("toStringTag")]="z",t.exports="[object z]"===String(r)},"4R4u":function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"4axp":function(t,e,n){"use strict";var r=n("wA6s"),o=n("uoca");r({target:"String",proto:!0,forced:n("d8Sw")("blink")},{blink:function(){return o(this,"blink","","")}})},"5MmU":function(t,e,n){var r=n("m41k"),o=n("pz+c"),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},"5eAq":function(t,e,n){var r=n("wA6s"),o=n("vZCr");r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},"5y2d":function(t,e,n){var r=n("T69T"),o=n("/Ybd"),i=n("F26l"),a=n("ZRqE");t.exports=r?Object.defineProperties:function(t,e){i(t);for(var n,r=a(e),c=r.length,u=0;c>u;)o.f(t,n=r[u++],e[n]);return t}},"5zDw":function(t,e,n){var r=n("wA6s"),o=n("4NCC");r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},"6CEi":function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").find,i=n("A1Hp"),a=n("w2hq"),c=!0,u=a("find");"find"in[]&&Array(1).find((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!u},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},"6CJb":function(t,e,n){"use strict";var r=n("rG8t");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},"6FMO":function(t,e,n){var r=n("0/R4"),o=n("EWmC"),i=n("K0xU")("species");t.exports=function(t){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&null===(e=e[i])&&(e=void 0)),void 0===e?Array:e}},"6XUM":function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},"6fhQ":function(t,e,n){"use strict";var r=n("wA6s"),o=n("Neub"),i=n("VCQ8"),a=n("rG8t"),c=n("6CJb"),u=[],s=u.sort,f=a((function(){u.sort(void 0)})),l=a((function(){u.sort(null)})),p=c("sort");r({target:"Array",proto:!0,forced:f||!l||!p},{sort:function(t){return void 0===t?s.call(i(this)):s.call(i(this),o(t))}})},"6lQQ":function(t,e,n){"use strict";var r=n("wA6s"),o=n("OXtp").indexOf,i=n("6CJb"),a=n("w2hq"),c=[].indexOf,u=!!c&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),f=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:u||!s||!f},{indexOf:function(t){return u?c.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},"6oxo":function(t,e,n){var r=n("wA6s"),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(t){return o(t)/i}})},"6q6p":function(t,e,n){"use strict";var r=n("wA6s"),o=n("6XUM"),i=n("erNl"),a=n("7Oj1"),c=n("xpLY"),u=n("EMtK"),s=n("DYg9"),f=n("m41k"),l=n("lRyB"),p=n("w2hq"),h=l("slice"),v=p("slice",{ACCESSORS:!0,0:0,1:2}),d=f("species"),g=[].slice,y=Math.max;r({target:"Array",proto:!0,forced:!h||!v},{slice:function(t,e){var n,r,f,l=u(this),p=c(l.length),h=a(t,p),v=a(void 0===e?p:e,p);if(i(l)&&("function"!=typeof(n=l.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[d])&&(n=void 0):n=void 0,n===Array||void 0===n))return g.call(l,h,v);for(r=new(void 0===n?Array:n)(y(v-h,0)),f=0;h=0;)p[e]=s((n+=p[e])/t),n=n%t*1e7},y=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==p[t]){var n=String(p[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e};if(l<0||l>20)throw RangeError("Incorrect fraction digits");if(u!=u)return"NaN";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(h="-",u=-u),u>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(u*f(2,69,1))-69)<0?u*f(2,-e,1):u/f(2,e,1),n*=4503599627370496,(e=52-e)>0){for(d(0,n),r=l;r>=7;)d(1e7,0),r-=7;for(d(f(10,r,1),0),r=e-1;r>=23;)g(1<<23),r-=23;g(1<0?h+((c=v.length)<=l?"0."+a.call("0",l-c)+v:v.slice(0,c-l)+"."+v.slice(c-l)):h+v}})},"8ydS":function(t,e,n){n("wA6s")({target:"Date",stat:!0},{now:function(){return(new Date).getTime()}})},"94Vg":function(t,e,n){var r=n("E7aN"),o=n("OG5q"),i=n("aGCb"),a=n("/Ybd").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},"9AAn":function(t,e,n){"use strict";var r=n("wmvG"),o=n("s5qY");t.exports=n("4LiD")("Map",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},"9gX7":function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},"9kNm":function(t,e,n){n("94Vg")("toPrimitive")},A1Hp:function(t,e,n){var r=n("m41k"),o=n("2RDa"),i=n("/Ybd"),a=r("unscopables"),c=Array.prototype;null==c[a]&&i.f(c,a,{configurable:!0,value:o(null)}),t.exports=function(t){c[a][t]=!0}},A7hN:function(t,e,n){var r=n("wA6s"),o=n("rG8t"),i=n("VCQ8"),a=n("wIVT"),c=n("cwa4");r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!c},{getPrototypeOf:function(t){return a(i(t))}})},Afnz:function(t,e,n){"use strict";var r=n("LQAc"),o=n("XKFU"),i=n("KroJ"),a=n("Mukb"),c=n("hPIQ"),u=n("QaDb"),s=n("fyDq"),f=n("OP3Y"),l=n("K0xU")("iterator"),p=!([].keys&&"next"in[].keys()),h=function(){return this};t.exports=function(t,e,n,v,d,g,y){u(n,e,v);var m,b,w,k=function(t){if(!p&&t in S)return S[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},x=e+" Iterator",E="values"==d,_=!1,S=t.prototype,O=S[l]||S["@@iterator"]||d&&S[d],T=O||k(d),A=d?E?k("entries"):T:void 0,M="Array"==e&&S.entries||O;if(M&&(w=f(M.call(new t)))!==Object.prototype&&w.next&&(s(w,x,!0),r||"function"==typeof w[l]||a(w,l,h)),E&&O&&"values"!==O.name&&(_=!0,T=function(){return O.call(this)}),r&&!y||!p&&!_&&S[l]||a(S,l,T),c[e]=T,c[x]=h,d)if(m={values:E?T:k("values"),keys:g?T:k("keys"),entries:A},y)for(b in m)b in S||i(S,b,m[b]);else o(o.P+o.F*(p||_),e,m);return m}},"Ay+M":function(t,e,n){var r=n("wA6s"),o=n("vZCr");r({global:!0,forced:parseFloat!=o},{parseFloat:o})},BaTD:function(t,e,n){n("wA6s")({target:"String",proto:!0},{repeat:n("EMWV")})},BcWx:function(t,e,n){"use strict";var r=n("wA6s"),o=n("rG8t"),i=n("DYg9");r({target:"Array",stat:!0,forced:o((function(){function t(){}return!(Array.of.call(t)instanceof t)}))},{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)i(n,t,arguments[t++]);return n.length=e,n}})},BnCb:function(t,e,n){n("wA6s")({target:"Math",stat:!0},{sign:n("n/2t")})},BqfV:function(t,e,n){var r=n("N6cJ"),o=n("y3w9"),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},COcp:function(t,e,n){n("wA6s")({target:"Number",stat:!0},{isInteger:n("Nvxz")})},CW9j:function(t,e,n){"use strict";var r=n("F26l"),o=n("LdO1");t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!==t)}},CkkT:function(t,e,n){var r=n("m0Pp"),o=n("Ymqv"),i=n("S/j/"),a=n("ne8i"),c=n("zRwo");t.exports=function(t,e){var n=1==t,u=2==t,s=3==t,f=4==t,l=6==t,p=5==t||l,h=e||c;return function(e,c,v){for(var d,g,y=i(e),m=o(y),b=r(c,v,3),w=a(m.length),k=0,x=n?h(e,w):u?h(e,0):void 0;w>k;k++)if((p||k in m)&&(g=b(d=m[k],k,y),t))if(n)x[k]=g;else if(g)switch(t){case 3:return!0;case 5:return d;case 6:return k;case 2:x.push(d)}else if(f)return!1;return l?-1:s||f?f:x}}},CwIO:function(t,e,n){var r=n("wA6s"),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,forced:!!o&&o(1/0,NaN)!==1/0},{hypot:function(t,e){for(var n,r,o=0,c=0,u=arguments.length,s=0;c0?(r=n/s)*r:n;return s===1/0?1/0:s*a(o)}})},"D+RQ":function(t,e,n){"use strict";var r=n("T69T"),o=n("ocAm"),i=n("MkZA"),a=n("2MGJ"),c=n("OG5q"),u=n("ezU2"),s=n("K6ZX"),f=n("LdO1"),l=n("rG8t"),p=n("2RDa"),h=n("KkqW").f,v=n("7gGY").f,d=n("/Ybd").f,g=n("jnLS").trim,y=o.Number,m=y.prototype,b="Number"==u(p(m)),w=function(t){var e,n,r,o,i,a,c,u,s=f(t,!1);if("string"==typeof s&&s.length>2)if(43===(e=(s=g(s)).charCodeAt(0))||45===e){if(88===(n=s.charCodeAt(2))||120===n)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,c=0;co)return NaN;return parseInt(i,r)}return+s};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var k,x=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof x&&(b?l((function(){m.valueOf.call(n)})):"Number"!=u(n))?s(new y(w(e)),n,x):w(e)},E=r?h(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;E.length>_;_++)c(y,k=E[_])&&!c(x,k)&&d(x,k,v(y,k));x.prototype=m,m.constructor=x,a(o,"Number",x)}},D3bo:function(t,e,n){var r,o,i=n("ocAm"),a=n("T/Kj"),c=i.process,u=c&&c.versions,s=u&&u.v8;s?o=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},D94X:function(t,e,n){var r=n("wA6s"),o=n("n/2t"),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(t){return o(t=+t)*a(i(t),1/3)}})},DAme:function(t,e,n){"use strict";var r=n("8aNu"),o=n("M7Xk").getWeakData,i=n("F26l"),a=n("6XUM"),c=n("SM6+"),u=n("Rn6E"),s=n("kk6e"),f=n("OG5q"),l=n("XH/I"),p=l.set,h=l.getterFor,v=s.find,d=s.findIndex,g=0,y=function(t){return t.frozen||(t.frozen=new m)},m=function(){this.entries=[]},b=function(t,e){return v(t.entries,(function(t){return t[0]===e}))};m.prototype={get:function(t){var e=b(this,t);if(e)return e[1]},has:function(t){return!!b(this,t)},set:function(t,e){var n=b(this,t);n?n[1]=e:this.entries.push([t,e])},delete:function(t){var e=d(this.entries,(function(e){return e[0]===t}));return~e&&this.entries.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,s){var l=t((function(t,r){c(t,l,e),p(t,{type:e,id:g++,frozen:void 0}),null!=r&&u(r,t[s],t,n)})),v=h(e),d=function(t,e,n){var r=v(t),a=o(i(e),!0);return!0===a?y(r).set(e,n):a[r.id]=n,t};return r(l.prototype,{delete:function(t){var e=v(this);if(!a(t))return!1;var n=o(t);return!0===n?y(e).delete(t):n&&f(n,e.id)&&delete n[e.id]},has:function(t){var e=v(this);if(!a(t))return!1;var n=o(t);return!0===n?y(e).has(t):n&&f(n,e.id)}}),r(l.prototype,n?{get:function(t){var e=v(this);if(a(t)){var n=o(t);return!0===n?y(e).get(t):n?n[e.id]:void 0}},set:function(t,e){return d(this,t,e)}}:{add:function(t){return d(this,t,!0)}}),l}}},DGHb:function(t,e,n){"use strict";var r=n("wA6s"),o=n("rG8t"),i=n("VCQ8"),a=n("LdO1");r({target:"Date",proto:!0,forced:o((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(t){var e=i(this),n=a(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},DVgA:function(t,e,n){var r=n("zhAb"),o=n("4R4u");t.exports=Object.keys||function(t){return r(t,o)}},DYg9:function(t,e,n){"use strict";var r=n("LdO1"),o=n("/Ybd"),i=n("uSMZ");t.exports=function(t,e,n){var a=r(e);a in t?o.f(t,a,i(0,n)):t[a]=n}},Djps:function(t,e,n){n("wA6s")({target:"Math",stat:!0},{log1p:n("O3xq")})},DscF:function(t,e,n){var r=n("wA6s"),o=n("w4Hq"),i=n("A1Hp");r({target:"Array",proto:!0},{fill:o}),i("fill")},E7aN:function(t,e,n){var r=n("ocAm");t.exports=r},E8Ab:function(t,e,n){"use strict";var r=n("Neub"),o=n("6XUM"),i=[].slice,a={},c=function(t,e,n){if(!(e in a)){for(var r=[],o=0;o0?arguments[0]:void 0)}},m={get:function(t){if(f(t)){var e=v(t);return!0===e?g(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return s.def(l(this,"WeakMap"),t,e)}},b=t.exports=n("4LiD")("WeakMap",y,m,s,!0,!0);p&&h&&(u((r=s.getConstructor(y,"WeakMap")).prototype,m),c.NEED=!0,i(["delete","has","get","set"],(function(t){var e=b.prototype,n=e[t];a(e,t,(function(e,o){if(f(e)&&!d(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)}))})))},EMWV:function(t,e,n){"use strict";var r=n("vDBE"),o=n("hmpk");t.exports="".repeat||function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},EMtK:function(t,e,n){var r=n("tUdv"),o=n("hmpk");t.exports=function(t){return r(o(t))}},EQZg:function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},ERXZ:function(t,e,n){n("94Vg")("match")},EWmC:function(t,e,n){var r=n("LZWt");t.exports=Array.isArray||function(t){return"Array"==r(t)}},EemH:function(t,e,n){var r=n("UqcF"),o=n("RjD/"),i=n("aCFj"),a=n("apmT"),c=n("aagx"),u=n("xpql"),s=Object.getOwnPropertyDescriptor;e.f=n("nh4g")?s:function(t,e){if(t=i(t),e=a(e,!0),u)try{return s(t,e)}catch(n){}if(c(t,e))return o(!r.f.call(t,e),t[e])}},EntM:function(t,e,n){var r=n("wA6s"),o=n("T69T");r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:n("5y2d")})},"Ew/G":function(t,e,n){var r=n("E7aN"),o=n("ocAm"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},"F/TS":function(t,e,n){var r=n("mN5b"),o=n("pz+c"),i=n("m41k")("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},F26l:function(t,e,n){var r=n("6XUM");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},F4rZ:function(t,e,n){"use strict";var r=n("wA6s"),o=n("rG8t"),i=n("erNl"),a=n("6XUM"),c=n("VCQ8"),u=n("xpLY"),s=n("DYg9"),f=n("JafA"),l=n("lRyB"),p=n("m41k"),h=n("D3bo"),v=p("isConcatSpreadable"),d=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),g=l("concat"),y=function(t){if(!a(t))return!1;var e=t[v];return void 0!==e?!!e:i(t)};r({target:"Array",proto:!0,forced:!d||!g},{concat:function(t){var e,n,r,o,i,a=c(this),l=f(a,0),p=0;for(e=-1,r=arguments.length;e9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(l,p++,i)}return l.length=p,l}})},FJW5:function(t,e,n){var r=n("hswa"),o=n("y3w9"),i=n("DVgA");t.exports=n("nh4g")?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),c=a.length,u=0;c>u;)r.f(t,n=a[u++],e[n]);return t}},FU1i:function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").map,i=n("lRyB"),a=n("w2hq"),c=i("map"),u=a("map");r({target:"Array",proto:!0,forced:!c||!u},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},FZcq:function(t,e,n){n("49D4"),n("zq+C"),n("45Tv"),n("uAtd"),n("BqfV"),n("fN/3"),n("iW+S"),n("7Dlh"),n("Opxb"),t.exports=n("g3g5").Reflect},"FeI/":function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").every,i=n("6CJb"),a=n("w2hq"),c=i("every"),u=a("every");r({target:"Array",proto:!0,forced:!c||!u},{every:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},Fqhe:function(t,e,n){var r=n("ocAm"),o=n("aJMj");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},G1Vw:function(t,e,n){"use strict";var r,o,i,a=n("wIVT"),c=n("aJMj"),u=n("OG5q"),s=n("m41k"),f=n("g9hI"),l=s("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):p=!0),null==r&&(r={}),f||u(r,l)||c(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},G7bs:function(t,e,n){var r=n("vDBE"),o=n("hmpk"),i=function(t){return function(e,n){var i,a,c=String(o(e)),u=r(n),s=c.length;return u<0||u>=s?t?"":void 0:(i=c.charCodeAt(u))<55296||i>56319||u+1===s||(a=c.charCodeAt(u+1))<56320||a>57343?t?c.charAt(u):i:t?c.slice(u,u+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},H6hf:function(t,e,n){var r=n("y3w9");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},HSQg:function(t,e,n){"use strict";n("SC6u");var r=n("2MGJ"),o=n("rG8t"),i=n("m41k"),a=n("qjkP"),c=n("aJMj"),u=i("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$
                      ")})),f="$0"==="a".replace(/./,"$0"),l=i("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),h=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,l){var v=i(t),d=!o((function(){var e={};return e[v]=function(){return 7},7!=""[t](e)})),g=d&&!o((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[u]=function(){return n},n.flags="",n[v]=/./[v]),n.exec=function(){return e=!0,null},n[v](""),!e}));if(!d||!g||"replace"===t&&(!s||!f||p)||"split"===t&&!h){var y=/./[v],m=n(v,""[t],(function(t,e,n,r,o){return e.exec===a?d&&!o?{done:!0,value:y.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:f,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),b=m[1];r(String.prototype,t,m[0]),r(RegExp.prototype,v,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}l&&c(RegExp.prototype[v],"sham",!0)}},"I8a+":function(t,e,n){var r=n("LZWt"),o=n("K0xU")("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},IBH3:function(t,e,n){"use strict";var r=n("tcQx"),o=n("VCQ8"),i=n("ipMl"),a=n("5MmU"),c=n("xpLY"),u=n("DYg9"),s=n("F/TS");t.exports=function(t){var e,n,f,l,p,h,v=o(t),d="function"==typeof this?this:Array,g=arguments.length,y=g>1?arguments[1]:void 0,m=void 0!==y,b=s(v),w=0;if(m&&(y=r(y,g>2?arguments[2]:void 0,2)),null==b||d==Array&&a(b))for(n=new d(e=c(v.length));e>w;w++)h=m?y(v[w],w):v[w],u(n,w,h);else for(p=(l=b.call(v)).next,n=new d;!(f=p.call(l)).done;w++)h=m?i(l,y,[f.value,w],!0):f.value,u(n,w,h);return n.length=w,n}},IPby:function(t,e,n){var r=n("wA6s"),o=n("EMtK"),i=n("xpLY");r({target:"String",stat:!0},{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],c=0;n>c;)a.push(String(e[c++])),c1?arguments[1]:void 0)}})},IXlp:function(t,e,n){var r=n("wA6s"),o=n("O3xq"),i=Math.acosh,a=Math.log,c=Math.sqrt,u=Math.LN2;r({target:"Math",stat:!0,forced:!i||710!=Math.floor(i(Number.MAX_VALUE))||i(1/0)!=1/0},{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?a(t)+u:o(t-1+c(t-1)*c(t+1))}})},Iw71:function(t,e,n){var r=n("0/R4"),o=n("dyZX").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},IzYO:function(t,e,n){var r=n("wA6s"),o=n("cZY6"),i=n("rG8t"),a=n("6XUM"),c=n("M7Xk").onFreeze,u=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){u(1)})),sham:!o},{freeze:function(t){return u&&a(t)?u(c(t)):t}})},"J+6e":function(t,e,n){var r=n("I8a+"),o=n("K0xU")("iterator"),i=n("hPIQ");t.exports=n("g3g5").getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},J4zY:function(t,e,n){"use strict";var r=n("wA6s"),o=n("uoca");r({target:"String",proto:!0,forced:n("d8Sw")("fixed")},{fixed:function(){return o(this,"tt","","")}})},JHhb:function(t,e,n){"use strict";var r=n("Ew/G"),o=n("/Ybd"),i=n("m41k"),a=n("T69T"),c=i("species");t.exports=function(t){var e=r(t);a&&e&&!e[c]&&(0,o.f)(e,c,{configurable:!0,get:function(){return this}})}},JI1L:function(t,e,n){var r=n("6XUM");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},JafA:function(t,e,n){var r=n("6XUM"),o=n("erNl"),i=n("m41k")("species");t.exports=function(t,e){var n;return o(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},JhPs:function(t,e,n){var r=n("wA6s"),o=n("pn4C");r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},JiEa:function(t,e){e.f=Object.getOwnPropertySymbols},JkSk:function(t,e,n){"use strict";var r=n("rG8t");function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"Jt/z":function(t,e,n){"use strict";var r=n("wA6s"),o=n("kk6e").findIndex,i=n("A1Hp"),a=n("w2hq"),c=!0,u=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!u},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},K0xU:function(t,e,n){var r=n("VTer")("wks"),o=n("ylqs"),i=n("dyZX").Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},K1Z7:function(t,e,n){"use strict";var r=n("HSQg"),o=n("F26l"),i=n("xpLY"),a=n("hmpk"),c=n("dPn5"),u=n("unYP");r("match",1,(function(t,e,n){return[function(e){var n=a(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var a=o(t),s=String(this);if(!a.global)return u(a,s);var f=a.unicode;a.lastIndex=0;for(var l,p=[],h=0;null!==(l=u(a,s));){var v=String(l[0]);p[h]=v,""===v&&(a.lastIndex=c(s,i(a.lastIndex),f)),h++}return 0===h?null:p}]}))},K1dl:function(t,e,n){var r=n("ocAm");t.exports=r.Promise},K6ZX:function(t,e,n){var r=n("6XUM"),o=n("7/lX");t.exports=function(t,e,n){var i,a;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(t,a),t}},KBkW:function(t,e,n){var r=n("ocAm"),o=n("Fqhe"),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},KMug:function(t,e,n){var r=n("wA6s"),o=n("rG8t"),i=n("6XUM"),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(t){return!i(t)||!!a&&a(t)}})},KkqW:function(t,e,n){var r=n("vVmn"),o=n("aAjO").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},KlhL:function(t,e,n){"use strict";var r=n("T69T"),o=n("rG8t"),i=n("ZRqE"),a=n("busr"),c=n("gn9T"),u=n("VCQ8"),s=n("tUdv"),f=Object.assign,l=Object.defineProperty;t.exports=!f||o((function(){if(r&&1!==f({b:1},f(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol();return t[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){e[t]=t})),7!=f({},t)[n]||"abcdefghijklmnopqrst"!=i(f({},e)).join("")}))?function(t,e){for(var n=u(t),o=arguments.length,f=1,l=a.f,p=c.f;o>f;)for(var h,v=s(arguments[f++]),d=l?i(v).concat(l(v)):i(v),g=d.length,y=0;g>y;)h=d[y++],r&&!p.call(v,h)||(n[h]=v[h]);return n}:f},KroJ:function(t,e,n){var r=n("dyZX"),o=n("Mukb"),i=n("aagx"),a=n("ylqs")("src"),c=n("+lvF"),u=(""+c).split("toString");n("g3g5").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,c){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:c?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[a]||c.call(this)}))},KsdI:function(t,e,n){n("94Vg")("iterator")},Kuth:function(t,e,n){var r=n("y3w9"),o=n("FJW5"),i=n("4R4u"),a=n("YTvA")("IE_PROTO"),c=function(){},u=function(){var t,e=n("Iw71")("iframe"),r=i.length;for(e.style.display="none",n("+rLv").appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("