From 2bb9d5b70b41d48b946974e8aecab6ecba9faf6b Mon Sep 17 00:00:00 2001 From: Splunk Git Pusher Date: Sat, 21 Feb 2026 22:28:45 +0100 Subject: [PATCH] Config_Explorer Pushed by: admin License: TA9O64YS7EPT (Professional) Timestamp: 2026-02-21T22:28:45.620465 --- apps/config_explorer/LICENSE | 661 ++ apps/config_explorer/README.md | 82 + .../README/config_explorer.conf.spec | 246 + .../appserver/static/OverlayScrollbars.js | 6098 +++++++++++++++++ .../static/OverlayScrollbars.min.css | 13 + .../appserver/static/config.css | 1128 +++ .../appserver/static/config.js | 4490 ++++++++++++ .../appserver/static/mirage-upgrade.png | Bin 0 -> 42635 bytes .../node_modules/monaco-editor/CHANGELOG.md | 756 ++ .../static/node_modules/monaco-editor/LICENSE | 21 + .../node_modules/monaco-editor/README.md | 100 + .../ui/codiconLabel/codicon/codicon.ttf | Bin 0 -> 47404 bytes .../min/vs/base/worker/workerMain.js | 162 + .../min/vs/basic-languages/abap/abap.js | 7 + .../min/vs/basic-languages/apex/apex.js | 7 + .../min/vs/basic-languages/azcli/azcli.js | 7 + .../min/vs/basic-languages/bat/bat.js | 7 + .../vs/basic-languages/cameligo/cameligo.js | 7 + .../min/vs/basic-languages/clojure/clojure.js | 7 + .../min/vs/basic-languages/coffee/coffee.js | 7 + .../min/vs/basic-languages/cpp/cpp.js | 7 + .../min/vs/basic-languages/csharp/csharp.js | 7 + .../min/vs/basic-languages/csp/csp.js | 7 + .../min/vs/basic-languages/css/css.js | 7 + .../basic-languages/dockerfile/dockerfile.js | 7 + .../min/vs/basic-languages/fsharp/fsharp.js | 7 + .../min/vs/basic-languages/go/go.js | 7 + .../min/vs/basic-languages/graphql/graphql.js | 7 + .../basic-languages/handlebars/handlebars.js | 7 + .../min/vs/basic-languages/html/html.js | 7 + .../min/vs/basic-languages/ini/ini.js | 7 + .../min/vs/basic-languages/java/java.js | 7 + .../basic-languages/javascript/javascript.js | 7 + .../min/vs/basic-languages/kotlin/kotlin.js | 7 + .../min/vs/basic-languages/less/less.js | 7 + .../min/vs/basic-languages/lua/lua.js | 7 + .../vs/basic-languages/markdown/markdown.js | 7 + .../min/vs/basic-languages/mips/mips.js | 7 + .../min/vs/basic-languages/msdax/msdax.js | 7 + .../min/vs/basic-languages/mysql/mysql.js | 7 + .../objective-c/objective-c.js | 7 + .../min/vs/basic-languages/pascal/pascal.js | 7 + .../vs/basic-languages/pascaligo/pascaligo.js | 7 + .../min/vs/basic-languages/perl/perl.js | 7 + .../min/vs/basic-languages/pgsql/pgsql.js | 7 + .../min/vs/basic-languages/php/php.js | 7 + .../vs/basic-languages/postiats/postiats.js | 7 + .../basic-languages/powerquery/powerquery.js | 7 + .../basic-languages/powershell/powershell.js | 7 + .../min/vs/basic-languages/pug/pug.js | 7 + .../min/vs/basic-languages/python/python.js | 7 + .../min/vs/basic-languages/r/r.js | 7 + .../min/vs/basic-languages/razor/razor.js | 7 + .../min/vs/basic-languages/redis/redis.js | 7 + .../vs/basic-languages/redshift/redshift.js | 7 + .../restructuredtext/restructuredtext.js | 7 + .../min/vs/basic-languages/ruby/ruby.js | 7 + .../min/vs/basic-languages/rust/rust.js | 7 + .../min/vs/basic-languages/sb/sb.js | 7 + .../min/vs/basic-languages/scheme/scheme.js | 7 + .../min/vs/basic-languages/scss/scss.js | 7 + .../min/vs/basic-languages/shell/shell.js | 7 + .../vs/basic-languages/solidity/solidity.js | 7 + .../min/vs/basic-languages/sophia/sophia.js | 7 + .../min/vs/basic-languages/sql/sql.js | 7 + .../min/vs/basic-languages/st/st.js | 7 + .../min/vs/basic-languages/swift/swift.js | 10 + .../min/vs/basic-languages/tcl/tcl.js | 7 + .../min/vs/basic-languages/twig/twig.js | 7 + .../basic-languages/typescript/typescript.js | 7 + .../min/vs/basic-languages/vb/vb.js | 7 + .../min/vs/basic-languages/xml/xml.js | 7 + .../min/vs/basic-languages/yaml/yaml.js | 7 + .../min/vs/editor/editor.main.css | 6 + .../min/vs/editor/editor.main.js | 2300 +++++++ .../min/vs/editor/editor.main.nls.de.js | 36 + .../min/vs/editor/editor.main.nls.es.js | 36 + .../min/vs/editor/editor.main.nls.fr.js | 37 + .../min/vs/editor/editor.main.nls.it.js | 37 + .../min/vs/editor/editor.main.nls.ja.js | 29 + .../min/vs/editor/editor.main.nls.js | 34 + .../min/vs/editor/editor.main.nls.ko.js | 29 + .../min/vs/editor/editor.main.nls.ru.js | 36 + .../min/vs/editor/editor.main.nls.zh-cn.js | 25 + .../min/vs/editor/editor.main.nls.zh-tw.js | 25 + .../min/vs/language/css/cssMode.js | 7 + .../min/vs/language/css/cssWorker.js | 7 + .../min/vs/language/html/htmlMode.js | 7 + .../min/vs/language/html/htmlWorker.js | 7 + .../min/vs/language/json/jsonMode.js | 7 + .../min/vs/language/json/jsonWorker.js | 7 + .../min/vs/language/typescript/tsMode.js | 7 + .../min/vs/language/typescript/tsWorker.js | 21 + .../monaco-editor/min/vs/loader.js | 37 + .../node_modules/monaco-editor/package.json | 85 + .../appserver/static/package-lock.json | 11 + .../appserver/static/sortable.min.js | 3 + .../config_explorer.cpython-39.pyc | Bin 0 -> 11427 bytes apps/config_explorer/bin/config_explorer.py | 396 ++ .../default.old.20260217-171518/app.conf | 18 + .../config_explorer.conf | 271 + .../config_explorer.conf.example | 249 + .../data/ui/nav/default.xml | 3 + .../data/ui/views/ce.xml | 13 + .../default.old.20260217-171518/inputs.conf | 4 + .../default.old.20260217-171518/props.conf | 2 + .../default.old.20260217-171518/restmap.conf | 10 + .../default.old.20260217-171518/web.conf | 4 + apps/config_explorer/default/app.conf | 18 + .../default/config_explorer.conf | 272 + .../default/config_explorer.conf.example | 255 + .../default/data/ui/nav/default.xml | 3 + .../default/data/ui/views/ce.xml | 13 + apps/config_explorer/default/inputs.conf | 4 + apps/config_explorer/default/props.conf | 2 + apps/config_explorer/default/restmap.conf | 10 + apps/config_explorer/default/server.conf | 2 + apps/config_explorer/default/web.conf | 4 + apps/config_explorer/local/app.conf | 2 + .../local/config_explorer.conf | 249 + apps/config_explorer/local/indexes.conf | 8 + apps/config_explorer/metadata/default.meta | 2 + apps/config_explorer/metadata/local.meta | 18 + apps/config_explorer/static/appIcon.png | Bin 0 -> 1466 bytes apps/config_explorer/static/appIcon2.png | Bin 0 -> 1291 bytes apps/config_explorer/static/appIconAlt.png | Bin 0 -> 1466 bytes apps/config_explorer/static/appIconAlt2.png | Bin 0 -> 1291 bytes apps/config_explorer/static/appIcon_2x.png | Bin 0 -> 3405 bytes apps/config_explorer/static/screenshot.png | Bin 0 -> 112171 bytes 129 files changed, 18848 insertions(+) create mode 100755 apps/config_explorer/LICENSE create mode 100755 apps/config_explorer/README.md create mode 100644 apps/config_explorer/README/config_explorer.conf.spec create mode 100755 apps/config_explorer/appserver/static/OverlayScrollbars.js create mode 100755 apps/config_explorer/appserver/static/OverlayScrollbars.min.css create mode 100755 apps/config_explorer/appserver/static/config.css create mode 100755 apps/config_explorer/appserver/static/config.js create mode 100755 apps/config_explorer/appserver/static/mirage-upgrade.png create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/CHANGELOG.md create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/LICENSE create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/README.md create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/worker/workerMain.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/abap/abap.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/apex/apex.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/azcli/azcli.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/bat/bat.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/clojure/clojure.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/coffee/coffee.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/cpp/cpp.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csharp/csharp.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csp/csp.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/css/css.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/go/go.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/graphql/graphql.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/html/html.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ini/ini.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/java/java.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/javascript/javascript.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/less/less.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/lua/lua.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/markdown/markdown.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/mips/mips.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/msdax/msdax.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/mysql/mysql.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pascal/pascal.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/perl/perl.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/php/php.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/postiats/postiats.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powershell/powershell.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pug/pug.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/python/python.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/r/r.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/razor/razor.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redis/redis.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redshift/redshift.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ruby/ruby.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/rust/rust.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sb/sb.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scheme/scheme.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scss/scss.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/shell/shell.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/solidity/solidity.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sophia/sophia.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sql/sql.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/st/st.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/swift/swift.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/tcl/tcl.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/twig/twig.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/typescript/typescript.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/vb/vb.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/xml/xml.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/yaml/yaml.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.css create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.de.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.es.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.fr.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.it.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ja.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ko.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ru.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/css/cssMode.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/css/cssWorker.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/html/htmlMode.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/html/htmlWorker.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/json/jsonMode.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/json/jsonWorker.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/typescript/tsMode.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/typescript/tsWorker.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/loader.js create mode 100755 apps/config_explorer/appserver/static/node_modules/monaco-editor/package.json create mode 100755 apps/config_explorer/appserver/static/package-lock.json create mode 100755 apps/config_explorer/appserver/static/sortable.min.js create mode 100644 apps/config_explorer/bin/__pycache__/config_explorer.cpython-39.pyc create mode 100755 apps/config_explorer/bin/config_explorer.py create mode 100755 apps/config_explorer/default.old.20260217-171518/app.conf create mode 100755 apps/config_explorer/default.old.20260217-171518/config_explorer.conf create mode 100755 apps/config_explorer/default.old.20260217-171518/config_explorer.conf.example create mode 100755 apps/config_explorer/default.old.20260217-171518/data/ui/nav/default.xml create mode 100755 apps/config_explorer/default.old.20260217-171518/data/ui/views/ce.xml create mode 100755 apps/config_explorer/default.old.20260217-171518/inputs.conf create mode 100755 apps/config_explorer/default.old.20260217-171518/props.conf create mode 100755 apps/config_explorer/default.old.20260217-171518/restmap.conf create mode 100755 apps/config_explorer/default.old.20260217-171518/web.conf create mode 100644 apps/config_explorer/default/app.conf create mode 100644 apps/config_explorer/default/config_explorer.conf create mode 100644 apps/config_explorer/default/config_explorer.conf.example create mode 100644 apps/config_explorer/default/data/ui/nav/default.xml create mode 100644 apps/config_explorer/default/data/ui/views/ce.xml create mode 100644 apps/config_explorer/default/inputs.conf create mode 100644 apps/config_explorer/default/props.conf create mode 100644 apps/config_explorer/default/restmap.conf create mode 100644 apps/config_explorer/default/server.conf create mode 100644 apps/config_explorer/default/web.conf create mode 100644 apps/config_explorer/local/app.conf create mode 100755 apps/config_explorer/local/config_explorer.conf create mode 100755 apps/config_explorer/local/indexes.conf create mode 100755 apps/config_explorer/metadata/default.meta create mode 100644 apps/config_explorer/metadata/local.meta create mode 100755 apps/config_explorer/static/appIcon.png create mode 100755 apps/config_explorer/static/appIcon2.png create mode 100755 apps/config_explorer/static/appIconAlt.png create mode 100755 apps/config_explorer/static/appIconAlt2.png create mode 100755 apps/config_explorer/static/appIcon_2x.png create mode 100755 apps/config_explorer/static/screenshot.png diff --git a/apps/config_explorer/LICENSE b/apps/config_explorer/LICENSE new file mode 100755 index 00000000..1f84167c --- /dev/null +++ b/apps/config_explorer/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/apps/config_explorer/README.md b/apps/config_explorer/README.md new file mode 100755 index 00000000..348410d2 --- /dev/null +++ b/apps/config_explorer/README.md @@ -0,0 +1,82 @@ +# Config Explorer + +![screenshot](static/screenshot.png) + +This app provides a modern editor interface for viewing and editing Splunk files. It has code completion and +tooltip hinting for '.conf' files (by loading the Splunk '.spec' files). The code gutter highlights if the +line can be found in the btool output or not. By default, the app is not able to save files, but this can +be enabled from the "Settings" link. As this app essentially provides unrestricted access to the Splunk files, +users must have "admin_all_objects" capability. The editor is Microsoft Monaco editor (Visual Studio Code). + +This app can optionally version control all changes by committing them to a git repository before and after +saving. To use this you need to have "git" installed (not provided by this app) and you need to setup a git +repository using the instructions below. + + +## Important warnings: + +* Don't use this app on Search Head clusters becuase it won't sync changes to cluster members. +* As a matter of fact, because this app allows changing files just like you are on the filesystem, it should be +used very carefully in any environment that you care about. +* This app does not automatically update the Splunk running config (well except for search-time properties which +Splunk does regularly re-read). +* There are no built-in restrictions on viewing secrets files or passwords. Don't make this app available to +users who should not see that sort of things. +* There are also no restrictions that prevent editing files in `default/` folders. You should follow normal Splunk +best practices and only edit the `/local/*.conf` files or files in `default/` if you are the developer of that app. +* This app inherits the permissions of the user account that is running Splunk. +* By the way, all Splunk apps inherit the permissions of the Splunk user and can do things without your knowing. If +you care about your Splunk instance, you should code review all apps before installing them. + + +There is some basic audit logging here: `index=_internal source="*config_explorer.log"` + + +Copyright (C) 2020 Chris Younger | [Source code](https://github.com/ChrisYounger/config_explorer) | [Feature requests and bugs](https://github.com/ChrisYounger/config_explorer/issues) | [Splunkbase](https://splunkbase.splunk.com/app/4353/) + + + +## Using git auto-commit +Before enabling the git auto-complete feature you must first create a git repository somewhere. For example: + +``` +$ cd /opt/splunk/etc +$ git init +``` + +You will probably also need to set a username and email address for config_explorer to use for commits: + +``` +git config user.name config_explorer +git config user.email config_explorer@splunk.acme.com +``` + +If you wish to use a non-standard git repository location, you can set these environment variables: + +``` +export GIT_DIR=/opt/splunk/.git/ +export GIT_WORK_TREE=/opt/splunk/ +``` + +You will need to consider your `.gitignore` file. If your directory already has `.gitignore` files in it, you +may instead need to make a `.gitignore` file that ignores deeper nested `.gitignore` files. + +Finally, if you want to push changes to an external repo, I would recommend you create a `script` input +to do so, or alternatively, see my custom git app here: https://splunkbase.splunk.com/app/4182/ + + +## Locking it down + +In order to prevent file editing semi-permanantly, set `write_access = false` and `hide_settings = true`. +This will prevent being able to change settings until someone changes files directly on the filesystem. + + +## Third party software + +The following third-party libraries are used by this app. Thank you! + +* Monaco Editor - MIT - https://github.com/Microsoft/monaco-editor +* Sortable - MIT - https://github.com/rubaxa/Sortable.git +* OverlayScrollbars - MIT - https://github.com/KingSora/OverlayScrollbars +* Illustration by Ouch.pics - https://icons8.com +* Font Awesome - CC BY 4.0 License - https://fontawesome.com/ diff --git a/apps/config_explorer/README/config_explorer.conf.spec b/apps/config_explorer/README/config_explorer.conf.spec new file mode 100644 index 00000000..80279ac3 --- /dev/null +++ b/apps/config_explorer/README/config_explorer.conf.spec @@ -0,0 +1,246 @@ +[global] +write_access = +* This enables saving, creating new files/folders, deleting and renaming. This + is obviously very dangerous and just like having filesystem access through + the operating system, will make it very easy to destroy your Splunk + environment if you dont know what you are doing. +* Defaults to false + +run_commands = +* Enables running commands in the shell, with the user that splunk runs as. + Use with caution. +* Defaults to false + +hide_settings = +* Hide the "Settings" link from the top of the screen. Note that if write_access + is true then settings can still be changed at + etc/apps/config_explorer/local/config_explorer.conf. When the Settings link + is displayed, it can be changed even when write_access is off. To + prevent all editing, set "hide_settings = true" and "write_access = false". +* Defaults to false. + +max_file_size = +* The maximum file size in megabytes (MB) that can be opened. +* Defaults to 10 + +cache_file_depth = +* Cache the list of files and folders for the left pane to this many levels deep. + This makes navigation much faster (especially on windows) but uses more memory, + causes slightly slower startup, and will not follow symbolic links. Set to 0 to + disable cache but allow caching of visited directories. Set -1 to disable all caching. +* Defaults to 6 + +conf_validate_on_save = +* Show a green or red indicator in the code gutter of each line if it appears + in the btool list output or not. As parsing .spec files is not particularly + reliable this can be wrong. +* Defaults to true + +conf_validate_on_save_exclusions = +* a pipe seperated list of btool config types that should not perform the gutter hints. +* If the 'btool list' output for a config type is very large, it will cause the web browser + to run out of memory and crash. +* Defaults to savedsearches + +git_autocommit = +* Track all file saves by automatically committing them to git with a generic message. + Note you must first configure the git repo using "git init". Please see the documentation. +* Defaults to false + +btool_dirs = +* this is now deprecated. See 'btool_dir_for_deployment_apps', 'btool_dir_for_master_apps' and 'btool_dir_for_shcluster_apps' below +* This has no effect + +btool_dir_for_deployment_apps = +* If this server is a deployment server, then set this property to a sym-linked copy of the deployment-apps folder. +* this will enable the btool gutter-hinting in config files to work with config in the deployment-apps folder +* perform these steps to create the sym-linked deployment-apps folder. Note this only works on *nix-based platforms +* 1. mkdir /opt/splunk/etc/deployment-apps-for-btool/ +* 2. cd /opt/splunk/etc/deployment-apps-for-btool/ +* 3. ln -s /opt/splunk/etc/deployment-apps apps +* 4. Set this parameter to: btool_dir_for_deployment_apps = /opt/splunk/etc/deployment-apps-for-btool +* For more info on why the symlinking process is necissary, please see: https://answers.splunk.com/answers/731787 + +btool_dir_for_master_apps = +* If this server is a cluster master server, then set this property to a sym-linked copy of the master-apps folder. +* this will enable the btool gutter-hinting in config files to work with config in the master-apps folder +* perform these steps to create the sym-linked master-apps folder. Note this only works on *nix-based platforms +* 1. mkdir /opt/splunk/etc/master-apps-for-btool/ +* 2. cd /opt/splunk/etc/master-apps-for-btool/ +* 3. ln -s /opt/splunk/etc/master-apps apps +* 4. Set this parameter to: btool_dir_for_master_apps = /opt/splunk/etc/master-apps-for-btool +* For more info on why the symlinking process is necissary, please see: https://answers.splunk.com/answers/731787 + +btool_dir_for_manager_apps = +* If this server is a cluster manager server, then set this property to a sym-linked copy of the manager-apps folder. +* this will enable the btool gutter-hinting in config files to work with config in the manager-apps folder +* perform these steps to create the sym-linked manager-apps folder. Note this only works on *nix-based platforms +* 1. mkdir /opt/splunk/etc/manager-apps-for-btool/ +* 2. cd /opt/splunk/etc/manager-apps-for-btool/ +* 3. ln -s /opt/splunk/etc/manager-apps apps +* 4. Set this parameter to: btool_dir_for_manager_apps = /opt/splunk/etc/manager-apps-for-btool +* For more info on why the symlinking process is necissary, please see: https://answers.splunk.com/answers/731787 + +btool_dir_for_shcluster_apps = +* This will enable the btool gutter-hinting in config files to work with config in the shcluster/apps folder +* Enable this if the current server is a search head deployer. +* There is no need to create a sym-link for this path, however an absolute path to shcluster must be set. +* e.g. /opt/splunk/etc/shcluster + +master_apps_gutter_unnecissary_config_files = +* When viewing a config file within a subfolder of the /master-apps/ folder, if it matches this pattern, then a grey indicator +* will be shown in the gutter with a tooltip that shows: "In most environments, this property is not needed on indexers". +* In many environments the following configs are not desired on Indexers and can be appended: |restmap|web|inputs +* Set empty to disable the gray gutter warnings of unnecissary props/transforms config +* Default: alert_actions|addon_builder|checklist|collections|datamodels|deploymentclient|distsearch|eventgen|eventtypes|macros|savedsearches|tags|times|wmi|workflow_actions + +master_apps_gutter_useful_props_and_transforms = +* When viewing a props or transforms config file within a subfolder of the /master-apps/ folder, if the property does not match +* this pattern, then a grey indicator will be shown in the gutter with a tooltip that shows: +* "In most environments, this property is not needed on indexers". +* Set empty to disable grey highlighting in props and transforms +* Default: priority|TRUNCATE|LINE_BREAKER|LINE_BREAKER_LOOKBEHIND|SHOULD_LINEMERGE|BREAK_ONLY_BEFORE_DATE|BREAK_ONLY_BEFORE|MUST_BREAK_AFTER|MUST_NOT_BREAK_AFTER|MUST_NOT_BREAK_BEFORE|DATETIME_CONFIG|TIME_PREFIX|MAX_TIMESTAMP_LOOKAHEAD|TIME_FORMAT|TZ|TZ_ALIAS|MAX_DAYS_AGO|MAX_DAYS_HENCE|MAX_DIFF_SECS_AGO|MAX_DIFF_SECS_HENCE|ADD_EXTRA_TIME_FIELDS|METRICS_PROTOCOL|STATSD-DIM-TRANSFORMS|TRANSFORMS|CHECK_FOR_HEADER|SEDCMD|SEGMENTATION|ANNOTATE_PUNCT|description|category|REGEX|FORMAT|MATCH_LIMIT|DEPTH_LIMIT|CLONE_SOURCETYPE|LOOKAHEAD|WRITE_META|DEST_KEY|DEFAULT_VALUE|SOURCE_KEY|REPEAT_MATCH|INGEST_EVAL|REGEX|REMOVE_DIMS_FROM_METRIC_NAME|METRIC + +master_apps_gutter_used_sourcetypes = +* Have you ever wondered if you have parsing stanzas in master-apps/*/*/props.conf that are not being used in your environment? +* Config Explorer can show an indicator in the gutter for stanzas that do not match the pattern defined here. +* This does not work on props stanzas like the following "[source::*", "[host::*", "[(*" +* Use the below search as an administraot to create the pattern: +* | metadata type=sourcetypes index=* index=_* | fields sourcetype | format "" "" "" "" "" "" | rex mode=sed field=search "s/\"\s+sourcetype=\"/|/g" | rex mode=sed field=search "s/(\s*sourcetype=|\s*$)//g" +* Set empty to disable grey highlighting of stanzas that are not used +* Defaults to empty + +master_apps_gutter_used_sourcetypes_date = +* As the above master_apps_gutter_used_sourcetypes pattern is a one-off snapshot in time, this property allows you to know +* "how out of date" the above pattern of known sourcetypes is. Must be in the format YYYY-MM-DD +* Set this to the current date when the above search is run. +* Defaults to empty + +detect_changed_files = +* Check if files that are open have changed on the filesystem and warn if so. +* Defaults to true + +rest_api_dashboard_list = +* Show a new "Splunk REST API" section in the left pane, which allows opening and saving dashboard XML files using the REST API. +* Defaults to false + +dashboard_xml_file_experimental_actions = +* Right-clicking on a dashboard XML file will show options to "Attempt view in browser" and "Attempt edit via REST API". +* When using one of these options its importent to understand that the file that opens might not be the exact file that was clicked on. +* For example if you click on a XML file in APP/default/data/ui/views/ and there is a file also in APP/local/data/ui/views/, then Splunk +* will open the "local" version. Private user dashboards may also take priority. Only enable this option if you understand this well. +* Defaults to false + +debug_refresh_endpoints = +* A list of endpoints that will show when you click the button "Debug/refresh endpoint" button on the config explorer home page. +* Set to a blank string to hide the button. Some Splunk TAs may add their own debug/refresh endpoints. + +############################################################################ +# Experimental features # +############################################################################ + +git_autocommit_show_output = +* When autocommit is enabled, when should we show the commit log + true = Always show git messages + false = Never show git output + auto = Only show git messages when there is a non-zero status code +* Defaults to auto + +git_autocommit_dir = +* Force specific git repository location, relative to SPLUNK_HOME directory. +* Defaults to empty, meaning normal git rules will apply (search up from current directory) + +git_autocommit_work_tree = +* Force root location from where changes are tracked, relative to SPLUNK_HOME directory + Set to "etc/" to track all changes beneath etc folder. +* Defaults to empty, meaning the normal git behavior will apply. + + +[hook] +* "[hook:]" +* The [hooks:...] stanza allows creation of custom right-click actions that can be quickly run from both + the editor and the file tree context menus. + +match = +* A regular expression matching the files that this action should apply to. + e.g. /(?:local|default))/[^\/]*\.conf$ + +matchtype = +* The type of tree element to match. Can be either "file", "folder", "conf" (the conf files screen). +* Default is "file" + +showInPane = +* Limit in which pane the right click hook will be displayed. Can be either "tree", "editor", "both" +* Default is "both" + +action = +* The action name to run, full colon, then the argument (if required). Example: "run:ls -l ${FILENAME}" +* The following actions currently exist: + run:(1) - Run a custom shell command. Requires that "run_commands=true". + run-safe:(1) - Run a custom shell command but first shows the prompt so it can be edited. Requires that "run_commands=true". + bump:(0) - Trigger the _bump endpoint to expire the cache.. + refresh:(1) - Trigger the specified debug/refresh endpoint. With no argument it will do all endpoints. + btool:(1) - Run btool on the specified conf file (--debug mode). + btool-hidepaths:(1) - Run btool on the specified conf file and do not show paths (not --debug mode). + btool-hidedefaults:(1) - Run btool on the specified conf file and hide any default setting. + btool-hidesystemdefaults:(1) - Run btool on the specified conf file and hide system default settings. + spec:(1) - Show the .spec file for the specified conf file. + read:(1) - Open the specified file. + live:(1) - Show the current running config for the specified conf file. Uses the "/services/configs/conf-*" endpoint. + live-diff:(1) - Show the current running config as a diff comparison of what is reported by btool. + cd:(1) - Change the current directory in config explorer to the path specified. Path should be relative to $SPLUNKHOME + clipboard:(1) - Copy the argument string to the clipboard + rest:(1) - attempt to open the resource using the Splunk REST API. The argument should be supplied as the REST API path + (example: "/servicesNS/nobody/search/data/ui/nav/my_dashboard"). Currently only works with views (dashboards). + openurl:(1) - Attempt to open the url argument in the browser +* The following variables can be used after the full colon: + ${FILE} = Filename with path + ${BASEFILE} = Filename without path + ${DIRNAME} = Full path to the containing folder + +label = +* Display label for the action. Variables can be used: ${FILE}, ${BASEFILE} and ${DIRNAME}. + +showWithSave = +* Show the action a second time in the editor context menu, prefixed with "Save and ...". Use this + when creation a hook that is often used after saving the file. +* Default true + +disabled = +* Enable or disable the hook. +* Defaults to false + +order = +* Sort order. Lower numbers are sorted and displayed first. +* Defaults to 10 + + +[action] +* "[action:]" +* The [action:...] stanza allows creation of actions that can be run from the home/star tab + +action = +* The action name to run, full colon, then the argument (if required). Example: "run:ls -l". +* See hooks section above for complete list of options (except without variable substitutions). +* In addition: +* There is a special option "action = heading" will render a heading row with the text of the label field. +* Useful for grouping actions, with careful use of the order= property. +* Be careful to make sure stanza names are unique. +* There is a special option "action = text" will render a text string with the text of the label field instead of a button. +* There is a special option "action = br" will render a
(line-break) tag. +* These commands always run from $SPLUNK_HOME +* The default "Developer options" buttons/actions (incl the heading) can be customised/removed by overriding their stanzas. + +label = +* Display label for the button. + +description = +* Text to show next to the button + +disabled = +* Enable or disable the hook. +* Defaults to false + +order = +* Sort order. Lower numbers are sorted and displayed first. +* Defaults to 10 diff --git a/apps/config_explorer/appserver/static/OverlayScrollbars.js b/apps/config_explorer/appserver/static/OverlayScrollbars.js new file mode 100755 index 00000000..304844bd --- /dev/null +++ b/apps/config_explorer/appserver/static/OverlayScrollbars.js @@ -0,0 +1,6098 @@ +/*! + * OverlayScrollbars + * https://github.com/KingSora/OverlayScrollbars + * + * Version: 1.5.3 + * + * Copyright KingSora. + * https://github.com/KingSora + * + * Released under the MIT license. + * Date: 07.11.2018 + */ + +(function (global, factory) { + if (typeof define === 'function' && define.amd) + define(function() { return factory(global, global.document, undefined); }); + else if (typeof module === 'object' && typeof module.exports === 'object') + module.exports = factory(global, global.document, undefined); + else + factory(global, global.document, undefined); +}(typeof window !== 'undefined' ? window : this, + function(window, document, undefined) { + 'use strict'; + var PLUGINNAME = 'OverlayScrollbars'; + var TYPES = { + o : 'object', + f : 'function', + a : 'array', + s : 'string', + b : 'boolean', + n : 'number', + u : 'undefined', + z : 'null' + //d : 'date', + //e : 'error', + //r : 'regexp', + //y : 'symbol' + }; + var LEXICON = { + c : 'class', + s : 'style', + i : 'id', + l : 'length', + p : 'prototype', + oH : 'offsetHeight', + cH : 'clientHeight', + sH : 'scrollHeight', + oW : 'offsetWidth', + cW : 'clientWidth', + sW : 'scrollWidth' + }; + var COMPATIBILITY = { + /** + * Gets the current window width. + * @returns {Number|number} The current window width in pixel. + */ + wW: function() { + return window.innerWidth || document.documentElement[LEXICON.cW] || document.body[LEXICON.cW]; + }, + + /** + * Gets the current window height. + * @returns {Number|number} The current window height in pixel. + */ + wH: function() { + return window.innerHeight || document.documentElement[LEXICON.cH] || document.body[LEXICON.cH]; + }, + + /** + * Gets the MutationObserver Object or undefined if not supported. + * @returns {MutationObserver|*|undefined} The MutationsObserver Object or undefined. + */ + mO: function() { + return window.MutationObserver || window.WebKitMutationObserver || window.WebkitMutationObserver || window.MozMutationObserver || undefined; + }, + + /** + * Gets the ResizeObserver Object or undefined if not supported. + * @returns {MutationObserver|*|undefined} The ResizeObserver Object or undefined. + */ + rO: function() { + return window.ResizeObserver || window.WebKitResizeObserver || window.WebkitResizeObserver || window.MozResizeObserver || undefined; + }, + + /** + * Gets the RequestAnimationFrame method or it's corresponding polyfill. + * @returns {*|Function} The RequestAnimationFrame method or it's corresponding polyfill. + */ + rAF: function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (func) { + return window.setTimeout(func, 1000 / 60); + }; + }, + + /** + * Gets the CancelAnimationFrame method or it's corresponding polyfill. + * @returns {*|Function} The CancelAnimationFrame method or it's corresponding polyfill. + */ + cAF: function() { + return window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame || function (id) { + return window.clearTimeout(id); + }; + }, + + /** + * Gets the current time. + * @returns {number} The current time. + */ + now: function() { + return Date.now() || new Date().getTime(); + }, + + /** + * Stops the propagation of the given event. + * @param event The event of which the propagation shall be stoped. + */ + stpP: function(event) { + if(event.stopPropagation) + event.stopPropagation(); + else + event.cancelBubble = true; + }, + + /** + * Prevents the default action of the given event. + * @param event The event of which the default action shall be prevented. + */ + prvD: function(event) { + if(event.preventDefault && event.cancelable) + event.preventDefault(); + else + event.returnValue = false; + }, + + /** + * Gets the pageX and pageY values of the given mouse event. + * @param event The mouse event of which the pageX and pageX shall be got. + * @returns {x: number, y: number} x = pageX value, y = pageY value. + */ + page: function(event) { + event = event.originalEvent || event; + + var strPage = 'page'; + var strClient = 'client'; + var strX = 'X'; + var strY = 'Y'; + var target = event.target || event.srcElement || document; + var eventDoc = target.ownerDocument || document; + var doc = eventDoc.documentElement; + var body = eventDoc.body; + + //if touch event return return pageX/Y of it + if(event.touches !== undefined) { + var touch = event.touches[0]; + return { + x : touch[strPage + strX], + y : touch[strPage + strY] + } + } + + // Calculate pageX/Y if not native supported + if (!event[strPage + strX] && event[strClient + strX] && event[strClient + strX] != null) { + + return { + x : event[strClient + strX] + + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - + (doc && doc.clientLeft || body && body.clientLeft || 0), + y : event[strClient + strY] + + (doc && doc.scrollTop || body && body.scrollTop || 0) - + (doc && doc.clientTop || body && body.clientTop || 0) + } + } + return { + x : event[strPage + strX], + y : event[strPage + strY] + }; + }, + + /** + * Gets the clicked mouse button of the given mouse event. + * @param event The mouse event of which the clicked button shal be got. + * @returns {number} The number of the clicked mouse button. (1 : leftButton | 2 : middleButton | 3 : rightButton) + */ + mBtn: function(event) { + if (!event.which && event.button !== undefined) + return (event.button & 1 ? 1 : (event.button & 2 ? 3 : (event.button & 4 ? 2 : 0))); + else + return event.which; + }, + + /** + * Checks whether a item is in the given array and returns its index. + * @param item The item of which the position in the array shall be determined. + * @param arr The array. + * @returns {number} The zero based index of the item or -1 if the item isn't in the array. + */ + inA : function(item, arr) { + for (var i = 0; i < arr[LEXICON.l]; i++) + //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elements in a iFrame are compared + try { + if (arr[i] === item) + return i; + } + catch(e) { } + return -1; + }, + + /** + * Returns true if the given value is a array. + * @param arr The potential array. + * @returns {boolean} True if the given value is a array, false otherwise. + */ + isA: function(arr) { + var def = Array.isArray; + return def ? def(arr) : this.type(arr) == TYPES.a; + }, + + /** + * Determine the internal JavaScript [[Class]] of the given object. + * @param obj The object of which the type shall be determined. + * @returns {string} The type of the given object. + */ + type: function(obj) { + if (obj === undefined) + return obj + ""; + if (obj === null) + return obj + ""; + return Object[LEXICON.p].toString.call(obj).replace(/^\[object (.+)\]$/, '$1').toLowerCase(); + }, + + bind: function(func, thisObj) { + if (typeof func != TYPES.f) { + throw "Can't bind function!"; + // closest thing possible to the ECMAScript 5 + // internal IsCallable function + //throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); + } + var proto = LEXICON.p; + var aArgs = Array[proto].slice.call(arguments, 2); + var fNOP = function() {}; + var fBound = function() { return func.apply(this instanceof fNOP ? this : thisObj, aArgs.concat(Array[proto].slice.call(arguments))); }; + + if (func[proto]) + fNOP[proto] = func[proto]; // Function.prototype doesn't have a prototype property + fBound[proto] = new fNOP(); + + return fBound; + } + }; + + var JQUERY = window.jQuery; + var EASING = (function() { + var _math = window.Math; + var _easingsMath = { + p : _math.PI, + c : _math.cos, + s : _math.sin, + w : _math.pow, + t : _math.sqrt, + n : _math.asin, + a : _math.abs, + o : 1.70158 + }; + + /* + x : current percent (0 - 1), + t : current time (duration * percent), + b : start value (from), + c : end value (to), + d : duration + + easingName : function(x, t, b, c, d) { return easedValue; } + */ + + return { + swing: function (x, t, b, c, d) { + return 0.5 - _easingsMath.c(x * _easingsMath.p) / 2; + }, + linear: function(x, t, b, c, d) { + return x; + }, + easeInQuad: function (x, t, b, c, d) { + return c*(t/=d)*t + b; + }, + easeOutQuad: function (x, t, b, c, d) { + return -c *(t/=d)*(t-2) + b; + }, + easeInOutQuad: function (x, t, b, c, d) { + return ((t/=d/2) < 1) ? c/2*t*t + b : -c/2 * ((--t)*(t-2) - 1) + b; + }, + easeInCubic: function (x, t, b, c, d) { + return c*(t/=d)*t*t + b; + }, + easeOutCubic: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t + 1) + b; + }, + easeInOutCubic: function (x, t, b, c, d) { + return ((t/=d/2) < 1) ? c/2*t*t*t + b : c/2*((t-=2)*t*t + 2) + b; + }, + easeInQuart: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t + b; + }, + easeOutQuart: function (x, t, b, c, d) { + return -c * ((t=t/d-1)*t*t*t - 1) + b; + }, + easeInOutQuart: function (x, t, b, c, d) { + return ((t/=d/2) < 1) ? c/2*t*t*t*t + b : -c/2 * ((t-=2)*t*t*t - 2) + b; + }, + easeInQuint: function (x, t, b, c, d) { + return c*(t/=d)*t*t*t*t + b; + }, + easeOutQuint: function (x, t, b, c, d) { + return c*((t=t/d-1)*t*t*t*t + 1) + b; + }, + easeInOutQuint: function (x, t, b, c, d) { + return ((t/=d/2) < 1) ? c/2*t*t*t*t*t + b : c/2*((t-=2)*t*t*t*t + 2) + b; + }, + easeInSine: function (x, t, b, c, d) { + return -c * _easingsMath.c(t/d * (_easingsMath.p/2)) + c + b; + }, + easeOutSine: function (x, t, b, c, d) { + return c * _easingsMath.s(t/d * (_easingsMath.p/2)) + b; + }, + easeInOutSine: function (x, t, b, c, d) { + return -c/2 * (_easingsMath.c(_easingsMath.p*t/d) - 1) + b; + }, + easeInExpo: function (x, t, b, c, d) { + return (t==0) ? b : c * _easingsMath.w(2, 10 * (t/d - 1)) + b; + }, + easeOutExpo: function (x, t, b, c, d) { + return (t==d) ? b+c : c * (-_easingsMath.w(2, -10 * t/d) + 1) + b; + }, + easeInOutExpo: function (x, t, b, c, d) { + if (t==0) return b; + if (t==d) return b+c; + if ((t/=d/2) < 1) return c/2 * _easingsMath.w(2, 10 * (t - 1)) + b; + return c/2 * (-_easingsMath.w(2, -10 * --t) + 2) + b; + }, + easeInCirc: function (x, t, b, c, d) { + return -c * (_easingsMath.t(1 - (t/=d)*t) - 1) + b; + }, + easeOutCirc: function (x, t, b, c, d) { + return c * _easingsMath.t(1 - (t=t/d-1)*t) + b; + }, + easeInOutCirc: function (x, t, b, c, d) { + return ((t/=d/2) < 1) ? -c/2 * (_easingsMath.t(1 - t*t) - 1) + b : c/2 * (_easingsMath.t(1 - (t-=2)*t) + 1) + b; + }, + easeInElastic: function (x, t, b, c, d) { + var s=_easingsMath.o;var p=0;var a=c; + if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; + if (a < _easingsMath.a(c)) { a=c; var s=p/4; } + else var s = p/(2*_easingsMath.p) * _easingsMath.n (c/a); + return -(a*_easingsMath.w(2,10*(t-=1)) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p )) + b; + }, + easeOutElastic: function (x, t, b, c, d) { + var s=_easingsMath.o;var p=0;var a=c; + if (t==0) return b; + if ((t/=d)==1) return b+c; + if (!p) p=d*.3; + if (a < _easingsMath.a(c)) { a=c; var s=p/4; } + else var s = p/(2*_easingsMath.p) * _easingsMath.n (c/a); + return a*_easingsMath.w(2,-10*t) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p ) + c + b; + }, + easeInOutElastic: function (x, t, b, c, d) { + var s=_easingsMath.o;var p=0;var a=c; + if (t==0) return b; + if ((t/=d/2)==2) return b+c; + if (!p) p=d*(.3*1.5); + if (a < _easingsMath.a(c)) { a=c; var s=p/4; } + else var s = p/(2*_easingsMath.p) * _easingsMath.n (c/a); + if (t < 1) return -.5*(a*_easingsMath.w(2,10*(t-=1)) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p )) + b; + return a*_easingsMath.w(2,-10*(t-=1)) * _easingsMath.s( (t*d-s)*(2*_easingsMath.p)/p )*.5 + c + b; + }, + easeInBack: function (x, t, b, c, d, s) { + s = s || _easingsMath.o; + return c*(t/=d)*t*((s+1)*t - s) + b; + }, + easeOutBack: function (x, t, b, c, d, s) { + s = s || _easingsMath.o; + return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; + }, + easeInOutBack: function (x, t, b, c, d, s) { + s = s || _easingsMath.o; + return ((t/=d/2) < 1) ? c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b : c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; + }, + easeInBounce: function (x, t, b, c, d) { + return c - this.easeOutBounce (x, d-t, 0, c, d) + b; + }, + easeOutBounce: function (x, t, b, c, d) { + var o = 7.5625; + if ((t/=d) < (1/2.75)) { + return c*(o*t*t) + b; + } else if (t < (2/2.75)) { + return c*(o*(t-=(1.5/2.75))*t + .75) + b; + } else if (t < (2.5/2.75)) { + return c*(o*(t-=(2.25/2.75))*t + .9375) + b; + } else { + return c*(o*(t-=(2.625/2.75))*t + .984375) + b; + } + }, + easeInOutBounce: function (x, t, b, c, d) { + return (t < d/2) ? this.easeInBounce (x, t*2, 0, c, d) * .5 + b : this.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + } + }; + /* + * + * TERMS OF USE - EASING EQUATIONS + * + * Open source under the BSD License. + * + * Copyright © 2001 Robert Penner + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + })(); + var FRAMEWORK = (function() { + var _rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + var _strSpace = ' '; + var _strEmpty = ''; + var _strScrollLeft = 'scrollLeft'; + var _strScrollTop = 'scrollTop'; + var _animations = [ ]; + var _type = COMPATIBILITY.type; + var _cssNumber = { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }; + + var extend = function() { + var src, copyIsArray, copy, name, options, clone, target = arguments[0] || {}, + i = 1, + length = arguments[LEXICON.l], + deep = false; + + // Handle a deep copy situation + if (_type(target) == TYPES.b) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if (_type(target) != TYPES.o && !_type(target) == TYPES.f) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if (length === i) { + target = FakejQuery; + --i; + } + + for (; i < length; i++) { + // Only deal with non-null/undefined values + if ((options = arguments[i]) != null) { + // Extend the base object + for (name in options) { + src = target[name]; + copy = options[name]; + + // Prevent never-ending loop + if (target === copy) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if (deep && copy && (isPlainObject(copy) || (copyIsArray = COMPATIBILITY.isA(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && COMPATIBILITY.isA(src) ? src : []; + + } else { + clone = src && isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[name] = extend(deep, clone, copy); + + // Don't bring in undefined values + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + } + + // Return the modified object + return target; + }; + + var inArray = function(item, arr, fromIndex) { + for (var i = fromIndex || 0; i < arr[LEXICON.l]; i++) + if (arr[i] === item) + return i; + return -1; + } + + var isFunction = function(obj) { + return _type(obj) == TYPES.f; + }; + + var isEmptyObject = function(obj) { + for (var name in obj ) + return false; + return true; + }; + + var isPlainObject = function(obj) { + if (!obj || _type(obj) != TYPES.o) + return false; + + var key; + var proto = LEXICON.p; + var hasOwnProperty = Object[proto].hasOwnProperty; + var hasOwnConstructor = hasOwnProperty.call(obj, 'constructor'); + var hasIsPrototypeOf = obj.constructor && obj.constructor[proto] && hasOwnProperty.call(obj.constructor[proto], 'isPrototypeOf'); + + if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { + return false; + } + + + for (key in obj) { /**/ } + + return _type(key) == TYPES.u || hasOwnProperty.call(obj, key); + }; + + var each = function(obj, callback) { + var i = 0; + + if (isArrayLike(obj)) { + for (; i < obj[LEXICON.l]; i++) { + if (callback.call(obj[i], i, obj[i]) === false) + break; + } + } + else { + for (i in obj) { + if (callback.call(obj[i], i, obj[i]) === false) + break; + } + } + + return obj; + }; + + var FakejQuery = function (selector) { + if(arguments[LEXICON.l] === 0) + return this; + + var base = new FakejQuery(); + var elements = selector; + var i = 0; + var elms; + var el; + + if(_type(selector) == TYPES.s) { + elements = [ ]; + if(selector.charAt(0) === '<') { + el = document.createElement('div'); + el.innerHTML = selector; + elms = el.children; + } + else { + elms = document.querySelectorAll(selector); + } + + for(; i < elms[LEXICON.l]; i++) + elements.push(elms[i]); + } + + if(elements) { + if(_type(elements) != TYPES.s && !isArrayLike(elements)) + elements = [ elements ]; + + for(i = 0; i < elements[LEXICON.l]; i++) + base[i] = elements[i]; + + base[LEXICON.l] = elements[LEXICON.l]; + } + + return base; + }; + + function isArrayLike(obj) { + var length = !!obj && [LEXICON.l] in obj && obj[LEXICON.l]; + var t = _type(obj); + //|| obj === window = self added! + return isFunction(t) || obj === window ? false : (t == TYPES.a || length === 0 || _type(length) == TYPES.n && length > 0 && (length - 1) in obj); + } + + function stripAndCollapse(value) { + var tokens = value.match(_rnothtmlwhite) || []; + return tokens.join(_strSpace); + } + + function matches(elem, selector) { + var nodeList = (elem.parentNode || document).querySelectorAll(selector) || []; + var i = nodeList[LEXICON.l]; + + while (i--) + if (nodeList[i] == elem) + return true; + + return false; + } + + function insertAdjacentElement(el, strategy, child) { + if(_type(child) == TYPES.a) { + for(var i = 0; i < child[LEXICON.l]; i++) + insertAdjacentElement(el, strategy, child[i]); + } + else if(_type(child) == TYPES.s) + el.insertAdjacentHTML(strategy, child); + else + el.insertAdjacentElement(strategy, child.nodeType ? child : child[0]); + } + + function setCSSVal(el, prop, val) { + try { + if(el[LEXICON.s][prop] !== undefined) + el[LEXICON.s][prop] = parseCSSVal(prop, val); + } catch(e) { } + } + + function parseCSSVal(prop, val) { + if(!_cssNumber[prop.toLowerCase()] && _type(val) == TYPES.n) + val += 'px'; + return val; + } + + function startNextAnimationInQ(animObj, removeFromQ) { + var index; + var nextAnim; + if(removeFromQ !== false) + animObj.q.splice(0, 1); + if(animObj.q[LEXICON.l] > 0) { + nextAnim = animObj.q[0]; + animate(animObj.el, nextAnim.props, nextAnim.duration, nextAnim.easing, nextAnim.complete, true); + } + else { + index = inArray(animObj, _animations); + if(index > -1) + _animations.splice(index, 1); + } + } + + function setAnimationValue(el, prop, value) { + if(prop === _strScrollLeft || prop === _strScrollTop) + el[prop] = value; + else + setCSSVal(el, prop, value); + } + + function animate(el, props, options, easing, complete, guaranteedNext) { + var hasOptions = isPlainObject(options); + var from = { }; + var to = { }; + var i = 0; + var key; + var animObj; + var start; + var progress; + var step; + var specialEasing; + var duration; + if(hasOptions) { + easing = options.easing; + start = options.start; + progress = options.progress; + step = options.step; + specialEasing = options.specialEasing; + complete = options.complete; + duration = options.duration; + } + else + duration = options; + specialEasing = specialEasing || { }; + duration = duration || 400; + easing = easing || 'swing'; + guaranteedNext = guaranteedNext || false; + + for(; i < _animations[LEXICON.l]; i++) { + if(_animations[i].el === el) { + animObj = _animations[i]; + break; + } + } + + if(!animObj) { + animObj = { + el : el, + q : [] + }; + _animations.push(animObj); + } + + for (key in props) { + if(key === _strScrollLeft || key === _strScrollTop) + from[key] = el[key]; + else + from[key] = FakejQuery(el).css(key); + } + + for (key in from) { + if(from[key] !== props[key] && props[key] !== undefined) + to[key] = props[key]; + } + + if(!isEmptyObject(to)) { + var timeNow; + var end; + var percent; + var fromVal; + var toVal; + var easedVal; + var timeStart; + var frame; + var elapsed; + var qPos = guaranteedNext ? 0 : inArray(qObj, animObj.q); + var qObj = { + props : to, + duration : hasOptions ? options : duration, + easing : easing, + complete : complete + }; + if (qPos === -1) { + qPos = animObj.q[LEXICON.l]; + animObj.q.push(qObj); + } + + if(qPos === 0) { + if(duration > 0) { + timeStart = COMPATIBILITY.now(); + frame = function() { + timeNow = COMPATIBILITY.now(); + elapsed = (timeNow - timeStart); + end = qObj.stop || elapsed >= duration; + percent = 1 - ((Math.max(0, timeStart + duration - timeNow) / duration) || 0); + + for(key in to) { + fromVal = parseFloat(from[key]); + toVal = parseFloat(to[key]); + easedVal = (toVal - fromVal) * EASING[specialEasing[key] || easing](percent, percent * duration, 0, 1, duration) + fromVal; + setAnimationValue(el, key, easedVal); + if(isFunction(step)) { + step(easedVal, { + elem : el, + prop : key, + start : fromVal, + now : easedVal, + end : toVal, + pos : percent, + options : { + easing : easing, + speacialEasing : specialEasing, + duration : duration, + complete : complete, + step : step + }, + startTime : timeStart + }); + } + } + + if(isFunction(progress)) + progress({ }, percent, Math.max(0, duration - elapsed)); + + if (end) { + startNextAnimationInQ(animObj); + if(isFunction(complete)) + complete(); + } + else + qObj.frame = COMPATIBILITY.rAF()(frame); + }; + qObj.frame = COMPATIBILITY.rAF()(frame); + } + else { + for(key in to) + setAnimationValue(el, key, to[key]); + startNextAnimationInQ(animObj); + } + } + } + else if(guaranteedNext) + startNextAnimationInQ(animObj); + } + + function stop(el, clearQ, jumpToEnd) { + var animObj; + var qObj; + var key; + var i = 0; + for(; i < _animations[LEXICON.l]; i++) { + animObj = _animations[i]; + if(animObj.el === el) { + if(animObj.q[LEXICON.l] > 0) { + qObj = animObj.q[0]; + qObj.stop = true; + COMPATIBILITY.cAF()(qObj.frame); + animObj.q.splice(0, 1); + + if(jumpToEnd) + for(key in qObj.props) + setAnimationValue(el, key, qObj.props[key]); + + if(clearQ) + animObj.q = [ ]; + else + startNextAnimationInQ(animObj, false); + } + break; + } + } + } + + FakejQuery[LEXICON.p] = { + + //EVENTS: + + on : function(eventName, handler) { + eventName = (eventName || _strEmpty).match(_rnothtmlwhite) || [_strEmpty]; + + var eventNameLength = eventName[LEXICON.l]; + var i = 0; + var el; + return this.each(function() { + el = this; + try { + if (el.addEventListener) { + for (; i < eventNameLength; i++) + el.addEventListener(eventName[i], handler); + } + else if(el.detachEvent) { + for (; i < eventNameLength; i++) + el.attachEvent('on' + eventName[i], handler); + } + } catch (e) { } + }); + }, + + off : function(eventName, handler) { + eventName = (eventName || _strEmpty).match(_rnothtmlwhite) || [_strEmpty]; + + var eventNameLength = eventName[LEXICON.l]; + var i = 0; + var el; + return this.each(function() { + el = this; + try { + if (el.removeEventListener) { + for (; i < eventNameLength; i++) + el.removeEventListener(eventName[i], handler); + } + else if(el.detachEvent) { + for (; i < eventNameLength; i++) + el.detachEvent('on' + eventName[i], handler); + } + } catch (e) { } + }); + }, + + one : function (eventName, handler) { + eventName = (eventName || _strEmpty).match(_rnothtmlwhite) || [_strEmpty]; + return this.each(function() { + var el = FakejQuery(this); + FakejQuery.each(eventName, function(i, oneEventName) { + var oneHandler = function(e) { + handler.call(this, e); + el.off(oneEventName, oneHandler); + }; + el.on(oneEventName, oneHandler); + }); + }); + }, + + trigger : function(eventName) { + var el; + var event; + return this.each(function() { + el = this; + if (document.createEvent) { + event = document.createEvent('HTMLEvents'); + event.initEvent(eventName, true, false); + el.dispatchEvent(event); + } + else { + el.fireEvent("on" + eventName); + } + }); + }, + + //DOM NODE INSERTING / REMOVING: + + append : function(child) { + return this.each(function() { insertAdjacentElement(this, 'beforeend', child); }); + }, + + prepend : function(child) { + return this.each(function() { insertAdjacentElement(this, 'afterbegin', child); }); + }, + + before : function(child) { + return this.each(function() { insertAdjacentElement(this, 'beforebegin', child); }); + }, + + after : function(child) { + return this.each(function() { insertAdjacentElement(this, 'afterend', child); }); + }, + + remove : function() { + return this.each(function() { + var el = this; + var parentNode = el.parentNode; + if(parentNode != null) + parentNode.removeChild(el); + }); + }, + + unwrap : function() { + var parents = [ ]; + var i; + var el; + var parent; + + this.each(function() { + parent = this.parentNode; + if(inArray(parent, parents) === - 1) + parents.push(parent); + }); + + for(i = 0; i < parents[LEXICON.l]; i++) { + el = parents[i]; + parent = el.parentNode; + while (el.firstChild) + parent.insertBefore(el.firstChild, el); + parent.removeChild(el); + } + + return this; + }, + + wrapAll : function(wrapperHTML) { + var i; + var nodes = this; + var wrapper = FakejQuery(wrapperHTML)[0]; + var deepest = wrapper; + var parent = nodes[0].parentNode; + var previousSibling = nodes[0].previousSibling; + while(deepest.childNodes[LEXICON.l] > 0) + deepest = deepest.childNodes[0]; + + for (i = 0; nodes[LEXICON.l] - i; deepest.firstChild === nodes[0] && i++) + deepest.appendChild(nodes[i]); + + var nextSibling = previousSibling ? previousSibling.nextSibling : parent.firstChild; + parent.insertBefore(wrapper, nextSibling); + + return this; + }, + + wrapInner : function(wrapperHTML) { + return this.each(function() { + var el = FakejQuery(this); + var contents = el.contents(); + + if (contents[LEXICON.l]) + contents.wrapAll(wrapperHTML); + else + el.append(wrapperHTML); + }); + }, + + wrap : function(wrapperHTML) { + return this.each(function() { FakejQuery(this).wrapAll(wrapperHTML); }); + }, + + + //DOM NODE MANIPULATION / INFORMATION: + + css : function(styles, val) { + var el; + var key; + var cptStyle; + var getCptStyle = window.getComputedStyle; + if(_type(styles) == TYPES.s) { + if(val === undefined) { + el = this[0]; + cptStyle = getCptStyle ? getCptStyle(el, null) : el.currentStyle[styles]; + + //https://bugzilla.mozilla.org/show_bug.cgi?id=548397 can be null sometimes if iframe with display: none (firefox only!) + return getCptStyle ? cptStyle != null ? cptStyle.getPropertyValue(styles) : el[LEXICON.s][styles] : cptStyle; + } + else { + return this.each(function() { + setCSSVal(this, styles, val); + }); + } + } + else { + return this.each(function() { + for(key in styles) + setCSSVal(this, key, styles[key]); + }); + } + }, + + hasClass : function(className) { + var elem, i = 0; + var classNamePrepared = _strSpace + className + _strSpace; + var classList; + + while ((elem = this[ i++ ])) { + classList = elem.classList; + if(classList && classList.contains(className)) + return true; + else if (elem.nodeType === 1 && (_strSpace + stripAndCollapse(elem.className + _strEmpty) + _strSpace).indexOf(classNamePrepared) > -1) + return true; + } + + return false; + }, + + addClass : function(className) { + var classes; + var elem; + var cur; + var curValue; + var clazz; + var finalValue; + var supportClassList; + var elmClassList; + var i = 0; + var v = 0; + + if (className) { + classes = className.match( _rnothtmlwhite ) || []; + + while ((elem = this[i++])) { + elmClassList = elem.classList; + if(supportClassList === undefined) + supportClassList = elmClassList !== undefined; + + if(supportClassList) { + while ((clazz = classes[v++])) + elmClassList.add(clazz); + } + else { + curValue = elem.className + _strEmpty; + cur = elem.nodeType === 1 && (_strSpace + stripAndCollapse(curValue) + _strSpace); + + if (cur) { + while ((clazz = classes[v++])) + if (cur.indexOf(_strSpace + clazz + _strSpace) < 0) + cur += clazz + _strSpace; + + finalValue = stripAndCollapse(cur); + if (curValue !== finalValue) + elem.className = finalValue; + } + } + } + } + + return this; + }, + + removeClass : function(className) { + var classes; + var elem; + var cur; + var curValue; + var clazz; + var finalValue; + var supportClassList; + var elmClassList; + var i = 0; + var v = 0; + + if (className) { + classes = className.match(_rnothtmlwhite) || []; + + while ((elem = this[i++])) { + elmClassList = elem.classList; + if(supportClassList === undefined) + supportClassList = elmClassList !== undefined; + + if(supportClassList) { + while ((clazz = classes[v++])) + elmClassList.remove(clazz); + } + else { + curValue = elem.className + _strEmpty; + cur = elem.nodeType === 1 && (_strSpace + stripAndCollapse(curValue) + _strSpace); + + if (cur) { + while ((clazz = classes[v++])) + while (cur.indexOf(_strSpace + clazz + _strSpace) > -1) + cur = cur.replace(_strSpace + clazz + _strSpace, _strSpace); + + finalValue = stripAndCollapse(cur); + if (curValue !== finalValue) + elem.className = finalValue; + } + } + } + } + + return this; + }, + + hide : function() { + return this.each(function() { this[LEXICON.s].display = 'none'; }); + }, + + show : function() { + return this.each(function() { this[LEXICON.s].display = 'block'; }); + }, + + attr : function(attrName, value) { + var i = 0; + var el; + while (el = this[i++]) { + if(value === undefined) + return el.getAttribute(attrName); + el.setAttribute(attrName, value); + } + return this; + }, + + removeAttr : function(attrName) { + return this.each(function() { this.removeAttribute(attrName); }); + }, + + offset : function() { + var el = this[0]; + var rect = el.getBoundingClientRect(); + var scrollLeft = window.pageXOffset || document.documentElement[_strScrollLeft]; + var scrollTop = window.pageYOffset || document.documentElement[_strScrollTop]; + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft + }; + }, + + position : function() { + var el = this[0]; + return { + top: el.offsetTop, + left: el.offsetLeft + }; + }, + + scrollLeft : function(value) { + var i = 0; + var el; + while (el = this[i++]) { + if(value === undefined) + return el[_strScrollLeft]; + el[_strScrollLeft] = value; + } + return this; + }, + + scrollTop : function(value) { + var i = 0; + var el; + while (el = this[i++]) { + if(value === undefined) + return el[_strScrollTop]; + el[_strScrollTop] = value; + } + return this; + }, + + val : function(value) { + var el = this[0]; + if(!value) + return el.value; + el.value = value; + return this; + }, + + + //DOM TRAVERSAL / FILTERING: + + first : function() { + return this.eq(0); + }, + + last : function() { + return this.eq(-1); + }, + + eq : function(index) { + return FakejQuery(this[index >= 0 ? index : this[LEXICON.l] + index]); + }, + + find : function(selector) { + var children = [ ]; + var i; + this.each(function() { + var el = this; + var ch = el.querySelectorAll(selector); + for(i = 0; i < ch[LEXICON.l]; i++) + children.push(ch[i]); + }); + return FakejQuery(children); + }, + + children : function(selector) { + var children = [ ]; + var el; + var ch; + var i; + + this.each(function() { + ch = this.children; + for(i = 0; i < ch[LEXICON.l]; i++) { + el = ch[i]; + if(selector) { + if((el.matches && el.matches(selector)) || matches(el, selector)) + children.push(el); + } + else + children.push(el); + } + }); + return FakejQuery(children); + }, + + parent : function(selector) { + var parents = [ ]; + var parent; + this.each(function() { + parent = this.parentNode; + if(selector ? FakejQuery(parent).is(selector) : true) + parents.push(parent); + }); + return FakejQuery(parents); + }, + + is : function(selector) { + var el; + var i; + for(i = 0; i < this[LEXICON.l]; i++) { + el = this[i]; + if(selector === ":visible") + return !!(el[LEXICON.oW] || el[LEXICON.oH] || el.getClientRects()[LEXICON.l]); + if(selector === ":hidden") + return !!!(el[LEXICON.oW] || el[LEXICON.oH] || el.getClientRects()[LEXICON.l]); + if((el.matches && el.matches(selector)) || matches(el, selector)) + return true; + } + return false; + }, + + contents : function() { + var contents = [ ]; + var childs; + var i; + + this.each(function() { + childs = this.childNodes; + for(i = 0; i < childs[LEXICON.l]; i++) + contents.push(childs[i]); + }); + + return FakejQuery(contents); + }, + + each : function(callback) { + return each(this, callback); + }, + + + //ANIMATION: + + animate : function(props, duration, easing, complete) { + return this.each(function() { animate(this, props, duration, easing, complete); }); + }, + + stop : function(clearQ, jump) { + return this.each(function() { stop(this, clearQ, jump); }); + } + }; + + extend(FakejQuery, { + extend : extend, + inArray : inArray, + isEmptyObject : isEmptyObject, + isPlainObject : isPlainObject, + each : each + }); + + return FakejQuery; + })(); + var INSTANCES = (function() { + var _targets = [ ]; + var _instancePropertyString = '__overlayScrollbars__'; + + /** + * Register, unregister or get a certain (or all) instances. + * Register: Pass the target and the instance. + * Unregister: Pass the target and null. + * Get Instance: Pass the target from which the instance shall be got. + * Get Targets: Pass no arguments. + * @param target The target to which the instance shall be registered / from which the instance shall be unregistered / the instance shall be got + * @param instance The instance. + * @returns {*|void} Returns the instance from the given target. + */ + return function (target, instance) { + var argLen = arguments[LEXICON.l]; + if(argLen < 1) { + //return all targets + return _targets; + } + else { + if(instance) { + //register instance + target[_instancePropertyString] = instance; + _targets.push(target); + } + else { + var index = COMPATIBILITY.inA(target, _targets); + if (index > -1) { + if(argLen > 1) { + //unregister instance + delete target[_instancePropertyString]; + _targets.splice(index, 1); + } + else { + //get instance from target + return _targets[index][_instancePropertyString]; + } + } + } + } + } + })(); + var PLUGIN = (function() { + var _pluginsGlobals; + var _pluginsAutoUpdateLoop; + var _pluginsExtensions = [ ]; + var _pluginsOptions = (function() { + var possibleTemplateTypes = [ + TYPES.b, //boolean + TYPES.n, //number + TYPES.s, //string + TYPES.a, //array + TYPES.o, //object + TYPES.f, //function + TYPES.z //null + ]; + var restrictedStringsSplit = " "; + var restrictedStringsPossibilitiesSplit = ":"; + var classNameAllowedValues = [TYPES.z, TYPES.s]; + var numberAllowedValues = TYPES.n; + var booleanNullAllowedValues = [TYPES.z, TYPES.b]; + var booleanTrueTemplate = [true, TYPES.b]; + var booleanFalseTemplate = [false, TYPES.b]; + var callbackTemplate = [null, [TYPES.z, TYPES.f]]; + var resizeAllowedValues = 'n:none b:both h:horizontal v:vertical'; + var overflowBehaviorAllowedValues = 'v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden'; + var scrollbarsVisibilityAllowedValues = 'v:visible h:hidden a:auto'; + var scrollbarsAutoHideAllowedValues = 'n:never s:scroll l:leave m:move'; + var optionsDefaultsAndTemplate = { + className: ['os-theme-dark', classNameAllowedValues], //null || string + resize: ['none', resizeAllowedValues], //none || both || horizontal || vertical || n || b || h || v + sizeAutoCapable: booleanTrueTemplate, //true || false + clipAlways: booleanTrueTemplate, //true || false + normalizeRTL: booleanTrueTemplate, //true || false + paddingAbsolute: booleanFalseTemplate, //true || false + autoUpdate: [null, booleanNullAllowedValues], //true || false || null + autoUpdateInterval: [33, numberAllowedValues], //number + nativeScrollbarsOverlaid: { + showNativeScrollbars: booleanFalseTemplate, //true || false + initialize: booleanTrueTemplate //true || false + }, + overflowBehavior: { + x: ['scroll', overflowBehaviorAllowedValues], //visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s + y: ['scroll', overflowBehaviorAllowedValues] //visible-hidden || visible-scroll || hidden || scroll || v-h || v-s || h || s + }, + scrollbars: { + visibility: ['auto', scrollbarsVisibilityAllowedValues], //visible || hidden || auto || v || h || a + autoHide: ['never', scrollbarsAutoHideAllowedValues], //never || scroll || leave || move || n || s || l || m + autoHideDelay: [800, numberAllowedValues], //number + dragScrolling: booleanTrueTemplate, //true || false + clickScrolling: booleanFalseTemplate, //true || false + touchSupport: booleanTrueTemplate //true || false + }, + textarea: { + dynWidth: booleanFalseTemplate, //true || false + dynHeight: booleanFalseTemplate //true || false + }, + callbacks: { + onInitialized: callbackTemplate, //null || function + onInitializationWithdrawn: callbackTemplate, //null || function + onDestroyed: callbackTemplate, //null || function + onScrollStart: callbackTemplate, //null || function + onScroll: callbackTemplate, //null || function + onScrollStop: callbackTemplate, //null || function + onOverflowChanged: callbackTemplate, //null || function + onOverflowAmountChanged: callbackTemplate, //null || function + onDirectionChanged: callbackTemplate, //null || function + onContentSizeChanged: callbackTemplate, //null || function + onHostSizeChanged: callbackTemplate, //null || function + onUpdated: callbackTemplate //null || function + } + }; + var convert = function(template) { + var recursive = function(obj) { + var key; + var val; + var valType; + for(key in obj) { + if(!obj.hasOwnProperty(key)) + continue; + val = obj[key]; + valType = COMPATIBILITY.type(val); + if(valType == TYPES.a) + obj[key] = val[template ? 1 : 0]; + else if(valType == TYPES.o) + obj[key] = recursive(val); + } + return obj; + }; + return recursive(FRAMEWORK.extend(true, { }, optionsDefaultsAndTemplate)); + }; + + return { + //defaults + d : convert(), + + //template + t : convert(true), + + //validate + /** + * Validates the passed object by the passed template. + * @param obj The object which shall be validated. + * @param template The template which defines the allowed values and types. + * @param writeErrors True if errors shall be logged to the console. + * @param usePreparedValues True if the validated main values shall be returned in the validated object, false otherwise. + * @param keepForeignProps True if properties which aren't in the template shall be added to the validated object, false otherwise. + * @returns {{}} A object which contains only the valid properties of the passed original object. + */ + v : function (obj, template, writeErrors, usePreparedValues, keepForeignProps) { + var validatedOptions = { }; + var objectCopy = FRAMEWORK.extend(true, { }, obj); + var checkObjectProps = function(data, template, validatedOptions, prevPropName) { + for (var prop in template) { + if (template.hasOwnProperty(prop) && data.hasOwnProperty(prop)) { + var isValid = false; + var templateValue = template[prop]; + var templateValueType = COMPATIBILITY.type(templateValue); + var templateTypes = COMPATIBILITY.type(templateValue) != TYPES.a ? [ templateValue ] : templateValue; + var dataValue = data[prop]; + var dataValueType = COMPATIBILITY.type(dataValue); + var propPrefix = prevPropName ? prevPropName + "." : ""; + var error = "The option \"" + propPrefix + prop + "\" wasn't set, because"; + var errorPossibleTypes = [ ]; + var errorRestrictedStrings = [ ]; + var restrictedStringValuesSplit; + var restrictedStringValuesPossibilitiesSplit; + var isRestrictedValue; + var mainPossibility; + var currType; + var i; + var v; + var j; + + //if the template has a object as value, it means that the options are complex (verschachtelt) + if(templateValueType == TYPES.o) { + validatedOptions[prop] = { }; + checkObjectProps(dataValue, templateValue, validatedOptions[prop], propPrefix + prop); + if(FRAMEWORK.isEmptyObject(dataValue)) + delete data[prop]; + } + else { + for(i = 0; i < templateTypes.length; i++) { + currType = templateTypes[i]; + templateValueType = COMPATIBILITY.type(currType); + //if currtype is string and starts with restrictedStringPrefix and end with restrictedStringSuffix + isRestrictedValue = templateValueType == TYPES.s && FRAMEWORK.inArray(currType, possibleTemplateTypes) === -1; + if(isRestrictedValue) { + errorPossibleTypes.push(TYPES.s); + + //split it into a array which contains all possible values for example: ["y:yes", "n:no", "m:maybe"] + restrictedStringValuesSplit = currType.split(restrictedStringsSplit); + errorRestrictedStrings = errorRestrictedStrings.concat(restrictedStringValuesSplit); + for(v = 0; v < restrictedStringValuesSplit.length; v++) { + //split the possible values into their possibiliteis for example: ["y", "yes"] -> the first is always the mainPossibility + restrictedStringValuesPossibilitiesSplit = restrictedStringValuesSplit[v].split(restrictedStringsPossibilitiesSplit); + mainPossibility = restrictedStringValuesPossibilitiesSplit[0]; + for(j = 0; j < restrictedStringValuesPossibilitiesSplit.length; j++) { + //if any possibility matches with the dataValue, its valid + if(dataValue === restrictedStringValuesPossibilitiesSplit[j]) { + isValid = true; + break; + } + } + if(isValid) + break; + } + } + else { + errorPossibleTypes.push(currType); + + if(dataValueType === currType) { + isValid = true; + break; + } + } + } + + if(isValid) { + validatedOptions[prop] = isRestrictedValue && usePreparedValues ? mainPossibility : dataValue; + } + else if(writeErrors) { + console.warn(error + " it doesn't accept the type [ " + dataValueType.toUpperCase() + " ] with the value of \"" + dataValue + "\".\r\n" + + "Accepted types are: [ " + errorPossibleTypes.join(", ").toUpperCase() + " ]." + + (errorRestrictedStrings.length > 0 ? "\r\nValid strings are: [ " + errorRestrictedStrings.join(", ").split(restrictedStringsPossibilitiesSplit).join(", ") + " ]." : "")); + } + delete data[prop]; + } + } + } + }; + checkObjectProps(objectCopy, template, validatedOptions); + + //add values which aren't specified in the template to the finished validated object to prevent them from being discarded + if(keepForeignProps) + FRAMEWORK.extend(true, validatedOptions, objectCopy); + else if(!FRAMEWORK.isEmptyObject(objectCopy) && writeErrors) + console.warn("The following options are discarded due to invalidity:\r\n" + JSON.stringify(objectCopy, null, 2)); + + return validatedOptions; + } + } + }()); + + /** + * Initializes the object which contains global information about the plugin and each instance of it. + */ + function initOverlayScrollbarsStatics() { + if(!_pluginsGlobals) + _pluginsGlobals = new OverlayScrollbarsGlobals(_pluginsOptions.d); + if(!_pluginsAutoUpdateLoop) + _pluginsAutoUpdateLoop = new OverlayScrollbarsAutoUpdateLoop(_pluginsGlobals); + } + + /** + * The global object for the OverlayScrollbars objects. It contains resources which every OverlayScrollbars object needs. This object is initialized only once: if the first OverlayScrollbars object gets initialized. + * @param defaultOptions + * @constructor + */ + function OverlayScrollbarsGlobals(defaultOptions) { + var _base = this; + var strOverflow = 'overflow'; + var strHidden = 'hidden'; + var strScroll = 'scroll'; + var bodyElement = FRAMEWORK('body'); + var scrollbarDummyElement = FRAMEWORK('
'); + var scrollbarDummyElement0 = scrollbarDummyElement[0]; + var dummyContainerChild = FRAMEWORK(scrollbarDummyElement.children('div').eq(0)); + + bodyElement.append(scrollbarDummyElement); + scrollbarDummyElement.hide().show(); //fix IE8 bug (incorrect measuring) + + var nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement0); + var nativeScrollbarIsOverlaid = { + x: nativeScrollbarSize.x === 0, + y: nativeScrollbarSize.y === 0 + }; + + FRAMEWORK.extend(_base, { + defaultOptions : defaultOptions, + autoUpdateLoop : false, + autoUpdateRecommended : !COMPATIBILITY.mO(), + nativeScrollbarSize : nativeScrollbarSize, + nativeScrollbarIsOverlaid : nativeScrollbarIsOverlaid, + nativeScrollbarStyling : (function() { + scrollbarDummyElement.addClass('os-viewport-native-scrollbars-invisible'); + //fix opera bug: scrollbar styles will only appear if overflow value is scroll or auto during the activation of the style. + //and set overflow to scroll + scrollbarDummyElement.css(strOverflow, strHidden).hide().css(strOverflow, strScroll).show(); + return (scrollbarDummyElement0[LEXICON.oH] - scrollbarDummyElement0[LEXICON.cH]) === 0 && (scrollbarDummyElement0[LEXICON.oW] - scrollbarDummyElement0[LEXICON.cW]) === 0; + })(), + overlayScrollbarDummySize : { x: 30, y: 30 }, + msie : (function() { + var ua = window.navigator.userAgent; + var strIndexOf = 'indexOf'; + var strSubString = 'substring'; + var msie = ua[strIndexOf]('MSIE '); + var trident = ua[strIndexOf]('Trident/'); + var edge = ua[strIndexOf]('Edge/'); + var rv = ua[strIndexOf]('rv:'); + var result; + var parseInt = window.parseInt; + + // IE 10 or older => return version number + if (msie > 0) + result = parseInt(ua[strSubString](msie + 5, ua[strIndexOf]('.', msie)), 10); + + // IE 11 => return version number + else if (trident > 0) + result = parseInt(ua[strSubString](rv + 3, ua[strIndexOf]('.', rv)), 10); + + // Edge (IE 12+) => return version number + else if (edge > 0) + result = parseInt(ua[strSubString](edge + 5, ua[strIndexOf]('.', edge)), 10); + + // other browser + return result; + })(), + cssCalc : (function() { + var dummy = document.createElement('div'); + var props = ['calc', '-webkit-calc', '-moz-calc', '-o-calc']; + var i; + var prop; + + for (i = 0; i < props.length; ++i) { + prop = props[i]; + dummy[LEXICON.s].cssText = 'width:' + prop + '(1px);'; + if (dummy[LEXICON.s].length) + return prop; + } + return null; + })(), + restrictedMeasuring : (function() { + //https://bugzilla.mozilla.org/show_bug.cgi?id=1439305 + scrollbarDummyElement.css(strOverflow, strHidden); + var scrollSize = { + w : scrollbarDummyElement0[LEXICON.sW], + h : scrollbarDummyElement0[LEXICON.sH] + }; + scrollbarDummyElement.css(strOverflow, 'visible'); + var scrollSize2 = { + w : scrollbarDummyElement0[LEXICON.sW], + h : scrollbarDummyElement0[LEXICON.sH] + }; + return (scrollSize.w - scrollSize2.w) !== 0 || (scrollSize.h - scrollSize2.h) !== 0; + })(), + rtlScrollBehavior : (function() { + scrollbarDummyElement.css({ 'overflow-y' : strHidden, 'overflow-x' : strScroll, 'direction' : 'rtl' }).scrollLeft(0); + var dummyContainerOffset = scrollbarDummyElement.offset(); + var dummyContainerChildOffset = dummyContainerChild.offset(); + scrollbarDummyElement.scrollLeft(999); + var dummyContainerScrollOffsetAfterScroll = dummyContainerChild.offset(); + return { + //origin direction = determines if the zero scroll position is on the left or right side + //'i' means 'invert' (i === true means that the axis must be inverted to be correct) + //true = on the left side + //false = on the right side + i : dummyContainerOffset.left === dummyContainerChildOffset.left, + //negative = determines if the maximum scroll is positive or negative + //'n' means 'negate' (n === true means that the axis must be negated to be correct) + //true = negative + //false = positive + n : dummyContainerChildOffset.left - dummyContainerScrollOffsetAfterScroll.left === 0 + }; + })(), + supportTransform : detectCSSFeature('transform'), + supportTransition : detectCSSFeature('transition'), + supportPassiveEvents : (function() { + var supportsPassive = false; + try { + window.addEventListener('test', null, Object.defineProperty({ }, 'passive', { + get: function() { + supportsPassive = true; + } + })); + } catch (e) { } + return supportsPassive; + })(), + supportResizeObserver : !!COMPATIBILITY.rO(), + supportMutationObserver : !!COMPATIBILITY.mO() + }); + + scrollbarDummyElement.removeAttr(LEXICON.s).remove(); + + //Catch zoom event: + (function () { + if(nativeScrollbarIsOverlaid.x && nativeScrollbarIsOverlaid.y) + return; + + var abs = Math.abs; + var windowWidth = COMPATIBILITY.wW(); + var windowHeight = COMPATIBILITY.wH(); + var windowDpr = getWindowDPR(); + var onResize = function() { + if(INSTANCES().length > 0) { + var newW = COMPATIBILITY.wW(); + var newH = COMPATIBILITY.wH(); + var deltaW = newW - windowWidth; + var deltaH = newH - windowHeight; + + if (deltaW === 0 && deltaH === 0) + return; + + var deltaWRatio = Math.round(newW / (windowWidth / 100.0)); + var deltaHRatio = Math.round(newH / (windowHeight / 100.0)); + var absDeltaW = abs(deltaW); + var absDeltaH = abs(deltaH); + var absDeltaWRatio = abs(deltaWRatio); + var absDeltaHRatio = abs(deltaHRatio); + var newDPR = getWindowDPR(); + + var deltaIsBigger = absDeltaW > 2 && absDeltaH > 2; + var difference = !differenceIsBiggerThanOne(absDeltaWRatio, absDeltaHRatio); + var dprChanged = newDPR !== windowDpr && windowDpr > 0; + var isZoom = deltaIsBigger && difference && dprChanged; + var oldScrollbarSize = _base.nativeScrollbarSize; + var newScrollbarSize; + + if (isZoom) { + bodyElement.append(scrollbarDummyElement); + newScrollbarSize = _base.nativeScrollbarSize = calcNativeScrollbarSize(scrollbarDummyElement[0]); + scrollbarDummyElement.remove(); + if(oldScrollbarSize.x !== newScrollbarSize.x || oldScrollbarSize.y !== newScrollbarSize.y) { + FRAMEWORK.each(INSTANCES(), function () { + if(INSTANCES(this)) + INSTANCES(this).update('zoom'); + }); + } + } + + windowWidth = newW; + windowHeight = newH; + windowDpr = newDPR; + } + }; + + function differenceIsBiggerThanOne(valOne, valTwo) { + var absValOne = abs(valOne); + var absValTwo = abs(valTwo); + return !(absValOne === absValTwo || absValOne + 1 === absValTwo || absValOne - 1 === absValTwo); + } + + function getWindowDPR() { + var dDPI = window.screen.deviceXDPI || 0; + var sDPI = window.screen.logicalXDPI || 1; + return window.devicePixelRatio || (dDPI / sDPI); + } + + FRAMEWORK(window).on('resize', onResize); + })(); + + function detectCSSFeature(featurename) { + var feature = false; + var domPrefixes = 'Webkit Moz ms O'.split(' '); + var elm = document.createElement('div'); + var featurenameCapital = null; + var i = 0; + + featurename = featurename.toLowerCase(); + + if (elm[LEXICON.s][featurename] !== undefined) + feature = true; + + if (!feature) { + featurenameCapital = featurename.charAt(0).toUpperCase() + featurename.substr(1); + for (; i < domPrefixes.length; i++) { + if (elm[LEXICON.s][domPrefixes[i] + featurenameCapital] !== undefined) { + feature = true; + break; + } + } + } + return feature; + } + + function calcNativeScrollbarSize(measureElement) { + return { + x: measureElement[LEXICON.oH] - measureElement[LEXICON.cH], + y: measureElement[LEXICON.oW] - measureElement[LEXICON.cW] + }; + } + } + + /** + * The object which manages the auto update loop for all OverlayScrollbars objects. This object is initialized only once: if the first OverlayScrollbars object gets initialized. + * @constructor + */ + function OverlayScrollbarsAutoUpdateLoop(globals) { + var _base = this; + var _strAutoUpdate = 'autoUpdate'; + var _strAutoUpdateInterval = _strAutoUpdate + 'Interval'; + var _strLength = LEXICON.l; + + var _loopingInstances = [ ]; + var _loopingInstancesIntervalCache = [ ]; + var _loopIsActive = false; + var _loopIntervalDefault = 33; + var _loopInterval = _loopIntervalDefault; + var _loopTimeOld = COMPATIBILITY.now(); + var _loopID; + + /** + * The auto update loop which will run every 50 milliseconds or less if the update interval of a instance is lower than 50 milliseconds. + */ + var loop = function() { + if(_loopingInstances[_strLength] > 0 && _loopIsActive) { + _loopID = COMPATIBILITY.rAF()(function () { + loop(); + }); + var timeNew = COMPATIBILITY.now(); + var timeDelta = timeNew - _loopTimeOld; + + if (timeDelta > _loopInterval) { + _loopTimeOld = timeNew - (timeDelta % _loopInterval); + var lowestInterval = _loopIntervalDefault; + for(var i = 0; i < _loopingInstances[_strLength]; i++) { + var instance = _loopingInstances[i]; + if (instance !== undefined) { + var instanceOptions = instance.options(); + var instanceAutoUpdateAllowed = instanceOptions[_strAutoUpdate]; + var instanceAutoUpdateInterval = Math.max(1, instanceOptions[_strAutoUpdateInterval]); + var now = COMPATIBILITY.now(); + if ((instanceAutoUpdateAllowed === true || instanceAutoUpdateAllowed === null) && (now - _loopingInstancesIntervalCache[i]) > instanceAutoUpdateInterval) { + instance.update('auto'); + _loopingInstancesIntervalCache[i] = new Date(now += instanceAutoUpdateInterval); + } + lowestInterval = Math.max(1, Math.min(lowestInterval, instanceAutoUpdateInterval)); + } + } + _loopInterval = lowestInterval; + } + } else { + _loopInterval = _loopIntervalDefault; + } + }; + + /** + * Add OverlayScrollbars instance to the auto update loop. Only successful if the instance isn't already added. + * @param instance The instance which shall be updated in a loop automatically. + */ + _base.add = function(instance) { + if(FRAMEWORK.inArray(instance, _loopingInstances) === -1) { + _loopingInstances.push(instance); + _loopingInstancesIntervalCache.push(COMPATIBILITY.now()); + if (_loopingInstances[_strLength] > 0 && !_loopIsActive) { + _loopIsActive = true; + globals.autoUpdateLoop = _loopIsActive; + loop(); + } + } + }; + + /** + * Remove OverlayScrollbars instance from the auto update loop. Only successful if the instance was added before. + * @param instance The instance which shall be updated in a loop automatically. + */ + _base.remove = function(instance) { + var index = FRAMEWORK.inArray(instance, _loopingInstances); + if(index > -1) { + //remove from loopingInstances list + _loopingInstancesIntervalCache.splice(index, 1); + _loopingInstances.splice(index, 1); + + //correct update loop behavior + if (_loopingInstances[_strLength] === 0 && _loopIsActive) { + _loopIsActive = false; + globals.autoUpdateLoop = _loopIsActive; + if(_loopID !== undefined) { + COMPATIBILITY.cAF()(_loopID); + _loopID = -1; + } + } + } + }; + } + + /** + * A object which manages the scrollbars visibility of the target element. + * @param pluginTargetElement The element from which the scrollbars shall be hidden. + * @param options The custom options. + * @param extensions The custom extensions. + * @param globals + * @param autoUpdateLoop + * @returns {*} + * @constructor + */ + function OverlayScrollbarsInstance(pluginTargetElement, options, extensions, globals, autoUpdateLoop) { + //if passed element is no HTML element: skip and return + if(!isHTMLElement(pluginTargetElement)) + return; + + //if passed element is already initialized: set passed options if there are any and return its instance + if(INSTANCES(pluginTargetElement)) { + var inst = INSTANCES(pluginTargetElement); + inst.options(options); + return inst; + } + + //make correct instanceof + var _base = new window[PLUGINNAME](); + var _frameworkProto = FRAMEWORK[LEXICON.p]; + + //globals: + var _nativeScrollbarIsOverlaid; + var _overlayScrollbarDummySize; + var _rtlScrollBehavior; + var _autoUpdateRecommended; + var _msieVersion; + var _nativeScrollbarStyling; + var _cssCalc; + var _nativeScrollbarSize; + var _supportTransition; + var _supportTransform; + var _supportPassiveEvents; + var _supportResizeObserver; + var _restrictedMeasuring; + + //general readonly: + var _initialized; + var _destroyed; + var _isTextarea; + var _isBody; + var _documentMixed; + + //general: + var _isBorderBox; + var _sizeAutoObserverAdded; + var _paddingX; + var _paddingY; + var _borderX; + var _borderY; + var _marginX; + var _marginY; + var _isRTL; + var _isSleeping; + var _contentBorderSize = { }; + var _scrollHorizontalInfo = { }; + var _scrollVerticalInfo = { }; + var _viewportSize = { }; + var _nativeScrollbarMinSize = { }; + + //scroll + var _scrollStopDelay = 175; + var _scrollStopTimeoutId; + + //naming: + var _strMinusHidden = '-hidden'; + var _strMarginMinus = 'margin-'; + var _strPaddingMinus = 'padding-'; + var _strBorderMinus = 'border-'; + var _strTop = 'top'; + var _strRight = 'right'; + var _strBottom = 'bottom'; + var _strLeft = 'left'; + var _strMinMinus = 'min-'; + var _strMaxMinus = 'max-'; + var _strWidth = 'width'; + var _strHeight = 'height'; + var _strFloat = 'float'; + var _strEmpty = ''; + var _strAuto = 'auto'; + var _strScroll = 'scroll'; + var _strHundredPercent = '100%'; + var _strX = 'x'; + var _strY = 'y'; + var _strDot = '.'; + var _strSpace = ' '; + var _strScrollbar = 'scrollbar'; + var _strMinusHorizontal = '-horizontal'; + var _strMinusVertical = '-vertical'; + var _strScrollLeft = _strScroll + 'Left'; + var _strScrollTop = _strScroll + 'Top'; + var _strMouseTouchDownEvent = 'mousedown touchstart'; + var _strMouseTouchUpEvent = 'mouseup touchend touchcancel'; + var _strMouseTouchMoveEvent = 'mousemove touchmove'; + var _strMouseTouchEnter = 'mouseenter'; + var _strMouseTouchLeave = 'mouseleave'; + var _strKeyDownEvent = 'keydown'; + var _strKeyUpEvent = 'keyup'; + var _strSelectStartEvent = 'selectstart'; + var _strTransitionEndEvent = 'transitionend webkitTransitionEnd oTransitionEnd'; + var _strResizeObserverProperty = '__overlayScrollbarsRO__'; + + //class names: + var _cassNamesPrefix = 'os-'; + var _classNameHTMLElement = _cassNamesPrefix + 'html'; + var _classNameHostElement = _cassNamesPrefix + 'host'; + var _classNameHostTextareaElement = _classNameHostElement + '-textarea'; + var _classNameHostScrollbarHorizontalHidden = _classNameHostElement + '-' + _strScrollbar + _strMinusHorizontal + _strMinusHidden; + var _classNameHostScrollbarVerticalHidden = _classNameHostElement + '-' + _strScrollbar + _strMinusVertical + _strMinusHidden; + var _classNameHostTransition = _classNameHostElement + '-transition'; + var _classNameHostRTL = _classNameHostElement + '-rtl'; + var _classNameHostResizeDisabled = _classNameHostElement + '-resize-disabled'; + var _classNameHostScrolling = _classNameHostElement + '-scrolling'; + var _classNameHostOverflow = _classNameHostElement + '-overflow'; + var _classNameHostOverflowX = _classNameHostOverflow + '-x'; + var _classNameHostOverflowY = _classNameHostOverflow + '-y'; + var _classNameTextareaElement = _cassNamesPrefix + 'textarea'; + var _classNameTextareaCoverElement = _classNameTextareaElement + '-cover'; + var _classNamePaddingElement = _cassNamesPrefix + 'padding'; + var _classNameViewportElement = _cassNamesPrefix + 'viewport'; + var _classNameViewportNativeScrollbarsInvisible = _classNameViewportElement + '-native-scrollbars-invisible'; + var _classNameViewportNativeScrollbarsOverlaid = _classNameViewportElement + '-native-scrollbars-overlaid'; + var _classNameContentElement = _cassNamesPrefix + 'content'; + var _classNameContentArrangeElement = _cassNamesPrefix + 'content-arrange'; + var _classNameContentGlueElement = _cassNamesPrefix + 'content-glue'; + var _classNameSizeAutoObserverElement = _cassNamesPrefix + 'size-auto-observer'; + var _classNameResizeObserverElement = _cassNamesPrefix + 'resize-observer'; + var _classNameResizeObserverItemElement = _cassNamesPrefix + 'resize-observer-item'; + var _classNameResizeObserverItemFinalElement = _classNameResizeObserverItemElement + '-final'; + var _classNameTextInherit = _cassNamesPrefix + 'text-inherit'; + var _classNameScrollbar = _cassNamesPrefix + _strScrollbar; + var _classNameScrollbarTrack = _classNameScrollbar + '-track'; + var _classNameScrollbarTrackOff = _classNameScrollbarTrack + '-off'; + var _classNameScrollbarHandle = _classNameScrollbar + '-handle'; + var _classNameScrollbarHandleOff = _classNameScrollbarHandle + '-off'; + var _classNameScrollbarUnusable = _classNameScrollbar + '-unusable'; + var _classNameScrollbarAutoHidden = _classNameScrollbar + '-' + _strAuto + _strMinusHidden; + var _classNameScrollbarCorner = _classNameScrollbar + '-corner'; + var _classNameScrollbarCornerResize = _classNameScrollbarCorner + '-resize'; + var _classNameScrollbarCornerResizeB = _classNameScrollbarCornerResize + '-both'; + var _classNameScrollbarCornerResizeH = _classNameScrollbarCornerResize + _strMinusHorizontal; + var _classNameScrollbarCornerResizeV = _classNameScrollbarCornerResize + _strMinusVertical; + var _classNameScrollbarHorizontal = _classNameScrollbar + _strMinusHorizontal; + var _classNameScrollbarVertical = _classNameScrollbar + _strMinusVertical; + var _classNameDragging = _cassNamesPrefix + 'dragging'; + var _classNameThemeNone = _cassNamesPrefix + 'theme-none'; + + //options: + var _defaultOptions; + var _currentOptions; + var _currentPreparedOptions; + + //extensions: + var _extensions = { }; + var _extensionsPrivateMethods = "added removed on contract"; + + //update + var _lastUpdateTime; + var _swallowedUpdateParams = { }; + var _swallowedUpdateTimeout; + var _swallowUpdateLag = 42; + var _imgs = [ ]; + + //DOM elements: + var _windowElement; + var _documentElement; + var _htmlElement; + var _bodyElement; + var _targetElement; //the target element of this OverlayScrollbars object + var _hostElement; //the host element of this OverlayScrollbars object -> may be the same as targetElement + var _sizeAutoObserverElement; //observes size auto changes + var _sizeObserverElement; //observes size and padding changes + var _contentGlueElement; //has always the size of the content element + var _paddingElement; //manages the padding + var _viewportElement; //is the viewport of our scrollbar model + var _contentArrangeElement; //is needed for correct sizing of the content element (only if native scrollbars are overlays) + var _contentElement; //the element which holds the content + var _textareaCoverElement; //only applied if target is a textarea element. Used for correct size calculation and for prevention of uncontrolled scrolling + var _scrollbarCornerElement; + var _scrollbarHorizontalElement; + var _scrollbarHorizontalTrackElement; + var _scrollbarHorizontalHandleElement; + var _scrollbarVerticalElement; + var _scrollbarVerticalTrackElement; + var _scrollbarVerticalHandleElement; + + //Cache: + var _hostSizeCache; + var _contentScrollSizeCache; + var _arrangeContentSizeCache; + var _hasOverflowCache; + var _hideOverflowCache; + var _widthAutoCache; + var _heightAutoCache; + var _cssMaxValueCache; + var _cssBoxSizingCache; + var _cssPaddingCache; + var _cssBorderCache; + var _cssMarginCache; + var _cssDirectionCache; + var _cssDirectionDetectedCache; + var _paddingAbsoluteCache; + var _clipAlwaysCache; + var _contentGlueSizeCache; + var _overflowBehaviorCache; + var _overflowAmountCache; + var _ignoreOverlayScrollbarHidingCache; + var _autoUpdateCache; + var _sizeAutoCapableCache; + var _textareaAutoWrappingCache; + var _textareaInfoCache; + var _updateAutoHostElementIdCache; + var _updateAutoHostElementClassCache; + var _updateAutoHostElementStyleCache; + var _updateAutoHostElementVisibleCache; + var _updateAutoTargetElementRowsCache; + var _updateAutoTargetElementColsCache; + var _updateAutoTargetElementWrapCache; + var _contentElementScrollSizeChangeDetectedCache; + var _hostElementSizeChangeDetectedCache; + var _scrollbarsVisibilityCache; + var _scrollbarsAutoHideCache; + var _scrollbarsClickScrollingCache; + var _scrollbarsDragScrollingCache; + var _resizeCache; + var _normalizeRTLCache; + var _classNameCache; + var _oldClassName; + var _textareaDynHeightCache; + var _textareaDynWidthCache; + var _bodyMinSizeCache; + var _viewportScrollSizeCache; + var _displayIsHiddenCache; + + //MutationObserver: + var _mutationObserverContentLag = 11; + var _mutationObserverHost; + var _mutationObserverContent; + var _mutationObserverConnected; + var _supportMutationObserver; + + //textarea: + var _textareaKeyDownRestrictedKeyCodes = [ + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, //F1 to F12 + 33, 34, //page up, page down + 37, 38, 39, 40, //left, up, right, down arrows + 16, 17, 18, 19, 20, 144 //Shift, Ctrl, Alt, Pause, CapsLock, NumLock + ]; + var _textareaKeyDownKeyCodesList = [ ]; + var _textareaUpdateIntervalID; + var _textareaHasFocus; + + //scrollbars: + var _scrollbarsAutoHideTimeoutId; + var _scrollbarsAutoHideMoveTimeoutId; + var _scrollbarsAutoHideDelay; + var _scrollbarsAutoHideNever; + var _scrollbarsAutoHideScroll; + var _scrollbarsAutoHideMove; + var _scrollbarsAutoHideLeave; + var _scrollbarsTouchSupport; + var _scrollbarsAutoHideFlagScrollAndHovered; + + //resize + var _resizeReconnectMutationObserver; + var _resizeNone; + var _resizeBoth; + var _resizeHorizontal; + var _resizeVertical; + var _resizeDragStartPosition = { }; + var _resizeDragStartSize = { }; + + + //==== Add / Remove Passive Event Listener ====// + + /** + * Adds a passive event listener to the given element. + * @param element The element to which the event listener shall be applied. + * @param eventNames The name(s) of the event listener. + * @param listener The listener method which shall be called. + */ + function addPassiveEventListener(element, eventNames, listener) { + var events = eventNames.split(_strSpace); + for (var i = 0; i < events.length; i++) + element[0].addEventListener(events[i], listener, {passive: true}); + } + + /** + * Removes a passive event listener to the given element. + * @param element The element from which the event listener shall be removed. + * @param eventNames The name(s) of the event listener. + * @param listener The listener method which shall be removed. + */ + function removePassiveEventListener(element, eventNames, listener) { + var events = eventNames.split(_strSpace); + for (var i = 0; i < events.length; i++) + element[0].removeEventListener(events[i], listener, {passive: true}); + } + + + //==== Add / Remove / Freeze / Unfreeze Resize Observer ====// + + /** + * Adds a resize observer to the given element. + * @param targetElement The element to which the resize observer shall be applied. + * @param onElementResizedCallback The callback which is fired every time the resize observer registers a size change. + */ + function addResizeObserver(targetElement, onElementResizedCallback) { + var constMaximum = 3333333; + var resizeObserver = COMPATIBILITY.rO(); + var strAnimationStartEvent = 'animationstart mozAnimationStart webkitAnimationStart MSAnimationStart'; + var strChildNodes = 'childNodes'; + var callback = function () { + targetElement[_strScrollTop](constMaximum)[_strScrollLeft](_isRTL ? _rtlScrollBehavior.n ? -constMaximum : _rtlScrollBehavior.i ? 0 : constMaximum : constMaximum); + onElementResizedCallback(); + }; + if (_supportResizeObserver) { + var element = targetElement.append(generateDiv(_classNameResizeObserverElement + ' observed')).contents()[0]; + var observer = element[_strResizeObserverProperty] = new resizeObserver(callback); + observer.observe(element); + } + else { + if (_msieVersion > 9 || !_autoUpdateRecommended) { + targetElement.prepend( + generateDiv(_classNameResizeObserverElement, + generateDiv({ className : _classNameResizeObserverItemElement, dir : "ltr" }, + generateDiv(_classNameResizeObserverItemElement, + generateDiv(_classNameResizeObserverItemFinalElement) + ) + + generateDiv(_classNameResizeObserverItemElement, + generateDiv({ className : _classNameResizeObserverItemFinalElement, style : 'width: 200%; height: 200%' }) + ) + ) + ) + ); + + var observerElement = targetElement[0][strChildNodes][0][strChildNodes][0]; + var shrinkElement = FRAMEWORK(observerElement[strChildNodes][1]); + var expandElement = FRAMEWORK(observerElement[strChildNodes][0]); + var expandElementChild = FRAMEWORK(expandElement[0][strChildNodes][0]); + var widthCache = observerElement[LEXICON.oW]; + var heightCache = observerElement[LEXICON.oH]; + var isDirty; + var rAFId; + var currWidth; + var currHeight; + var factor = 2; + var nativeScrollbarSize = globals.nativeScrollbarSize; //care don't make changes to this object!!! + var reset = function () { + /* + var sizeResetWidth = observerElement[LEXICON.oW] + nativeScrollbarSize.x * factor + nativeScrollbarSize.y * factor + _overlayScrollbarDummySize.x + _overlayScrollbarDummySize.y; + var sizeResetHeight = observerElement[LEXICON.oH] + nativeScrollbarSize.x * factor + nativeScrollbarSize.y * factor + _overlayScrollbarDummySize.x + _overlayScrollbarDummySize.y; + var expandChildCSS = {}; + expandChildCSS[_strWidth] = sizeResetWidth; + expandChildCSS[_strHeight] = sizeResetHeight; + expandElementChild.css(expandChildCSS); + + + expandElement[_strScrollLeft](sizeResetWidth)[_strScrollTop](sizeResetHeight); + shrinkElement[_strScrollLeft](sizeResetWidth)[_strScrollTop](sizeResetHeight); + */ + expandElement[_strScrollLeft](constMaximum)[_strScrollTop](constMaximum); + shrinkElement[_strScrollLeft](constMaximum)[_strScrollTop](constMaximum); + }; + var onResized = function () { + rAFId = 0; + if (!isDirty) + return; + + widthCache = currWidth; + heightCache = currHeight; + callback(); + }; + var onScroll = function (event) { + currWidth = observerElement[LEXICON.oW]; + currHeight = observerElement[LEXICON.oH]; + isDirty = currWidth != widthCache || currHeight != heightCache; + + if (event && isDirty && !rAFId) { + COMPATIBILITY.cAF()(rAFId); + rAFId = COMPATIBILITY.rAF()(onResized); + } + else if(!event) + onResized(); + + reset(); + if (event) { + COMPATIBILITY.prvD(event); + COMPATIBILITY.stpP(event); + } + return false; + }; + var expandChildCSS = {}; + var observerElementCSS = {}; + + observerElementCSS[_strTop] = (-((nativeScrollbarSize.y + 1) * factor)); + observerElementCSS[_strRight] = (nativeScrollbarSize.x * -factor); + observerElementCSS[_strBottom] = (nativeScrollbarSize.y * -factor); + observerElementCSS[_strLeft] = (-((nativeScrollbarSize.x + 1) * factor)); + + FRAMEWORK(observerElement).css(observerElementCSS); + expandElement.on(_strScroll, onScroll); + shrinkElement.on(_strScroll, onScroll); + targetElement.on(strAnimationStartEvent, function () { + onScroll(false); + }); + //lets assume that the divs will never be that large and a constant value is enough + expandChildCSS[_strWidth] = constMaximum; + expandChildCSS[_strHeight] = constMaximum; + expandElementChild.css(expandChildCSS); + + reset(); + } + else { + var doc = _documentElement[0]; + var attachEvent = doc.attachEvent; + var isIE = _msieVersion !== undefined; + if (attachEvent) { + targetElement.prepend(generateDiv(_classNameResizeObserverElement)); + findFirst(targetElement, _strDot + _classNameResizeObserverElement)[0].attachEvent('onresize', callback); + } + else { + var obj = doc.createElement(TYPES.o); + obj.setAttribute('tabindex', '-1'); + obj.setAttribute(LEXICON.c, _classNameResizeObserverElement); + obj.onload = function () { + var wnd = this.contentDocument.defaultView; + wnd.addEventListener('resize', callback); + wnd.document.documentElement.style.display = 'none'; + }; + obj.type = 'text/html'; + if (isIE) + targetElement.prepend(obj); + obj.data = 'about:blank'; + if (!isIE) + targetElement.prepend(obj); + targetElement.on(strAnimationStartEvent, callback); + } + } + } + + //direction change detection: + if (targetElement[0] === _sizeObserverElement[0]) { + var directionChanged = function () { + var dir = _hostElement.css('direction'); + var css = {}; + var scrollLeftValue = 0; + var result = false; + if (dir !== _cssDirectionDetectedCache) { + if (dir === 'ltr') { + css[_strLeft] = 0; + css[_strRight] = _strAuto; + scrollLeftValue = constMaximum; + } + else { + css[_strLeft] = _strAuto; + css[_strRight] = 0; + scrollLeftValue = _rtlScrollBehavior.n ? -constMaximum : _rtlScrollBehavior.i ? 0 : constMaximum; + } + _sizeObserverElement.children().eq(0).css(css); + targetElement[_strScrollLeft](scrollLeftValue)[_strScrollTop](constMaximum); + _cssDirectionDetectedCache = dir; + result = true; + } + return result; + }; + directionChanged(); + targetElement.on(_strScroll, function (event) { + if (directionChanged()) + update(); + COMPATIBILITY.prvD(event); + COMPATIBILITY.stpP(event); + return false; + }); + } + } + + /** + * Removes a resize observer from the given element. + * @param targetElement The element to which the target resize observer is applied. + */ + function removeResizeObserver(targetElement) { + if (_supportResizeObserver) { + var element = targetElement.contents()[0]; + element[_strResizeObserverProperty].disconnect(); + delete element[_strResizeObserverProperty]; + } + else { + remove(targetElement.children(_strDot + _classNameResizeObserverElement).eq(0)); + } + } + + /** + * Freezes the given resize observer. + * @param targetElement The element to which the target resize observer is applied. + */ + function freezeResizeObserver(targetElement) { + if (targetElement !== undefined) { + /* + if (_supportResizeObserver) { + var element = targetElement.contents()[0]; + element[_strResizeObserverProperty].unobserve(element); + } + else { + targetElement = targetElement.children(_strDot + _classNameResizeObserverElement).eq(0); + var w = targetElement.css(_strWidth); + var h = targetElement.css(_strHeight); + var css = {}; + css[_strWidth] = w; + css[_strHeight] = h; + targetElement.css(css); + } + */ + } + } + + /** + * Unfreezes the given resize observer. + * @param targetElement The element to which the target resize observer is applied. + */ + function unfreezeResizeObserver(targetElement) { + if (targetElement !== undefined) { + /* + if (_supportResizeObserver) { + var element = targetElement.contents()[0]; + element[_strResizeObserverProperty].observe(element); + } + else { + var css = { }; + css[_strHeight] = _strEmpty; + css[_strWidth] = _strEmpty; + targetElement.children(_strDot + _classNameResizeObserverElement).eq(0).css(css); + } + */ + } + } + + + //==== Connect / Disconnect Mutation Observer ====// + + /** + * Connects the MutationObservers if they are supported. + */ + function mutationObserversConnect() { + if (_supportMutationObserver && !_mutationObserverConnected) { + _mutationObserverHost.observe(_hostElement[0], { + attributes: true, + attributeOldValue: true, + attributeFilter: [LEXICON.i, LEXICON.c, LEXICON.s] + }); + + _mutationObserverContent.observe(_isTextarea ? _targetElement[0] : _contentElement[0], { + attributes: true, + attributeOldValue: true, + subtree: !_isTextarea, + childList: !_isTextarea, + characterData: !_isTextarea, + attributeFilter: _isTextarea ? ['wrap', 'cols', 'rows'] : [LEXICON.i, LEXICON.c, LEXICON.s] + }); + + _mutationObserverConnected = true; + } + } + + /** + * Disconnects the MutationObservers if they are supported. + */ + function mutationObserversDisconnect() { + if (_supportMutationObserver && _mutationObserverConnected) { + _mutationObserverHost.disconnect(); + _mutationObserverContent.disconnect(); + + _mutationObserverConnected = false; + } + } + + + //==== Events of elements ====// + + /** + * This method gets called every time the host element gets resized. IMPORTANT: Padding changes are detected too!! + * It refreshes the hostResizedEventArgs and the hostSizeResizeCache. + * If there are any size changes, the update method gets called. + */ + function hostOnResized() { + if (_isSleeping) + return; + var measureElement = _sizeObserverElement[0]; + var hostSize = { + w: measureElement[LEXICON.sW], + h: measureElement[LEXICON.sH] + }; + if (_initialized) { + var changed = checkCacheDouble(hostSize, _hostElementSizeChangeDetectedCache); + _hostElementSizeChangeDetectedCache = hostSize; + if (changed) + update(true, false); + } + else { + _hostElementSizeChangeDetectedCache = hostSize; + } + } + + /** + * The mouse enter event of the host element. This event is only needed for the autoHide feature. + */ + function hostOnMouseEnter() { + if (_scrollbarsAutoHideLeave) + refreshScrollbarsAutoHide(true); + } + + /** + * The mouse leave event of the host element. This event is only needed for the autoHide feature. + */ + function hostOnMouseLeave() { + if (_scrollbarsAutoHideLeave && !_bodyElement.hasClass(_classNameDragging)) + refreshScrollbarsAutoHide(false); + } + + /** + * The mouse move event of the host element. This event is only needed for the autoHide "move" feature. + */ + function hostOnMouseMove() { + if (_scrollbarsAutoHideMove) { + refreshScrollbarsAutoHide(true); + clearTimeout(_scrollbarsAutoHideMoveTimeoutId); + _scrollbarsAutoHideMoveTimeoutId = setTimeout(function () { + if (_scrollbarsAutoHideMove && !_destroyed) + refreshScrollbarsAutoHide(false); + }, 100); + } + } + + /** + * The scroll event of the viewport element. That is the main scroll event. It controls also the "scroll", "scrollStart" and "scrollStop" callbacks. + * @param event The scroll event. + */ + function viewportOnScroll(event) { + if (_isSleeping) + return; + + if (_scrollStopTimeoutId !== undefined) + clearTimeout(_scrollStopTimeoutId); + else { + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) + refreshScrollbarsAutoHide(true); + + if (!nativeOverlayScrollbarsAreActive()) + addClass(_hostElement, _classNameHostScrolling); + + callCallback("onScrollStart", event); + } + + refreshScrollbarHandleOffset(true, _viewportElement[_strScrollLeft]()); + refreshScrollbarHandleOffset(false, _viewportElement[_strScrollTop]()); + callCallback("onScroll", event); + + _scrollStopTimeoutId = setTimeout(function () { + if(!_destroyed) { + viewportOnScrollStop(); + callCallback("onScrollStop", event); + } + }, _scrollStopDelay); + } + + /** + * This method gets called if the scroll event stopped for a specified amount of time. + */ + function viewportOnScrollStop() { + clearTimeout(_scrollStopTimeoutId); + _scrollStopTimeoutId = undefined; + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) + refreshScrollbarsAutoHide(false); + + if (!nativeOverlayScrollbarsAreActive()) + removeClass(_hostElement, _classNameHostScrolling); + } + + /** + * The key input event of the textarea element. + */ + function textareaOnInput() { + textareaUpdate(); + _base.update(_strAuto); + } + + /** + * The key down event of the textarea element. Is only applied if the input event isn't fully supported. + * @param event The key down event. + */ + function textareaOnKeyDown(event) { + var keyCode = event.keyCode; + if (textareaIsRestrictedKeyCode(keyCode)) + return; + if (_textareaKeyDownKeyCodesList.length === 0) { + var action = function () { + textareaUpdate(); + _base.update(_strAuto); + }; + action(); + _textareaUpdateIntervalID = setInterval(action, 1000 / 60); + } + if (FRAMEWORK.inArray(keyCode, _textareaKeyDownKeyCodesList) === -1) + _textareaKeyDownKeyCodesList.push(keyCode); + } + + /** + * The key up event of the textarea element. Is only applied if the input event isn't fully supported. + * @param event The key up event. + */ + function textareaOnKeyUp(event) { + var keyCode = event.keyCode; + if (textareaIsRestrictedKeyCode(keyCode)) + return; + var index = FRAMEWORK.inArray(keyCode, _textareaKeyDownKeyCodesList); + if (index > -1) + _textareaKeyDownKeyCodesList.splice(index, 1); + if (_textareaKeyDownKeyCodesList.length === 0) { + textareaUpdate(); + _base.update(_strAuto); + clearInterval(_textareaUpdateIntervalID); + } + } + + /** + * The drop event of the textarea element. + */ + function textareaOnDrop() { + setTimeout(function () { + if(!_destroyed) { + textareaUpdate(); + _base.update(_strAuto); + } + }, 50); + } + + /** + * The focus event of the textarea element. + */ + function textareaOnFocus() { + _textareaHasFocus = true; + } + + /** + * The focus out event of the textarea element. + */ + function textareaOnFocusOut() { + _textareaHasFocus = false; + clearInterval(_textareaUpdateIntervalID); + _textareaKeyDownKeyCodesList = [ ]; + textareaUpdate(); + _base.update(_strAuto); + } + + /** + * The scroll event of the textarea element. + * @param event The scroll event. + */ + function textareaOnScroll(event) { + _targetElement[_strScrollLeft](_rtlScrollBehavior.i && _normalizeRTLCache ? 9999999 : 0); + _targetElement[_strScrollTop](0); + COMPATIBILITY.prvD(event); + COMPATIBILITY.stpP(event); + return false; + } + + /** + * The mouse down event of the scrollbar corner element. + * @param event The mouse down event. + */ + function scrollbarCornerOnMouseDown(event) { + if (_isSleeping) + return; + + var originalEvent = event.originalEvent || event; + var isTouchEvent = originalEvent.touches !== undefined; + + if (COMPATIBILITY.mBtn(event) === 1 || isTouchEvent) { + if (_mutationObserverConnected) { + _resizeReconnectMutationObserver = true; + mutationObserversDisconnect(); + } + + _resizeDragStartPosition = COMPATIBILITY.page(event); + + _resizeDragStartSize.w = _hostElement[0][LEXICON.oW] - (!_isBorderBox ? _paddingX : 0); + _resizeDragStartSize.h = _hostElement[0][LEXICON.oH] - (!_isBorderBox ? _paddingY : 0); + + _documentElement.on(_strSelectStartEvent, documentOnSelectStart) + .on(_strMouseTouchMoveEvent, scrollbarCornerOnResize) + .on(_strMouseTouchUpEvent, scrollbarCornerOnResized); + + addClass(_bodyElement, _classNameDragging); + if (_scrollbarCornerElement.setCapture) + _scrollbarCornerElement.setCapture(); + + COMPATIBILITY.prvD(event); + COMPATIBILITY.stpP(event); + } + } + + /** + * The mouse move event if the scrollbar corner element is resizable and gets dragged. + * @param event The mouse move event. + */ + function scrollbarCornerOnResize(event) { + var pageOffset = COMPATIBILITY.page(event); + var hostElementCSS = { }; + if (_resizeHorizontal || _resizeBoth) + hostElementCSS[_strWidth] = (_resizeDragStartSize.w + pageOffset.x - _resizeDragStartPosition.x); + if (_resizeVertical || _resizeBoth) + hostElementCSS[_strHeight] = (_resizeDragStartSize.h + pageOffset.y - _resizeDragStartPosition.y); + _hostElement.css(hostElementCSS); + COMPATIBILITY.stpP(event); + } + + /** + * The mouse up event if the scrollbar corner element is resizable and was dragged and now the mouse button is released. + * @param event The mouse up event. + */ + function scrollbarCornerOnResized(event) { + var eventIsTrusted = event !== undefined; + + _documentElement.off(_strSelectStartEvent, documentOnSelectStart) + .off(_strMouseTouchMoveEvent, scrollbarCornerOnResize) + .off(_strMouseTouchUpEvent, scrollbarCornerOnResized); + + removeClass(_bodyElement, _classNameDragging); + if (_scrollbarCornerElement.releaseCapture) + _scrollbarCornerElement.releaseCapture(); + + if (eventIsTrusted) { + if (_resizeReconnectMutationObserver) + mutationObserversConnect(); + _base.update(_strAuto); + } + _resizeReconnectMutationObserver = false; + } + + /** + * Prevents text from deselection if attached to the document element on the mousedown event of a DOM element. + * @param event The select start event. + */ + function documentOnSelectStart(event) { + COMPATIBILITY.prvD(event); + return false; + } + + /** + * A callback which will be called after a img element has downloaded its src asynchronous. + */ + function imgOnLoad() { + update(); + } + + + //==== Update Detection ====// + + /** + * Measures the min width and min height of the body element and refreshes the related cache. + * @returns {boolean} True if the min width or min height has changed, false otherwise. + */ + function bodyMinSizeChanged() { + var bodyMinSize = {}; + if (_isBody && _contentArrangeElement) { + bodyMinSize.w = parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strWidth)); + bodyMinSize.h = parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus + _strHeight)); + bodyMinSize.c = checkCacheDouble(bodyMinSize, _bodyMinSizeCache); + bodyMinSize.f = true; //flag for "measured at least once" + } + _bodyMinSizeCache = bodyMinSize; + return bodyMinSize.c || false; + } + + /** + * Returns true if the class names really changed (new class without plugin host prefix) + * @param oldCassNames The old ClassName string. + * @param newClassNames The new ClassName string. + * @returns {boolean} True if the class names has really changed, false otherwise. + */ + function hostClassNamesChanged(oldCassNames, newClassNames) { + var currClasses = (newClassNames !== undefined && newClassNames !== null) ? newClassNames.split(_strSpace) : _strEmpty; + var oldClasses = (oldCassNames !== undefined && oldCassNames !== null) ? oldCassNames.split(_strSpace) : _strEmpty; + if (currClasses === _strEmpty && oldClasses === _strEmpty) + return false; + var diff = getArrayDifferences(oldClasses, currClasses); + var changed = false; + var oldClassNames = _oldClassName !== undefined && _oldClassName !== null ? _oldClassName.split(_strSpace) : [_strEmpty]; + var currClassNames = _classNameCache !== undefined && _classNameCache !== null ? _classNameCache.split(_strSpace) : [_strEmpty]; + + //remove none theme from diff list to prevent update + var idx = FRAMEWORK.inArray(_classNameThemeNone, diff); + var curr = diff[i]; + var i; + var v; + var o; + var c; + + if (idx > -1) + diff.splice(idx, 1); + + for (i = 0; i < diff.length; i++) { + curr = diff[i]; + if (curr.indexOf(_classNameHostElement) !== 0) { + o = true; + c = true; + for (v = 0; v < oldClassNames.length; v++) { + if (curr === oldClassNames[v]) { + o = false; + break; + } + } + for (v = 0; v < currClassNames.length; v++) { + if (curr === currClassNames[v]) { + c = false; + break; + } + } + if (o && c) { + changed = true; + break; + } + } + + } + return changed; + } + + /** + * Returns true if the given mutation is not from a from the plugin generated element. If the target element is a textarea the mutation is always unknown. + * @param mutation The mutation which shall be checked. + * @returns {boolean} True if the mutation is from a unknown element, false otherwise. + */ + function isUnknownMutation(mutation) { + var attributeName = mutation.attributeName; + var mutationTarget = mutation.target; + var mutationType = mutation.type; + var strClosest = 'closest'; + + if (mutationTarget === _contentElement[0]) + return attributeName === null; + if (mutationType === 'attributes' && (attributeName === LEXICON.c || attributeName === LEXICON.s) && !_isTextarea) { + //only do it of browser support it natively + if (typeof mutationTarget[strClosest] != TYPES.f) + return true; + if (mutationTarget[strClosest](_strDot + _classNameResizeObserverElement) !== null || + mutationTarget[strClosest](_strDot + _classNameScrollbar) !== null || + mutationTarget[strClosest](_strDot + _classNameScrollbarCorner) !== null) + return false; + } + return true; + } + + /** + * Returns true if the content size was changed since the last time this method was called. + * @returns {boolean} True if the content size was changed, false otherwise. + */ + function updateAutoContentSizeChanged() { + if (_isSleeping) + return false; + + var float; + var textareaValueLength = _isTextarea && _widthAutoCache && !_textareaAutoWrappingCache ? _targetElement.val().length : 0; + var setCSS = !_mutationObserverConnected && _widthAutoCache && !_isTextarea; + var viewportScrollSize = { }; + var css = { }; + + //fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1439305, it only works with "clipAlways : true" + //it can work with "clipAlways : false" too, but we had to set the overflow of the viewportElement to hidden every time before measuring + if(_restrictedMeasuring) { + viewportScrollSize = { + x : _viewportElement[0][LEXICON.sW], + y : _viewportElement[0][LEXICON.sH] + } + } + if (setCSS) { + float = _contentElement.css(_strFloat); + css[_strFloat] = _isRTL ? _strRight : _strLeft; + css[_strWidth] = _strAuto; + _contentElement.css(css); + } + var contentElementScrollSize = { + w: getContentMeasureElement()[LEXICON.sW] + textareaValueLength, + h: getContentMeasureElement()[LEXICON.sH] + textareaValueLength + }; + if (setCSS) { + css[_strFloat] = float; + css[_strWidth] = _strHundredPercent; + _contentElement.css(css); + } + + var bodyMinSizeC = bodyMinSizeChanged(); + var changed = checkCacheDouble(contentElementScrollSize, _contentElementScrollSizeChangeDetectedCache); + var viewportScrollSizeChanged = checkCacheDouble(viewportScrollSize, _viewportScrollSizeCache, _strX, _strY); + _contentElementScrollSizeChangeDetectedCache = contentElementScrollSize; + _viewportScrollSizeCache = viewportScrollSize; + + return changed || bodyMinSizeC || viewportScrollSizeChanged; + } + + /** + * Returns true if the host element attributes (id, class, style) was changed since the last time this method was called. + * @returns {boolean} + */ + function meaningfulAttrsChanged() { + if (_isSleeping || _mutationObserverConnected) + return false; + + var hostElementId = _hostElement.attr(LEXICON.i) || _strEmpty; + var hostElementIdChanged = checkCacheSingle(hostElementId, _updateAutoHostElementIdCache); + var hostElementClass = _hostElement.attr(LEXICON.c) || _strEmpty; + var hostElementClassChanged = checkCacheSingle(hostElementClass, _updateAutoHostElementClassCache); + var hostElementStyle = _hostElement.attr(LEXICON.s) || _strEmpty; + var hostElementStyleChanged = checkCacheSingle(hostElementStyle, _updateAutoHostElementStyleCache); + var hostElementVisible = _hostElement.is(':visible') || _strEmpty; + var hostElementVisibleChanged = checkCacheSingle(hostElementVisible, _updateAutoHostElementVisibleCache); + var targetElementRows = _isTextarea ? (_targetElement.attr('rows') || _strEmpty) : _strEmpty; + var targetElementRowsChanged = checkCacheSingle(targetElementRows, _updateAutoTargetElementRowsCache); + var targetElementCols = _isTextarea ? (_targetElement.attr('cols') || _strEmpty) : _strEmpty; + var targetElementColsChanged = checkCacheSingle(targetElementCols, _updateAutoTargetElementColsCache); + var targetElementWrap = _isTextarea ? (_targetElement.attr('wrap') || _strEmpty) : _strEmpty; + var targetElementWrapChanged = checkCacheSingle(targetElementWrap, _updateAutoTargetElementWrapCache); + + _updateAutoHostElementIdCache = hostElementId; + if (hostElementClassChanged) + hostElementClassChanged = hostClassNamesChanged(_updateAutoHostElementClassCache, hostElementClass); + _updateAutoHostElementClassCache = hostElementClass; + _updateAutoHostElementStyleCache = hostElementStyle; + _updateAutoHostElementVisibleCache = hostElementVisible; + _updateAutoTargetElementRowsCache = targetElementRows; + _updateAutoTargetElementColsCache = targetElementCols; + _updateAutoTargetElementWrapCache = targetElementWrap; + + return hostElementIdChanged || hostElementClassChanged || hostElementStyleChanged || hostElementVisibleChanged || targetElementRowsChanged || targetElementColsChanged || targetElementWrapChanged; + } + + /** + * Checks is a CSS Property of a child element is affecting the scroll size of the content. + * @param propertyName The CSS property name. + * @returns {boolean} True if the property is affecting the content scroll size, false otherwise. + */ + function isSizeAffectingCSSProperty(propertyName) { + if (!_initialized) + return true; + var flexGrow = 'flex-grow'; + var flexShrink = 'flex-shrink'; + var flexBasis = 'flex-basis'; + var affectingPropsX = [ + _strWidth, + _strMinMinus + _strWidth, + _strMaxMinus + _strWidth, + _strMarginMinus + _strLeft, + _strMarginMinus + _strRight, + _strLeft, + _strRight, + 'font-weight', + 'word-spacing', + flexGrow, + flexShrink, + flexBasis + ]; + var affectingPropsXContentBox = [ + _strPaddingMinus + _strLeft, + _strPaddingMinus + _strRight, + _strBorderMinus + _strLeft + _strWidth, + _strBorderMinus + _strRight + _strWidth + ]; + var affectingPropsY = [ + _strHeight, + _strMinMinus + _strHeight, + _strMaxMinus + _strHeight, + _strMarginMinus + _strTop, + _strMarginMinus + _strBottom, + _strTop, + _strBottom, + 'line-height', + flexGrow, + flexShrink, + flexBasis + ]; + var affectingPropsYContentBox = [ + _strPaddingMinus + _strTop, + _strPaddingMinus + _strBottom, + _strBorderMinus + _strTop + _strWidth, + _strBorderMinus + _strBottom + _strWidth + ]; + var _strS = 's'; + var _strVS = 'v-s'; + var checkX = _overflowBehaviorCache.x === _strS || _overflowBehaviorCache.x === _strVS; + var checkY = _overflowBehaviorCache.y === _strS || _overflowBehaviorCache.y === _strVS; + var sizeIsAffected = false; + var checkPropertyName = function (arr, name) { + for (var i = 0; i < arr.length; i++) { + if (arr[i] === name) + return true; + } + return false; + }; + + if (checkY) { + sizeIsAffected = checkPropertyName(affectingPropsY, propertyName); + if (!sizeIsAffected && !_isBorderBox) + sizeIsAffected = checkPropertyName(affectingPropsYContentBox, propertyName); + } + if (checkX && !sizeIsAffected) { + sizeIsAffected = checkPropertyName(affectingPropsX, propertyName); + if (!sizeIsAffected && !_isBorderBox) + sizeIsAffected = checkPropertyName(affectingPropsXContentBox, propertyName); + } + return sizeIsAffected; + } + + + //==== Update ====// + + /** + * Updates the variables and size of the textarea element, and manages the scroll on new line or new character. + */ + function textareaUpdate() { + if (_isSleeping) + return; + + var wrapAttrOff = !_textareaAutoWrappingCache; + var minWidth = _viewportSize.w - (!_isBorderBox && !_paddingAbsoluteCache && _widthAutoCache ? _paddingY + _borderY : 0); + var minHeight = _viewportSize.h - (!_isBorderBox && !_paddingAbsoluteCache && _heightAutoCache ? _paddingY + _borderY : 0); + var css = { }; + var doMeasure = _widthAutoCache || wrapAttrOff; + var measureElement = _targetElement[0]; + var origWidth; + var width; + var origHeight; + var height; + + //reset min size + css[_strMinMinus + _strWidth] = _strEmpty; + css[_strMinMinus + _strHeight] = _strEmpty; + + //set width auto + css[_strWidth] = _strAuto; + _targetElement.css(css); + + //measure width + origWidth = measureElement[LEXICON.oW]; + width = doMeasure ? Math.max(origWidth, measureElement[LEXICON.sW] - 1) : 1; + width += (_widthAutoCache ? _marginX + (!_isBorderBox ? wrapAttrOff ? 0 : _paddingX + _borderX : 0) : 0); + + //set measured width and height auto + css[_strWidth] = _widthAutoCache ? width : _strHundredPercent; + css[_strHeight] = _strAuto; //_strAuto + _targetElement.css(css); + + //measure height + origHeight = measureElement[LEXICON.oH]; + height = Math.max(origHeight, measureElement[LEXICON.sH] - 1); + + //append correct size values + css[_strWidth] = width; + css[_strHeight] = height; + _textareaCoverElement.css(css); + + //apply min width / min height to prevent textarea collapsing + css[_strMinMinus + _strWidth] = minWidth + (!_isBorderBox && _widthAutoCache ? _paddingX + _borderX : 0); + css[_strMinMinus + _strHeight] = minHeight + (!_isBorderBox && _heightAutoCache ? _paddingY + _borderY : 0); + _targetElement.css(css); + + return { + ow: origWidth, + oh: origHeight, + dw: width, + dh: height + }; + } + + /** + * Updates the plugin and DOM to the current options. + * This method should only be called if a update is 100% required. + * @param hostSizeChanged True if this method was called due to a host size change. + * @param contentSizeChanged True if this method was called due to a content size change. + * @param force True if every property shall be updated and the cache shall be ignored. + * @param preventSwallowing True if this method shall be executed event if it could be swallowed. + */ + function update(hostSizeChanged, contentSizeChanged, force, preventSwallowing) { + var now = COMPATIBILITY.now(); + var swallow = _swallowUpdateLag > 0 && _initialized && (now - _lastUpdateTime) < _swallowUpdateLag && (!_heightAutoCache && !_widthAutoCache) && !preventSwallowing; + var displayIsHidden = _hostElement.is(':hidden'); + var displayIsHiddenChanged = checkCacheSingle(displayIsHidden, _displayIsHiddenCache, force); + _displayIsHiddenCache = displayIsHidden; + clearTimeout(_swallowedUpdateTimeout); + + if (swallow) { + _swallowedUpdateParams.h = hostSizeChanged; + _swallowedUpdateParams.c = contentSizeChanged; + _swallowedUpdateParams.f = force; + _swallowedUpdateTimeout = setTimeout(update, _swallowUpdateLag); + } + + //abort update due to: + //destroyed + //swallowing + //sleeping + //host is hidden or has false display + if (_destroyed || swallow || _isSleeping || (_initialized && !force && displayIsHidden) || _hostElement.css('display') === 'inline') + return; + + _lastUpdateTime = now; + hostSizeChanged = hostSizeChanged || _swallowedUpdateParams.h; + contentSizeChanged = contentSizeChanged || _swallowedUpdateParams.c; + force = force || _swallowedUpdateParams.f; + _swallowedUpdateParams = {}; + + hostSizeChanged = hostSizeChanged === undefined ? false : hostSizeChanged; + contentSizeChanged = contentSizeChanged === undefined ? false : contentSizeChanged; + force = force === undefined ? false : force; + + //if scrollbar styling is possible and native scrollbars aren't overlaid the scrollbar styling will be applied which hides the native scrollbars completely. + if (_nativeScrollbarStyling && !(_nativeScrollbarIsOverlaid.x && _nativeScrollbarIsOverlaid.y)) { + //native scrollbars are hidden, so change the values to zero + _nativeScrollbarSize.x = 0; + _nativeScrollbarSize.y = 0; + } + else { + //refresh native scrollbar size (in case of zoom) + _nativeScrollbarSize = extend(true, {}, globals.nativeScrollbarSize); + } + + // Scrollbar padding is needed for firefox, because firefox hides scrollbar automatically if the size of the div is too small. + // The calculation: [scrollbar size +3 *3] + // (+3 because of possible decoration e.g. borders, margins etc., but only if native scrollbar is NOT a overlaid scrollbar) + // (*3 because (1)increase / (2)decrease -button and (3)resize handle) + _nativeScrollbarMinSize = { + x: (_nativeScrollbarSize.x + (_nativeScrollbarIsOverlaid.x ? 0 : 3)) * 3, + y: (_nativeScrollbarSize.y + (_nativeScrollbarIsOverlaid.y ? 0 : 3)) * 3 + }; + + freezeResizeObserver(_sizeObserverElement); + freezeResizeObserver(_sizeAutoObserverElement); + + //save current scroll offset + var currScroll = { + l: _viewportElement[_strScrollLeft](), + t: _viewportElement[_strScrollTop]() + }; + var currentPreparedOptionsScrollbars = _currentPreparedOptions.scrollbars; + var currentPreparedOptionsTextarea = _currentPreparedOptions.textarea; + + //scrollbars visibility: + var scrollbarsVisibility = currentPreparedOptionsScrollbars.visibility; + var scrollbarsVisibilityChanged = checkCacheSingle(scrollbarsVisibility, _scrollbarsVisibilityCache, force); + + //scrollbars autoHide: + var scrollbarsAutoHide = currentPreparedOptionsScrollbars.autoHide; + var scrollbarsAutoHideChanged = checkCacheSingle(scrollbarsAutoHide, _scrollbarsAutoHideCache, force); + + //scrollbars click scrolling + var scrollbarsClickScrolling = currentPreparedOptionsScrollbars.clickScrolling; + var scrollbarsClickScrollingChanged = checkCacheSingle(scrollbarsClickScrolling, _scrollbarsClickScrollingCache, force); + + //scrollbars drag scrolling + var scrollbarsDragScrolling = currentPreparedOptionsScrollbars.dragScrolling; + var scrollbarsDragScrollingChanged = checkCacheSingle(scrollbarsDragScrolling, _scrollbarsDragScrollingCache, force); + + //className + var className = _currentPreparedOptions.className; + var classNameChanged = checkCacheSingle(className, _classNameCache, force); + + //resize + var resize = _currentPreparedOptions.resize; + var resizeChanged = checkCacheSingle(resize, _resizeCache, force) && !_isBody; //body can't be resized since the window itself acts as resize possibility. + + //textarea AutoWrapping + var textareaAutoWrapping = _isTextarea ? _targetElement.attr('wrap') !== 'off' : false; + var textareaAutoWrappingChanged = checkCacheSingle(textareaAutoWrapping, _textareaAutoWrappingCache, force); + + //paddingAbsolute + var paddingAbsolute = _currentPreparedOptions.paddingAbsolute; + var paddingAbsoluteChanged = checkCacheSingle(paddingAbsolute, _paddingAbsoluteCache, force); + + //clipAlways + var clipAlways = _currentPreparedOptions.clipAlways; + var clipAlwaysChanged = checkCacheSingle(clipAlways, _clipAlwaysCache, force); + + //sizeAutoCapable + var sizeAutoCapable = _currentPreparedOptions.sizeAutoCapable && !_isBody; //body can never be size auto, because it shall be always as big as the viewport. + var sizeAutoCapableChanged = checkCacheSingle(sizeAutoCapable, _sizeAutoCapableCache, force); + + //showNativeScrollbars + var ignoreOverlayScrollbarHiding = _currentPreparedOptions.nativeScrollbarsOverlaid.showNativeScrollbars; + var ignoreOverlayScrollbarHidingChanged = checkCacheSingle(ignoreOverlayScrollbarHiding, _ignoreOverlayScrollbarHidingCache); + + //autoUpdate + var autoUpdate = _currentPreparedOptions.autoUpdate; + var autoUpdateChanged = checkCacheSingle(autoUpdate, _autoUpdateCache); + + //overflowBehavior + var overflowBehavior = _currentPreparedOptions.overflowBehavior; + var overflowBehaviorChanged = checkCacheDouble(overflowBehavior, _overflowBehaviorCache, _strX, _strY, force); + + //dynWidth: + var textareaDynWidth = currentPreparedOptionsTextarea.dynWidth; + var textareaDynWidthChanged = checkCacheSingle(_textareaDynWidthCache, textareaDynWidth); + + //dynHeight: + var textareaDynHeight = currentPreparedOptionsTextarea.dynHeight; + var textareaDynHeightChanged = checkCacheSingle(_textareaDynHeightCache, textareaDynHeight); + + //scrollbars visibility + _scrollbarsAutoHideNever = scrollbarsAutoHide === 'n'; + _scrollbarsAutoHideScroll = scrollbarsAutoHide === 's'; + _scrollbarsAutoHideMove = scrollbarsAutoHide === 'm'; + _scrollbarsAutoHideLeave = scrollbarsAutoHide === 'l'; + + //scrollbars autoHideDelay + _scrollbarsAutoHideDelay = currentPreparedOptionsScrollbars.autoHideDelay; + + //scrollbars support touch + _scrollbarsTouchSupport = currentPreparedOptionsScrollbars.touchSupport; + + //old className + _oldClassName = _classNameCache; + + //resize + _resizeNone = resize === 'n'; + _resizeBoth = resize === 'b'; + _resizeHorizontal = resize === 'h'; + _resizeVertical = resize === 'v'; + + //normalizeRTL + _normalizeRTLCache = _currentPreparedOptions.normalizeRTL; + + //ignore overlay scrollbar hiding + ignoreOverlayScrollbarHiding = ignoreOverlayScrollbarHiding && (_nativeScrollbarIsOverlaid.x && _nativeScrollbarIsOverlaid.y); + + //refresh options cache + _scrollbarsVisibilityCache = scrollbarsVisibility; + _scrollbarsAutoHideCache = scrollbarsAutoHide; + _scrollbarsClickScrollingCache = scrollbarsClickScrolling; + _scrollbarsDragScrollingCache = scrollbarsDragScrolling; + _classNameCache = className; + _resizeCache = resize; + _textareaAutoWrappingCache = textareaAutoWrapping; + _paddingAbsoluteCache = paddingAbsolute; + _clipAlwaysCache = clipAlways; + _sizeAutoCapableCache = sizeAutoCapable; + _ignoreOverlayScrollbarHidingCache = ignoreOverlayScrollbarHiding; + _autoUpdateCache = autoUpdate; + _overflowBehaviorCache = extend(true, {}, overflowBehavior); + _textareaDynWidthCache = textareaDynWidth; + _textareaDynHeightCache = textareaDynHeight; + _hasOverflowCache = _hasOverflowCache || { x: false, y: false }; + + //set correct class name to the host element + if (classNameChanged) { + removeClass(_hostElement, _oldClassName + _strSpace + _classNameThemeNone); + addClass(_hostElement, className !== undefined && className !== null && className.length > 0 ? className : _classNameThemeNone); + } + + //set correct auto Update + if (autoUpdateChanged) { + if (autoUpdate === true) { + mutationObserversDisconnect(); + autoUpdateLoop.add(_base); + } + else if (autoUpdate === null) { + if (_autoUpdateRecommended) { + mutationObserversDisconnect(); + autoUpdateLoop.add(_base); + } + else { + autoUpdateLoop.remove(_base); + mutationObserversConnect(); + } + } + else { + autoUpdateLoop.remove(_base); + mutationObserversConnect(); + } + } + + //activate or deactivate size auto capability + if (sizeAutoCapableChanged) { + if (sizeAutoCapable) { + if (_contentGlueElement === undefined) { + _contentGlueElement = FRAMEWORK(generateDiv(_classNameContentGlueElement)); + _paddingElement.before(_contentGlueElement); + } + if (_sizeAutoObserverAdded) { + _sizeAutoObserverElement.show(); + } + else { + _sizeAutoObserverElement = FRAMEWORK(generateDiv(_classNameSizeAutoObserverElement)); + _contentGlueElement.before(_sizeAutoObserverElement); + var oldSize = {w: -1, h: -1}; + addResizeObserver(_sizeAutoObserverElement, function () { + var newSize = { + w: _sizeAutoObserverElement[0][LEXICON.oW], + h: _sizeAutoObserverElement[0][LEXICON.oH] + }; + if (checkCacheDouble(newSize, oldSize)) { + if (_initialized && (_heightAutoCache && newSize.h > 0) || (_widthAutoCache && newSize.w > 0)) { + update(); + } + else if (_initialized && (!_heightAutoCache && newSize.h === 0) || (!_widthAutoCache && newSize.w === 0)) { + update(); + } + } + oldSize = newSize; + }); + _sizeAutoObserverAdded = true; + //fix heightAuto detector bug if height is fixed but contentHeight is 0. + //the probability this bug will ever happen is very very low, thats why its ok if we use calc which isn't supported in IE8. + if (_cssCalc !== null) + _sizeAutoObserverElement.css(_strHeight, _cssCalc + '(100% + 1px)'); + } + } + else { + if (_sizeAutoObserverAdded) + _sizeAutoObserverElement.hide(); + } + } + + //if force, update all resizeObservers too + if (force) { + _sizeObserverElement.find('*').trigger(_strScroll); + if (_sizeAutoObserverAdded) + _sizeAutoObserverElement.find('*').trigger(_strScroll); + } + + //detect direction: + var cssDirection = _hostElement.css('direction'); + var cssDirectionChanged = checkCacheSingle(cssDirection, _cssDirectionCache, force); + + //detect box-sizing: + var boxSizing = _hostElement.css('box-sizing'); + var boxSizingChanged = checkCacheSingle(boxSizing, _cssBoxSizingCache, force); + + //detect padding: + var padding = { + c: force, + t: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strTop)), + r: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strRight)), + b: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strBottom)), + l: parseToZeroOrNumber(_hostElement.css(_strPaddingMinus + _strLeft)) + }; + + //width + height auto detecting var: + var sizeAutoObserverElementBCRect; + //exception occurs in IE8 sometimes (unknown exception) + try { + sizeAutoObserverElementBCRect = _sizeAutoObserverAdded ? _sizeAutoObserverElement[0].getBoundingClientRect() : null; + } catch (ex) { + return; + } + + _isRTL = cssDirection === 'rtl'; + _isBorderBox = (boxSizing === 'border-box'); + var isRTLLeft = _isRTL ? _strLeft : _strRight; + var isRTLRight = _isRTL ? _strRight : _strLeft; + var hostElement = _hostElement[0]; + var paddingElement = _paddingElement[0]; + + //detect width auto: + var widthAutoResizeDetection = false; + var widthAutoObserverDetection = (_sizeAutoObserverAdded && (_hostElement.css(_strFloat) !== 'none' /*|| _isTextarea */)) ? (Math.round(sizeAutoObserverElementBCRect.right - sizeAutoObserverElementBCRect.left) === 0) && (!paddingAbsolute ? (hostElement[LEXICON.cW] - _paddingX) > 0 : true) : false; + if (sizeAutoCapable && !widthAutoObserverDetection) { + var tmpCurrHostWidth = hostElement[LEXICON.oW]; + var tmpCurrContentGlueWidth = _contentGlueElement.css(_strWidth); + _contentGlueElement.css(_strWidth, _strAuto); + + var tmpNewHostWidth = hostElement[LEXICON.oW]; + _contentGlueElement.css(_strWidth, tmpCurrContentGlueWidth); + widthAutoResizeDetection = tmpCurrHostWidth !== tmpNewHostWidth; + if (!widthAutoResizeDetection) { + _contentGlueElement.css(_strWidth, tmpCurrHostWidth + 1); + tmpNewHostWidth = hostElement[LEXICON.oW]; + _contentGlueElement.css(_strWidth, tmpCurrContentGlueWidth); + widthAutoResizeDetection = tmpCurrHostWidth !== tmpNewHostWidth; + } + } + var widthAuto = (widthAutoObserverDetection || widthAutoResizeDetection) && sizeAutoCapable && !displayIsHidden; + var widthAutoChanged = checkCacheSingle(widthAuto, _widthAutoCache, force); + var wasWidthAuto = !widthAuto && _widthAutoCache; + + //detect height auto: + var heightAuto = _sizeAutoObserverAdded && !displayIsHidden ? (Math.round(sizeAutoObserverElementBCRect.bottom - sizeAutoObserverElementBCRect.top) === 0) /* && (!paddingAbsolute && (_msieVersion > 9 || !_msieVersion) ? true : true) */ : false; + var heightAutoChanged = checkCacheSingle(heightAuto, _heightAutoCache, force); + var wasHeightAuto = !heightAuto && _heightAutoCache; + + //detect border: + //we need the border only if border box and auto size + var strMinusWidth = '-' + _strWidth; + var updateBorderX = (widthAuto && _isBorderBox) || !_isBorderBox; + var updateBorderY = (heightAuto && _isBorderBox) || !_isBorderBox; + var border = { + c: force, + t: updateBorderY ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strTop + strMinusWidth), true) : 0, + r: updateBorderX ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strRight + strMinusWidth), true) : 0, + b: updateBorderY ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strBottom + strMinusWidth), true) : 0, + l: updateBorderX ? parseToZeroOrNumber(_hostElement.css(_strBorderMinus + _strLeft + strMinusWidth), true) : 0 + }; + + //detect margin: + var margin = { + c: force, + t: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strTop)), + r: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strRight)), + b: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strBottom)), + l: parseToZeroOrNumber(_hostElement.css(_strMarginMinus + _strLeft)) + }; + + //detect css max width & height: + var cssMaxValue = { + h: String(_hostElement.css(_strMaxMinus + _strHeight)), + w: String(_hostElement.css(_strMaxMinus + _strWidth)) + }; + + //vars to apply correct css + var contentElementCSS = { }; + var contentGlueElementCSS = { }; + + //funcs + var getHostSize = function() { + return { + w: hostElement[LEXICON.cW], + h: hostElement[LEXICON.cH] + }; + }; + var getViewportSize = function() { + var brect = paddingElement.getBoundingClientRect() + return brect[_strWidth] + ? { + w: brect[_strWidth], + h: brect[_strHeight] + } : { + w: paddingElement[LEXICON.oW], + h: paddingElement[LEXICON.oH] + }; + }; + + //set info for padding + _paddingX = padding.l + padding.r; + _paddingY = padding.t + padding.b; + padding.ax = paddingAbsolute ? _paddingX : 0; + padding.ay = paddingAbsolute ? _paddingY : 0; + padding.c = checkCacheTRBL(padding, _cssPaddingCache); + + //set info for border + _borderX = border.l + border.r; + _borderY = border.t + border.b; + border.c = checkCacheTRBL(border, _cssBorderCache); + + //set info for margin + _marginX = margin.l + margin.r; + _marginY = margin.t + margin.b; + margin.c = checkCacheTRBL(margin, _cssMarginCache); + + //set info for css max value + cssMaxValue.ih = parseToZeroOrNumber(cssMaxValue.h); //ih = integer height + cssMaxValue.iw = parseToZeroOrNumber(cssMaxValue.w); //iw = integer width + cssMaxValue.ch = cssMaxValue.h.indexOf('px') > -1; //ch = correct height + cssMaxValue.cw = cssMaxValue.w.indexOf('px') > -1; //cw = correct width + cssMaxValue.c = checkCacheDouble(cssMaxValue, _cssMaxValueCache, force); + + //refresh cache + _cssDirectionCache = cssDirection; + _cssBoxSizingCache = boxSizing; + _widthAutoCache = widthAuto; + _heightAutoCache = heightAuto; + _cssPaddingCache = padding; + _cssBorderCache = border; + _cssMarginCache = margin; + _cssMaxValueCache = cssMaxValue; + + //IEFix direction changed + if (cssDirectionChanged && _sizeAutoObserverAdded) + _sizeAutoObserverElement.css(_strFloat, isRTLRight); + + //apply padding: + if (padding.c || cssDirectionChanged || paddingAbsoluteChanged || widthAutoChanged || heightAutoChanged || boxSizingChanged || sizeAutoCapableChanged) { + var paddingElementCSS = {}; + var textareaCSS = {}; + setTopRightBottomLeft(contentGlueElementCSS, _strMarginMinus, [-padding.t, -padding.r, -padding.b, -padding.l]); + if (paddingAbsolute) { + setTopRightBottomLeft(paddingElementCSS, _strEmpty, [padding.t, padding.r, padding.b, padding.l]); + if (_isTextarea) + setTopRightBottomLeft(textareaCSS, _strPaddingMinus); + else + setTopRightBottomLeft(contentElementCSS, _strPaddingMinus); + } + else { + setTopRightBottomLeft(paddingElementCSS, _strEmpty); + if (_isTextarea) + setTopRightBottomLeft(textareaCSS, _strPaddingMinus, [padding.t, padding.r, padding.b, padding.l]); + else + setTopRightBottomLeft(contentElementCSS, _strPaddingMinus, [padding.t, padding.r, padding.b, padding.l]); + } + _paddingElement.css(paddingElementCSS); + _targetElement.css(textareaCSS); + } + + //viewport size is padding container because it never has padding, margin and a border. + _viewportSize = getViewportSize(); + + //update Textarea + var textareaSize = _isTextarea ? textareaUpdate() : false; + + //fix height auto / width auto in cooperation with current padding & boxSizing behavior: + if (heightAuto && (heightAutoChanged || paddingAbsoluteChanged || boxSizingChanged || cssMaxValue.c || padding.c || border.c)) { + if (cssMaxValue.cw) + contentElementCSS[_strMaxMinus + _strHeight] = + (cssMaxValue.ch ? (cssMaxValue.ih - padding.ay + (_isBorderBox ? -_borderY : _paddingY)) + : _strEmpty); + contentElementCSS[_strHeight] = _strAuto; + } + else if (heightAutoChanged || paddingAbsoluteChanged) { + contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty; + contentElementCSS[_strHeight] = _strHundredPercent; + } + if (widthAuto && (widthAutoChanged || paddingAbsoluteChanged || boxSizingChanged || cssMaxValue.c || padding.c || border.c || cssDirectionChanged)) { + if (cssMaxValue.cw) + contentElementCSS[_strMaxMinus + _strWidth] = + (cssMaxValue.cw ? (cssMaxValue.iw - padding.ax + (_isBorderBox ? -_borderX : _paddingX)) + + (_nativeScrollbarIsOverlaid.y /*&& _hasOverflowCache.y && widthAuto */ ? _overlayScrollbarDummySize.y : 0) + : _strEmpty); + contentElementCSS[_strWidth] = _strAuto; + contentGlueElementCSS[_strMaxMinus + _strWidth] = _strHundredPercent; //IE Fix + } + else if (widthAutoChanged || paddingAbsoluteChanged) { + contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty; + contentElementCSS[_strWidth] = _strHundredPercent; + contentElementCSS[_strFloat] = _strEmpty; + contentGlueElementCSS[_strMaxMinus + _strWidth] = _strEmpty; //IE Fix + } + if (widthAuto) { + if (!cssMaxValue.cw) + contentElementCSS[_strMaxMinus + _strWidth] = _strEmpty; + contentGlueElementCSS[_strWidth] = _isTextarea && textareaDynWidth ? textareaSize.dw : _strAuto; + + contentElementCSS[_strWidth] = _strAuto; + contentElementCSS[_strFloat] = isRTLRight; + } + if (heightAuto) { + if (!cssMaxValue.ch) + contentElementCSS[_strMaxMinus + _strHeight] = _strEmpty; + //fix dyn height collapse bug: (doesn't works for width!) + //contentGlueElementCSS[_strHeight] = _isTextarea && textareaDynHeight ? textareaSize.dh : _strAuto; + contentGlueElementCSS[_strHeight] = _isTextarea ? textareaDynHeight ? textareaSize.dh : _strAuto : _contentElement[0][LEXICON.cH]; + } + if (sizeAutoCapable) + _contentGlueElement.css(contentGlueElementCSS); + _contentElement.css(contentElementCSS); + + //CHECKPOINT HERE ~ + contentElementCSS = {}; + contentGlueElementCSS = {}; + + //if [content(host) client / scroll size, or target element direction, or content(host) max-sizes] changed, or force is true + if (hostSizeChanged || contentSizeChanged || cssDirectionChanged || boxSizingChanged || paddingAbsoluteChanged || widthAutoChanged || widthAuto || heightAutoChanged || heightAuto || cssMaxValue.c || ignoreOverlayScrollbarHidingChanged || overflowBehaviorChanged || clipAlwaysChanged || resizeChanged || scrollbarsVisibilityChanged || textareaDynWidthChanged || textareaDynHeightChanged || textareaAutoWrappingChanged || force) { + var strOverflow = 'overflow'; + var strOverflowX = strOverflow + '-x'; + var strOverflowY = strOverflow + '-y'; + var strHidden = 'hidden'; + var strVisible = 'visible'; + //decide whether the content overflow must get hidden for correct overflow measuring, it MUST be always hidden if the height is auto + var hideOverflow4CorrectMeasuring = _restrictedMeasuring ? + (_nativeScrollbarIsOverlaid.x || _nativeScrollbarIsOverlaid.y) || //it must be hidden if native scrollbars are overlaid + (_viewportSize.w < _nativeScrollbarMinSize.y || _viewportSize.h < _nativeScrollbarMinSize.x) || //it must be hidden if host-element is too small + heightAuto || displayIsHiddenChanged //it must be hidden if height is auto or display was change + : heightAuto; //if there is not the restricted Measuring bug, it must be hidden if the height is auto + + //Reset the viewport (very important for natively overlaid scrollbars and zoom change + var viewportElementResetCSS = {}; + var resetXTmp = _hasOverflowCache.y && _hideOverflowCache.ys && !ignoreOverlayScrollbarHiding ? (_nativeScrollbarIsOverlaid.y ? _viewportElement.css(isRTLLeft) : -_nativeScrollbarSize.y) : 0; + var resetBottomTmp = _hasOverflowCache.x && _hideOverflowCache.xs && !ignoreOverlayScrollbarHiding ? (_nativeScrollbarIsOverlaid.x ? _viewportElement.css(_strBottom) : -_nativeScrollbarSize.x) : 0; + setTopRightBottomLeft(viewportElementResetCSS, _strEmpty); + _viewportElement.css(viewportElementResetCSS); + if(hideOverflow4CorrectMeasuring) + _contentElement.css(strOverflow, strHidden); + + //measure several sizes: + var contentMeasureElement = getContentMeasureElement(); + //in Firefox content element has to have overflow hidden, else element margins aren't calculated properly, this element prevents this bug, but only if scrollbars aren't overlaid + var contentMeasureElementGuaranty = _restrictedMeasuring && !hideOverflow4CorrectMeasuring ? _viewportElement[0] : contentMeasureElement; + var clientSize = { + w: contentMeasureElement[LEXICON.cW], + h: contentMeasureElement[LEXICON.cH] + }; + var scrollSize = { + w: Math.max(contentMeasureElement[LEXICON.sW], contentMeasureElementGuaranty[LEXICON.sW]), + h: Math.max(contentMeasureElement[LEXICON.sH], contentMeasureElementGuaranty[LEXICON.sH]) + }; + var contentClientSize = { + w: _isTextarea && textareaSize && !textareaDynWidth ? textareaSize.ow : widthAuto ? clientSize.w : scrollSize.w, + h: _isTextarea && textareaSize && !textareaDynHeight ? textareaSize.oh : heightAuto ? clientSize.h : scrollSize.h + }; + + //apply the correct viewport style and measure viewport size + viewportElementResetCSS[_strBottom] = wasHeightAuto ? _strEmpty : resetBottomTmp; + viewportElementResetCSS[isRTLLeft] = wasWidthAuto ? _strEmpty : resetXTmp; + _viewportElement.css(viewportElementResetCSS); + //viewport size is padding container because it never has padding, margin and a border. + _viewportSize = getViewportSize(); + + //measure and correct several sizes + //has to be clientSize because offsetSize respect borders. + var hostSize = getHostSize(); + var contentGlueSize = { + w: Math.max(contentClientSize.w + padding.ax, hostSize.w - _paddingX) - (textareaDynWidth ? (_isTextarea && widthAuto ? _marginX + (!_isBorderBox ? _paddingX + _borderX : 0) : 0) : 0), + h: Math.max(contentClientSize.h + padding.ay, hostSize.h - _paddingY) + }; + contentGlueSize.c = checkCacheDouble(contentGlueSize, _contentGlueSizeCache, force); + _contentGlueSizeCache = contentGlueSize; + + //apply correct contentGlue size + if (sizeAutoCapable) { + //size contentGlue correctly to make sure the element has correct size if the sizing switches to auto + if (contentGlueSize.c || (heightAuto || widthAuto)) { + contentGlueElementCSS[_strWidth] = contentGlueSize.w; + contentGlueElementCSS[_strHeight] = contentGlueSize.h; + } + + var maxWidth = contentGlueElementCSS[_strWidth] + (_isBorderBox ? _borderX : -_paddingX); + var maxHeight = contentGlueElementCSS[_strHeight] + (_isBorderBox ? _borderY : -_paddingX); + var textareaCoverCSS = {}; + + //make contentGlue size -1 if element is not auto sized, to make sure that a resize event happens when the element shrinks + if (!widthAuto || (!widthAuto && border.c)) + contentGlueElementCSS[_strWidth] = hostSize.w - (_isBorderBox ? 0 : _paddingX + _borderX) - 1 - _marginX; + if (!heightAuto || (!heightAuto && border.c)) + contentGlueElementCSS[_strHeight] = hostSize.h - (_isBorderBox ? 0 : _paddingY + _borderY) - 1 - _marginY; + + //if size is auto and host is same size as max size, make content glue size +1 to make sure size changes will be detected + if (cssMaxValue.cw && cssMaxValue.iw === maxWidth) + contentGlueElementCSS[_strWidth] = maxWidth + (_isBorderBox ? 0 : _paddingX) + 1; + if (cssMaxValue.ch && cssMaxValue.ih === maxHeight) + contentGlueElementCSS[_strHeight] = maxHeight + (_isBorderBox ? 0 : _paddingY) + 1; + + //if size is auto and host is smaller than size as min size, make content glue size -1 to make sure size changes will be detected (this is only needed if padding is 0) + if (widthAuto && (clientSize.w < _viewportSize.w || _isTextarea && !textareaAutoWrapping) && _paddingX === 0) { + if (_isTextarea) + textareaCoverCSS[_strWidth] = parseToZeroOrNumber(_textareaCoverElement.css(_strWidth)) - 1; + contentGlueElementCSS[_strWidth] -= 1; + } + if (heightAuto && (clientSize.h < _viewportSize.h || _isTextarea) && _paddingY === 0) { + if (_isTextarea) + textareaCoverCSS[_strHeight] = parseToZeroOrNumber(_textareaCoverElement.css(_strHeight)) - 1; + contentGlueElementCSS[_strHeight] -= 1; + } + + //make sure content glue size at least 1 + if (contentClientSize.h > 0) { + contentGlueElementCSS[_strWidth] = Math.max(1, contentGlueElementCSS[_strWidth]); + contentGlueElementCSS[_strHeight] = Math.max(1, contentGlueElementCSS[_strHeight]); + } + + if (_isTextarea) + _textareaCoverElement.css(textareaCoverCSS); + _contentGlueElement.css(contentGlueElementCSS); + } + if (widthAuto) + contentElementCSS[_strWidth] = _strHundredPercent; + if (widthAuto && !_isBorderBox && !_mutationObserverConnected) + contentElementCSS[_strFloat] = 'none'; + + + //apply and reset content style + _contentElement.css(contentElementCSS); + contentElementCSS = {}; + + //measure again, but this time all correct sizes: + var contentBCRect = contentMeasureElement.getBoundingClientRect(); + var contentBCRectW = contentBCRect[_strWidth] || 0; + var contentBCRectH = contentBCRect[_strHeight] || 0; + var contentScrollSize = { + w: Math.max(contentMeasureElement[LEXICON.sW], contentMeasureElementGuaranty[LEXICON.sW]) + parseToZeroOrNumber(contentBCRectW) - contentBCRectW, + h: Math.max(contentMeasureElement[LEXICON.sH], contentMeasureElementGuaranty[LEXICON.sH]) + parseToZeroOrNumber(contentBCRectH) - contentBCRectH + }; + contentScrollSize.c = contentSizeChanged = checkCacheDouble(contentScrollSize, _contentScrollSizeCache, force); + _contentScrollSizeCache = contentScrollSize; + + if(hideOverflow4CorrectMeasuring) + _contentElement.css(strOverflow, _strEmpty); + + //refresh viewport size after correct measuring + _viewportSize = getViewportSize(); + + //has to be clientSize because offsetSize respect borders. + hostSize = getHostSize(); + hostSizeChanged = checkCacheDouble(hostSize, _hostSizeCache); + _hostSizeCache = hostSize; + + var overflowBehaviorIsVS = { + x: overflowBehavior.x === 'v-s', + y: overflowBehavior.y === 'v-s' + }; + var overflowBehaviorIsVH = { + x: overflowBehavior.x === 'v-h', + y: overflowBehavior.y === 'v-h' + }; + var overflowBehaviorIsS = { + x: overflowBehavior.x === 's', + y: overflowBehavior.y === 's' + }; + var overflowAmount = { + x: Math.max(0, Math.round((contentScrollSize.w - _viewportSize.w) * 100) / 100), + y: Math.max(0, Math.round((contentScrollSize.h - _viewportSize.h) * 100) / 100) + }; + var hideOverflowForceTextarea = _isTextarea && (_viewportSize.w === 0 || _viewportSize.h === 0); + var hideOverflowForceRounding = (_viewportElement[0].scrollLeftMax === 0 && overflowAmount.x > 0 && overflowAmount.x < 1) || (_viewportElement[0].scrollTopMax === 0 && overflowAmount.y > 0 && overflowAmount.y < 1); + if (hideOverflowForceTextarea || hideOverflowForceRounding) + overflowAmount.x = overflowAmount.y = 0; + var hasOverflow = { + x: overflowAmount.x > 0, + y: overflowAmount.y > 0 + }; + //hideOverflow: + //x || y : true === overflow is hidden by "overflow: scroll" OR "overflow: hidden" + //xs || ys : true === overflow is hidden by "overflow: scroll" + var hideOverflow = {x: hasOverflow.x, y: hasOverflow.y}; + if (overflowBehaviorIsVS.x || overflowBehaviorIsVH.x) + hideOverflow.x = (hasOverflow.y && !overflowBehaviorIsVS.y && !overflowBehaviorIsVH.y); + if (overflowBehaviorIsVS.y || overflowBehaviorIsVH.y) + hideOverflow.y = (hasOverflow.x && !overflowBehaviorIsVS.x && !overflowBehaviorIsVH.x); + hideOverflow.xs = hideOverflow.x ? (overflowBehaviorIsS.x || overflowBehaviorIsVS.x) : false; + hideOverflow.ys = hideOverflow.y ? (overflowBehaviorIsS.y || overflowBehaviorIsVS.y) : false; + + var canScroll = { + x: hasOverflow.x && hideOverflow.xs, + y: hasOverflow.y && hideOverflow.ys + }; + var previousOverflow = _overflowAmountCache; + overflowAmount.c = checkCacheDouble(overflowAmount, _overflowAmountCache, _strX, _strY, force); + _overflowAmountCache = overflowAmount; + hasOverflow.c = checkCacheDouble(hasOverflow, _hasOverflowCache, _strX, _strY, force); + _hasOverflowCache = hasOverflow; + hideOverflow.c = checkCacheDouble(hideOverflow, _hideOverflowCache, _strX, _strY, force); + _hideOverflowCache = hideOverflow; + + //if native scrollbar is overlay at x OR y axis, prepare DOM + if (_nativeScrollbarIsOverlaid.x || _nativeScrollbarIsOverlaid.y) { + var borderDesign = 'px solid transparent'; + var contentArrangeElementCSS = { }; + var arrangeContent = { }; + var arrangeChanged = force; + if (hasOverflow.x || hasOverflow.y) { + arrangeContent.w = _nativeScrollbarIsOverlaid.y && hasOverflow.y ? contentScrollSize.w + _overlayScrollbarDummySize.y : _strEmpty; + arrangeContent.h = _nativeScrollbarIsOverlaid.x && hasOverflow.x ? contentScrollSize.h + _overlayScrollbarDummySize.x : _strEmpty; + arrangeChanged = checkCacheSingle(arrangeContent, _arrangeContentSizeCache, force); + _arrangeContentSizeCache = arrangeContent; + } + + if (hasOverflow.c || hideOverflow.c || contentScrollSize.c || cssDirectionChanged || widthAutoChanged || heightAutoChanged || widthAuto || heightAuto || ignoreOverlayScrollbarHidingChanged) { + contentElementCSS[_strMarginMinus + isRTLRight] = contentElementCSS[_strBorderMinus + isRTLRight] = _strEmpty; + if (_nativeScrollbarIsOverlaid.x && hasOverflow.x && hideOverflow.xs) { + contentElementCSS[_strMarginMinus + _strBottom] = heightAuto ? (ignoreOverlayScrollbarHiding ? _strEmpty : _overlayScrollbarDummySize.x) : _strEmpty; + contentElementCSS[_strBorderMinus + _strBottom] = (!heightAuto && !ignoreOverlayScrollbarHiding) ? (_overlayScrollbarDummySize.x + borderDesign) : _strEmpty; + } + else { + arrangeContent.h = + contentElementCSS[_strMarginMinus + _strBottom] = + contentElementCSS[_strBorderMinus + _strBottom] = _strEmpty; + arrangeChanged = true; + } + if (_nativeScrollbarIsOverlaid.y && hasOverflow.y && hideOverflow.ys) { + contentElementCSS[_strMarginMinus + isRTLLeft] = widthAuto ? (ignoreOverlayScrollbarHiding ? _strEmpty : _overlayScrollbarDummySize.y) : _strEmpty; + contentElementCSS[_strBorderMinus + isRTLLeft] = (/* !widthAuto && */ !ignoreOverlayScrollbarHiding) ? (_overlayScrollbarDummySize.y + borderDesign) : _strEmpty; + } + else { + arrangeContent.w = + contentElementCSS[_strMarginMinus + isRTLLeft] = + contentElementCSS[_strBorderMinus + isRTLLeft] = _strEmpty; + arrangeChanged = true; + } + } + if (ignoreOverlayScrollbarHiding) { + arrangeContent.w = arrangeContent.h = _strEmpty; + arrangeChanged = true; + } + if (arrangeChanged) { + contentArrangeElementCSS[_strWidth] = hideOverflow.y ? arrangeContent.w : _strEmpty; + contentArrangeElementCSS[_strHeight] = hideOverflow.x ? arrangeContent.h : _strEmpty; + + if (!_contentArrangeElement) { + _contentArrangeElement = FRAMEWORK(generateDiv(_classNameContentArrangeElement)); + _viewportElement.prepend(_contentArrangeElement); + } + _contentArrangeElement.css(contentArrangeElementCSS); + } + _contentElement.css(contentElementCSS); + } + + var viewportElementCSS = {}; + var paddingElementCSS = {}; + if (hostSizeChanged || hasOverflow.c || hideOverflow.c || contentScrollSize.c || overflowBehaviorChanged || boxSizingChanged || ignoreOverlayScrollbarHidingChanged || cssDirectionChanged || clipAlwaysChanged || heightAutoChanged) { + viewportElementCSS[isRTLRight] = _strEmpty; + var resetScrollbarHidingX = function () { + viewportElementCSS[_strBottom] = _strEmpty; + _contentBorderSize.h = 0; + }; + var resetScrollbarHidingY = function () { + viewportElementCSS[isRTLLeft] = _strEmpty; + _contentBorderSize.w = 0; + }; + if (hasOverflow.x && hideOverflow.xs) { + viewportElementCSS[strOverflowX] = _strScroll; + if (!ignoreOverlayScrollbarHiding) { + viewportElementCSS[_strBottom] = -(_nativeScrollbarIsOverlaid.x ? _overlayScrollbarDummySize.x : _nativeScrollbarSize.x); + _contentBorderSize.h = _nativeScrollbarIsOverlaid.x ? _overlayScrollbarDummySize.y : 0; + } + else + resetScrollbarHidingX(); + } else { + viewportElementCSS[strOverflowX] = _strEmpty; + resetScrollbarHidingX(); + } + if (hasOverflow.y && hideOverflow.ys) { + viewportElementCSS[strOverflowY] = _strScroll; + if (!ignoreOverlayScrollbarHiding) { + viewportElementCSS[isRTLLeft] = -(_nativeScrollbarIsOverlaid.y ? _overlayScrollbarDummySize.y : _nativeScrollbarSize.y); + _contentBorderSize.w = _nativeScrollbarIsOverlaid.y ? _overlayScrollbarDummySize.x : 0; + } + else + resetScrollbarHidingY(); + } else { + viewportElementCSS[strOverflowY] = _strEmpty; + resetScrollbarHidingY(); + } + + // if the scroll container is too small and if there is any overflow with not overlay scrollbar, make viewport element greater in size (Firefox hide Scrollbars fix) + // because firefox starts hiding scrollbars on too small elements + // with this behavior the overflow calculation may be incorrect or the scrollbars would appear suddenly + // https://bugzilla.mozilla.org/show_bug.cgi?id=292284 + if ((_viewportSize.h < _nativeScrollbarMinSize.x || _viewportSize.w < _nativeScrollbarMinSize.y) + && ((hasOverflow.x && hideOverflow.x && !_nativeScrollbarIsOverlaid.x) || (hasOverflow.y && hideOverflow.y && !_nativeScrollbarIsOverlaid.y))) { + viewportElementCSS[_strPaddingMinus + _strTop] = _nativeScrollbarMinSize.x; + viewportElementCSS[_strMarginMinus + _strTop] = -_nativeScrollbarMinSize.x; + + viewportElementCSS[_strPaddingMinus + isRTLRight] = _nativeScrollbarMinSize.y; + viewportElementCSS[_strMarginMinus + isRTLRight] = -_nativeScrollbarMinSize.y; + } + else { + viewportElementCSS[_strPaddingMinus + _strTop] = + viewportElementCSS[_strMarginMinus + _strTop] = + viewportElementCSS[_strPaddingMinus + isRTLRight] = + viewportElementCSS[_strMarginMinus + isRTLRight] = _strEmpty; + } + viewportElementCSS[_strPaddingMinus + isRTLLeft] = + viewportElementCSS[_strMarginMinus + isRTLLeft] = _strEmpty; + + //if there is any overflow (x OR y axis) and this overflow shall be hidden, make overflow hidden, else overflow visible + if ((hasOverflow.x && hideOverflow.x) || (hasOverflow.y && hideOverflow.y) || hideOverflowForceTextarea) { + //only hide if is Textarea + if (_isTextarea && hideOverflowForceTextarea) { + paddingElementCSS[strOverflowX] = + paddingElementCSS[strOverflowY] = strHidden; + } + } + else { + if (!clipAlways || (overflowBehaviorIsVH.x || overflowBehaviorIsVS.x || overflowBehaviorIsVH.y || overflowBehaviorIsVS.y)) { + //only un-hide if Textarea + if (_isTextarea) { + paddingElementCSS[strOverflowX] = + paddingElementCSS[strOverflowY] = _strEmpty; + } + viewportElementCSS[strOverflowX] = + viewportElementCSS[strOverflowY] = strVisible; + } + } + + _paddingElement.css(paddingElementCSS); + _viewportElement.css(viewportElementCSS); + viewportElementCSS = { }; + + //force soft redraw in webkit because without the scrollbars will may appear because DOM wont be redrawn under special conditions + if ((hasOverflow.c || boxSizingChanged || widthAutoChanged || heightAutoChanged) && !(_nativeScrollbarIsOverlaid.x && _nativeScrollbarIsOverlaid.y)) { + var element = _contentElement[0]; + var elementStyle = element[LEXICON.s]; + var dump; + elementStyle.webkitTransform = 'scale(1)'; + elementStyle.display = 'run-in'; + dump = element[LEXICON.oH]; + elementStyle.display = _strEmpty; //|| dump; //use dump to prevent it from deletion if minify + elementStyle.webkitTransform = _strEmpty; + } + //force hard redraw in webkit if native overlaid scrollbars shall appear + if (ignoreOverlayScrollbarHidingChanged && ignoreOverlayScrollbarHiding) { + //_hostElement.hide(); + //var dump = hostElement[LEXICON.oH]; + //_hostElement.show(); + } + } + + //change to direction RTL and width auto Bugfix in Webkit + //without this fix, the DOM still thinks the scrollbar is LTR and thus the content is shifted to the left + contentElementCSS = {}; + if (cssDirectionChanged || widthAutoChanged || heightAutoChanged) { + if (_isRTL && widthAuto) { + var floatTmp = _contentElement.css(_strFloat); + var posLeftWithoutFloat = Math.round(_contentElement.css(_strFloat, _strEmpty).css(_strLeft, _strEmpty).position().left); + _contentElement.css(_strFloat, floatTmp); + var posLeftWithFloat = Math.round(_contentElement.position().left); + + if (posLeftWithoutFloat !== posLeftWithFloat) + contentElementCSS[_strLeft] = posLeftWithoutFloat; + } + else { + contentElementCSS[_strLeft] = _strEmpty; + } + } + _contentElement.css(contentElementCSS); + + //scrollbars management: + var scrollbarsVisibilityVisible = scrollbarsVisibility === 'v'; + var scrollbarsVisibilityHidden = scrollbarsVisibility === 'h'; + var scrollbarsVisibilityAuto = scrollbarsVisibility === 'a'; + + var showScrollbarH = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, true, true, canScroll.x); + var showScrollbarV = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, false, true, canScroll.y); + var hideScrollbarH = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, true, false, canScroll.x); + var hideScrollbarV = COMPATIBILITY.bind(refreshScrollbarAppearance, 0, false, false, canScroll.y); + + //manage class name which indicates scrollable overflow + if (hideOverflow.x || hideOverflow.y) + addClass(_hostElement, _classNameHostOverflow); + else + removeClass(_hostElement, _classNameHostOverflow); + if (hideOverflow.x) + addClass(_hostElement, _classNameHostOverflowX); + else + removeClass(_hostElement, _classNameHostOverflowX); + if (hideOverflow.y) + addClass(_hostElement, _classNameHostOverflowY); + else + removeClass(_hostElement, _classNameHostOverflowY); + + //add or remove rtl class name for styling purposes + if (cssDirectionChanged) { + if (_isRTL) + addClass(_hostElement, _classNameHostRTL); + else + removeClass(_hostElement, _classNameHostRTL); + } + + //manage the resize feature (CSS3 resize "polyfill" for this plugin) + if (_isBody) + addClass(_hostElement, _classNameHostResizeDisabled); + if (resizeChanged) { + var addCornerEvents = function () { _scrollbarCornerElement.on(_strMouseTouchDownEvent, scrollbarCornerOnMouseDown); }; + var removeCornerEvents = function () { _scrollbarCornerElement.off(_strMouseTouchDownEvent, scrollbarCornerOnMouseDown); }; + if (_resizeNone) { + addClass(_hostElement, _classNameHostResizeDisabled); + removeClass(_scrollbarCornerElement, [ + _classNameScrollbarCornerResize, + _classNameScrollbarCornerResizeB, + _classNameScrollbarCornerResizeH, + _classNameScrollbarCornerResizeV].join(_strSpace)); + removeCornerEvents(); + } + else { + removeClass(_hostElement, _classNameHostResizeDisabled); + addClass(_scrollbarCornerElement, _classNameScrollbarCornerResize); + if (_resizeBoth) + addClass(_scrollbarCornerElement, _classNameScrollbarCornerResizeB); + else if (_resizeHorizontal) + addClass(_scrollbarCornerElement, _classNameScrollbarCornerResizeH); + else if (_resizeVertical) + addClass(_scrollbarCornerElement, _classNameScrollbarCornerResizeV); + + removeCornerEvents(); + addCornerEvents(); + } + } + + //manage the scrollbars general visibility + the scrollbar interactivity (unusable class name) + if (scrollbarsVisibilityChanged || overflowBehaviorChanged || hideOverflow.c || hasOverflow.c || ignoreOverlayScrollbarHidingChanged) { + if (ignoreOverlayScrollbarHiding) { + if (ignoreOverlayScrollbarHidingChanged) { + removeClass(_hostElement, _classNameHostScrolling); + if (ignoreOverlayScrollbarHiding) { + hideScrollbarH(); + hideScrollbarV(); + } + } + } + else if (scrollbarsVisibilityAuto) { + if (canScroll.x) + showScrollbarH(); + else + hideScrollbarH(); + + if (canScroll.y) + showScrollbarV(); + else + hideScrollbarV(); + } + else if (scrollbarsVisibilityVisible) { + showScrollbarH(); + showScrollbarV(); + } + else if (scrollbarsVisibilityHidden) { + hideScrollbarH(); + hideScrollbarV(); + } + } + + //manage the scrollbars auto hide feature (auto hide them after specific actions) + if (scrollbarsAutoHideChanged || ignoreOverlayScrollbarHidingChanged) { + var addMouseTouchEvents = function (move) { + if (_supportPassiveEvents) { + if(move) + addPassiveEventListener(_hostElement, _strMouseTouchMoveEvent, hostOnMouseMove); + else { + addPassiveEventListener(_hostElement, _strMouseTouchEnter, hostOnMouseEnter); + addPassiveEventListener(_hostElement, _strMouseTouchLeave, hostOnMouseLeave); + } + } + else { + if(move) + _hostElement.on(_strMouseTouchMoveEvent, hostOnMouseMove); + else { + _hostElement.on(_strMouseTouchEnter, hostOnMouseEnter) + .on(_strMouseTouchLeave, hostOnMouseLeave); + } + } + + //if the plugin is initialized and the mouse is over the host element, make the scrollbars visible + if(!_initialized) + _hostElement.one("mouseover", hostOnMouseEnter); + }; + var removeMouseTouchEvents = function () { + if (_supportPassiveEvents) { + removePassiveEventListener(_hostElement, _strMouseTouchMoveEvent, hostOnMouseMove); + removePassiveEventListener(_hostElement, _strMouseTouchEnter, hostOnMouseEnter); + removePassiveEventListener(_hostElement, _strMouseTouchLeave, hostOnMouseLeave); + } + else { + _hostElement.off(_strMouseTouchMoveEvent, hostOnMouseMove) + .off(_strMouseTouchEnter, hostOnMouseEnter) + .off(_strMouseTouchLeave, hostOnMouseLeave); + } + }; + if (_scrollbarsAutoHideLeave || _scrollbarsAutoHideMove) { + removeMouseTouchEvents(); + addMouseTouchEvents(_scrollbarsAutoHideMove); + } + else { + removeMouseTouchEvents(); + } + + if (_scrollbarsAutoHideNever) + refreshScrollbarsAutoHide(true); + else + refreshScrollbarsAutoHide(false, true); + } + + //manage scrollbars handle length and offset + if (hostSizeChanged || overflowAmount.c || heightAutoChanged || widthAutoChanged || resizeChanged || boxSizingChanged || paddingAbsoluteChanged || ignoreOverlayScrollbarHidingChanged || cssDirectionChanged) { + refreshScrollbarHandleLength(true); + refreshScrollbarHandleOffset(true, currScroll.l); + refreshScrollbarHandleLength(false); + refreshScrollbarHandleOffset(false, currScroll.t); + } + + //manage interactivity + if (scrollbarsClickScrollingChanged) + refreshScrollbarsInteractive(true, scrollbarsClickScrolling); + if (scrollbarsDragScrollingChanged) + refreshScrollbarsInteractive(false, scrollbarsDragScrolling); + + //handle scroll + if (_isTextarea && contentSizeChanged) { + var textareaInfo = getTextareaInfo(); + if (textareaInfo) { + var textareaRowsChanged = _textareaInfoCache === undefined ? true : textareaInfo.rows !== _textareaInfoCache.rows; + var cursorRow = textareaInfo.cR; + var cursorCol = textareaInfo.cC; + var widestRow = textareaInfo.w; + var lastRow = textareaInfo.r; + var lastCol = textareaInfo.c; + var cursorPos = textareaInfo.p; + var cursorMax = textareaInfo.m; + var cursorIsLastPosition = (cursorMax === cursorPos && _textareaHasFocus); + var doScroll = { + x: (!textareaAutoWrapping && (cursorCol === lastCol && cursorRow === widestRow)) ? _overflowAmountCache.x : -1, + y: (textareaAutoWrapping ? cursorIsLastPosition || textareaRowsChanged && (previousOverflow !== undefined ? (currScroll.t === previousOverflow.y) : false) : (cursorIsLastPosition || textareaRowsChanged) && cursorRow === lastRow) ? _overflowAmountCache.y : -1 + }; + var doScrollX = doScroll.x > -1; + var doScrollY = doScroll.y > -1; + + if (doScrollX || doScrollY) { + if (doScrollY) + _viewportElement[_strScrollTop](doScroll.y); + if (doScrollX) { + if (_isRTL && _normalizeRTLCache && _rtlScrollBehavior.i) + _viewportElement[_strScrollLeft](0); //if inverted, scroll to 0 -> normalized this means to max scroll offset. + else + _viewportElement[_strScrollLeft](doScroll.x); + } + } + } + _textareaInfoCache = textareaInfo; + } + else if (!_isTextarea) { + if (_isRTL && _rtlScrollBehavior.i && _nativeScrollbarIsOverlaid.y && hasOverflow.x && _normalizeRTLCache) + currScroll.l += _contentBorderSize.w || 0; + _viewportElement[_strScrollLeft](currScroll.l); + _viewportElement[_strScrollTop](currScroll.t); + } + + if (cssDirectionChanged) { + callCallback("onDirectionChanged", { + isRTL: _isRTL, + dir: cssDirection + }); + } + if (hostSizeChanged) { + callCallback("onHostSizeChanged", { + width: _hostSizeCache.w, + height: _hostSizeCache.h + }); + } + if (contentSizeChanged) { + callCallback("onContentSizeChanged", { + width: _contentScrollSizeCache.w, + height: _contentScrollSizeCache.h + }); + } + if (hasOverflow.c || hideOverflow.c) { + callCallback("onOverflowChanged", { + x: hasOverflow.x, + y: hasOverflow.y, + xScrollable: hideOverflow.xs, + yScrollable: hideOverflow.ys, + clipped: hideOverflow.x || hideOverflow.y + }); + } + if (overflowAmount.c) { + callCallback("onOverflowAmountChanged", { + x: overflowAmount.x, + y: overflowAmount.y + }); + } + } + + //fix body min size + if (_isBody && (_hasOverflowCache.c || _bodyMinSizeCache.c)) { + //its possible that no min size was measured until now, because the content arrange element was just added now, in this case, measure now the min size. + if (!_bodyMinSizeCache.f) + bodyMinSizeChanged(); + if (_nativeScrollbarIsOverlaid.y && _hasOverflowCache.x) + _contentElement.css(_strMinMinus + _strWidth, _bodyMinSizeCache.w + _overlayScrollbarDummySize.y); + if (_nativeScrollbarIsOverlaid.x && _hasOverflowCache.y) + _contentElement.css(_strMinMinus + _strHeight, _bodyMinSizeCache.h + _overlayScrollbarDummySize.x); + _bodyMinSizeCache.c = false; + } + + unfreezeResizeObserver(_sizeObserverElement); + unfreezeResizeObserver(_sizeAutoObserverElement); + + callCallback("onUpdated", { forced: force }); + } + + + //==== Options ====// + + /** + * Sets new options but doesn't call the update method. + * @param newOptions The object which contains the new options. + */ + function setOptions(newOptions) { + _currentOptions = extend(true, {}, _currentOptions, _pluginsOptions.v(newOptions, _pluginsOptions.t, true)); + _currentPreparedOptions = extend(true, {}, _currentPreparedOptions, _pluginsOptions.v(newOptions, _pluginsOptions.t, false, true)); + } + + + //==== Scrollbars ====// + + /** + * Builds all scrollbars if they aren't already build. + */ + function buildScrollbars() { + _scrollbarHorizontalElement = FRAMEWORK(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarHorizontal)); + _scrollbarHorizontalTrackElement = FRAMEWORK(generateDiv(_classNameScrollbarTrack)); + _scrollbarHorizontalHandleElement = FRAMEWORK(generateDiv(_classNameScrollbarHandle)); + _scrollbarVerticalElement = FRAMEWORK(generateDiv(_classNameScrollbar + _strSpace + _classNameScrollbarVertical)); + _scrollbarVerticalTrackElement = FRAMEWORK(generateDiv(_classNameScrollbarTrack)); + _scrollbarVerticalHandleElement = FRAMEWORK(generateDiv(_classNameScrollbarHandle)); + + _scrollbarHorizontalElement.append(_scrollbarHorizontalTrackElement); + _scrollbarHorizontalTrackElement.append(_scrollbarHorizontalHandleElement); + _scrollbarVerticalElement.append(_scrollbarVerticalTrackElement); + _scrollbarVerticalTrackElement.append(_scrollbarVerticalHandleElement); + + _paddingElement.after(_scrollbarVerticalElement); + _paddingElement.after(_scrollbarHorizontalElement); + + //scrollbar events + if (_supportTransition) { + _scrollbarHorizontalElement.on(_strTransitionEndEvent, function (event) { + if (event.target !== _scrollbarHorizontalElement[0]) + return; + refreshScrollbarHandleLength(true); + refreshScrollbarHandleOffset(true, _viewportElement[_strScrollLeft]()); + }); + _scrollbarVerticalElement.on(_strTransitionEndEvent, function (event) { + if (event.target !== _scrollbarVerticalElement[0]) + return; + refreshScrollbarHandleLength(false); + refreshScrollbarHandleOffset(false, _viewportElement[_strScrollTop]()); + }); + } + initScrollbarInteractivity(true); + initScrollbarInteractivity(false); + _scrollbarCornerElement = FRAMEWORK(generateDiv(_classNameScrollbarCorner)); + _hostElement.append(_scrollbarCornerElement); + } + + /** + * Initializes all scrollbar interactivity. (track and handle dragging, clicking, scrolling) + * @param isHorizontal True if the target scrollbar is the horizontal scrollbar, false if the target scrollbar is the vertical scrollbar. + */ + function initScrollbarInteractivity(isHorizontal) { + var scrollbarVars = getScrollbarVars(isHorizontal); + var insideIFrame = _windowElement.top !== _windowElement; + var mouseDownScroll; + var mouseDownOffset; + var xy = scrollbarVars.xy; + var XY = scrollbarVars.XY; + var scroll = _strScroll + scrollbarVars.LT; + var strActive = 'active'; + var trackTimeout; + var scrollDurationFactor = 1; + var increaseDecreaseScrollAmountKeyCodes = [ 16, 17 ]; //shift, ctrl + function increaseTrackScrollAmount() { + scrollDurationFactor = 0.5; + }; + function decreaseTrackScrollAmount() { + scrollDurationFactor = 1; + }; + function documentKeyDown(event) { + if (FRAMEWORK.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) + increaseTrackScrollAmount(); + }; + function documentKeyUp(event) { + if (FRAMEWORK.inArray(event.keyCode, increaseDecreaseScrollAmountKeyCodes) > -1) + decreaseTrackScrollAmount(); + }; + function onMouseTouchDownContinue(event) { + var originalEvent = event.originalEvent || event; + var isTouchEvent = originalEvent.touches !== undefined; + return _isSleeping || nativeOverlayScrollbarsAreActive() || !_scrollbarsDragScrollingCache || (isTouchEvent && !_scrollbarsTouchSupport) ? false : COMPATIBILITY.mBtn(event) === 1 || isTouchEvent; + }; + function handleDragMove(event) { + if(!onMouseTouchDownContinue(event)) { + documentMouseTouchUp(event); + return; + } + + var trackLength = scrollbarVars.i.tl; + var handleLength = scrollbarVars.i.hl; + var scrollRange = scrollbarVars.i.ms; + var scrollRaw = (_msieVersion && insideIFrame ? event['screen' + XY] : COMPATIBILITY.page(event)[xy]) - mouseDownOffset; //use screen coordinates in EDGE & IE because the page values are incorrect in frames. + var scrollDeltaPercent = scrollRaw / (trackLength - handleLength); + var scrollDelta = (scrollRange * scrollDeltaPercent); + scrollDelta = isFinite(scrollDelta) ? scrollDelta : 0; + if (_isRTL && isHorizontal && !_rtlScrollBehavior.i) + scrollDelta *= -1; + _viewportElement[scroll](mouseDownScroll + scrollDelta); + + if (!_supportPassiveEvents) + COMPATIBILITY.prvD(event); + }; + function documentMouseTouchUp(event) { + event = event || event.originalEvent; + + removeClass(_bodyElement, _classNameDragging); + removeClass(scrollbarVars.h, strActive); + removeClass(scrollbarVars.t, strActive); + removeClass(scrollbarVars.s, strActive); + + _documentElement.off(_strMouseTouchMoveEvent, handleDragMove) + .off(_strMouseTouchUpEvent, documentMouseTouchUp) + .off(_strKeyDownEvent, documentKeyDown) + .off(_strKeyUpEvent, documentKeyUp) + .off(_strSelectStartEvent, documentOnSelectStart); + + decreaseTrackScrollAmount(); + mouseDownScroll = undefined; + mouseDownOffset = undefined; + if (trackTimeout !== undefined) { + _base.scrollStop(); + clearTimeout(trackTimeout); + trackTimeout = undefined; + } + + var rect = _hostElement[0].getBoundingClientRect(); + var mouseInsideHost = event.clientX >= rect.left && event.clientX <= rect.right && event.clientY >= rect.top && event.clientY <= rect.bottom; + + //if mouse is outside host element + if (!mouseInsideHost) + hostOnMouseLeave(); + + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) + refreshScrollbarsAutoHide(false); + }; + function onHandleMouseTouchDown(event) { + mouseDownScroll = _viewportElement[scroll](); + mouseDownScroll = mouseDownScroll === undefined ? 0 : mouseDownScroll; + if (_isRTL && isHorizontal && !_rtlScrollBehavior.n || !_isRTL) + mouseDownScroll = mouseDownScroll < 0 ? 0 : mouseDownScroll; + mouseDownOffset = _msieVersion && insideIFrame ? event['screen' + XY] : COMPATIBILITY.page(event)[xy]; //use screen coordinates in EDGE & IE because the page values are incorrect in frames. + + addClass(_bodyElement, _classNameDragging); + addClass(scrollbarVars.h, strActive); + addClass(scrollbarVars.s, strActive); + + _documentElement.on(_strMouseTouchMoveEvent, handleDragMove) + .on(_strMouseTouchUpEvent, documentMouseTouchUp) + .on(_strSelectStartEvent, documentOnSelectStart); + + if(_msieVersion || !_documentMixed) + COMPATIBILITY.prvD(event); + COMPATIBILITY.stpP(event); + }; + scrollbarVars.h.on(_strMouseTouchDownEvent, function(event) { + if (onMouseTouchDownContinue(event)) + onHandleMouseTouchDown(event); + }); + scrollbarVars.t.on(_strMouseTouchDownEvent, function(event) { + if (onMouseTouchDownContinue(event)) { + var scrollDistance = _viewportSize[scrollbarVars._wh]; + var trackOffset = scrollbarVars.t.offset()[scrollbarVars.lt]; + var ctrlKey = event.ctrlKey; + var instantScroll = event.shiftKey; + var instantScrollTransition = instantScroll && ctrlKey; + var isFirstIteration = true; + var easing = 'linear'; + var decreaseScroll; + var finishedCondition; + var scrollAction = function () { + if(!_destroyed) { + var mouseOffset = mouseDownOffset - trackOffset; + var trackLength = scrollbarVars.i.tl; + var handleOffset = scrollbarVars.i.ho; + var handleLength = scrollbarVars.i.hl; + var scrollRange = scrollbarVars.i.ms; + var scrollDuration = 270 * scrollDurationFactor; + var timeoutDelay = isFirstIteration ? Math.max(400, scrollDuration) : scrollDuration; + var instantScrollPosition = scrollRange * ((mouseOffset - (handleLength / 2)) / (trackLength - handleLength)); // 100% * positionPercent + var rtlIsNormal = _isRTL && isHorizontal && ((!_rtlScrollBehavior.i && !_rtlScrollBehavior.n) || _normalizeRTLCache); + var decreaseScrollCondition = rtlIsNormal ? handleOffset < mouseOffset : handleOffset > mouseOffset; + var scrollObj = { }; + + if(instantScroll) { + instantScrollPosition = isFinite(instantScrollPosition) ? instantScrollPosition : 0; + if (_isRTL && isHorizontal && !_rtlScrollBehavior.i) + instantScrollPosition = (scrollRange - instantScrollPosition); + if(instantScrollTransition) { + scrollObj.n = false; + scrollObj[xy] = instantScrollPosition; + _base.scroll(scrollObj, 130, easing, function() { onHandleMouseTouchDown(event); }); + } + else { + _viewportElement[scroll](instantScrollPosition); + onHandleMouseTouchDown(event); + } + } + else { + decreaseScroll = isFirstIteration ? decreaseScrollCondition : decreaseScroll; + finishedCondition = rtlIsNormal ? decreaseScroll ? handleOffset + handleLength >= mouseOffset : handleOffset <= mouseOffset : decreaseScroll ? handleOffset <= mouseOffset : handleOffset + handleLength >= mouseOffset; + + scrollObj[xy] = decreaseScroll ? '-=' + scrollDistance : '+=' + scrollDistance; + _base.scrollStop(); + _base.scroll(scrollObj, scrollDuration, easing); + + if (finishedCondition) { + clearTimeout(trackTimeout); + _base.scrollStop(); + trackTimeout = undefined; + } + else + trackTimeout = setTimeout(scrollAction, timeoutDelay); + isFirstIteration = false; + } + } + }; + if (ctrlKey) + increaseTrackScrollAmount(); + mouseDownOffset = COMPATIBILITY.page(event)[xy]; + + addClass(_bodyElement, _classNameDragging); + addClass(scrollbarVars.t, strActive); + addClass(scrollbarVars.s, strActive); + + _documentElement.on(_strMouseTouchUpEvent, documentMouseTouchUp) + .on(_strKeyDownEvent, documentKeyDown) + .on(_strKeyUpEvent, documentKeyUp) + .on(_strSelectStartEvent, documentOnSelectStart); + + scrollAction(); + COMPATIBILITY.prvD(event); + COMPATIBILITY.stpP(event); + } + }).on(_strMouseTouchEnter, function() { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll". + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { + _scrollbarsAutoHideFlagScrollAndHovered = true; + refreshScrollbarsAutoHide(true); + } + }).on(_strMouseTouchLeave, function() { + if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { + _scrollbarsAutoHideFlagScrollAndHovered = false; + refreshScrollbarsAutoHide(false); + } + }); + scrollbarVars.s.on(_strMouseTouchDownEvent, function(event) { + COMPATIBILITY.stpP(event); + }); + } + + /** + * Shows or hides the given scrollbar and applied a class name which indicates if the scrollbar is scrollable or not. + * @param isHorizontal True if the horizontal scrollbar is the target, false if the vertical scrollbar is the target. + * @param shallBeVisible True if the scrollbar shall be shown, false if hidden. + * @param canScroll True if the scrollbar is scrollable, false otherwise. + */ + function refreshScrollbarAppearance(isHorizontal, shallBeVisible, canScroll) { + var scrollbarClassName = isHorizontal ? _classNameHostScrollbarHorizontalHidden : _classNameHostScrollbarVerticalHidden; + var scrollbarElement = isHorizontal ? _scrollbarHorizontalElement : _scrollbarVerticalElement; + + if (shallBeVisible) + removeClass(_hostElement, scrollbarClassName); + else + addClass(_hostElement, scrollbarClassName); + + if (canScroll) + removeClass(scrollbarElement, _classNameScrollbarUnusable); + else + addClass(scrollbarElement, _classNameScrollbarUnusable); + } + + /** + * Autoshows / autohides both scrollbars with. + * @param shallBeVisible True if the scrollbars shall be autoshown (only the case if they are hidden by a autohide), false if the shall be auto hidden. + * @param delayfree True if the scrollbars shall be hidden without a delay, false or undefined otherwise. + */ + function refreshScrollbarsAutoHide(shallBeVisible, delayfree) { + clearTimeout(_scrollbarsAutoHideTimeoutId); + if (shallBeVisible) { + //if(_hasOverflowCache.x && _hideOverflowCache.xs) + removeClass(_scrollbarHorizontalElement, _classNameScrollbarAutoHidden); + //if(_hasOverflowCache.y && _hideOverflowCache.ys) + removeClass(_scrollbarVerticalElement, _classNameScrollbarAutoHidden); + } + else { + var strActive = 'active'; + var hide = function () { + if (!_scrollbarsAutoHideFlagScrollAndHovered && !_destroyed) { + var anyActive = _scrollbarHorizontalHandleElement.hasClass(strActive) || _scrollbarVerticalHandleElement.hasClass(strActive); + if (!anyActive && (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove || _scrollbarsAutoHideLeave)) + addClass(_scrollbarHorizontalElement, _classNameScrollbarAutoHidden); + if (!anyActive && (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove || _scrollbarsAutoHideLeave)) + addClass(_scrollbarVerticalElement, _classNameScrollbarAutoHidden); + } + }; + if (_scrollbarsAutoHideDelay > 0 && delayfree !== true) + _scrollbarsAutoHideTimeoutId = setTimeout(hide, _scrollbarsAutoHideDelay); + else + hide(); + } + } + + /** + * Refreshes the handle length of the given scrollbar. + * @param isHorizontal True if the horizontal scrollbar handle shall be refreshed, false if the vertical one shall be refreshed. + */ + function refreshScrollbarHandleLength(isHorizontal) { + var handleCSS = {}; + var scrollbarVars = getScrollbarVars(isHorizontal); + var digit = 1000000; + //get and apply intended handle length + var handleRatio = Math.min(1, (_hostSizeCache[scrollbarVars._wh] - (_paddingAbsoluteCache ? (isHorizontal ? _paddingX : _paddingY) : 0)) / _contentScrollSizeCache[scrollbarVars._wh]); + handleCSS[scrollbarVars.wh] = (Math.floor(handleRatio * 100 * digit) / digit) + "%"; //the last * digit / digit is for flooring to the 4th digit + + if (!nativeOverlayScrollbarsAreActive()) + scrollbarVars.h.css(handleCSS); + + //measure the handle length to respect min & max length + scrollbarVars.i.hl = scrollbarVars.h[0]['offset' + scrollbarVars.WH]; //hl = handle length + scrollbarVars.i.hlr = handleRatio; //hr = handle length ratio + } + + /** + * Refreshes the handle offset of the given scrollbar. + * @param isHorizontal True if the horizontal scrollbar handle shall be refreshed, false if the vertical one shall be refreshed. + * @param currentScroll The current scroll offset of the given scrollbar axis. (if isHorizontal ? scrollLeft : scrollTop) + */ + function refreshScrollbarHandleOffset(isHorizontal, currentScroll) { + var isRTLisHorizontal = _isRTL && isHorizontal; + var handleCSS = {}; + var scrollbarVars = getScrollbarVars(isHorizontal); + var strTranslateBrace = 'translate('; + var strTransform = 'transform'; + var translateValue; + + //measure the handle length to respect min & max length + //DONT use the variable '_contentScrollSizeCache[scrollbarVars._wh]' instead of '_viewportElement[0]['scroll' + scrollbarVars.WH]' + // because its a bit behind during the small delay when content size updates + //(delay = _mutationObserverContentLag, if its 0 then this var could be used) + var maxScroll = _viewportElement[0][_strScroll + scrollbarVars.WH] - _viewportElement[0]['client' + scrollbarVars.WH]; + var handleLength = scrollbarVars.i.hl; + var trackLength = scrollbarVars.t[0]['offset' + scrollbarVars.WH]; + var handleTrackDiff = trackLength - handleLength; + var offset = handleTrackDiff; + var transformOffset; + var posRatio; + + //if rtl scroll max is negative + if (_rtlScrollBehavior.n && isRTLisHorizontal) + maxScroll *= -1; + + posRatio = currentScroll / maxScroll; + posRatio = isNaN(posRatio) ? 0 : Math.min(1, posRatio); + + scrollbarVars.i.ms = maxScroll; //ms = max scroll + scrollbarVars.i.cs = currentScroll; //cs = current scroll + scrollbarVars.i.csr = posRatio; //csr = current scroll Ratio + + offset *= posRatio; + offset = isNaN(offset) ? 0 : offset; + if (isRTLisHorizontal && !_rtlScrollBehavior.i) + offset = trackLength - handleLength - offset; + offset = Math.max(0, offset); + + if (_supportTransform) { + transformOffset = isRTLisHorizontal ? -(trackLength - handleLength - offset) : offset; //in px + //transformOffset = (transformOffset / trackLength * 100) * (trackLength / handleLength); //in % + translateValue = isHorizontal ? strTranslateBrace + transformOffset + 'px, 0)' : strTranslateBrace + '0, ' + transformOffset + 'px)'; + handleCSS['-webkit-' + strTransform] = translateValue; + handleCSS['-moz-' + strTransform] = translateValue; + handleCSS['-ms-' + strTransform] = translateValue; + handleCSS['-o-' + strTransform] = translateValue; + handleCSS[strTransform] = translateValue; + } + else + handleCSS[scrollbarVars.lt] = offset; + + //only apply css if offset has changed and overflow exists. + if (!nativeOverlayScrollbarsAreActive()) + scrollbarVars.h.css(handleCSS); + + scrollbarVars.i.ho = offset; //ho = handle offset + scrollbarVars.i.tl = trackLength; //tl = track length + } + + /** + * Refreshes the interactivity of the given scrollbar element. + * @param isTrack True if the track element is the target, false if the handle element is the target. + * @param value True for interactivity false for no interactivity. + */ + function refreshScrollbarsInteractive(isTrack, value) { + var action = value ? 'removeClass' : 'addClass'; + var element1 = isTrack ? _scrollbarHorizontalTrackElement : _scrollbarHorizontalHandleElement; + var element2 = isTrack ? _scrollbarVerticalTrackElement : _scrollbarVerticalHandleElement; + var className = isTrack ? _classNameScrollbarTrackOff : _classNameScrollbarHandleOff; + + element1[action](className); + element2[action](className); + } + + /** + * Returns a object which is used for fast access for specific variables. + * @param isHorizontal True if the horizontal scrollbar vars shall be accessed, false if the vertical scrollbar vars shall be accessed. + * @returns {{wh: string, WH: string, lt: string, _wh: string, _lt: string, t: *, h: *, c: {}, s: *}} + */ + function getScrollbarVars(isHorizontal) { + return { + wh: isHorizontal ? _strWidth : _strHeight, + WH: isHorizontal ? 'Width' : 'Height', + lt: isHorizontal ? _strLeft : _strTop, + LT: isHorizontal ? 'Left' : 'Top', + xy: isHorizontal ? _strX : _strY, + XY: isHorizontal ? 'X' : 'Y', + _wh: isHorizontal ? 'w' : 'h', + _lt: isHorizontal ? 'l' : 't', + t: isHorizontal ? _scrollbarHorizontalTrackElement : _scrollbarVerticalTrackElement, + h: isHorizontal ? _scrollbarHorizontalHandleElement : _scrollbarVerticalHandleElement, + s: isHorizontal ? _scrollbarHorizontalElement : _scrollbarVerticalElement, + i: isHorizontal ? _scrollHorizontalInfo : _scrollVerticalInfo + }; + } + + + //==== Utils ====// + + /** + * Calls the callback with the given name. The Context of this callback is always _base (this). + * @param name The name of the target which shall be called. + * @param args The args with which the callback shall be called. + */ + function callCallback(name, args) { + if(_initialized) { + var callback = _currentPreparedOptions.callbacks[name]; + var extensionOnName = name; + var ext; + + if(extensionOnName.substr(0, 2) === "on") + extensionOnName = extensionOnName.substr(2, 1).toLowerCase() + extensionOnName.substr(3); + + if(type(callback) == TYPES.f) + callback.call(_base, args); + + FRAMEWORK.each(_extensions, function() { + ext = this; + if(type(ext.on) == TYPES.f) + ext.on(extensionOnName, args); + }); + } + } + + /** + * Sets the "top, right, bottom, left" properties, with a given prefix, of the given css object. + * @param targetCSSObject The css object to which the values shall be applied. + * @param prefix The prefix of the "top, right, bottom, left" css properties. (example: 'padding-' is a valid prefix) + * @param values A array of values which shall be applied to the "top, right, bottom, left" -properties. The array order is [top, right, bottom, left]. + * If this argument is undefined the value '' (empty string) will be applied to all properties. + */ + function setTopRightBottomLeft(targetCSSObject, prefix, values) { + if (values === undefined) + values = [_strEmpty, _strEmpty, _strEmpty, _strEmpty]; + + targetCSSObject[prefix + _strTop] = values[0]; + targetCSSObject[prefix + _strRight] = values[1]; + targetCSSObject[prefix + _strBottom] = values[2]; + targetCSSObject[prefix + _strLeft] = values[3]; + } + + /** + * Checks whether the given object is a HTMLElement. + * @param o The object which shall be checked. + * @returns {boolean} True the given object is a HTMLElement, false otherwise. + */ + function isHTMLElement(o) { + var strOwnerDocument = 'ownerDocument'; + var strHTMLElement = 'HTMLElement'; + var wnd = o && o[strOwnerDocument] ? (o[strOwnerDocument].parentWindow || window) : window; + return ( + typeof wnd[strHTMLElement] == TYPES.o ? o instanceof wnd[strHTMLElement] : //DOM2 + o && typeof o == TYPES.o && o !== null && o.nodeType === 1 && typeof o.nodeName == TYPES.s + ); + } + + /** + * Compares 2 arrays and returns the differences between them as a array. + * @param a1 The first array which shall be compared. + * @param a2 The second array which shall be compared. + * @returns {Array} The differences between the two arrays. + */ + function getArrayDifferences(a1, a2) { + var a = [ ]; + var diff = [ ]; + var i; + var k; + for (i = 0; i < a1.length; i++) + a[a1[i]] = true; + for (i = 0; i < a2.length; i++) { + if (a[a2[i]]) + delete a[a2[i]]; + else + a[a2[i]] = true; + } + for (k in a) + diff.push(k); + return diff; + } + + /** + * Returns Zero or the number to which the value can be parsed. + * @param value The value which shall be parsed. + * @param toFloat Indicates whether the number shall be parsed to a float. + */ + function parseToZeroOrNumber(value, toFloat) { + var num = toFloat ? window.parseFloat(value) : window.parseInt(value); + return isNaN(num) ? 0 : num; + } + + + /** + * Gets several information of the textarea and returns them as a object or undefined if the browser doesn't support it. + * @returns {{cursorRow: Number, cursorCol, rows: Number, cols: number, wRow: number, pos: number, max : number}} or undefined if not supported. + */ + function getTextareaInfo() { + //read needed values + var textareaCursorPosition = _targetElement[0].selectionStart; + if (textareaCursorPosition === undefined) + return; + + var strLength = 'length'; + var textareaValue = _targetElement.val(); + var textareaLength = textareaValue[strLength]; + var textareaRowSplit = textareaValue.split("\n"); + var textareaLastRow = textareaRowSplit[strLength]; + var textareaCurrentCursorRowSplit = textareaValue.substr(0, textareaCursorPosition).split("\n"); + var widestRow = 0; + var textareaLastCol = 0; + var cursorRow = textareaCurrentCursorRowSplit[strLength]; + var cursorCol = textareaCurrentCursorRowSplit[textareaCurrentCursorRowSplit[strLength] - 1][strLength]; + var rowCols; + var i; + + //get widest Row and the last column of the textarea + for (i = 0; i < textareaRowSplit[strLength]; i++) { + rowCols = textareaRowSplit[i][strLength]; + if (rowCols > textareaLastCol) { + widestRow = i + 1; + textareaLastCol = rowCols; + } + } + + return { + cR: cursorRow, //cursorRow + cC: cursorCol, //cursorCol + r: textareaLastRow, //rows + c: textareaLastCol, //cols + w: widestRow, //wRow + p: textareaCursorPosition, //pos + m: textareaLength //max + }; + } + + /** + * Checks the given key code and returns a boolean which is indicating if the given key code is a restricted one. + * @param keyCode The key code which shall be checked. + * @returns {boolean} True if the given key code is restricted, false otherwise. + */ + function textareaIsRestrictedKeyCode(keyCode) { + for (var i = 0; i < _textareaKeyDownRestrictedKeyCodes.length; i++) { + if (keyCode === _textareaKeyDownRestrictedKeyCodes[i]) + return true; + } + return false; + } + + /** + * Determines whether native overlay scrollbars are active. + * @returns {boolean} True if native overlay scrollbars are active, false otherwise. + */ + function nativeOverlayScrollbarsAreActive() { + return (_ignoreOverlayScrollbarHidingCache && (_nativeScrollbarIsOverlaid.x && _nativeScrollbarIsOverlaid.y)); + } + + /** + * Gets the element which is used to measure the content size. + * @returns {*} TextareaCover if target element is textarea else the ContentElement. + */ + function getContentMeasureElement() { + return _isTextarea ? _textareaCoverElement[0] : _contentElement[0]; + } + + /** + * Generates a string which represents a HTML div with the given classes or attributes. + * @param classesOrAttrs The class of the div as string or a object which represents the attributes of the div. (The class attribute can also be written as "className".) + * @param content The content of the div as string. + * @returns {string} The concated string which represents a HTML div and its content. + */ + function generateDiv(classesOrAttrs, content) { + return '
' + + (content ? content : _strEmpty) + + '
'; + } + + /** + * Gets the value of the given property from the given object. + * @param obj The object from which the property value shall be got. + * @param path The property of which the value shall be got. + * @returns {*} Returns the value of the searched property or undefined of the property wasn't found. + */ + function getObjectPropVal(obj, path) { + var splits = path.split(_strDot); + var i = 0; + var val; + for(; i < splits.length; i++) { + if(!obj.hasOwnProperty(splits[i])) + return; + val = obj[splits[i]]; + if(i < splits.length && type(val) == TYPES.o) + obj = val; + } + return val; + } + + /** + * Sets the value of the given property from the given object. + * @param obj The object from which the property value shall be set. + * @param path The property of which the value shall be set. + * @param val The value of the property which shall be set. + */ + function setObjectPropVal(obj, path, val) { + var splits = path.split(_strDot); + var splitsLength = splits.length; + var i = 0; + var extendObj = { }; + var extendObjRoot = extendObj; + for(; i < splitsLength; i++) + extendObj = extendObj[splits[i]] = i + 1 < splitsLength ? { } : val; + FRAMEWORK.extend(obj, extendObjRoot, true); + } + + //==== Utils Cache ====// + + /** + * Compares two values and returns the result of the comparison as a boolean. + * @param current The first value which shall be compared. + * @param cache The second value which shall be compared. + * @param force If true the returned value is always true. + * @returns {boolean} True if both variables aren't equal or some of them is undefined or when the force parameter is true, false otherwise. + */ + function checkCacheSingle(current, cache, force) { + if (force === true) + return force; + if (cache === undefined) + return true; + else if (current !== cache) + return true; + return false; + } + + /** + * Compares two objects with two properties and returns the result of the comparison as a boolean. + * @param current The first object which shall be compared. + * @param cache The second object which shall be compared. + * @param prop1 The name of the first property of the objects which shall be compared. + * @param prop2 The name of the second property of the objects which shall be compared. + * @param force If true the returned value is always true. + * @returns {boolean} True if both variables aren't equal or some of them is undefined or when the force parameter is true, false otherwise. + */ + function checkCacheDouble(current, cache, prop1, prop2, force) { + if (force === true) + return force; + if (prop2 === undefined && force === undefined) { + if (prop1 === true) + return prop1; + else + prop1 = undefined; + } + prop1 = prop1 === undefined ? 'w' : prop1; + prop2 = prop2 === undefined ? 'h' : prop2; + if (cache === undefined) + return true; + else if (current[prop1] !== cache[prop1] || current[prop2] !== cache[prop2]) + return true; + return false; + } + + /** + * Compares two objects which have four properties and returns the result of the comparison as a boolean. + * @param current The first object with four properties. + * @param cache The second object with four properties. + * @returns {boolean} True if both objects aren't equal or some of them is undefined, false otherwise. + */ + function checkCacheTRBL(current, cache) { + if (cache === undefined) + return true; + else if (current.t !== cache.t || + current.r !== cache.r || + current.b !== cache.b || + current.l !== cache.l) + return true; + return false; + } + + + //==== Shortcuts ====// + + /** + * jQuery type method shortcut. + */ + function type(obj) { + return COMPATIBILITY.type(obj); + } + + /** + * jQuery extend method shortcut. + */ + function extend() { + return FRAMEWORK.extend.apply(this, arguments); + } + + /** + * jQuery addClass method shortcut. + */ + function addClass(el, classes) { + return _frameworkProto.addClass.call(el, classes); + } + + /** + * jQuery removeClass method shortcut. + */ + function removeClass(el, classes) { + return _frameworkProto.removeClass.call(el, classes); + } + + /** + * jQuery remove method shortcut. + */ + function remove(el) { + return _frameworkProto.remove.call(el); + } + + /** + * Finds the first child element with the given selector of the given element. + * @param el The root element from which the selector shall be valid. + * @param selector The selector of the searched element. + * @returns {*} The first element which is a child of the given element and matches the givens selector. + */ + function findFirst(el, selector) { + return _frameworkProto.find.call(el, selector).eq(0); + } + + + //==== API ====// + + /** + * Puts the instance to sleep. It wont respond to any changes in the DOM and won't update. Scrollbar Interactivity is also disabled as well as the resize handle. + * This behavior can be reset by calling the update method. + */ + _base.sleep = function () { + _isSleeping = true; + }; + + /** + * Updates the plugin and DOM to the current options. + * This method should only be called if a update is 100% required. + * @param force True if every property shall be updated and the cache shall be ignored. + * !INTERNAL USAGE! : force can be a string "auto", "auto+" or "zoom" too + * if this is the case then before a real update the content size and host element attributes gets checked, and if they changed only then the update method will be called. + */ + _base.update = function (force) { + var attrsChanged; + var contentSizeC; + var isString = type(force) == TYPES.s; + var imgElementSelector = 'img'; + var imgElementLoadEvent = 'load'; + if(isString) { + if (force.indexOf(_strAuto) === 0) { + attrsChanged = meaningfulAttrsChanged(); + contentSizeC = updateAutoContentSizeChanged(); + if (attrsChanged || contentSizeC) + update(false, contentSizeC, false, force.slice(-1) == "+"); + } + else if (force === 'zoom') + update(true, true); + } + else { + force = _isSleeping || force; + _isSleeping = false; + update(false, false, force, true); + } + if(!_isTextarea) { + _contentElement.find(imgElementSelector).each(function(i, el) { + var index = COMPATIBILITY.inA(el, _imgs); + if (index === -1) + FRAMEWORK(el).off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); + }); + } + }; + + /** + Gets or sets the current options. The update method will be called automatically if new options were set. + * @param newOptions If new options are given, then the new options will be set, if new options aren't given (undefined or a not a plain object) then the current options will be returned. + * @param value If new options is a property path string, then this value will be used to set the option to which the property path string leads. + * @returns {*} + */ + _base.options = function (newOptions, value) { + //return current options if newOptions are undefined or empty + if (FRAMEWORK.isEmptyObject(newOptions) || !FRAMEWORK.isPlainObject(newOptions)) { + if (type(newOptions) == TYPES.s) { + if (arguments.length >= 2) { + var option = { }; + setObjectPropVal(option, newOptions, value); + setOptions(option); + update(); + return; + } + else + return getObjectPropVal(_currentOptions, newOptions); + } + else + return _currentOptions; + } + setOptions(newOptions); + var isSleepingTmp = _isSleeping || false; + _isSleeping = false; + update(); + _isSleeping = isSleepingTmp; + }; + + /** + * Restore the DOM, disconnects all observers, remove all resize observers and destroy all methods. + */ + _base.destroy = function () { + _destroyed = true; + + autoUpdateLoop.remove(_base); + mutationObserversDisconnect(); + removeResizeObserver(_sizeObserverElement); + if (_sizeAutoObserverAdded) + removeResizeObserver(_sizeAutoObserverElement); + + for(var extName in _extensions) + _base.removeExt(extName); + + remove(_sizeObserverElement); + if (_contentGlueElement !== undefined) + remove(_contentGlueElement); + if (_contentArrangeElement !== undefined) + remove(_contentArrangeElement); + if (_sizeAutoObserverAdded) + remove(_sizeAutoObserverElement); + + if (_supportPassiveEvents) { + removePassiveEventListener(_hostElement, _strMouseTouchMoveEvent, hostOnMouseMove); + removePassiveEventListener(_hostElement, _strMouseTouchEnter, hostOnMouseEnter); + removePassiveEventListener(_hostElement, _strMouseTouchLeave, hostOnMouseLeave); + } + else { + _hostElement.off(_strMouseTouchMoveEvent, hostOnMouseMove) + .off(_strMouseTouchEnter, hostOnMouseEnter) + .off(_strMouseTouchLeave, hostOnMouseLeave); + } + + remove(_scrollbarHorizontalElement); + remove(_scrollbarVerticalElement); + if(_scrollbarCornerElement) + remove(_scrollbarCornerElement); + if (!_resizeNone) + scrollbarCornerOnResized(); + + _contentElement.contents() + .unwrap() + .unwrap() + .unwrap(); + + if (_isBody) + removeClass(_htmlElement, _classNameHTMLElement); + + + if (_isTextarea) { + _targetElement.off(_strScroll, textareaOnScroll) + .off('drop', textareaOnDrop) + .off('focus', textareaOnFocus) + .off('focusout', textareaOnFocusOut); + if (_msieVersion > 9 || !_autoUpdateRecommended) + _targetElement.off('input', textareaOnInput); + else { + _targetElement.off(_strKeyDownEvent, textareaOnKeyDown) + .off(_strKeyUpEvent, textareaOnKeyUp); + } + + remove(_textareaCoverElement); + removeClass(_targetElement, _classNameTextareaElement + _strSpace + _classNameTextInherit) + .unwrap() + .removeAttr(LEXICON.s); + remove(_hostElement); + } + else { + removeClass(_targetElement, _classNameHostElement); + removeClass(_hostElement, [ + _classNameHostElement, + _classNameHostResizeDisabled, + _classNameHostRTL, + _classNameHostScrollbarHorizontalHidden, + _classNameHostScrollbarVerticalHidden, + _classNameHostTransition, + _classNameHostScrolling, + _classNameHostOverflow, + _classNameHostOverflowX, + _classNameHostOverflowY, + _classNameThemeNone, + _classNameCache].join(_strSpace)); + } + + for(var i = 0; i < _imgs.length; i++) + FRAMEWORK(_imgs[i]).off('load', imgOnLoad); + _imgs = undefined; + + INSTANCES(pluginTargetElement, 0); + callCallback("onDestroyed"); + + for (var property in _base) + delete _base[property]; + _base = undefined; + }; + + /** + * Scrolls to a given position or element. + * @param coordinates + * 1. Can be "coordinates" which looks like: + * { x : ?, y : ? } OR Object with x and y properties + * { left : ?, top : ? } OR Object with left and top properties + * { l : ?, t : ? } OR Object with l and t properties + * [ ?, ? ] OR Array where the first two element are the coordinates (first is x, second is y) + * ? A single value which stays for both axis + * A value can be a number, a string or a calculation. + * + * Operators: + * [NONE] The current scroll will be overwritten by the value. + * '+=' The value will be added to the current scroll offset + * '-=' The value will be subtracted from the current scroll offset + * '*=' The current scroll wil be multiplicated by the value. + * '/=' The current scroll wil be divided by the value. + * + * Units: + * [NONE] The value is the final scroll amount. final = (value * 1) + * 'px' Same as none + * '%' The value is dependent on the current scroll value. final = ((currentScrollValue / 100) * value) + * 'vw' The value is multiplicated by the viewport width. final = (value * viewportWidth) + * 'vh' The value is multiplicated by the viewport height. final = (value * viewportHeight) + * + * example final values: + * 200, '200px', '50%', '1vw', '1vh', '+=200', '/=1vw', '*=2px', '-=5vh', '+=33%', '+= 50% - 2px', '-= 1vw - 50%' + * + * 2. Can be a HTML or jQuery element: + * The final scroll offset is the offset (without margin) of the given HTML / jQuery element. + * + * 3. Can be a object with a HTML or jQuery element with additional settings: + * { + * el : [HTMLElement, jQuery element], MUST be specified, else this object isn't valid. + * scroll : [string, array, object], Default value is 'always'. + * block : [string, array, object], Default value is 'begin'. + * margin : [number, boolean array, object] Default value is false. + * } + * + * Possible scroll settings are: + * 'always' Scrolls always. + * 'ifneeded' Scrolls only if the element isnt fully in view. + * 'never' Scrolls never. + * + * Possible block settings are: + * 'begin' Both axis shall be docked to the "begin" edge. - The element will be docked to the top and left edge of the viewport. + * 'end' Both axis shall be docked to the "end" edge. - The element will be docked to the bottom and right edge of the viewport. (If direction is RTL to the bottom and left edge.) + * 'center' Both axis shall be docked to "center". - The element will be centered in the viewport. + * 'nearest' The element will be docked to the nearest edge(s). + * + * Possible margin settings are: -- The actual margin of the element wont be affect, this option affects only the final scroll offset. + * [BOOLEAN] If true the css margin of the element will be used, if false no margin will be used. + * [NUMBER] The margin will be used for all edges. + * + * @param duration The duration of the scroll animation, OR a jQuery animation configuration object. + * @param easing The animation easing. + * @param complete The animation complete callback. + * @returns + * { + * x: {position: *, ratio: (number|*), max: (number|*), handleOffset: (number|*), handleLength: *, handleLengthRatio: (number|*), trackLength: *, isRTL: *, isRTLNormalized: *}, + * y: {position: *, ratio: (number|*), max: (number|*), handleOffset: (number|*), handleLength: *, handleLengthRatio: (number|*), trackLength: *} + * } + */ + _base.scroll = function (coordinates, duration, easing, complete) { + if (arguments.length === 0 || coordinates === undefined) { + var infoX = _scrollHorizontalInfo; + var infoY = _scrollVerticalInfo; + var normalizeInvert = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.i; + var normalizeNegate = _normalizeRTLCache && _isRTL && _rtlScrollBehavior.n; + var scrollX = infoX.cs; + var scrollXRatio = infoX.csr; + var maxScrollX = infoX.ms; + scrollXRatio = normalizeInvert ? 1 - scrollXRatio : scrollXRatio; + scrollX = normalizeInvert ? maxScrollX - scrollX : scrollX; + scrollX *= normalizeNegate ? -1 : 1; + maxScrollX *= normalizeNegate ? -1 : 1; + return { + x: { + position: scrollX, + ratio: scrollXRatio, + max: maxScrollX, + handleOffset: infoX.ho, + handleLength: infoX.hl, + handleLengthRatio: infoX.hlr, + trackLength: infoX.tl, + isRTL: _isRTL, + isRTLNormalized: _normalizeRTLCache + }, + y: { + position: infoY.cs, + ratio: infoY.csr, + max: infoY.ms, + handleOffset: infoY.ho, + handleLength: infoY.hl, + handleLengthRatio: infoY.hlr, + trackLength: infoY.tl + } + }; + } + + var normalizeRTL = _normalizeRTLCache; + var coordinatesXAxisProps = [_strX, _strLeft, 'l']; + var coordinatesYAxisProps = [_strY, _strTop, 't']; + var coordinatesOperators = ['+=', '-=', '*=', '/=']; + var i; + var finalScroll = { }; + var doScrollLeft; + var doScrollTop; + var animationOptions; + var durationIsObject = type(duration) == TYPES.o; + var strEnd = 'end'; + var strBegin = 'begin'; + var strCenter = 'center'; + var strNearest = 'nearest'; + var strAlways = 'always'; + var strNever = 'never'; + var strIfNeeded = 'ifneeded'; + var strLength = LEXICON.l; + var settingsAxis; + var settingsScroll; + var settingsBlock; + var settingsMargin; + var finalElement; + var elementObjSettingsAxisValues = [_strX, _strY, 'xy', 'yx']; + var elementObjSettingsBlockValues = [strBegin, strEnd, strCenter, strNearest]; + var elementObjSettingsScrollValues = [strAlways, strNever, strIfNeeded]; + var coordinatesIsElementObj = coordinates.hasOwnProperty('el'); + var possibleElement = coordinatesIsElementObj ? coordinates.el : coordinates; + var possibleElementIsJQuery = possibleElement instanceof FRAMEWORK || JQUERY ? possibleElement instanceof JQUERY : false; + var possibleElementIsHTMLElement = possibleElementIsJQuery ? false : isHTMLElement(possibleElement); + var checkSettingsStringValue = function (currValue, allowedValues) { + for (i = 0; i < allowedValues[strLength]; i++) { + if (currValue === allowedValues[i]) + return true; + } + return false; + }; + var getRawScroll = function (coordinates) { + var rawScroll = {}; + if (type(coordinates) == TYPES.a && coordinates[strLength] > 0) { + rawScroll.x = coordinates[0]; + rawScroll.y = coordinates[1]; + } + else if (type(coordinates) == TYPES.s || type(coordinates) == TYPES.n) { + rawScroll.x = coordinates; + rawScroll.y = coordinates; + } + else if (type(coordinates) == TYPES.o) { + normalizeRTL = type(coordinates.n) == TYPES.b ? coordinates.n : normalizeRTL; + coordinates = extend({}, coordinates); + i = 0; + for (var key in coordinates) { + if (coordinates.hasOwnProperty(key)) { + if (i > 2) + delete coordinates[key]; + i++; + } + } + var getRawScrollValue = function (isX) { + var coordinateProps = isX ? coordinatesXAxisProps : coordinatesYAxisProps; + for (i = 0; i < coordinateProps[strLength]; i++) { + if (coordinateProps[i] in coordinates) { + return coordinates[coordinateProps[i]]; + } + } + }; + rawScroll.x = getRawScrollValue(true); + rawScroll.y = getRawScrollValue(false); + } + return rawScroll; + }; + var getFinalScroll = function (isX, rawScroll) { + var isString = type(rawScroll) == TYPES.s; + if(isString) + _base.update(_strAuto + "+"); + var operator; + var amount; + var scrollInfo = isX ? _scrollHorizontalInfo : _scrollVerticalInfo; + var currScroll = scrollInfo.cs; + var maxScroll = scrollInfo.ms; + var mult = ' * '; + var finalValue; + var isRTLisX = _isRTL && isX; + var normalizeShortcuts = isRTLisX && _rtlScrollBehavior.n && !normalizeRTL; + var strReplace = 'replace'; + if (isString) { + //check operator + if (rawScroll[strLength] > 2) { + var possibleOperator = rawScroll.substr(0, 2); + for (i = 0; i < coordinatesOperators[strLength]; i++) { + if (possibleOperator === coordinatesOperators[i]) { + operator = coordinatesOperators[i]; + break; + } + } + } + + //calculate units and shortcuts + rawScroll = operator !== undefined ? rawScroll.substr(2) : rawScroll; + rawScroll = rawScroll[strReplace](/min/g, 0); //'min' = 0% + rawScroll = rawScroll[strReplace](//g, (normalizeShortcuts ? '-' : _strEmpty) + _strHundredPercent); //'>' = 100% + rawScroll = rawScroll[strReplace](/px/g, _strEmpty); + rawScroll = rawScroll[strReplace](/%/g, mult + (maxScroll * (isRTLisX && _rtlScrollBehavior.n ? -1 : 1) / 100.0)); + rawScroll = rawScroll[strReplace](/vw/g, mult + _viewportSize.w); + rawScroll = rawScroll[strReplace](/vh/g, mult + _viewportSize.h); + amount = parseToZeroOrNumber(parseToZeroOrNumber(window.eval(rawScroll), true).toFixed()); + } + else { + amount = rawScroll; + } + + if (amount !== undefined && !isNaN(amount) && type(amount) == TYPES.n) { + var normalizeIsRTLisX = normalizeRTL && isRTLisX; + var operatorCurrScroll = currScroll * (normalizeIsRTLisX && _rtlScrollBehavior.n ? -1 : 1); + var invert = normalizeIsRTLisX && _rtlScrollBehavior.i; + var negate = normalizeIsRTLisX && _rtlScrollBehavior.n; + operatorCurrScroll = invert ? (maxScroll - operatorCurrScroll) : operatorCurrScroll; + switch (operator) { + case '+=': + finalValue = operatorCurrScroll + amount; + break; + case '-=': + finalValue = operatorCurrScroll - amount; + break; + case '*=': + finalValue = operatorCurrScroll * amount; + break; + case '/=': + finalValue = operatorCurrScroll / amount; + break; + default: + finalValue = amount; + break; + } + finalValue = invert ? maxScroll - finalValue : finalValue; + finalValue *= negate ? -1 : 1; + finalValue = isRTLisX && _rtlScrollBehavior.n ? Math.min(0, Math.max(maxScroll, finalValue)) : Math.max(0, Math.min(maxScroll, finalValue)); + } + return finalValue === currScroll ? undefined : finalValue; + }; + var getPerAxisValue = function (value, valueInternalType, defaultValue, allowedValues) { + var resultDefault = [ defaultValue, defaultValue ]; + var valueType = type(value); + var valueArrLength; + var valueArrItem; + + //value can be [ string, or array of two strings ] + if (valueType == valueInternalType) { + value = [value, value]; + } + else if (valueType == TYPES.a) { + valueArrLength = value[strLength]; + if (valueArrLength > 2 || valueArrLength < 1) + value = resultDefault; + else { + if (valueArrLength === 1) + value[1] = defaultValue; + for (i = 0; i < valueArrLength; i++) { + valueArrItem = value[i]; + if (type(valueArrItem) != valueInternalType || !checkSettingsStringValue(valueArrItem, allowedValues)) { + value = resultDefault; + break; + } + } + } + } + else if (valueType == TYPES.o) + value = [ value[_strX]|| defaultValue, value[_strY] || defaultValue]; + else + value = resultDefault; + return { x : value[0], y : value[1] }; + }; + var generateMargin = function (marginTopRightBottomLeftArray) { + var result = [ ]; + var currValue; + var currValueType; + var valueDirections = [ _strTop, _strRight, _strBottom, _strLeft ]; + for(i = 0; i < marginTopRightBottomLeftArray[strLength]; i++) { + if(i === valueDirections[strLength]) + break; + currValue = marginTopRightBottomLeftArray[i]; + currValueType = type(currValue); + if(currValueType == TYPES.b) + result.push(currValue ? parseToZeroOrNumber(finalElement.css(_strMarginMinus + valueDirections[i])) : 0); + else + result.push(currValueType == TYPES.n ? currValue : 0); + } + return result; + }; + + if (possibleElementIsJQuery || possibleElementIsHTMLElement) { + //get settings + var margin = coordinatesIsElementObj ? coordinates.margin : 0; + var axis = coordinatesIsElementObj ? coordinates.axis : 0; + var scroll = coordinatesIsElementObj ? coordinates.scroll : 0; + var block = coordinatesIsElementObj ? coordinates.block : 0; + var marginDefault = [ 0, 0, 0, 0 ]; + var marginType = type(margin); + var marginLength; + finalElement = possibleElementIsJQuery ? possibleElement : FRAMEWORK(possibleElement); + if (finalElement[strLength] === 0) + return; + + _base.update(_strAuto + "+"); + + //margin can be [ boolean, number, array of 2, array of 4, object ] + if (marginType == TYPES.n || marginType == TYPES.b) + margin = generateMargin([margin, margin, margin, margin]); + else if (marginType == TYPES.a) { + marginLength = margin[strLength]; + if(marginLength === 2) + margin = generateMargin([margin[0], margin[1], margin[0], margin[1]]); + else if(marginLength >= 4) + margin = generateMargin(margin); + else + margin = marginDefault; + } + else if (marginType == TYPES.o) + margin = generateMargin([margin[_strTop], margin[_strRight], margin[_strBottom], margin[_strLeft]]); + else + margin = marginDefault; + + //block = type(block) === TYPES.b ? block ? [ strNearest, strBegin ] : [ strNearest, strEnd ] : block; + settingsAxis = checkSettingsStringValue(axis, elementObjSettingsAxisValues) ? axis : 'xy'; + settingsScroll = getPerAxisValue(scroll, TYPES.s, strAlways, elementObjSettingsScrollValues); + settingsBlock = getPerAxisValue(block, TYPES.s, strBegin, elementObjSettingsBlockValues); + settingsMargin = margin; + + var viewportScroll = { + l: _scrollHorizontalInfo.cs, + t: _scrollVerticalInfo.cs + }; + // use padding element instead of viewport element because padding element has never padding, margin or position applied. + var viewportOffset = _paddingElement.offset(); + + //get coordinates + var elementOffset = finalElement.offset(); + var doNotScroll = { + x : settingsScroll.x == strNever || settingsAxis == _strY, + y : settingsScroll.y == strNever || settingsAxis == _strX + }; + elementOffset[_strTop] -= settingsMargin[0]; + elementOffset[_strLeft] -= settingsMargin[3]; + var elementScrollCoordinates = { + x: Math.round(elementOffset[_strLeft] - viewportOffset[_strLeft] + viewportScroll.l), + y: Math.round(elementOffset[_strTop] - viewportOffset[_strTop] + viewportScroll.t) + }; + if (_isRTL) { + if (!_rtlScrollBehavior.n && !_rtlScrollBehavior.i) + elementScrollCoordinates.x = Math.round(viewportOffset[_strLeft] - elementOffset[_strLeft] + viewportScroll.l); + if (_rtlScrollBehavior.n && normalizeRTL) + elementScrollCoordinates.x *= -1; + if (_rtlScrollBehavior.i && normalizeRTL) + elementScrollCoordinates.x = Math.round(viewportOffset[_strLeft] - elementOffset[_strLeft] + (_scrollHorizontalInfo.ms - viewportScroll.l)); + } + + //measuring is required + if (settingsBlock.x != strBegin || settingsBlock.y != strBegin || settingsScroll.x == strIfNeeded || settingsScroll.y == strIfNeeded || _isRTL) { + var measuringElm = finalElement[0]; + var rawElementSize = _supportTransform ? measuringElm.getBoundingClientRect() : { + width : measuringElm[LEXICON.oW], + height : measuringElm[LEXICON.oH] + }; + var elementSize = { + w: rawElementSize[_strWidth] + settingsMargin[3] + settingsMargin[1], + h: rawElementSize[_strHeight] + settingsMargin[0] + settingsMargin[2] + }; + var finalizeBlock = function(isX) { + var vars = getScrollbarVars(isX); + var wh = vars._wh; + var lt = vars.lt; + var xy = vars.xy; + var blockIsEnd = settingsBlock[xy] == (isX ? _isRTL ? strBegin : strEnd : strEnd); + var blockIsCenter = settingsBlock[xy] == strCenter; + var blockIsNearest = settingsBlock[xy] == strNearest; + var scrollNever = settingsScroll[xy] == strNever; + var scrollIfNeeded = settingsScroll[xy] == strIfNeeded; + var vpSize = _viewportSize[wh]; + var vpOffset = viewportOffset[lt]; + var elSize = elementSize[wh]; + var elOffset = elementOffset[lt]; + var divide = blockIsCenter ? 2 : 1; + var elementCenterOffset = elOffset + (elSize / 2); + var viewportCenterOffset = vpOffset + (vpSize / 2); + var isInView = + elSize <= vpSize + && elOffset >= vpOffset + && elOffset + elSize <= vpOffset + vpSize; + + if(scrollNever) + doNotScroll[xy] = true; + else if(!doNotScroll[xy]) { + if (blockIsNearest || scrollIfNeeded) { + doNotScroll[xy] = scrollIfNeeded ? isInView : false; + blockIsEnd = elSize < vpSize ? elementCenterOffset > viewportCenterOffset : elementCenterOffset < viewportCenterOffset; + } + elementScrollCoordinates[xy] -= blockIsEnd || blockIsCenter ? ((vpSize / divide) - (elSize / divide)) * (isX && _isRTL && normalizeRTL ? -1 : 1) : 0; + } + }; + finalizeBlock(true); + finalizeBlock(false); + } + + if (doNotScroll.y) + delete elementScrollCoordinates.y; + if (doNotScroll.x) + delete elementScrollCoordinates.x; + + coordinates = elementScrollCoordinates; + } + + finalScroll[_strScrollLeft] = getFinalScroll(true, getRawScroll(coordinates).x); + finalScroll[_strScrollTop] = getFinalScroll(false, getRawScroll(coordinates).y); + doScrollLeft = finalScroll[_strScrollLeft] !== undefined; + doScrollTop = finalScroll[_strScrollTop] !== undefined; + + if ((doScrollLeft || doScrollTop) && (duration > 0 || durationIsObject)) { + if (durationIsObject) + _viewportElement.animate(finalScroll, duration); + else { + animationOptions = { + duration: duration, + complete: complete + }; + if (type(easing) == TYPES.a) { + var specialEasing = {}; + specialEasing[_strScrollLeft] = easing[0]; + specialEasing[_strScrollTop] = easing[1]; + animationOptions.specialEasing = specialEasing; + } + else { + animationOptions.easing = easing; + } + _viewportElement.animate(finalScroll, animationOptions); + } + } + else { + if (doScrollLeft) + _viewportElement[_strScrollLeft](finalScroll[_strScrollLeft]); + if (doScrollTop) + _viewportElement[_strScrollTop](finalScroll[_strScrollTop]); + } + }; + + /** + * Stops all scroll animations. + * @returns {*} The current OverlayScrollbars instance (for chaining). + */ + _base.scrollStop = function (param1, param2, param3) { + _viewportElement.stop(param1, param2, param3); + return _base; + }; + + /** + * Returns all relevant elements. + * @param elementName The name of the element which shall be returned. + * @returns {{target: *, host: *, padding: *, viewport: *, content: *, scrollbarHorizontal: {scrollbar: *, track: *, handle: *}, scrollbarVertical: {scrollbar: *, track: *, handle: *}, scrollbarCorner: *} | *} + */ + _base.getElements = function (elementName) { + var obj = { + target: _targetElement[0], + host: _hostElement[0], + padding: _paddingElement[0], + viewport: _viewportElement[0], + content: _contentElement[0], + scrollbarHorizontal: { + scrollbar: _scrollbarHorizontalElement[0], + track: _scrollbarHorizontalTrackElement[0], + handle: _scrollbarHorizontalHandleElement[0] + }, + scrollbarVertical: { + scrollbar: _scrollbarVerticalElement[0], + track: _scrollbarVerticalTrackElement[0], + handle: _scrollbarVerticalHandleElement[0] + }, + scrollbarCorner: _scrollbarCornerElement[0] + }; + return type(elementName) == TYPES.s ? getObjectPropVal(obj, elementName) : obj; + }; + + /** + * Returns a object which describes the current state of this instance. + * @param stateProperty A specific property from the state object which shall be returned. + * @returns {{widthAuto, heightAuto, overflowAmount, hideOverflow, hasOverflow, contentScrollSize, viewportSize, hostSize, autoUpdate} | *} + */ + _base.getState = function (stateProperty) { + var prepare = function (obj) { + if (!FRAMEWORK.isPlainObject(obj)) + return obj; + var extended = extend(true, {}, obj); + var changePropertyName = function (from, to) { + if (extended.hasOwnProperty(from)) { + extended[to] = extended[from]; + delete extended[from]; + } + }; + changePropertyName('w', _strWidth); //change w to width + changePropertyName('h', _strHeight); //change h to height + delete extended.c; //delete c (the 'changed' prop) + return extended; + }; + var obj = { + sleeping: prepare(_isSleeping) || false, + autoUpdate: prepare(!_mutationObserverConnected), + widthAuto: prepare(_widthAutoCache), + heightAuto: prepare(_heightAutoCache), + padding: prepare(_cssPaddingCache), + overflowAmount: prepare(_overflowAmountCache), + hideOverflow: prepare(_hideOverflowCache), + hasOverflow: prepare(_hasOverflowCache), + contentScrollSize: prepare(_contentScrollSizeCache), + viewportSize: prepare(_viewportSize), + hostSize: prepare(_hostSizeCache), + documentMixed : prepare(_documentMixed) + }; + return type(stateProperty) == TYPES.s ? getObjectPropVal(obj, stateProperty) : obj; + }; + + /** + * Gets all or specific extension instance. + * @param extName The name of the extension from which the instance shall be got. + * @returns {{}} The instance of the extension with the given name or undefined if the instance couldn't be found. + */ + _base.ext = function(extName) { + var result; + var privateMethods = _extensionsPrivateMethods.split(' '); + var i = 0; + if(type(extName) == TYPES.s) { + if(_extensions.hasOwnProperty(extName)) { + result = extend(true, {}, _extensions[extName]); + for (; i < privateMethods.length; i++) + delete result[privateMethods[i]]; + } + } + else { + result = { }; + for(i in _extensions) + result[i] = extend(true, { }, _base.ext(i)); + } + return result; + }; + + /** + * Adds a extension to this instance. + * @param extName The name of the extension which shall be added. + * @param extensionOptions The extension options which shall be used. + * @returns {{}} The instance of the added extension or undefined if the extension couldn't be added properly. + */ + _base.addExt = function(extName, extensionOptions) { + var registeredExtensionObj = window[PLUGINNAME].extension(extName); + var instance; + var instanceAdded; + var instanceContract; + var contractResult; + var contractFulfilled = true; + if(registeredExtensionObj) { + if(!_extensions.hasOwnProperty(extName)) { + instance = registeredExtensionObj.extension.call(_base, + extend(true, { }, registeredExtensionObj.defaultOptions), + FRAMEWORK, + COMPATIBILITY); + + if (instance) { + instanceContract = instance.contract; + if (type(instanceContract) == TYPES.f) { + contractResult = instanceContract(window); + contractFulfilled = type(contractResult) == TYPES.b ? contractResult : contractFulfilled; + } + if(contractFulfilled) { + _extensions[extName] = instance; + instanceAdded = instance.added; + if(type(instanceAdded) == TYPES.f) + instanceAdded(extensionOptions); + + return _base.ext(extName); + } + } + } + else + return _base.ext(extName); + } + else + console.warn("A extension with the name \"" + extName + "\" isn't registered."); + }; + + /** + * Removes a extension from this instance. + * @param extName The name of the extension which shall be removed. + * @returns {boolean} True if the extension was removed, false otherwise e.g. if the extension wasn't added before. + */ + _base.removeExt = function(extName) { + var instance = _extensions[extName]; + var instanceRemoved; + if(instance) { + delete _extensions[extName]; + + instanceRemoved = instance.removed; + if(type(instanceRemoved) == TYPES.f) + instanceRemoved(); + + return true; + } + return false; + }; + + /** + * Constructs the plugin. + * @param targetElement The element to which the plugin shall be applied. + * @param options The initial options of the plugin. + * @param extensions The extension(s) which shall be added right after the initialization. + * @returns {boolean} True if the plugin was successfully initialized, false otherwise. + */ + function construct(targetElement, options, extensions) { + _defaultOptions = globals.defaultOptions; + _nativeScrollbarStyling = globals.nativeScrollbarStyling; + _nativeScrollbarSize = extend(true, {}, globals.nativeScrollbarSize); + _nativeScrollbarIsOverlaid = extend(true, {}, globals.nativeScrollbarIsOverlaid); + _overlayScrollbarDummySize = extend(true, {}, globals.overlayScrollbarDummySize); + _rtlScrollBehavior = extend(true, {}, globals.rtlScrollBehavior); + + //parse & set options but don't update + setOptions(extend(true, { }, _defaultOptions, options)); + + //check if the plugin hasn't to be initialized + if (_nativeScrollbarIsOverlaid.x && _nativeScrollbarIsOverlaid.x && !_currentPreparedOptions.nativeScrollbarsOverlaid.initialize) { + callCallback("onInitializationWithdrawn"); + return false; + } + + _cssCalc = globals.cssCalc; + _msieVersion = globals.msie; + _autoUpdateRecommended = globals.autoUpdateRecommended; + _supportTransition = globals.supportTransition; + _supportTransform = globals.supportTransform; + _supportPassiveEvents = globals.supportPassiveEvents; + _supportResizeObserver = globals.supportResizeObserver; + _supportMutationObserver = globals.supportMutationObserver; + _restrictedMeasuring = globals.restrictedMeasuring; + _documentElement = FRAMEWORK(targetElement.ownerDocument); + _windowElement = FRAMEWORK(_documentElement[0].defaultView || _documentElement[0].parentWindow); + _htmlElement = findFirst(_documentElement, 'html'); + _bodyElement = findFirst(_htmlElement, 'body'); + _targetElement = FRAMEWORK(targetElement); + _isTextarea = _targetElement.is('textarea'); + _isBody = _targetElement.is('body'); + _documentMixed = _documentElement[0] !== document; + + var initBodyScroll; + if (_isBody) { + initBodyScroll = {}; + initBodyScroll.l = Math.max(_targetElement[_strScrollLeft](), _htmlElement[_strScrollLeft](), _windowElement[_strScrollLeft]()); + initBodyScroll.t = Math.max(_targetElement[_strScrollTop](), _htmlElement[_strScrollTop](), _windowElement[_strScrollTop]()); + } + + //build Hide-scrollbars DOM + if (_isTextarea) { + _targetElement.wrap(generateDiv(_classNameHostTextareaElement)); + addClass(_targetElement, _classNameTextareaElement + _strSpace + _classNameTextInherit); + _hostElement = _targetElement.parent(); + var hostElementCSS = {}; + if (!_currentPreparedOptions.sizeAutoCapable) { + hostElementCSS[_strWidth] = _targetElement.css(_strWidth); + hostElementCSS[_strHeight] = _targetElement.css(_strHeight); + } + _hostElement.css(hostElementCSS) + .wrapInner(generateDiv(_classNameContentElement + _strSpace + _classNameTextInherit)) + .wrapInner(generateDiv(_classNameViewportElement + _strSpace + _classNameTextInherit)) + .wrapInner(generateDiv(_classNamePaddingElement + _strSpace + _classNameTextInherit)); + _contentElement = findFirst(_hostElement, _strDot + _classNameContentElement); + _viewportElement = findFirst(_hostElement, _strDot + _classNameViewportElement); + _paddingElement = findFirst(_hostElement, _strDot + _classNamePaddingElement); + _textareaCoverElement = FRAMEWORK(generateDiv(_classNameTextareaCoverElement)); + _contentElement.prepend(_textareaCoverElement); + + _targetElement.on(_strScroll, textareaOnScroll) + .on('drop', textareaOnDrop) + .on('focus', textareaOnFocus) + .on('focusout', textareaOnFocusOut); + if (_msieVersion > 9 || !_autoUpdateRecommended) { + _targetElement.on('input', textareaOnInput); + } + else { + _targetElement.on(_strKeyDownEvent, textareaOnKeyDown) + .on(_strKeyUpEvent, textareaOnKeyUp); + } + } else { + addClass(_targetElement, _classNameHostElement); + _hostElement = _targetElement; + _hostElement.wrapInner(generateDiv(_classNameContentElement)) + .wrapInner(generateDiv(_classNameViewportElement)) + .wrapInner(generateDiv(_classNamePaddingElement)); + _contentElement = findFirst(_hostElement, _strDot + _classNameContentElement); + _viewportElement = findFirst(_hostElement, _strDot + _classNameViewportElement); + _paddingElement = findFirst(_hostElement, _strDot + _classNamePaddingElement); + + //add transitionend event + _contentElement.on(_strTransitionEndEvent, function (event) { + if (_autoUpdateCache === true) + return; + event = event.originalEvent || event; + if (isSizeAffectingCSSProperty(event.propertyName)) + update(_strAuto); + }); + } + + buildScrollbars(); + + //add scroll event + if (_supportPassiveEvents) + addPassiveEventListener(_viewportElement, _strScroll, viewportOnScroll); + else + _viewportElement.on(_strScroll, viewportOnScroll); + + if (_nativeScrollbarStyling) + addClass(_viewportElement, _nativeScrollbarIsOverlaid.x && _nativeScrollbarIsOverlaid.y ? _classNameViewportNativeScrollbarsOverlaid : _classNameViewportNativeScrollbarsInvisible); + + //build mutation observers + if (_supportMutationObserver) { + var mutationObserver = COMPATIBILITY.mO(); + var contentLastUpdate = COMPATIBILITY.now(); + var mutationTarget; + var mutationAttrName; + var contentTimeout; + var now; + var sizeAuto; + var action; + + _mutationObserverHost = new mutationObserver(function (mutations) { + if (!_initialized || _isSleeping) + return; + + var doUpdate = false; + //var doUpdateScrollbars = false; + var mutation; + FRAMEWORK.each(mutations, function () { + mutation = this; + mutationTarget = mutation.target; + mutationAttrName = mutation.attributeName; + + if (mutationAttrName === LEXICON.c) + doUpdate = hostClassNamesChanged(mutation.oldValue, mutationTarget.className); + else if (mutationAttrName === LEXICON.s) + doUpdate = mutation.oldValue !== mutationTarget[LEXICON.s].cssText; + else + doUpdate = true; + + if (doUpdate) + return false; + }); + + if (doUpdate) + _base.update(_strAuto); + /* + if(doUpdateScrollbars) { + refreshScrollbarHandleLength(true); + refreshScrollbarHandleOffset(true, _scrollHorizontalInfo.cs); + refreshScrollbarHandleLength(false); + refreshScrollbarHandleOffset(false, _scrollVerticalInfo.cs); + } + */ + }); + _mutationObserverContent = new mutationObserver(function (mutations) { + if (!_initialized || _isSleeping) + return; + + var doUpdate = false; + var mutation; + FRAMEWORK.each(mutations, function () { + mutation = this; + doUpdate = isUnknownMutation(mutation); + return !doUpdate; + }); + + if (doUpdate) { + now = COMPATIBILITY.now(); + sizeAuto = (_heightAutoCache || _widthAutoCache); + action = function () { + if(!_destroyed) { + contentLastUpdate = now; + + //if cols, rows or wrap attr was changed + if (_isTextarea) + textareaUpdate(); + + if (sizeAuto) + update(); + else + _base.update(_strAuto); + } + }; + clearTimeout(contentTimeout); + if (_mutationObserverContentLag <= 0 || now - contentLastUpdate > _mutationObserverContentLag || !sizeAuto) + action(); + else + contentTimeout = setTimeout(action, _mutationObserverContentLag); + } + }); + } + + //build resize observer for the host element + if (_isBody) { + addClass(_htmlElement, _classNameHTMLElement); + + //apply the body scroll to handle it right in the update method + _viewportElement[_strScrollLeft](initBodyScroll.l); + _viewportElement[_strScrollTop](initBodyScroll.t); + } + _sizeObserverElement = FRAMEWORK(generateDiv('os-resize-observer-host')); + _hostElement.prepend(_sizeObserverElement); + addResizeObserver(_sizeObserverElement, hostOnResized); + + //update for the first time + hostOnResized(); //initialize cache for host size + _base.update(_strAuto); //initialize cache for content + + //add the transition class for transitions AFTER the first update (for preventing unwanted transitions) + setTimeout(function () { + if (_supportTransition && !_destroyed) + addClass(_hostElement, _classNameHostTransition) + }, 333); + + //the plugin is initialized now! + _initialized = true; + callCallback("onInitialized"); + + //add extensions + if(type(extensions) == TYPES.s) + extensions = [ extensions ]; + if(COMPATIBILITY.isA(extensions)) + FRAMEWORK.each(extensions, function () {_base.addExt(this); }); + else if(FRAMEWORK.isPlainObject(extensions)) + FRAMEWORK.each(extensions, function (key, value) { _base.addExt(key, value); }); + + return _initialized; + } + + if (construct(pluginTargetElement, options, extensions)) { + INSTANCES(pluginTargetElement, _base); + return _base; + } + _base = undefined; + } + + /** + * Initializes a new OverlayScrollbarsInstance object or changes options if already initialized or returns the current instance. + * @param pluginTargetElements The elements to which the Plugin shall be initialized. + * @param options The custom options with which the plugin shall be initialized. + * @param extensions The extension(s) which shall be added right after initialization. + * @returns {*} + */ + window[PLUGINNAME] = function(pluginTargetElements, options, extensions) { + if(arguments.length === 0) + return this; + + initOverlayScrollbarsStatics(); + + var arr = [ ]; + var inst; + var result; + if(FRAMEWORK.isPlainObject(options)) { + if (pluginTargetElements && pluginTargetElements.length) { + FRAMEWORK.each(pluginTargetElements, function () { + inst = this; + if(inst !== undefined) + arr.push(OverlayScrollbarsInstance(inst, options, extensions, _pluginsGlobals, _pluginsAutoUpdateLoop)); + }); + result = arr.length > 1 ? arr : arr[0]; + } + else + result = OverlayScrollbarsInstance(pluginTargetElements, options, extensions, _pluginsGlobals, _pluginsAutoUpdateLoop); + } + else if(pluginTargetElements) { + if(pluginTargetElements.length && pluginTargetElements.length > 0) { + FRAMEWORK.each(pluginTargetElements, function() { + inst = INSTANCES(this); + if(options === '!') { + if(inst instanceof window[PLUGINNAME]) + arr.push(inst); + } + else + arr.push(inst); + }); + result = arr.length > 1 ? arr : arr[0]; + } + else + result = INSTANCES(pluginTargetElements); + } + return result; + }; + + /** + * Returns a object which contains global information about the plugin and each instance of it. + * The returned object is just a copy, that means that changes to the returned object won't have any effect to the original object. + */ + window[PLUGINNAME].globals = function () { + initOverlayScrollbarsStatics(); + var globals = FRAMEWORK.extend(true, { }, _pluginsGlobals); + delete globals['msie']; + return globals; + }; + + /** + * Gets or Sets the default options for each new plugin initialization. + * @param newDefaultOptions The object with which the default options shall be extended. + */ + window[PLUGINNAME].defaultOptions = function(newDefaultOptions) { + initOverlayScrollbarsStatics(); + var currDefaultOptions = _pluginsGlobals.defaultOptions; + if(newDefaultOptions === undefined) + return FRAMEWORK.extend(true, { }, currDefaultOptions); + + //set the new default options + _pluginsGlobals.defaultOptions = FRAMEWORK.extend(true, { }, currDefaultOptions , _pluginsOptions.v(newDefaultOptions, _pluginsOptions.t, true)); + }; + + /** + * Registers, Unregisters or returns a extension. + * Register: Pass the name and the extension. (defaultOptions is optional) + * Unregister: Pass the name and anything except a function as extension parameter. + * Get extension: Pass the name of the extension which shall be got. + * Get all extensions: Pass no arguments. + * @param extensionName The name of the extension which shall be registered, unregistered or returned. + * @param extension A function which generates the instance of the extension or anything other to remove a already registered extension. + * @param defaultOptions The default options which shall be used for the registered extension. + */ + window[PLUGINNAME].extension = function(extensionName, extension, defaultOptions) { + var extNameTypeString = COMPATIBILITY.type(extensionName) == TYPES.s; + var argLen = arguments[LEXICON.l]; + var i = 0; + if(argLen < 1 || !extNameTypeString) { + //return a copy of all extension objects + return FRAMEWORK.extend(true, { length : _pluginsExtensions[LEXICON.l] }, _pluginsExtensions); + } + else if(extNameTypeString) { + if(COMPATIBILITY.type(extension) == TYPES.f) { + //register extension + _pluginsExtensions.push({ + name : extensionName, + extension : extension, + defaultOptions : defaultOptions + }); + } + else { + for(; i < _pluginsExtensions[LEXICON.l]; i++) { + if (_pluginsExtensions[i].name === extensionName) { + if(argLen > 1) + _pluginsExtensions.splice(i, 1); //remove extension + else + return FRAMEWORK.extend(true, { }, _pluginsExtensions[i]); //return extension with the given name + } + } + } + } + }; + + return window[PLUGINNAME]; + })(); + + if(JQUERY && JQUERY.fn) { + /** + * The jQuery initialization interface. + * @param options The initial options for the construction of the plugin. To initialize the plugin, this option has to be a object! If it isn't a object, the instance(s) are returned and the plugin wont be initialized. + * @param extensions The extension(s) which shall be added right after initialization. + * @returns {*} After initialization it returns the jQuery element array, else it returns the instance(s) of the elements which are selected. + */ + JQUERY.fn.overlayScrollbars = function (options, extensions) { + var _elements = this; + if(JQUERY.isPlainObject(options)) { + JQUERY.each(_elements, function() { PLUGIN(this, options, extensions); }); + return _elements; + } + else + return PLUGIN(_elements, options); + }; + } + return PLUGIN; + } +)); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/OverlayScrollbars.min.css b/apps/config_explorer/appserver/static/OverlayScrollbars.min.css new file mode 100755 index 00000000..e405c52f --- /dev/null +++ b/apps/config_explorer/appserver/static/OverlayScrollbars.min.css @@ -0,0 +1,13 @@ +/*! + * OverlayScrollbars + * https://github.com/KingSora/OverlayScrollbars + * + * Version: 1.5.3 + * + * Copyright KingSora. + * https://github.com/KingSora + * + * Released under the MIT license. + * Date: 07.11.2018 + */ +html.os-html,html.os-html>.os-host{display:block;overflow:hidden;box-sizing:border-box;height:100%!important;width:100%!important;min-width:100%!important;min-height:100%!important;margin:0!important;position:absolute!important}.os-padding,.os-viewport{top:0;left:0;right:0;margin:0;padding:0;bottom:0}html.os-html>.os-host>.os-padding{position:absolute}body.os-dragging,body.os-dragging *{cursor:default}.os-host,.os-host-textarea{position:relative;overflow:visible!important;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.os-host-flexbox{overflow:hidden!important;display:flex}.os-host-flexbox>.os-padding>.os-viewport>.os-content{display:flex}#hs-dummy-scrollbar-size{position:fixed;opacity:0;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=0)';visibility:hidden;overflow:scroll;height:500px;width:500px}#hs-dummy-scrollbar-size,.os-viewport{-ms-overflow-style:scrollbar!important}.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar-corner,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner{display:none!important;width:0!important;height:0!important;visibility:hidden!important;background:0 0!important}.os-content-glue{max-height:100%;max-width:100%;width:100%;pointer-events:none}.os-padding{direction:inherit;position:absolute;overflow:visible;width:auto!important;height:auto!important;z-index:1}.os-host-overflow>.os-padding,.os-viewport{overflow:hidden}.os-viewport{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;-webkit-overflow-scrolling:touch}.os-content-arrange{position:absolute;z-index:-1;min-height:1px;min-width:1px;pointer-events:none}.os-content{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:100%;visibility:visible}.os-content>.os-textarea{direction:inherit!important;float:none!important;margin:0!important;max-height:none!important;max-width:none!important;border:none!important;border-radius:0!important;background:0 0!important;outline:transparent 0!important;overflow:hidden!important;resize:none!important;position:absolute!important;top:0!important;left:0!important;z-index:1;padding:0}.os-host-rtl>.os-padding>.os-viewport>.os-content>.os-textarea{right:0!important}.os-content>.os-textarea-cover{z-index:-1;pointer-events:none}.os-content>.os-textarea[wrap=off]{white-space:pre!important;margin:0!important}.os-text-inherit{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;font-variant:inherit;text-transform:inherit;text-decoration:inherit;text-indent:inherit;text-align:inherit;text-shadow:inherit;text-overflow:inherit;letter-spacing:inherit;word-spacing:inherit;line-height:inherit;unicode-bidi:inherit;direction:inherit;color:inherit;cursor:text}.os-resize-observer,.os-resize-observer-host{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.os-resize-observer-host{padding:inherit;border:solid inherit;box-sizing:border-box}.os-resize-observer-host:after{content:''}.os-resize-observer-host:after,.os-resize-observer-host>.os-resize-observer{height:200%;width:200%;padding:inherit;border:inherit;margin:0;display:block;box-sizing:content-box}.os-resize-observer.observed,object.os-resize-observer{box-sizing:border-box!important}.os-size-auto-observer{box-sizing:inherit!important;height:100%;width:inherit;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.os-size-auto-observer>.os-resize-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-resize-observer-item{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:-1;opacity:0;direction:ltr!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer-item-final{position:absolute;left:0;top:0;-webkit-transition:none!important;transition:none!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important}.os-resize-observer{-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-name:hs-resize-observer-dummy-animation;animation-name:hs-resize-observer-dummy-animation}.os-host-transition>.os-scrollbar,.os-host-transition>.os-scrollbar-corner{-webkit-transition:opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s;transition:opacity .3s,visibility .3s,top .3s,right .3s,bottom .3s,left .3s}html.os-html>.os-host>.os-scrollbar{position:absolute;z-index:999999}.os-scrollbar,.os-scrollbar-corner{position:absolute;opacity:1;-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';z-index:1}.os-scrollbar-corner{bottom:0;right:0}.os-scrollbar{pointer-events:none}.os-scrollbar-handle,.os-scrollbar-track{pointer-events:auto;width:100%;height:100%}.os-scrollbar-track{position:relative;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-handle-off,.os-scrollbar-track-off{pointer-events:none}.os-scrollbar.os-scrollbar-unusable,.os-scrollbar.os-scrollbar-unusable *{pointer-events:none!important}.os-scrollbar.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-host-rtl>.os-scrollbar-horizontal{right:0}.os-host-rtl>.os-scrollbar-corner,.os-host-rtl>.os-scrollbar-vertical{right:auto;left:0}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-corner,.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-corner,.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal,.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical,.os-padding+.os-scrollbar-corner,.os-scrollbar-auto-hidden,.os-scrollbar-horizontal+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical+.os-scrollbar-corner,.os-scrollbar-horizontal.os-scrollbar-auto-hidden+.os-scrollbar-vertical.os-scrollbar-auto-hidden+.os-scrollbar-corner{opacity:0;visibility:hidden;pointer-events:none}.os-scrollbar-corner-resize-both{cursor:nwse-resize}.os-host-rtl>.os-scrollbar-corner-resize-both{cursor:nesw-resize}.os-scrollbar-corner-resize-horizontal{cursor:ew-resize}.os-scrollbar-corner-resize-vertical{cursor:ns-resize}.os-dragging .os-scrollbar-corner.os-scrollbar-corner-resize{cursor:default}.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden>.os-scrollbar-vertical{top:0;bottom:0}.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal,.os-host-rtl.os-host-resize-disabled.os-host-scrollbar-vertical-hidden>.os-scrollbar-horizontal{right:0;left:0}.os-scrollbar-corner.os-scrollbar-corner-resize,.os-scrollbar:hover{opacity:1!important;visibility:visible!important}.os-scrollbar-corner.os-scrollbar-corner-resize{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICB3aWR0aD0iMTAiICAgaGVpZ2h0PSIxMCIgICB2ZXJzaW9uPSIxLjEiPiAgPGcgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEwNDIuMzYyMikiICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eTowLjQ5NDExNzY1O2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDcuNDI0MjE4NywxMDQyLjM2MjIgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjYgLTEuMzEwMTU2MiwxLjMxMDIgMCwwLjI5OSAwLjEwNDM0MTksMC41NzEgMC4yNzI5NDkyLDAuNzkxNSAwLjIwOTEwMjQsMC4xNDEzIDAuNDY1NjIwNiwwLjIxODQgMC43MzY5NjI5LDAuMjE4NCAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NiAxLjMxMDE1NjMsLTEuMzEwMiAwLC0wLjI3MTMgLTAuMDc3MDkzLC0wLjUyNzggLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0MSwtMC4xNjg2IC0wLjQ5MjU0NDMsLTAuMjcyOSAtMC43OTE1NTI4LC0wLjI3MjkgeiBtIDAsMy4wODQzIGMgLTAuNzIzNTc5MiwwIC0xLjMxMDE1NjIsMC41ODY2IC0xLjMxMDE1NjIsMS4zMTAyIDAsMC4yOTkgMC4xMDQzNDE5LDAuNTcxIDAuMjcyOTQ5MiwwLjc5MTUgMC4yMDkxMDI0LDAuMTQxMyAwLjQ2NTYyMDYsMC4yMTg0IDAuNzM2OTYyOSwwLjIxODQgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjYgMS4zMTAxNTYzLC0xLjMxMDIgMCwtMC4yNzEzIC0wLjA3NzA5MywtMC41Mjc4IC0wLjIxODM1OTQsLTAuNzM2OSAtMC4yMjA0OTQxLC0wLjE2ODYgLTAuNDkyNTQ0MywtMC4yNzMgLTAuNzkxNTUyOCwtMC4yNzMgeiBtIC0zLjA4NDMyNjEsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NiAtMS4zMTAxNTYzLDEuMzEwMiAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MSAwLjI3Mjk0OTIsMC43OTE1IDAuMjA5MTAyNCwwLjE0MTMgMC40NjU2MjA3LDAuMjE4NCAwLjczNjk2MjksMC4yMTg0IDAuNzIzNTc5MywwIDEuMzEwMTU2MywtMC41ODY2IDEuMzEwMTU2MywtMS4zMTAyIDAsLTAuMjcxMyAtMC4wNzcwOTMsLTAuNTI3OCAtMC4yMTgzNTk0LC0wLjczNjkgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzMgLTAuNzkxNTUyNywtMC4yNzMgeiBtIC0zLjAyOTczNjQsMy4wMjk4IEMgMC41ODY1NzY5MywxMDQ4LjQ3NjMgMCwxMDQ5LjA2MjggMCwxMDQ5Ljc4NjQgYyAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyMiwwLjc5MTYgMC4yMDkxMDIyOSwwLjE0MTIgMC40NjU2MjA2NSwwLjIxODMgMC43MzY5NjI4OCwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHogbSAzLjAyOTczNjQsMCBjIC0wLjcyMzU3OTMsMCAtMS4zMTAxNTYzLDAuNTg2NSAtMS4zMTAxNTYzLDEuMzEwMSAwLDAuMjk5IDAuMTA0MzQxOSwwLjU3MTEgMC4yNzI5NDkyLDAuNzkxNiAwLjIwOTEwMjQsMC4xNDEyIDAuNDY1NjIwNywwLjIxODMgMC43MzY5NjI5LDAuMjE4MyAwLjcyMzU3OTMsMCAxLjMxMDE1NjMsLTAuNTg2NSAxLjMxMDE1NjMsLTEuMzEwMSAwLC0wLjI3MTQgLTAuMDc3MDkzLC0wLjUyNzkgLTAuMjE4MzU5NCwtMC43MzcgLTAuMjIwNDk0LC0wLjE2ODYgLTAuNDkyNTQ0MiwtMC4yNzI5IC0wLjc5MTU1MjcsLTAuMjcyOSB6IG0gMy4wODQzMjYxLDAgYyAtMC43MjM1NzkyLDAgLTEuMzEwMTU2MiwwLjU4NjUgLTEuMzEwMTU2MiwxLjMxMDEgMCwwLjI5OSAwLjEwNDM0MTksMC41NzExIDAuMjcyOTQ5MiwwLjc5MTYgMC4yMDkxMDI0LDAuMTQxMiAwLjQ2NTYyMDYsMC4yMTgzIDAuNzM2OTYyOSwwLjIxODMgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjUgMS4zMTAxNTYzLC0xLjMxMDEgMCwtMC4yNzE0IC0wLjA3NzA5MywtMC41Mjc5IC0wLjIxODM1OTQsLTAuNzM3IC0wLjIyMDQ5NDEsLTAuMTY4NiAtMC40OTI1NDQzLC0wLjI3MjkgLTAuNzkxNTUyOCwtMC4yNzI5IHoiLz4gIDwvZz4gIDxnICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPiAgICA8cGF0aCAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTpub25lIiAgICAgICBkPSJtIDguMjE1NzcxNSwwLjI3Mjk0OTIyIGMgMC4xNDEyNjY3LDAuMjA5MTAyMjkgMC4yMTgzNTk0LDAuNDY1NjIwNjUgMC4yMTgzNTk0LDAuNzM2OTYyODggMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDc2IC0wLjIwNTUxNzYsLTAuNzk3Nzk2NTkgLTAuNTE4NjAzNSwtMS4wMzcyMDY5OCB6IG0gMCwzLjA4NDMyNjE4IGMgMC4xNDEyNjY3LDAuMjA5MTAyMyAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MiAtMS4zMTAxNTYzLDEuMzEwMTU2MiAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTkzIDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAtMy4wODQzMjYyLDAgYyAwLjE0MTI2NjcsMC4yMDkxMDIzIDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYyIC0xLjMxMDE1NjMsMS4zMTAxNTYyIC0wLjI3MTM0MjIsMCAtMC41Mjc4NjA1LC0wLjA3NzA5MyAtMC43MzY5NjI5LC0wLjIxODM1OTMgMC4yMzk0MTA0LDAuMzEzMDg1OSAwLjYxMjYzNjMsMC41MTg2MDM1IDEuMDM3MjA3MSwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYyLC0wLjU4NjU3NyAxLjMxMDE1NjIsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NSwtMC43OTc3OTY3IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogTSAyLjEwMTcwOSw2LjM4NzAxMTcgYyAwLjE0MTI2NjcsMC4yMDkxMDI0IDAuMjE4MzU5NCwwLjQ2NTYyMDYgMC4yMTgzNTk0LDAuNzM2OTYyOSAwLDAuNzIzNTc5MyAtMC41ODY1NzcsMS4zMTAxNTYzIC0xLjMxMDE1NjMsMS4zMTAxNTYzIC0wLjI3MTM0MjIzLDAgLTAuNTI3ODYwNTksLTAuMDc3MDkzIC0wLjczNjk2Mjg4LC0wLjIxODM1OTQgMC4yMzk0MTAzOSwwLjMxMzA4NTkgMC42MTI2MzYyMiwwLjUxODYwMzUgMS4wMzcyMDY5OCwwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHogbSAzLjAyOTczNjMsMCBjIDAuMTQxMjY2NywwLjIwOTEwMjQgMC4yMTgzNTk0LDAuNDY1NjIwNiAwLjIxODM1OTQsMC43MzY5NjI5IDAsMC43MjM1NzkzIC0wLjU4NjU3NywxLjMxMDE1NjMgLTEuMzEwMTU2MywxLjMxMDE1NjMgLTAuMjcxMzQyMiwwIC0wLjUyNzg2MDUsLTAuMDc3MDkzIC0wLjczNjk2MjksLTAuMjE4MzU5NCAwLjIzOTQxMDQsMC4zMTMwODU5IDAuNjEyNjM2MywwLjUxODYwMzUgMS4wMzcyMDcxLDAuNTE4NjAzNSAwLjcyMzU3OTMsMCAxLjMxMDE1NjIsLTAuNTg2NTc3IDEuMzEwMTU2MiwtMS4zMTAxNTYzIDAsLTAuNDI0NTcwOCAtMC4yMDU1MTc1LC0wLjc5Nzc5NjYgLTAuNTE4NjAzNSwtMS4wMzcyMDcgeiBtIDMuMDg0MzI2MiwwIGMgMC4xNDEyNjY3LDAuMjA5MTAyNCAwLjIxODM1OTQsMC40NjU2MjA2IDAuMjE4MzU5NCwwLjczNjk2MjkgMCwwLjcyMzU3OTMgLTAuNTg2NTc3LDEuMzEwMTU2MyAtMS4zMTAxNTYzLDEuMzEwMTU2MyAtMC4yNzEzNDIzLDAgLTAuNTI3ODYwNSwtMC4wNzcwOTMgLTAuNzM2OTYyOSwtMC4yMTgzNTk0IDAuMjM5NDEwNCwwLjMxMzA4NTkgMC42MTI2MzYyLDAuNTE4NjAzNSAxLjAzNzIwNywwLjUxODYwMzUgMC43MjM1NzkzLDAgMS4zMTAxNTYzLC0wLjU4NjU3NyAxLjMxMDE1NjMsLTEuMzEwMTU2MyAwLC0wLjQyNDU3MDggLTAuMjA1NTE3NiwtMC43OTc3OTY2IC0wLjUxODYwMzUsLTEuMDM3MjA3IHoiIC8+ICA8L2c+PC9zdmc+);background-repeat:no-repeat;background-position:100% 100%;pointer-events:auto!important}.os-host-rtl>.os-scrollbar-corner.os-scrollbar-corner-resize{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.os-host-overflow{overflow:hidden!important}@-webkit-keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}@keyframes hs-resize-observer-dummy-animation{from{z-index:0}to{z-index:-1}}.os-theme-none>.os-scrollbar-corner,.os-theme-none>.os-scrollbar-horizontal,.os-theme-none>.os-scrollbar-vertical{display:none!important}.os-theme-none>.os-scrollbar-corner-resize{display:block!important;min-width:10px;min-height:10px}.os-theme-dark>.os-scrollbar-horizontal,.os-theme-light>.os-scrollbar-horizontal{right:10px;height:10px}.os-theme-dark>.os-scrollbar-vertical,.os-theme-light>.os-scrollbar-vertical{bottom:10px;width:10px}.os-theme-dark.os-host-rtl>.os-scrollbar-horizontal,.os-theme-light.os-host-rtl>.os-scrollbar-horizontal{left:10px;right:0}.os-theme-dark>.os-scrollbar-corner,.os-theme-light>.os-scrollbar-corner{height:10px;width:10px;background-color:transparent}.os-theme-dark>.os-scrollbar,.os-theme-light>.os-scrollbar{padding:2px;box-sizing:border-box;background:0 0}.os-theme-dark>.os-scrollbar.os-scrollbar-unusable,.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar.os-scrollbar-unusable,.os-theme-light>.os-scrollbar>.os-scrollbar-track{background:0 0}.os-theme-dark>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-horizontal>.os-scrollbar-track>.os-scrollbar-handle{min-width:30px}.os-theme-dark>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar-vertical>.os-scrollbar-track>.os-scrollbar-handle{min-height:30px}.os-theme-dark.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light.os-host-transition>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{-webkit-transition:background-color .3s;transition:background-color .3s}.os-theme-dark>.os-scrollbar>.os-scrollbar-track,.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle,.os-theme-light>.os-scrollbar>.os-scrollbar-track,.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{border-radius:10px}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.4)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.4)}.os-theme-dark>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(0,0,0,.55)}.os-theme-light>.os-scrollbar:hover>.os-scrollbar-track>.os-scrollbar-handle{background:rgba(255,255,255,.55)}.os-theme-dark>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(0,0,0,.7)}.os-theme-light>.os-scrollbar>.os-scrollbar-track>.os-scrollbar-handle.active{background:rgba(255,255,255,.7)}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{content:'';position:absolute;left:0;right:0;top:0;bottom:0;display:block}.os-theme-dark.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-dark.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-horizontal-hidden>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light.os-host-scrollbar-vertical-hidden>.os-scrollbar-vertical .os-scrollbar-handle:before{display:none}.os-theme-dark>.os-scrollbar-horizontal .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-horizontal .os-scrollbar-handle:before{top:-6px;bottom:-2px}.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{left:-6px;right:-2px}.os-host-rtl.os-theme-dark>.os-scrollbar-vertical .os-scrollbar-handle:before,.os-host-rtl.os-theme-light>.os-scrollbar-vertical .os-scrollbar-handle:before{right:-6px;left:-2px} \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/config.css b/apps/config_explorer/appserver/static/config.css new file mode 100755 index 00000000..54ad289e --- /dev/null +++ b/apps/config_explorer/appserver/static/config.css @@ -0,0 +1,1128 @@ +body { + display: flex; + flex-direction: column; + position: fixed; + width: 100%; + height: 100%; +} +header { + flex: 0 0 auto; +} +.dashboard-body { + flex: 1 0 0%; + position: relative; + overflow: hidden; + background-color: #1e1e1e; +} +.dashboard-title { + display: none; +} +.panel-body.html { + /* this only appears during loading */ + background-color: #1e1e1e; +} +.red { + color: #dd6a6f; +} +.bold { + font-weight: bold; +} +.dashboard-body a, +.dashboard-body a:hover { + color: #00A4FD +} +.dashboard-body.ce_loading { + height: 100%; + position: absolute; + width: 100%; +} +.ce_loading .ce_wrap { + visibility: hidden; +} +.ce_no_write_access .ce_add_file, +.ce_no_write_access .ce_add_folder, +.ce_no_write_access .ce_upload_file, +.ce_no_write_access .ce_rename_icon, +.ce_no_write_access .ce_delete_icon { + display: none; +} +.ce_no_run_access .ce_app_run { + display: none; +} +.ce_no_settings_access .ce_app_settings { + display: none; +} +.ce_no_git_access .ce_app_changelog { + display: none; +} +.dashboard-body * { + box-sizing: border-box; +} +.dashboard-body a:focus, +.dashboard-body a:active { + box-shadow: none !important; +} +.ce_bg_image { + position: absolute; + right: -37px; + opacity: 0.2; + width: 450px; + bottom: -40px; +} +.ce_tab_saving_icon { + color: #00A4FD; + animation: pulsate 1s infinite linear; + z-index: 9; +} +@keyframes pulsate{ + 0% { + transform: scale(0.8, 0.8); + opacity: 0.2; + } + 50% { + transform: scale(1.2, 1.2); + opacity: 1.0; + } + 100% { + transform: scale(0.8, 0.8); + opacity: 0.2; + } +} +.ce_cancel { + text-align: center; + margin: 30px 10px; +} +.ce_timer { + color: #ccc; + text-align: center; +} +.ce_wrap { + position: absolute; + background-color: #353535; + top: 0; + bottom: 0; + right: 0; + left: 0; +} +.ce_file_wrap i{ + margin-left: -18px; + position: absolute; +} +.ce_leftnav { + cursor: pointer; + white-space: nowrap; + border-left: 3px solid #1d1d1d; + padding: 2px 10px 2px 30px; +} +.ce_leftnav:hover { + background-color:#2a2d2e; + border-left: 3px solid #00A4FD; +} +.ce_leftnav_highlighted { + background-color: rgba(0, 99, 153, 1) !important; +} +.ce_leftnav_keyboard_selected:before { + font-size: 20px; + content: "\25B8"; + font-family: Splunk Icons; + font-style: normal; + font-weight: 400; + text-decoration: inherit; + line-height: inherit; + position: absolute; + color: #00A4FD; + margin-left: -28px; +} +.ce_leftnav_name { + display: inline-block; + min-width: 300px; + width: 50%; + vertical-align: top; + text-overflow: ellipsis; + overflow: hidden; +} +.ce_leftnav_time { + display: inline-block; + min-width: 140px; + width: 24%; + vertical-align: top; +} +.ce_leftnav_size { + display: inline-block; + min-width: 50px; + text-align: right; + width: 16%; + vertical-align: top; + padding-right: 20px; +} +.ce_opacity06 { + opacity: 0.6; +} +.ce_tree_pane { + position: absolute; + width: 280px; + height: 100%; + background-color: #1d1d1d; +} +.ce_tree_pane .ce_spinner { + position: absolute; + left: 0; + right: 0; + transform: scale(0.75); + text-align: center; +} +.ce_tree_icons{ + max-height: 38px; + background-color: #404040; + padding-left: 4px; + overflow: hidden; + +} +.ce_tree_icons .ce_clickable_icon { + border: 2px solid #404040; + border-radius: 6px; + padding: 6px 8px 8px 6px; + margin: 4px 2px 0 2px; + text-align: center; + width: 32px; +} +.ce_tree_icons .ce_selected { + background-color: #1d1d1d; + border: 0 none; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + color: white; + box-shadow: inset -6px 0 6px 0px #1d1d1d, 0 0 15px #404040, 0 0 30px #404040; +} + +.ce_tree_btn { + display: none; +} + +.ce_tree_btn_tab, .ce_tree_btn_show { + display: inline-block; +} + +.ce_icons_divider { + height: 21px; + width: 5px; + margin-right: 4px; + border-right: 1px solid #262626; + display: inline-block; + transform: translateY(5px); +} + +.ce_treenothing .icon-warning, .ce_treeempty .icon-warning { + margin-right: 8px; +} +.ce_treenothing, .ce_treeempty { + white-space: nowrap; + padding: 40px 10px 2px 22px; + text-overflow: ellipsis; + overflow: hidden; +} +.ce_treeempty{ + opacity: 0.4; + margin-left: 22px; +} +.ce_treehighlight, +.ce_treenothing_text { + color: #00A4FD; +} +.ce_link { + color: #00A4FD; + text-decoration: underline; + cursor: pointer; +} +.tooltip.in { + opacity: 0.95 +} +input[type=text].ce_treesearch_input{ + background-color: rgb(64, 64, 64); + color: white; + position: absolute; + z-index: 9; + bottom: -10px; + border: 0px none; + left: 0; + height: 28px; + display: block; + box-shadow: none; + border-radius: 0; + width: 100%; + padding-left: 13px; +} +input[type=text].ce_treesearch_input::placeholder { + color: #bfbfbf; +} +.ce_file_path { + line-height: 22px; + white-space: nowrap; + padding: 8px 10px 2px 22px; + text-overflow: ellipsis; + overflow: hidden; + color: white; +} +.ce_file_list { + color: #ccc; + position: absolute !important; + margin: 0; + padding: 0; + top: 70px; + /* overflow-x: hidden; */ + bottom: 30px; + width: 100%; +} +.ce_file_wrap { + opacity: 1; + transform: translate(0px, 0px); + padding: 4px 0; + transition: all 300ms; +} +.ce_move_fwd , .ce_move_back , .ce_move_none { + opacity: 0; +} +.ce_move_fwd { + transform: translate(-200px, 0px); +} +.ce_move_back { + transform: translate(200px, 0px); +} +.ce_rtl{ + direction:rtl; +} +.ce_file_path > bdi { + display: none; +} +.ce_file_path.ce_rtl > bdi { + display: inline; +} +.ce_file_path.ce_rtl > span { + display: none; +} +.ce_file_path .ce_right_icon { + background-color: transparent; +} +.ce_container { + position: absolute; + left: 283px; + right: 0; + top: 0; + bottom: 0; + background-color: #404040; + padding-left: 6px; +} +.ce_resize_column { + top: 0; + bottom: 0; + left: 280px; + position: absolute; + background: #404040; + width: 3px; + cursor: col-resize; + z-index: 12; +} +.ce_tabs { + height: 38px; + position: absolute; + left: 34px; + right: 0; + top: 0; + display: flex; + background-color: #404040; + color: #ddd; + padding-right: 4px; +} +.ce_home_tab { + position: absolute; + width: 34px; + line-height: 34px; + cursor: pointer; + color: #ddd; + background-color: #404040; + left: 0; + padding-left: 6px; + top: 0; + height: 40px; + margin-top: 4px; +} +.ce_app_name { + font-size: 20px; + font-weight: 200; + padding-right: 20px; +} +.ce_app_name i { + font-size: 22px; +} +.ce_app_title { + color: white; + font-size: 26px; + letter-spacing: -1px; +} +.ce_theme_vs .ce_app_title { + color: black; +} +.ce_actions_header { + font-size: 16px; + margin-top: 16px; + margin-bottom: 10px; + font-weight: bold; +} +.ce_actions_text { + margin: 0 10px 0 6px +} +.ce_custom_actions{ + margin:40px 60px 40px 0; + max-width:1200px; +} +.ce_footer_links { + margin-top:40px; +} +.ce_tagline { + font-size: 10px; + letter-spacing: 3px; + margin-bottom: 40px; + opacity: 0.3; +} +.ce_marginbottom { + margin-bottom:20px; +} + +.ce_contents_home .btn:hover { + box-shadow: inset 0 -1px 0 #3c444d; + color: #fff; + filter: none; + text-decoration: none; + text-shadow: none; + transition: background .2s, border .2s, box-shadow .2s, text-decoration .2s; +} +.ce_contents_home .btn { + background-color: #5c6773; + border: 1px solid #32414c; + border-radius: 3px; + color: #ddd; + margin: 0 5px 5px 0; + /* background-color: #5c6773; + border: 1px solid #32414c; + border-radius: 3px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #ddd; + cursor: pointer; + display: inline-block; + font-size: 14px; + font-weight: 400; + height: auto; + line-height: 20px; + margin-bottom: 0; + padding: 5px 14px; + text-align: center; + vertical-align: middle; + white-space: nowrap; */ +} +.ce_home_buttonset { + margin-top:30px; + margin-bottom: 30px; +} +.ce_tab { + position: relative; + width: 220px; + line-height: 36px; + white-space: nowrap; + overflow: hidden; + padding: 0 2px 0 8px; + cursor: pointer; + margin-top:4px; +} +.ce_fullPathTab { + width: 300px; + direction: rtl; + padding-right: 15px; + text-align: left; +} +.ce_pipe { + position: absolute; + right: 0px; + margin-top: 6px; + height: 21px; + width: 0px; + z-index: 4; + margin-right: 0px; + border-right: 1px solid #262626; +} +.ce_pipe_left { + position: absolute; + left: 0px; + margin-top: 6px; + border-left: 1px solid #262626; + height: 21px; + width: 0px; + z-index: 4; + margin-left: 0px; +} +.ce_tab_new { + width: 30px; + position: relative; + line-height: 32px; + border-right: 1px solid black; + text-align: center; +} +.ce_tab_new > i { + padding: 4px 8px; + cursor: pointer; + color: #c3cbd4; +} +.ce-dim{ + color: #aaa; +} +.ce_tab_new > i:hover { + color: #00A4FD; +} +.ce_tab:hover { + color: white; +} +.ce_home_tab.ce_active, +.ce_tab.ce_active { + background-color: #1d1d1d; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + color: white; + z-index: 9; + box-shadow: inset -6px 0 6px 0px #1d1d1d; +} +.ce_tab.ce_active { + box-shadow: inset -6px 0 6px 0px #1d1d1d, 0 0 15px #404040, 0 0 30px #404040; +} +.ce_theme_vs .ce_home_tab.ce_active, +.ce_theme_vs .ce_tab.ce_active { + background-color: #fffffe; + box-shadow: inset -6px 0 6px 0px #fffffe; + color: black; +} +.ce_theme_hc-black .ce_home_tab.ce_active, +.ce_theme_hc-black .ce_tab.ce_active { + background-color: black; + box-shadow: inset -6px 0 6px 0px black; +} +.ce_tab .ce_right_icon { + background-color: #404040; + box-shadow: 0 0 4px 4px #404040; +} +.ce_tab.ce_active .ce_right_icon { + background-color: #1d1d1d; + box-shadow: 0 0 4px 4px #1d1d1d; +} +.ce_theme_vs .ce_tab.ce_active .ce_right_icon { + background-color: #fffffe; + box-shadow: 0 0 4px 4px #fffffe; +} +.ce_clickable_icon { + cursor: pointer; + color: white; + font-size: 18px; + padding: 5px; +} +.ce_theme_vs .ce_active .ce_clickable_icon { + color: black; +} +.ce_clickable_icon.ce_disabled { + opacity: 0.5; + cursor: not-allowed; +} +.ce_clickable_icon.ce_clickable_icon.ce_clickable_icon:not(.ce_disabled):hover { + color: #00A4FD; +} +.ce_right_icon { + position: absolute; + right: 7px; + padding: 2px 5px; + font-size: 18px; + margin-top: -2px; + height: 34px; +} +.ce_restore_session { + color: #c3cbd4; + margin: 12px 30px; + cursor: pointer; + position: relative; +} +.ce_restore_session i { + font-size: 18px; + color: white; + position: absolute; + left: -20px; + top: 0px; +} +.ce_restore_session:hover i { + color: #00A4FD; +} +.ce_restore_session:hover span { + text-decoration: underline; +} +.ce_recent_list { + background-color: #2d2f31; + color: white; + position: absolute; + max-width: 600px; + max-height: 600px; + overflow: hidden; + left: 226px; + top: 50px; + list-style-type: none; + padding: 10px; + box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); + z-index:10; +} +.ce_recent_list li { + padding: 3px 6px 3px 9px; + margin: 1px 0 2px 0; + border-left: 3px solid transparent; +} +.ce_recent_list li.ce_selectable { + cursor: pointer; + color: #bbb; + border-left: 3px solid transparent; +} +.ce_recent_list li.ce_selectable:hover { + background-color: #262626; + border-left: 3px solid #00A4FD; +} +.ce_right_icon.ce_right_two { + right: 32px; +} +.ce_contents_home { + position:absolute; + overflow: hidden; + top: 38px; + z-index: 11; + bottom: 0; + left: 0; + right: 0; + color: #ccc; + padding: 27px 27px 0 27px; +} +.ce_theme_vs .ce_contents_home { + color: #4e4e4e; +} +.ce_contents { + top: 38px; + padding-top: 10px; + bottom: 0; + left: 0; + z-index: 11; + right: 0; + position: absolute; + background-color: #1e1e1e; +} +.ce_theme_vs .ce_contents { + background-color: #fffffe; +} +.ce_theme_hc-black .ce_contents { + background-color: black; +} +.ce_tab_container, +.ce_editor_container, +.ce_editor_sidecar_editor { + height: 100%; + margin: 6px; +} +.ce_editor_sidecar { + position: absolute; + height: 400px; + width: 600px; + border-left: 3px solid #5c5c5c; + border-right: 3px solid #5c5c5c; + bottom: 0; + right: 150px; + background-color: #1e1e1e; + opacity: 0; + /* transform: translateY(467px); */ + transition: transform 300ms; + box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22); +} +.ce_editor_sidecar_pin_button { + color: orange; +} +.ce_editor_sidecar_autohide_on .ce_editor_sidecar_pin_button { + color: white; +} + +.ce_theme_vs .ce_editor_sidecar { + background-color: #ffffff; +} +.ce_editor_sidecar_title { + height: 35px; + background-color: #5c5c5c; + color: white; + line-height: 35px; + padding-left: 10px; + cursor: pointer; + text-overflow: ellipsis; + padding-right: 27px; + white-space: nowrap; + overflow: hidden; +} +.ce_editor_sidecar_autohide { + height: 2px; + border-left-width: 0px; + border-left-color: transparent; + border-left-style: solid; + transition: border-left-width 5000ms; + display: none; +} +.ce_editor_sidecar_autohide_on .ce_editor_sidecar_autohide { + display: block; +} +.ce_editor_sidecar_resizer { + cursor: nw-resize; + position: absolute; + width: 20px; + height: 20px; + /*background-color: red;*/ + top: -4px; + left: -6px; +} +.ce_editor_sidecar .ce_right_icon { + margin-top: 5px; +} +.ce_editor_sidecar .ce_spinner { + margin-top: 50px; +} +.ce_contents a, +.ce_contents a:hover { + color: inherit; +} +.ce_contents p { + color: inherit; +} +.context-view.monaco-menu-container { + font-family: Splunk Platform Sans,Proxima Nova,Roboto,Droid,Helvetica Neue,Helvetica,Arial,sans-serif !important; + font-size: 14px; +} +.monaco-action-bar .actions-container { + padding: 10px 0; +} +.monaco-menu .monaco-action-bar.vertical .action-item > a, +.monaco-menu .monaco-action-bar.vertical .action-item > span { + line-height: 2; +} +.monaco-menu .monaco-action-bar.vertical { + background-color: #2d2f31 !important; +} +.monaco-menu .monaco-action-bar.vertical .action-item:not(.disabled) > a{ + background-color: inherit !important; + color: #ccc !important; +} +.monaco-menu .monaco-action-bar.vertical .action-item:not(.disabled) { + border-left: 3px solid transparent; + background-color: #2d2f31; +} +.monaco-menu .monaco-action-bar.vertical .action-item:not(.disabled):hover { + background-color: #262626; + border-left: 3px solid #00A4FD; +} +.monaco-editor .scroll-decoration{ + /* disable the scroll shadow at the top */ + box-shadow: none !important; +} +.ce_hidden { + display:none !important; +} +.ce_sort_menu_wrap { + position: absolute; + /* transition: opacity 300ms; */ + background-color: #2d2f31; + padding: 8px; + box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22); + font-size: 13px; + color: #bbb; + z-index: 13; + line-height: 2; +} +.ce_sort_menu_wrap .ce_clickable_icon { + border: 2px solid #262626; + border-radius: 6px; + margin-right: 6px; +} +.ce_sort_menu_wrap .ce_clickable_icon:hover { + color: white; +} +.ce_sortby_selected { + border: 2px solid #00A4FD !important; + color: #00A4FD !important; +} +.ce_context_menu_overlay { + position:absolute; + background-color: rgba(0,0,0,0.2); + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 12; +} +.ce_context_menu_wrap { + position: absolute; + opacity: 0; + top: -9999px; + left: -9999px; + right: auto; + bottom: auto; + transition: opacity 300ms; + background-color: #2d2f31; + padding: 2px; + min-width: 200px; + max-width: 440px; + overflow: hidden; + text-overflow: ellipsis; + box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22); + font-size: 13px; + color: #bbb; + white-space: nowrap; + z-index: 13; +} +.ce_context_menu_wrap > div { + margin: 2px 2px; + padding: 4px 10px; + border-left: 3px solid transparent; +} +.ce_context_menu_wrap > div:hover { + background-color: #262626; + cursor: pointer; + border-left: 3px solid #00A4FD; +} +.ce_toaster { + background-color: #53a051; + width: 232px; + height: 60px; + position: absolute; + right: 50px; + top: 80px; + line-height: 60px; + padding: 0 20px; + box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22); + color: white; + visibility: hidden; + opacity: 0; + z-index:11; + transform: translateX(30px); + transition: all 200ms; +} +.ce_toaster i { + font-size: 50px; + position: absolute; + color: white; +} +.ce_toaster span { + margin-left: 60px; +} +.ce_toaster.ce_show { + opacity: 1; + visibility: visible; + transform: translateX(0); +} +.modal-body { + overflow: auto; +} +.modal-body .pre-no-color{ + background-color: white; + padding: 0; + border: 0 none; +} +.modal-body img{ + margin-bottom: 16px; + box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); + border: 1px solid #e2e2e2; + width: 700px; +} +.btn.btn-danger { + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + box-shadow:none; + background-color: #da4f49; + background-image: linear-gradient(180deg,#ee5f5b,#bd362f); + background-repeat: repeat-x; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); +} +.btn.btn-danger:hover { + background: #e45753; +} +.btn.btn-inverse { + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + box-shadow:none; + background-color: #4983DA; + background-image: linear-gradient(180deg,#5B65EE,#2F31BD); + background-repeat: repeat-x; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); +} +.btn.btn-inverse:hover { + background: #5B65EE; +} +.btn.btn-warning { + color: #fff; + text-shadow: 0 -1px 0 rgba(0,0,0,.25); + box-shadow:none; + background-color: #CC9622; + background-image: linear-gradient(180deg,#E4A827,#CC9622); + background-repeat: repeat-x; + border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); +} +.btn.btn-warning:hover { + background: #E7B13B; +} +.btn-info { + color: #fff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + box-shadow:none; + background-color: #49afcd; + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25); +} +.btn-info:hover { + color: #fff; + background: #2f96b4; +} +.btn.btn-disabled { + cursor: not-allowed; + opacity: 0.5; +} +.ceRedLine { + border-left: 8px solid rgba(255,0,0,0.75); +} +.ceGreeenLine { + border-left: 8px solid green; +} +.ceDimGreeenLine { + border-left: 8px solid rgba(0,128,0,0.5); +} +.ceOrangeLine { + border-left: 8px solid orange; +} +.ceBlueLine { + border-left: 8px solid #676767; +} +.ce_diff_addition { background-color: rgba(0,255,0,.2); } +.ce_diff_deletion { background-color: rgba(255,0,0,.2); } +.green {color: #65a637} +.red { color: #d6563c;} +.nobr { + white-space: nowrap; +} +.ar { + text-align:right; +} +.ce_changelog { + padding: 10px; + width: 100%; + color: #d4d4d4; + height: 100%; + overflow-x: auto; +} +.ce_changelog table { + width: 100%; +} +.ce_changelog tr:nth-child(even) { + background: rgba(0, 0, 0, 0.2); +} +.ce_changelog td{ + padding: 4px 12px; +} +.ce_changelog_buttons { + width: 50px; + display: inline-block; +} +.ce_changelog_filescol { + width: 90%; +} +.ce_file_history { + width: 100%; + color: #d4d4d4; + padding: 0 10px 0 30px; + height: 100%; + overflow-x: auto; +} +.ce_file_history h1 { + margin-top:50px; + color: white; +} +.ce_file_history h1::first-letter { + text-transform: uppercase; +} +.ce_file_history h1 span { + font-size: 16px; +} +.ce_file_history p{ + font-family: Consolas, "Courier New", monospace; + font-weight: normal; + font-size: 14px; + line-height: 19px; + letter-spacing: 0px; + margin:0; + position:relative; +} +.ce_diff_change p { + padding-left: 20px; +} +.ce_diff_addition:before { + content: "+"; + position: absolute; + margin-left: -15px; + margin-top: -1px; +} +.ce_diff_deletion:before { + content: "-"; + position: absolute; + margin-left: -15px; + margin-top: -1px; +} +.ce_diff_change { + margin: 6px 0 40px 0; + padding: 6px; + background-color: rgba(0, 0, 0, 0.2); +} +.ce_gitoutput { + padding: 20px; + color: #d4d4d4; + overflow-x: auto; + height: 100%; +} +.ce_gitoutput h2 { + color: #dd6a6f; +} +.ce_pre, +.ce_gitoutput-out, +.ce_gitoutput-cmd { + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + font-family: Consolas, "Courier New", monospace; + font-weight: normal; + font-size: 14px; + line-height: 19px; + letter-spacing: 0px; + background-color: #262626; + padding: 10px; +} +.ce_pre { + color: #ccc; + background-color: inherit; + border: 0 none; +} +.ce_theme_vs .ce_pre { + color: inherit; +} +.ce_gitoutput-cmd { + color: #569cd6; +} +.ce_gitoutput-desc { + color: #608b4e; + margin-top: 20px; + line-height: 32px; + font-weight: bold; + font-size: 16px; +} +/* http://tobiasahlin.com/spinkit/ */ +html .ce_spinner { + margin-top: 140px; +} +.spinner { + margin: 100px auto 0; + width: 70px; + text-align: center; +} +.spinner > div { + width: 18px; + height: 18px; + background-color: #00A4FD; + + border-radius: 100%; + display: inline-block; + -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both; + animation: sk-bouncedelay 1.4s infinite ease-in-out both; +} +.spinner .bounce1 { + -webkit-animation-delay: -0.32s; + animation-delay: -0.32s; +} +.spinner .bounce2 { + -webkit-animation-delay: -0.16s; + animation-delay: -0.16s; +} +@-webkit-keyframes sk-bouncedelay { + 0%, 80%, 100% { -webkit-transform: scale(0) } + 40% { -webkit-transform: scale(1.0) } +} +@keyframes sk-bouncedelay { + 0%, 80%, 100% { + -webkit-transform: scale(0); + transform: scale(0); + } 40% { + -webkit-transform: scale(1.0); + transform: scale(1.0); + } +} +input.ce_file_upload_extract[type=checkbox] { + transform: translateY(-3px); + margin-right: 8px; +} +input.ce_run_cwd_radio[type=radio] { + margin: 0 10px; +} +.ce_disclaimer { + font-size: 10px; +} +.ce_fs_slow_message{ + margin-top: 200px; + text-align: center; +} +.ce_fs_slow_message > div{ + margin-bottom: 10px; +} +.ce_pref_label { + display: inline-block; + margin-left: 20px; + transform: translateY(-2px); +} +.ce_pref_advanced { + width: 100%; + height: 174px; +} +.ce_postsave_arg1 { + margin-left:6px; + width:630px; +} +.ce_postsave_strmatch_bad, +.ce_postsave_strmatch_good { + margin-left:6px; + width:150px; +} +.ce_postsave_background { + width: 60px; +} +.ce_postsave_suggestion { + color:#333; + cursor:pointer; +} +.monaco-editor .monaco-editor-hover code { + color: inherit; + background-color: inherit; + border: 0 none; +} +.ce-server-classes a, +.ce-server-classes-all, +.ce-debugrefresh-endpoints a { + margin: 10px 12px 0 0; + background-color: #f7f8fa; + padding: 6px 10px; + display: inline-block; + border-radius: 3px; +} +.ce-server-classes a:hover, +.ce-server-classes-all:hover, +.ce-debugrefresh-endpoints a:hover { + background-color: #ebeeef; +} \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/config.js b/apps/config_explorer/appserver/static/config.js new file mode 100755 index 00000000..ad190332 --- /dev/null +++ b/apps/config_explorer/appserver/static/config.js @@ -0,0 +1,4490 @@ +// Copyright (C) 2018 Chris Younger + +/* jslint bitwise: true */ +/* globals require, monaco, BroadcastChannel, Promise */ + +/* + +TODO + - Option to open a blank diffing window + - ability to stream results from a run window + - ability to see running config explorer commands and kill them? + - if you hit save when a post-save action is already running, two things run at once. Seems its not too bad anyway. + - the sidecar should allow rerun + +*/ +// Loading monaco from the CDN +/* +require.config({ paths: { 'vs': 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.15.0/min/vs' }}); +window.MonacoEnvironment = { + getWorkerUrl: function(workerId, label) { + return `data:text/javascript;charset=utf-8,${encodeURIComponent(` + self.MonacoEnvironment = { baseUrl: 'https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.15.0/min/' }; + importScripts('https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.15.0/min/vs/base/worker/workerMain.js');` + )}`; + } +}*/ + +// The splunk webserver prepends all scripts with a call to i18n_register() for internationalisation. This fails for web-workers becuase they dont know about this function yet. +// The options are patch the function on-the-fly like so, or to edit the file on the filesystem (which makes upgrading monaco harder) +(function() { + var mode = "min"; // or dev + require.config({ + paths: { + 'vs': '../app/config_explorer/node_modules/monaco-editor/'+mode+'/vs', + } + }); + window.MonacoEnvironment = { + getWorkerUrl: function(workerId, label) { + return "data:text/javascript;charset=utf-8," + encodeURIComponent( + //"console.log('shimming i18n_register for worker'); "+ + "function i18n_register(){/*console.log('i18n_register shimmed');*/} "+ + "self.MonacoEnvironment = { baseUrl: '" + window.location.origin + "/static/app/config_explorer/node_modules/monaco-editor/"+mode+"/' }; "+ + "importScripts('" + window.location.origin + "/static/app/config_explorer/node_modules/monaco-editor/"+mode+"/vs/base/worker/workerMain.js');" + ); + } + }; +})(); + +require([ + "splunkjs/mvc", + "jquery", + "vs/editor/editor.main", + "app/config_explorer/sortable.min", + "app/config_explorer/OverlayScrollbars" +], function( + mvc, + $, + wat, + Sortable, + OverlayScrollbars +) { + + // Inject all the HTML contents + $(".dashboard-body").html( + "
"+ + "
"+ + "
"+ + "
"+ + "
"+ + "
"+ + "
"+ + "
"+ + "
"+ + ""+ + ""+ + ""+ + ""+ + ""+ + ""+ + ""+ + ""+ + //""+ + ""+ + ""+ + ""+ + ""+ + "
"+ + "
"+ + "
"+ + "
"+ + "
"+ + ""+ + "
"+ + "
"+ + "
"+ + "
"+ + ""+ + "
"+ + "
"+ + "
"+ + "
"+ + ""+ + "
Config Explorer for
"+ + "
by Chris Younger
"+ + "
"+ + "Settings Theme: "+ + "light"+ + "dark"+ + "high contrast"+ + "Change log"+ + "
"+ + "
"+ + ""+ + "
"+ + "
"+ + "
"+ + "
Saved
"+ + "
"+ + "
"+ + ""); + + // Mapping of all the tab types + // can_rerun - has a right click open in the editor for "rerun". This will close and reopen the tab. If this is "true" it must also exist in the hooksCfg list with the same name! + // reopen - tracked through hash and in "recent files". If this is "true" it must also exist in the hooksCfg list with the same name! + var tabCfg = { + 'btool': { can_rerun: true, can_reopen: true, }, + 'btool-hidepaths': { can_rerun: true, can_reopen: true, }, + 'btool-hidedefaults': { can_rerun: true, can_reopen: true, }, + 'btool-hidesystemdefaults': { can_rerun: true, can_reopen: true, }, + 'btool-check': { can_rerun: true, can_reopen: false, }, + 'spec': { can_rerun: false, can_reopen: true, }, + 'run': { can_rerun: true, can_reopen: false, }, + 'deployserver': { can_rerun: true, can_reopen: false, }, + 'read': { can_rerun: false, can_reopen: true, }, + 'settings': { can_rerun: false, can_reopen: false, }, + 'change-log': { can_rerun: false, can_reopen: false, }, + 'diff': { can_rerun: false, can_reopen: false, }, + 'history': { can_rerun: false, can_reopen: false, }, + 'git': { can_rerun: false, can_reopen: false, }, + 'live': { can_rerun: false, can_reopen: false, }, + 'live-diff': { can_rerun: false, can_reopen: false, }, + 'refresh': { can_rerun: true, can_reopen: false, }, + 'internal': { can_rerun: false, can_reopen: false, }, + 'rest': { can_rerun: false, can_reopen: true, }, + }; + // This is what will be executed in the following circumstances: + // - the URL hash on load (can_reopen=true above) + // - opening from the Recent file list (can_reopen=true above) + // - Editor>RightClick>Rerun option is chosen (can_rerun=true above) + // - custom [hook:] right-click option + var hooksCfg = { + 'btool': function(arg1, arg2, embeddedMode){ + runBToolList(arg1, 'btool'); + }, + 'btool-hidepaths': function(arg1, arg2, embeddedMode){ + runBToolList(arg1, 'btool-hidepaths'); + }, + 'btool-hidedefaults':function(arg1, arg2, embeddedMode){ + runBToolList(arg1, 'btool-hidedefaults'); + }, + 'btool-hidesystemdefaults':function(arg1, arg2, embeddedMode){ + runBToolList(arg1, 'btool-hidesystemdefaults'); + }, + 'btool-check': function(arg1, arg2, embeddedMode){ + runBToolCheck(); + }, + 'spec': function(arg1, arg2, embeddedMode){ + displaySpecFile(arg1); + }, + 'run': function(arg1, arg2, embeddedMode){ + runShellCommandNow(arg1, arg2, embeddedMode); + }, + 'run-safe': function(arg1, arg2, embeddedMode){ + runShellCommand(arg1, true); + }, + 'deployserver': function(arg1, arg2, embeddedMode){ + runReloadDeployServer(arg1); + }, + 'read': function(arg1, arg2, embeddedMode){ + readFile(arg1); + }, + 'live': function(arg1, arg2, embeddedMode){ + runningVsLayered(arg1, false); + }, + 'live-diff': function(arg1, arg2, embeddedMode){ + runningVsLayered(arg1, true); + }, + 'bump': function(arg1, arg2, embeddedMode){ + debugRefreshBumpHook("bump", embeddedMode); + }, + 'refresh': function(arg1, arg2, embeddedMode){ + debugRefreshBumpHook(arg1, embeddedMode); + }, + 'cd': function(arg1, arg2, embeddedMode){ + changeDirectory(arg1); + }, + 'clipboard': function(arg1, arg2, embeddedMode){ + copyTextToClipboard(arg1); + }, + 'rest': function(arg1, arg2, embeddedMode){ + readFileRest(arg1); + }, + 'openurl': function(arg1, arg2, embeddedMode){ + // set the target to the base64 representation of the URL so we can keep opening in the same tab for the same url + window.open(arg1, btoa(arg1)); + } + }; + // globals + var debug_gutters = false; + var service = mvc.createService({owner: "nobody"}); + //var username = Splunk.util.getConfigValue("USERNAME"); + var editors = []; + var inFolder = (localStorage.getItem('ce_current_path') || './etc/apps'); + var inFolderRestApp = (localStorage.getItem('ce_current_path_restapp') || ''); + var inFolderRestType = "views"; + var regex_file_path_to_dashboard_parts = /.*\/(apps|users\/[^\/]+)\/([^\/]+)\/(?:local|default)\/data\/ui\/views\/(.*)\.xml$/; + var openingFolder; + var folderContents; + var run_history = (JSON.parse(localStorage.getItem('ce_run_history')) || []); + var closed_tabs = (JSON.parse(localStorage.getItem('ce_closed_tabs')) || []); + var preferences = getPreferences(); + var activeTab = -1; + var filecache = {}; + var conf = {}; + var confFiles = {}; + var confFilesSorted = []; + var inFlightRequests = 0; + var comparisonLeftFile = null; + var tabid = 0; + var leftpane_ignore = false; + var max_recent_files_show = 50; + var hooksActive = []; + var tabCreationCount = 0; + var approvedPostSaveHooks = {}; + var fileModsCheckTimer; + var fileModsCheckTimerPeriod = 10000; + var fileModsCheckTimerInProgress = false; + var sortMode = "name"; + var sortAsc = true; + var treeSearchFocus = false; + var sortModeRest = (localStorage.getItem('ce_sort_mode_rest') || 'label'); + var sortAscRest = (localStorage.getItem('ce_sort_asc_rest') || '1'); + var displayModeRest = (localStorage.getItem('ce_display_mode_rest') || 'ln'); + var doLineHighlight = ""; + var $dashboard_body = $('.dashboard-body'); + var $ce_tree_pane = $(".ce_tree_pane"); + var $ce_container = $('.ce_container'); + var $ce_resize_column = $('.ce_resize_column'); + var $ce_file_list = $(".ce_file_list"); + var $ce_file_wrap = $(".ce_file_wrap"); + var $ce_file_path = $(".ce_file_path"); + var $ce_tree_icons = $(".ce_tree_icons"); + var $ce_contents = $(".ce_contents"); + var $ce_contents_home = $(".ce_contents_home"); + var $ce_spinner = $(".ce_spinner"); + var $ce_tabs = $(".ce_tabs"); + var $ce_home_tab = $(".ce_home_tab"); + var $ce_context_menu_overlay = $(".ce_context_menu_overlay"); + var broadcastChannel = new BroadcastChannel("config_explorer"); + broadcastChannel.onmessage = handleBroadcastMessage; + + // Set the "save" hotkey at a global level instead of on the editor, this way the editor doesnt need to have focus. + $(window).on('keydown', function(event) { + // CTRL-SHIFT-/ focus the bottom left filter. can use just forward slash if nothing is currently focused. + if (((event.ctrlKey || event.metaKey) && event.shiftKey && event.which===191) || (event.which===191 && document.activeElement.tagName === "BODY")) { + // if the editor is focused, then the keydown event wont bubble up to the window + $(".ce_treesearch_input").focus(); + } + // CTRL-S to save active tab + if ((event.ctrlKey || event.metaKey) && event.which===83) { + event.preventDefault(); + saveActiveTab(); + } + + // Prevent people from navigating away when they have unsaved changes + }).on("beforeunload", function() { + for (var i = 0; i < editors.length; i++) { + if (editors[i].hasChanges) { + return "Unsaved changes will be lost."; + } + } + }); + + function setLeftPathWidth(size) { + size = Math.min(Math.max(size, 0), $(window).width() * 0.8); + $ce_tree_pane.css("width", size + "px"); + $ce_resize_column.css("left", size + "px"); + $ce_container.css("left", (size + 3) + "px"); + filePathRTLCheck(); + } + + // Handler for resizing the tree pane/editor divider + $ce_resize_column.on("mousedown", function(e) { + e.preventDefault(); + $(document).on("mousemove.colresize", function(e) { + setLeftPathWidth(e.pageX); + localStorage.setItem('ce_lwidth', e.pageX); + }); + }); + + $(document).on("mouseup",function(e) { + $(document).off('mousemove.colresize'); + }); + + $('.ce_app_errors').on('click', function(){ + runBToolCheck(); + }); + $('.ce_app_settings').on('click', function(){ + readFile(""); + }); + $(".ce_theme").on('click', function(){ + setThemeMode($(this).attr("data-theme")); + }); + $('.ce_app_changelog .btn').on('click', function(){ + showChangeLog(); + }); + $(".ce_splunk_reload").on("click", function(){ + debugRefreshBumpHook( $(this).attr("data-endpoint") ); + }); + $(".ce_splunk_reload_specific").on("click", function(){ + debugRefreshEndpointSelection(); + }); + $ce_home_tab.on("click", function(){ + activateTab(-1); + }); + + // Click handlers for New File/New Folder buttons + $ce_tree_icons.on("click", "i", function(e){ + e.stopPropagation(); + var elem = $(this); + var $menu; + if (elem.hasClass("ce_disabled")) { + return; + } + + if (elem.hasClass("ce_upload_file")) { + fileSystemUpload(inFolder); + } else if (elem.hasClass("ce_refresh_tree")) { + refreshFolder(); + } else if (elem.hasClass("ce_refresh_tree_rest")) { + delete restTypes.views.cache; + delete restTypes.apps.cache; + leftPaneRestList(); + } else if (elem.hasClass("ce_folder_up")) { + readFolder(inFolder.replace(/[\/\\][^\/\\]*$/,''), 'back'); + } else if (elem.hasClass("ce_folder_up_rest")) { + if (inFolderRestApp !== "") { + inFolderRestApp = ""; + } else { + inFolderRestType = ""; + } + leftPaneRestList(); + +// TODO [low] it should remember which file system tab you are on + } else if (elem.hasClass("ce_show_filesystem")) { + if (! elem.hasClass("ce_selected")) { + filterModeReset(); + $ce_tree_icons.find(".ce_clickable_icon").removeClass("ce_selected ce_tree_btn_show"); + elem.addClass("ce_selected"); + $(".ce_folder_up, .ce_refresh_tree, .ce_filter, .ce_add_folder, .ce_app_run, .ce_upload_file, .ce_sort_files").addClass("ce_tree_btn_show"); + leftPaneFileList(); + } + } else if (elem.hasClass("ce_recent_files")) { + if (! elem.hasClass("ce_selected")) { + filterModeReset(); + $ce_tree_icons.find(".ce_clickable_icon").removeClass("ce_selected ce_tree_btn_show"); + elem.addClass("ce_selected"); + leftPaneRecentList(); + } + } else if (elem.hasClass("ce_show_confs")) { + if (! elem.hasClass("ce_selected")) { + filterModeReset(); + $ce_tree_icons.find(".ce_clickable_icon").removeClass("ce_selected ce_tree_btn_show"); + elem.addClass("ce_selected"); + leftPaneConfList(); + } + } else if (elem.hasClass("ce_show_rest")) { + if (! elem.hasClass("ce_selected")) { + filterModeReset(); + $ce_tree_icons.find(".ce_clickable_icon").removeClass("ce_selected ce_tree_btn_show"); + elem.addClass("ce_selected"); + $(".ce_folder_up_rest, .ce_refresh_tree_rest, .ce_sort_files_rest").addClass("ce_tree_btn_show"); + leftPaneRestList(); + } + + } else if (elem.hasClass('ce_app_run')) { + runShellCommand(); + } else if (elem.hasClass('ce_sort_files')) { + $menu = $("
Sort by:"+ + "
Name
"+ + "
Size
"+ + "
Modified date
").appendTo($dashboard_body); + $menu.find(".ce_sortby_" + sortMode + "." + (sortAsc ? 'icon-chevron-down' : 'icon-chevron-up')).addClass("ce_sortby_selected"); + $menu.css({right: $(window).width() - parseInt($ce_tree_pane.css("width")) + 2, top: 41}); + $menu.on("click", ".ce_clickable_icon", function(){ + var $t = $(this); + sortMode = $t.hasClass("ce_sortby_name") ? "name" : $t.hasClass("ce_sortby_size") ? "size" : "time"; + sortAsc = !!($t.hasClass("icon-chevron-down")); + readFolderLoad(inFolder); + }); + $ce_context_menu_overlay.removeClass("ce_hidden"); + $(document).one("click contextmenu", function(e2) { + $ce_context_menu_overlay.addClass("ce_hidden"); + $menu.remove(); + e2.preventDefault(); + }); + } else if (elem.hasClass('ce_sort_files_rest')) { + $menu = $("
Display:
"+ + "
Title (URL)
"+ + "
URL (Title)
"+ + "
Title
"+ + "
URL
"+ + "
Sort by:
"+ + "
Label
"+ + "
Last updated
").appendTo($dashboard_body); + $menu.find(".ce_sortby_" + sortModeRest + "." + (sortAscRest==="1" ? 'icon-chevron-down' : 'icon-chevron-up')).addClass("ce_sortby_selected"); + $menu.find(".ce_display_" + displayModeRest).addClass("ce_sortby_selected"); + $menu.css({right: $(window).width() - parseInt($ce_tree_pane.css("width")) + 2, top: 41}); + $menu.on("click", ".ce_clickable_icon", function(){ + var $t = $(this); + if ($t.hasClass("icon-string")) { + displayModeRest = $t.hasClass("ce_display_ln") ? "ln" : $t.hasClass("ce_display_nl") ? "nl" : $t.hasClass("ce_display_l") ? "l" : "n"; + localStorage.setItem('ce_display_mode_rest', displayModeRest); + } else { + sortModeRest = $t.hasClass("ce_sortby_name") ? "name" : $t.hasClass("ce_sortby_label") ? "label" : "time"; + sortAscRest = $t.hasClass("icon-chevron-down") ? "1" : "0"; + localStorage.setItem('ce_sort_mode_rest', sortModeRest); + localStorage.setItem('ce_sort_asc_rest', sortAscRest); + } + leftPaneRestList(); + }); + $ce_context_menu_overlay.removeClass("ce_hidden"); + $(document).one("click contextmenu", function(e2) { + $ce_context_menu_overlay.addClass("ce_hidden"); + $menu.remove(); + e2.preventDefault(); + }); + } + }); + + $('.ce_treesearch_input').on("input", function(){ + if ($(".ce_tree_icons .ce_show_filesystem.ce_selected").length) { + leftPaneFileList($(this).val().toLowerCase()); + } + if ($(".ce_tree_icons .ce_recent_files.ce_selected").length) { + leftPaneRecentList($(this).val().toLowerCase()); + } + if ($(".ce_tree_icons .ce_show_confs.ce_selected").length) { + leftPaneConfList($(this).val().toLowerCase()); + } + if ($(".ce_tree_icons .ce_show_rest.ce_selected").length) { + leftPaneRestList($(this).val().toLowerCase()); + } + }).on("focus", function(e){ + if ($(".ce_leftnav_keyboard_selected").length == 0) { + $ce_file_wrap.children(".ce_leftnav").first().addClass("ce_leftnav_keyboard_selected"); + } + treeSearchFocus = true; + }).on("blur", function(e){ + $(".ce_leftnav_keyboard_selected").removeClass("ce_leftnav_keyboard_selected"); + treeSearchFocus = false; + }).on("keydown", function(e){ + // select the top item + var $keyFocused = $(".ce_leftnav_keyboard_selected"); + if (e.which === 13) { + $keyFocused.click(); + } else if (e.which === 38) { // up + e.preventDefault(); + if ($keyFocused && $keyFocused.index() > 0) { + $keyFocused.prev().addClass("ce_leftnav_keyboard_selected"); + $keyFocused.removeClass("ce_leftnav_keyboard_selected"); + } + } else if (e.which === 40) { // down + e.preventDefault(); + if ($keyFocused && $keyFocused.index() < $keyFocused.parent().children().length - 1) { + $keyFocused.next().addClass("ce_leftnav_keyboard_selected"); + $keyFocused.removeClass("ce_leftnav_keyboard_selected"); + } + + // If user hits backspace with nothing in box then navigate back + } else if (e.which === 8 && $(this).val() === "" && $(".ce_tree_icons .ce_show_filesystem.ce_selected").length) { + // navigate back + $(".ce_folder_up").click(); + } else if (e.which === 8 && $(this).val() === "" && $(".ce_tree_icons .ce_show_rest.ce_selected").length) { + // navigate back + $(".ce_folder_up_rest").click(); + } + }); + + + function filterModeReset(){ + $(".ce_treesearch_input").val(""); + } + + function addHookActionToTree(hook, file, actions, matchtype) { + if (hook._match.test(file) && hook.matchtype == matchtype && ! (hook.hasOwnProperty("showInPane") && hook.showInPane === "editor")) { + actions.push($("
").text(replaceTokens(hook.label, file)).on("click", function(){ + runAction(hook.action, file, false); + })); + } + } + + // add folder hooks to the path display at the top of the left pane + $ce_file_path.on("contextmenu", function (e) { + // only allow right clicking on the "path" when in filesystem mode + if ($(".ce_tree_icons .ce_show_filesystem.ce_selected").length) { + var actions = []; + for (var j = 0; j < hooksActive.length; j++) { + addHookActionToTree(hooksActive[j], inFolder, actions, "folder"); + } + // todo check: git_autocommit is working or not + if (confIsTrue('git_autocommit', false) && conf.git_autocommit_work_tree === "") { + actions.push($("
Show change log
").on("click", function(){ + showChangeLog(); + })); + } + buildLeftContextMenu(actions, e); + } + }); + + // Click handler for left pane items + $ce_file_list.on("click", ".ce_leftnav", function(){ + var elem = $(this); + // click on a conf file + if (elem.hasClass("ce_conf")) { + runBToolList($(this).attr('file'), 'btool'); + // click on file + } else if (elem.hasClass("ce_is_report")) { + readFile(elem.attr('file')); + // recent files list + } else if (elem.hasClass("ce_leftnav_reopen")) { + hooksCfg[elem.attr('type')](elem.attr('file')); + // rest app + } else if (elem.hasClass("ce_leftnav_restapp")) { + inFolderRestApp = elem.attr('restapp'); + leftPaneRestList(); + // rest type + } else if (elem.hasClass("ce_leftnav_resttype")) { + inFolderRestType = elem.attr('resttype'); + leftPaneRestList(); + // rest file + } else if (elem.hasClass("ce_leftnav_restfile")) { + readFileRest(elem.attr('restfile')); + // Folder + } else { + if (! leftpane_ignore) { + readFolder(elem.attr('file'), 'fwd'); + } + } + // Right click menu for left pane + }).on("contextmenu", ".ce_leftnav", function (e) { + var $leftnavElem = $(this); + var isFile = $leftnavElem.hasClass("ce_is_report"); + var thisFile = $leftnavElem.attr('file'); + var actions = []; + var j; + if (isFile) { + // Add the custom hook actions + for (j = 0; j < hooksActive.length; j++) { + addHookActionToTree(hooksActive[j], thisFile, actions, "file"); + } + // gate behind flag + if (confIsTrue('dashboard_xml_file_experimental_actions', false)) { + var file_parts_for_openurl = thisFile.match(regex_file_path_to_dashboard_parts); + if (file_parts_for_openurl) { + actions.push($("
Attempt view in browser
").on("click", function(){ + hooksCfg.openurl("/app/" + file_parts_for_openurl[2] + "/" + file_parts_for_openurl[3]); + })); + actions.push($("
Attempt edit via REST API
").on("click", function(){ + if (file_parts_for_openurl[1]=="apps") { + hooksCfg.rest("/servicesNS/nobody/" + file_parts_for_openurl[2] + "/data/ui/views/" + file_parts_for_openurl[3]); + } else { + hooksCfg.rest("/servicesNS/" + file_parts_for_openurl[1].substr(6) + "/" + file_parts_for_openurl[2] + "/data/ui/views/" + file_parts_for_openurl[3]); + } + })); + + + } + } + } + if ($leftnavElem.hasClass("ce_is_folder")) { + for (j = 0; j < hooksActive.length; j++) { + addHookActionToTree(hooksActive[j], thisFile, actions, "folder"); + } + } + if ($leftnavElem.hasClass("ce_leftnav_editable") && confIsTrue('write_access', false)) { + // can rename, can trash + actions.push($("
Rename
").on("click", function(){ + fileSystemRename(thisFile); + })); + actions.push($("
Delete
").on("click", function(){ + filesystemDelete(thisFile); + })); + + } + if ($leftnavElem.hasClass("ce_conf")) { + for (j = 0; j < hooksActive.length; j++) { + addHookActionToTree(hooksActive[j], thisFile, actions, "conf"); + } + actions.push($("
Show btool (hide paths)
").on("click", function(){ + runBToolList(thisFile, 'btool-hidepaths'); + })); + actions.push($("
Show btool (hide all defaults)
").on("click", function(){ + runBToolList(thisFile, 'btool-hidedefaults'); + })); + actions.push($("
Show btool (hide system defaults)
").on("click", function(){ + runBToolList(thisFile, 'btool-hidesystemdefaults'); + })); + + if (conf.btool_dir_for_master_apps) { + actions.push($("
[master-apps] Show btool
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_master_apps, 'btool', conf.btool_dir_for_master_apps, "/splunk/etc/master-apps/"); + })); + actions.push($("
[master-apps] Show btool (hide all defaults)
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_master_apps, 'btool-hidedefaults', conf.btool_dir_for_master_apps, "/splunk/etc/master-apps/"); + })); + } + if (conf.btool_dir_for_manager_apps) { + actions.push($("
[manager-apps] Show btool
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_manager_apps, 'btool', conf.btool_dir_for_manager_apps, "/splunk/etc/manager-apps/"); + })); + actions.push($("
[manager-apps] Show btool (hide all defaults)
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_manager_apps, 'btool-hidedefaults', conf.btool_dir_for_manager_apps, "/splunk/etc/manager-apps/"); + })); + } + if (conf.btool_dir_for_deployment_apps) { + actions.push($("
[deployment-apps] Show btool
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_deployment_apps, 'btool', conf.btool_dir_for_deployment_apps, "/splunk/etc/deployment-apps/"); + })); + actions.push($("
[deployment-apps] Show btool (hide all defaults)
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_deployment_apps, 'btool-hidedefaults', conf.btool_dir_for_deployment_apps, "/splunk/etc/deployment-apps/"); + })); + } + if (conf.btool_dir_for_shcluster_apps) { + actions.push($("
[shcluster-apps] Show btool
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_shcluster_apps, 'btool'); + })); + actions.push($("
[shcluster-apps] Show btool (hide all defaults)
").on("click", function(){ + runBToolList(thisFile + ":" + conf.btool_dir_for_shcluster_apps, 'btool-hidedefaults'); + })); + } + + actions.push($("
Show .spec file
").on("click", function(){ + displaySpecFile(thisFile); + })); + actions.push($("
Show live (running) config
").on("click", function(){ + runningVsLayered(thisFile, false); + })); + actions.push($("
Compare live config against btool output
").on("click", function(){ + runningVsLayered(thisFile, true); + })); + } + + if (isFile) { + if (confIsTrue('git_autocommit', false)) { + // can show history + actions.push($("
View file history
").on("click", function(){ + getFileHistory(thisFile, inFolder); + })); + } + // download file + actions.push($("
Download
").on("click", function(){ + serverAction({action: 'filedownload', path: inFolder, param1: thisFile}).then(function(b64data){ + var byteCharacters = atob(b64data); + var byteArrays = []; + for (var offset = 0; offset < byteCharacters.length; offset += 512) { + var slice = byteCharacters.slice(offset, offset + 512); + var byteNumbers = new Array(slice.length); + for (var i = 0; i < slice.length; i++) { + byteNumbers[i] = slice.charCodeAt(i); + } + var byteArray = new Uint8Array(byteNumbers); + byteArrays.push(byteArray); + } + var blob = new Blob(byteArrays, {type: "application/octet-stream"}); + var filename = dodgyBasename(thisFile); + if (typeof window.navigator.msSaveBlob !== 'undefined') { + // IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed." + window.navigator.msSaveBlob(blob, filename); + } else { + var URL = window.URL || window.webkitURL; + var downloadUrl = URL.createObjectURL(blob); + // use HTML5 a[download] attribute to specify filename + var a = document.createElement("a"); + // safari doesn't support this yet + if (typeof a.download === 'undefined') { + window.location = downloadUrl; + } else { + a.href = downloadUrl; + a.download = filename; + document.body.appendChild(a); + a.click(); + } + setTimeout(function () { URL.revokeObjectURL(downloadUrl); }, 100); // cleanup + } + }); + })); + // can compare + actions.push($("
Mark for comparison
").on("click", function(){ + comparisonLeftFile = thisFile; + })); + if (comparisonLeftFile && comparisonLeftFile !== thisFile) { + actions.push($("
Compare to " + htmlEncode(dodgyBasename(comparisonLeftFile)) + "
").on("click", function(){ + compareFiles(thisFile, comparisonLeftFile); + })); + } + } + + if ($leftnavElem.hasClass("ce_leftnav_restfile")) { + var file_parts_for_openurl_rest = $leftnavElem.attr('restfile').match(/([^\/]+)\/data\/ui\/views\/(.*)$/); + if (file_parts_for_openurl_rest) { + actions.push($("
Attempt view in browser
").on("click", function(){ + hooksCfg.openurl("/app/" + file_parts_for_openurl_rest[1] + "/" + file_parts_for_openurl_rest[2]); + })); + } + } + + if (actions.length) { + buildLeftContextMenu(actions, e, $leftnavElem); + } + }); + + // Event handlers for the editor tabs + $ce_tabs.on("click", ".ce_close_tab", function(e){ + e.stopPropagation(); + closeTabWithConfirmation($(this).parent().index()); + + // Middle click to close tab + }).on("auxclick", ".ce_tab", function(e){ + if (e.which !== 3) { + e.stopPropagation(); + closeTabWithConfirmation($(this).index()); + } + // Clicking tab + }).on("click", ".ce_tab", function(){ + activateTab($(this).index()); + + // On hover show the cross + }).on("mouseenter", ".ce_tab", function(){ + $(this).append(""); + + }).on("mouseleave", ".ce_tab", function(){ + $(this).find('.ce_close_tab').remove(); + }); + + function buildLeftContextMenu(actions, e, $t) { + e.preventDefault(); // To prevent the default context menu. + if (! actions.length) { + return; + } + e.stopPropagation(); + var $menu = $(".ce_context_menu_wrap"); + $menu.empty().append(actions); + $(".ce_leftnav_highlighted").removeClass("ce_leftnav_highlighted"); + if ($t) { + $t.addClass("ce_leftnav_highlighted"); + } + var windowHeight = $(window).height(); + if((e.clientY + 200) > windowHeight) { + $menu.css({opacity:1, left:30 + e.clientX, bottom:$(window).height()-e.clientY, right:"auto", top:"auto"}); + } else { + $menu.css({opacity:1, left:30 + e.clientX, bottom:"auto", right:"auto", top: e.clientY - 30}); + } + $ce_context_menu_overlay.removeClass("ce_hidden"); + $(document).one("click contextmenu", function(e2) { + $menu.removeAttr("style"); + $ce_context_menu_overlay.addClass("ce_hidden"); + if ($t) { + $t.removeClass("ce_leftnav_highlighted"); + } + e2.preventDefault(); + }); + } + + function compareFiles(rightFile, leftFile) { + var ecfg = createTab('diff', rightFile + " " + leftFile, "diff: " + rightFile + " " + leftFile); + ecfg.diffFileRight = rightFile; + ecfg.diffFileLeft = leftFile; + // get both files + Promise.all([ + serverActionWithoutFlicker({action: 'read', path: leftFile}), + serverActionWithoutFlicker({action: 'read', path: rightFile}), + ]).then(function(contents){ + updateTabAsDiffer(ecfg, leftFile + "\n" + contents[0], rightFile + "\n" + contents[1]); + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + + function debugRefreshBumpHook(endpoint, embeddedMode){ + // get localisation url + var url = "/" + document.location.pathname.split("/")[1] + "/"; + var label = ""; + var ecfg; + if (typeof embeddedMode === "undefined") { + embeddedMode = false; + } + if (endpoint && endpoint === "?") { + debugRefreshEndpointSelection(); + return; + } + if (endpoint && endpoint !== "all") { + if (endpoint === "bump") { + url += "_bump"; + label = "bump"; + } else { + url += "debug/refresh?entity=" + endpoint; + label = "debug/refresh: " + endpoint; + } + } else { + label = "debug/refresh: all"; + url += "debug/refresh"; + endpoint = "all"; + } + if (embeddedMode) { + ecfg = createTabSidecar(label); + } else { + // Load as a stand alone tab + ecfg = createTab('refresh', endpoint, label); + } + + $.post(url, function(data){ + if (endpoint === "bump") { + data = $('
').html(data).text(); + } else { + data = data.replace(/'''[\s\S]*'''/,""); + } + if (embeddedMode) { + updateSidecarAsEditor(ecfg, data); + } else { + updateTabAsEditor(ecfg, data, 'plaintext'); + } + + }).fail(function(jqXHR, textStatus, errorThrown) { + if (embeddedMode) { + updateSidecarAsEditor(ecfg, "Status code: " + jqXHR.status + "\n\n" + errorThrown); + } else { + closeTabByCfg(ecfg); + showModal({ + title: "Error", + body: "
" + label + " - Error occurred!

Status code: " + jqXHR.status + "

" + htmlEncode(errorThrown) + "
", + }); + } + }); + + } + + function changeDirectory(dir){ + if (dir) { + $(".ce_show_filesystem ").click(); + readFolder(dir.replace(/[\/\\]$/g, ""), 'fwd'); + } + } + + function replaceTokens(str, file){ + var basefile = dodgyBasename(file); + var dirname = dodgyDirname(file); + return str.replace(/\$\{(FILE|BASEFILE|DIRNAME)(?:,(\-?\d+))?(?:,(\-?\d+))?\}/g,function(all, g1, g2, g3){ + var ret, l; + if (g1=="FILE") { ret = file; } + if (g1=="BASEFILE") { ret = basefile; } + if (g1=="DIRNAME") { ret = dirname; } + l = ret.length; + if (typeof g3 !== "undefined") { g2 = parseInt(g2); g3 = parseInt(g3); return ret.substr(g2 < 0 ? l + g2 : g2, g3 < 0 ? l + g3 : g3); } + if (typeof g2 !== "undefined") { g2 = parseInt(g2); return ret.substr(g2 < 0 ? l + g2 : g2); } + return ret; + }); + } + + function runAction(actionStr, file, embeddedMode) { + var parts = actionStr.split(":"); + var action = parts.shift(); + var args = parts.join(":"); + if (file !== undefined) { + args = replaceTokens(args, file); + } + hooksCfg[action](args, undefined, embeddedMode); + } + + // Keep track of what tabs are open in local storage. + function openTabsListChanged(){ + var t = []; + for (var j = 0; j < editors.length; j++){ + editors[j].position = editors[j].tab.index(); + } + editors.sort(function(a,b){ + if (a.position > b.position) { + return 1; + } else if (b.position > a.position) { + return -1; + } else { + return 0; + } + }); + activeTab = $ce_tabs.children(".ce_active").index(); + for (var i = 0; i < editors.length; i++){ + if (tabCfg[editors[i].type].can_reopen) { + t.push({label: editors[i].label, type: editors[i].type, file: editors[i].file}); + } + } + localStorage.setItem('ce_open_tabs', JSON.stringify(t)); + updateUrlHash(); + } + + function updateUrlHash(){ + var hashparts = [inFolder], + last_used_idx, + newest; + for (var i = 0; i < editors.length; i++){ + if (tabCfg[editors[i].type].can_reopen) { + if (! newest || newest < editors[i].last_opened) { + newest = editors[i].last_opened; + last_used_idx = (hashparts.length - 1) / 2; + } + hashparts.push(editors[i].type); + hashparts.push(editors[i].file); + } + } + hashparts.unshift(last_used_idx); + if (history.replaceState) { + history.replaceState(null, null, '#' + hashparts.join("|")); + } else { + location.hash = '#' + encodeURIComponent(hashparts.join("|")); + } + } + + function readUrlHash(){ + var parts = decodeURIComponent(document.location.hash.substr(1)).split("|"); + if (parts.length > 1) { + inFolder = parts[1]; + for (var i = 2; (i + 1) < parts.length; i+=2) { + // check to make sure its allowed first! This protects against someone crafting a bad url (e.g. a "run" command) and sending it to a victim + if (tabCfg[parts[i]].can_reopen) { + var file_parts = parts[i+1].split("@"); + if (file_parts.length > 1) { + doLineHighlight = file_parts[1]; + hooksCfg[parts[i]](file_parts[0]); + + } else { + hooksCfg[parts[i]](parts[i+1]); + } + + } + } + var tabIdx = parseInt(parts[0],10); + if (parts.length > 2 && !isNaN(tabIdx)) { + activateTab(tabIdx); + } + } + } + + // This can be used like so: + // var bc = new BroadcastChannel("config_explorer"); bc.postMessage({action:"open",type:"rest",path:"/servicesNS/admin/search/data/ui/views/aaa_dump"}) + function handleBroadcastMessage(event) { + console.log("Received broadcast message", event); + if (event.data && event.data.hasOwnProperty("action") && event.data.action==="open") { + if (tabCfg[event.data.type].can_reopen) { + hooksCfg[event.data.type](event.data.path); + broadcastChannel.postMessage({ + action:"opened", + type: event.data.type, + path: event.data.path + }); + } + } + } + + function getPreferences() { + var preferences; + try { + preferences = JSON.parse(localStorage.getItem('ce_preferences')); + } catch(e) {} + if (! preferences || $.isEmptyObject(preferences)) { + preferences = { + "cursorBlinking": "blink", + "cursorSmoothCaretAnimation": false, + "minimap": { + "renderCharacters": true, + "showSlider": "mouseover" + } + }; + } + return preferences; + } + // This is an action that will occur after saving the file + function openPreferences() { + showModal({ + title: "Preferences", + size: 500, + body: "
Preferences will only affect sessions from this browser."+ + "

Enable word-wrap "+ + "
Enable visible whitespace "+ + //"
Reuse tabs for post-save actions "+ + "
Hover tooltip "+ + "
Show full file path in tab (refresh required)"+ + "

Advanced editor options (See here)
"+ + "
"+ + "
", + onShow: function(){ + // On load set the fields to the current values + var preferences = getPreferences(); + if (preferences.hasOwnProperty("wordWrap") && preferences.wordWrap === "on") { + $(".ce_pref_item .ce_wordWrap").prop('checked', true); + } + if (preferences.hasOwnProperty("renderWhitespace") && preferences.renderWhitespace === "all") { + $(".ce_pref_item .ce_renderWhitespace").prop('checked', true); + } + //if (preferences.hasOwnProperty("ce_reuseWindow") && preferences.ce_reuseWindow) { + // $(".ce_pref_item .ce_reuseWindow").prop('checked', true); + //} + if (!(preferences.hasOwnProperty("hover") && preferences.hover.hasOwnProperty("enabled") && ! preferences.hover.enabled)) { + $(".ce_pref_item .ce_hideSpecTooltip").prop('checked', true); + } + if (preferences.hasOwnProperty("ce_fullPathTab") && preferences.ce_fullPathTab) { + $(".ce_pref_item .ce_fullPathTab").prop('checked', true); + } + + + delete preferences.wordWrap; + delete preferences.renderWhitespace; + delete preferences.ce_reuseWindow; + delete preferences.ce_fullPathTab; + if (preferences.hasOwnProperty("hover")) { + delete preferences.hover.enabled; + if ($.isEmptyObject(preferences.hover)) { + delete preferences.hover; + } + } + $(".ce_pref_item .ce_pref_advanced").val(JSON.stringify(preferences,null,3)); + }, + actions: [{ + onClick: function(){ + try { + preferences = JSON.parse($(".ce_pref_item .ce_pref_advanced").val()); + } catch (e) { + preferences = {}; + } + preferences.wordWrap = ($(".ce_pref_item input.ce_wordWrap:checked").length > 0) ? "on" : "off"; + preferences.renderWhitespace = ($(".ce_pref_item input.ce_renderWhitespace:checked").length > 0) ? "all" : "none"; + //preferences.ce_reuseWindow = ($(".ce_pref_item input.ce_reuseWindow:checked").length > 0); + preferences.ce_fullPathTab = ($(".ce_pref_item input.ce_fullPathTab:checked").length > 0); + if (! preferences.hasOwnProperty("hover")) { + preferences.hover = {}; + } + if ($(".ce_pref_item input.ce_hideSpecTooltip:checked").length === 0) { + preferences.hover.enabled = false; + } else { + preferences.hover.enabled = true; + } + localStorage.setItem('ce_preferences', JSON.stringify(preferences)); + // Update all currently open windows + for (var i = 0; i < editors.length; i++) { + if (editors[i].hasOwnProperty("editor")) { + editors[i].editor.updateOptions(preferences); + } + } + $(".modal").modal('hide'); + }, + cssClass: 'btn-primary', + label: "Save" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + // This is an action that will occur after saving the file + function setPostSaveAction() { + var ecfg = editors[activeTab]; + var suggestions = []; + for (var j = 0; j < hooksActive.length; j++) { + if (hooksActive[j]._match.test(ecfg.file) && hooksActive[j].matchtype == "file" && isTrueValue(hooksActive[j].showWithSave)) { + suggestions.push("Suggest: " + htmlEncode(replaceTokens(hooksActive[j].action, ecfg.file)) + "
"); + } + } + showModal({ + title: "Set post-save action", + size: 900, + body: "
Enter a command to automatically run after successful save of this file only. This action will be saved in your browser local storage "+ + "(it will not affect other users or other browsers you use, but it will be remembered after browser refresh). "+ + "Run commands will be executed from the SPLUNK_HOME directory.

"+ + "File: " + htmlEncode(ecfg.file) + ""+ + "

"+ + suggestions.join('') + + "

" + + ""+ + "
"+ + "
"+ + //"
Run in background tab:
"+ + //"
The following options will check the returned content from a post-save action for a specific string and will show a success or failure icon on the tab. Only one value is required for the icon to be displayed.
"+ + //"
Content match for success:
"+ + //"
Content match for failure:
"+ + "
", + onShow: function(){ + // On load set the fields to the current values + var p = getPostSave(ecfg.file); + if (p !== null) { + $(".ce_postsave_arg0").val(p[0]); + $(".ce_postsave_arg1").val(p[1]); + //$(".ce_postsave_background").val(p[2]); + //$(".ce_postsave_strmatch_good").val(p[3]); + //$(".ce_postsave_strmatch_bad").val(p[4]); + } + $(".ce_postsave_suggestion").on("click", function(){ + var s = $(this).html(); + var sparts = s.split(":"); + $(".ce_postsave_arg0").val(sparts.shift()); + $(".ce_postsave_arg1").val(sparts.join(":")); + }); + }, + actions: [{ + onClick: function(){ + var postsave = (JSON.parse(localStorage.getItem('ce_postsave')) || {}); + var arg0 = $(".ce_postsave_arg0").val(); + var arg1 = $(".ce_postsave_arg1").val(); + //var background = $(".ce_postsave_background").val(); + //var strmatch_good = $(".ce_postsave_strmatch_good").val(); + //var strmatch_bad = $(".ce_postsave_strmatch_bad").val(); + if (arg0 === "nothing") { + delete postsave[ecfg.file]; + } else { + postsave[ecfg.file] = [arg0, arg1]; //, background, strmatch_good, strmatch_bad]; + } + localStorage.setItem('ce_postsave', JSON.stringify(postsave)); + $(".modal").modal('hide'); + }, + cssClass: 'btn-primary', + label: "Save" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + // Read local storage to get any post-save action that exists for this file + function getPostSave(file) { + var parts; + var postsave = (JSON.parse(localStorage.getItem('ce_postsave')) || {}); + if (postsave.hasOwnProperty(file)){ + // Handle legacy format + if (typeof postsave[file] === "string") { + parts = postsave[file].split(":"); + var action = parts.shift(); + var args = replaceTokens(parts.join(":"), file); + return [action,args]; + } else { + parts = postsave[file]; + parts[1] = replaceTokens(parts[1], file); + return parts; + } + } + return null; + } + + // Run button + function runShellCommand(contents, useSHOME) { + var history_idx = run_history.length, + in_progress_cmd = '', + $input, + cwd = ""; + if (inFolder !== "."){ + cwd = "

Working directory:

"+ + "
"+ + "

"; + } + showModal({ + title: "Run ", + size: 600, + body: "
Enter a command to run on the server. Warning: Be careful with commands that do not exit as they will become orphaned processes. This does not have a timeout.

" + + cwd + + ""+ + "
", + onShow: function(){ + $input = $('.ce_prompt_input'); + if (contents) { + $input.val(contents); + } + // Provide a history of run commands + $input.focus().on('keydown', function(e) { + // on enter, submit form + if (e.which === 13) { + $('.modal').find('button:first-child').click(); + } else if (e.which === 38) {// up arrow + if (history_idx === run_history.length) { + in_progress_cmd = $input.val(); + } + history_idx--; + if (history_idx < 0) {history_idx = 0;} + $input.val(run_history[history_idx]); + } else if (e.which === 40) { // down arrow + if (history_idx === run_history.length) { return; } + history_idx++; + if (history_idx === run_history.length) { + $input.val(in_progress_cmd); + } else { + $input.val(run_history[history_idx]); + } + } + }); + }, + actions: [{ + onClick: function(){ + var runDir = $(".ce_run_cwd_radio_shome:checked").length; + $('.modal').one('hidden.bs.modal', function() { + var command = $input.val(); + if (command) { + if (runDir) { + runShellCommandNow(command, "", false); + } else { + runShellCommandNow(command, inFolder, false); + } + } + }).modal('hide'); + }, + cssClass: 'btn-primary', + label: "Run" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + function debugRefreshEndpointSelection() { + showModal({ + title: "Debug/refresh endpoints", + size: 1000, + body: "
Select endpoint to debug/refresh. This list of endpoints is configured in Settings (config_explorer.conf) property: debug_refresh_endpoints

", + onShow: function(){ + var $debugrefreshEndpoints = $(".ce-debugrefresh-endpoints"); + var str =""; + for (var i = 0; i < conf._debug_refresh_endpoints.length; i++) { + var epoint = $.trim(conf._debug_refresh_endpoints[i]); + if (epoint) { + str += "" + htmlEncode(epoint) + ""; + } + } + + $debugrefreshEndpoints + .html(str) + .on("click","a",function(e){ + e.preventDefault(); + e.stopPropagation(); + var $this = $(this); + $(".modal").modal('hide'); + debugRefreshBumpHook( $this.text() ); + }); + }, + actions: [{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + + + // Run button + function runReloadDeployServer() { + showModal({ + title: "Reload deploy-server", + size: 1000, + body: "
Select server class to reload.

All server classes
", + onShow: function(){ + var $serverClasses = $(".ce-server-classes"); + $ce_spinner.clone().appendTo($serverClasses); + + service.get('/services/deployment/server/serverclasses', {count:0, f:"name"}, function(err, r) { + if (err) { + console.error(err); + showModal({ + title: "Error", + body: "
Unexpected error occurred retreiving serverclasses list

" + htmlEncode(JSON.stringify(err)) + "
", + }); + } + var str = ""; + //console.log("resp",r.data); + if (r && r.data && r.data.entry) { + for (var i = 0; i < r.data.entry.length; i++) { + str += "" + htmlEncode(r.data.entry[i].name) + ""; + } + } + $serverClasses.html(str); + $(".ce-deployserver").on("click","a",function(e){ + e.preventDefault(); + e.stopPropagation(); + var $this = $(this); + $(".modal").modal('hide'); + if ($this.hasClass("ce-server-classes-all")) { + runReloadDeployServerNow(); + } else { + runReloadDeployServerNow($this.text()); + //runShellCommandNow("./bin/splunk reload deploy-server -class \"" + $this.text() + "\""); + } + }); + }); + }, + actions: [{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + function runReloadDeployServerNow(srvclass) { + if (typeof srvclass === undefined) { + srvclass = ""; + } + var command = "reload deploy-server"; + if (tabAlreadyOpen('deployserver', "")) { + closeTabByName('deployserver', ""); + } + var ecfg = createTab('deployserver', "", '$ ' + htmlEncode(command)); + serverActionWithoutFlicker({action: 'deployserver', path: srvclass}).then(function(contents){ + updateTabAsEditor(ecfg, contents, 'plaintext'); + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + + + function runShellCommandNow(command, fromFolder, embeddedMode){ + if (typeof embeddedMode === "undefined") { + embeddedMode = false; + } + var ecfg; + var label = '$ ' + htmlEncode(command); + var timer = $("
"); + if (embeddedMode) { + ecfg = createTabSidecar(label); + timer.appendTo(ecfg.sidecar_editor_container); + } else { + ecfg = createTab('run', command, label); + timer.appendTo(ecfg.editor_container); + } + //var cancel = $("").appendTo(ecfg.container); + + var started = Date.now(); + var interval = setInterval(function() { + var tt = Math.round((Date.now() - started) / 1000); + if (tt > 2) { + timer.html(tt + " sec"); + } + },1000); + // trim length + if (run_history.length > 50) { + run_history.shift(); + } + // only save if the command is different to what was last run + if (command !== run_history[(run_history.length - 1)]) { + run_history.push(command); + } + // save to localstorage + localStorage.setItem('ce_run_history', JSON.stringify(run_history)); + if (typeof fromFolder === "undefined") { + fromFolder = ""; + } + ecfg.fromFolder = fromFolder; + serverActionWithoutFlicker({action: 'run', path: command, param1: fromFolder}).then(function(contents){ + clearInterval(interval); + if (embeddedMode) { + updateSidecarAsEditor(ecfg, contents); + } else { + if (/git +diff/.test(command)) { + updateTabAsEditor(ecfg, contents, "git-diff"); + } else if (/git +log/.test(command)) { + updateTabAsEditor(ecfg, contents, "git-log"); + } else { + updateTabAsEditor(ecfg, contents, 'plaintext'); + } + } + // refresh left pane + refreshFolder(); + }).catch(function(){ + clearInterval(interval); + if (embeddedMode) { + updateSidecarAsEditor(ecfg, "An unexpected error occured."); + } else { + closeTabByCfg(ecfg); + } + }); + } + + // Check config + function runBToolCheck() { + var ecfg = createTab('btool-check', 'btool-check', 'btool check '); + serverActionWithoutFlicker({action: 'btool-check'}).then(function(contents){ + contents = contents.replace(/^(No spec file for|Checking):.*\r?\n/mg,'').replace(/^\t\t/mg,'').replace(/\n{2,}/g,'\n\n'); + if ($.trim(contents)) { + updateTabAsEditor(ecfg, contents, 'plaintext'); + } else { + closeTabByCfg(ecfg); + showModal({ + title: "Info", + body: "
No configuration errors found
", + size: 300 + }); + } + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + + function getRest(path, args) { + return new Promise(function(resolve, reject){ + service.get(path, args, function(err, r) { + if (err) { + reject(err); + } + if (r && r.data && r.data.entry) { + // for (var i = 0; i < r.data.entry.length; i++) { + // str += "[" + r.data.entry[i].name + "]\n"; + // var props = Object.keys(r.data.entry[i].content); + // props.sort(); + // for (var j = 0; j < props.length; j++) { + // if (props[j].substr(0,4) !== "eai:" && !(props[j] === "disabled" && ! r.data.entry[i].content[props[j]])) { + // str += props[j] + " = " + r.data.entry[i].content[props[j]] + "\n"; + // } + // } + // } + //if (str) { + resolve(r.data.entry); + //} else { + // reject(); + //} + } else { + reject(); + } + }); + }); + } + + function getRunningConfig(path) { + path = path.replace(/\.conf$/i,""); + return new Promise(function(resolve, reject){ + service.get('/servicesNS/-/-/configs/conf-' + path, null, function(err, r) { + if (err) { + reject(err); + } + var str = ""; + if (r && r.data && r.data.entry) { + for (var i = 0; i < r.data.entry.length; i++) { + str += "[" + r.data.entry[i].name + "]\n"; + var props = Object.keys(r.data.entry[i].content); + props.sort(); + for (var j = 0; j < props.length; j++) { + if (props[j].substr(0,4) !== "eai:" && !(props[j] === "disabled" && ! r.data.entry[i].content[props[j]])) { + str += props[j] + " = " + r.data.entry[i].content[props[j]] + "\n"; + } + } + } + if (str) { + resolve(str); + } else { + reject(); + } + } else { + reject(); + } + }); + }); + } + + function runningVsLayered(path, compare){ + path = path.replace(/\.conf$/i,""); + var type = 'live'; + var tab_path_fmt = 'live: ' + path; + if (compare) { + type = 'live-diff'; + tab_path_fmt = 'live/btool: ' + path; + } + if (! tabAlreadyOpen(type, path)) { + var ecfg = createTab(type, path, tab_path_fmt); + serverActionWithoutFlicker({action: 'btool-list', path: path}).then(function(contents){ + var c = formatBtoolList(contents, "btool-hidepaths"); + if ($.trim(c)) { + getRunningConfig(path).then(function(contents_running){ + if (compare) { + updateTabAsDiffer( + ecfg, + "# Filesystem config\n" + formatLikeRunningConfig(contents), + "# Running config\n" + contents_running + ); + } else { + updateTabAsEditor(ecfg, contents_running, 'ini'); + } + }).catch(function(){ + closeTabByCfg(ecfg); + showModal({ + title: "Warning", + body: "
Could not get retreieve running config for " + htmlEncode(path) + "
", + size: 300 + }); + }); + } else { + closeTabByCfg(ecfg); + showModal({ + title: "Error", + body: "
No btool data returned for " + htmlEncode(path) + "
", + size: 300 + }); + } + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + } + + function runBToolList(inPath, type, origPath, replacementPath){ + var parts = inPath.split(":"); + var conf_file = parts.shift().replace(/\.conf$/i, ""); + var path = parts.join(":"); + // There are three special "paths" which we replace with the dynamic value + if (path === "deployment-apps"){ + if (conf.btool_dir_for_deployment_apps) { + path = conf.btool_dir_for_deployment_apps; + origPath = conf.btool_dir_for_deployment_apps; + replacementPath = "/splunk/etc/deployment-apps/"; + } else { + path = ""; + } + } + if (path === "master-apps") { + if (conf.btool_dir_for_master_apps) { + path = conf.btool_dir_for_master_apps; + origPath = conf.btool_dir_for_master_apps; + replacementPath = "/splunk/etc/master-apps/"; + } else { + path = ""; + } + } + if (path === "manager-apps") { + if (conf.btool_dir_for_manager_apps) { + path = conf.btool_dir_for_manager_apps; + origPath = conf.btool_dir_for_manager_apps; + replacementPath = "/splunk/etc/manager-apps/"; + } else { + path = ""; + } + } + if (path === "shcluster") { + if (conf.btool_dir_for_shcluster_apps) { + path = conf.btool_dir_for_shcluster_apps; + } else { + path = ""; + } + } + var tab_path_fmt = 'btool: ' + conf_file + (type === "btool" ? "" : " (" + type.substr(6) + ")"); + if (tabAlreadyOpen(type, conf_file + ":" + path)) { + closeTabByName(type, conf_file + ":" + path); + } + var ecfg = createTab(type, conf_file + ":" + path, tab_path_fmt); + serverActionWithoutFlicker({action: 'btool-list', path: conf_file, param1: path}).then(function(contents){ + if (typeof origPath !== "undefined") { + contents = adjustBtoolPaths(contents, origPath, replacementPath); + } + var c = formatBtoolList(contents, type); + if ($.trim(c)) { + updateTabAsEditor(ecfg, c, 'ini'); + ecfg.btoollist = contents; + serverAction({action: 'spec-hinting', path: conf_file}).then(function(h){ + ecfg.hinting = buildHintingLookup(conf_file, h); + }); + } else { + closeTabByCfg(ecfg); + showModal({ + title: "Warning", + body: "
No contents for \"" + htmlEncode(tab_path_fmt) + "\"
", + size: 300 + }); + } + }).catch(function(){ + console.error(arguments); + closeTabByCfg(ecfg); + }); + } + + function displaySpecFile(path) { + path = path.replace(/\.conf$/i,""); + var tab_path_fmt = 'spec: ' + path; + if (! tabAlreadyOpen('spec', path)) { + var ecfg = createTab('spec', path, tab_path_fmt); + serverActionWithoutFlicker({action: 'spec', path: path}).then(function(contents) { + if ($.trim(contents)) { + updateTabAsEditor(ecfg, contents, 'ini'); + } else { + closeTabByCfg(ecfg); + showModal({ + title: "Error", + body: "
No spec file found!
", + size: 300 + }); + } + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + } + + // Update and display the left pane in filesystem mode + function showTreePaneSpinner(direction) { + if (! leftpane_ignore) { + leftpane_ignore = direction || "none"; + $ce_file_wrap.addClass("ce_move_" + leftpane_ignore); + $ce_spinner.clone().appendTo($ce_tree_pane); + $ce_tree_icons.find('i').addClass("ce_disabled"); + } + } + + function refreshFolder(){ + readFolderFromServer(inFolder); + } + + function getTreeCache(path, depth) { + var patharray = path.split("/"); + if (typeof depth === "undefined") { + depth = patharray.length; + } else { + // make sure we arent attempting to go deeper than the length of the path + depth = Math.min(patharray.length, depth); + } + var base = filecache; + if (filecache === null) { + return base; + } + for (var i = 1; i < depth; i++) { + if (base.hasOwnProperty(patharray[i])) { + base = base[patharray[i]]; + } else { + base = null; + break; + } + } + return base; + } + + // Read the folder from the cache + function readFolder(path, direction) { + //path = path.replace(/\/{2,}/,"/"); + path = path.replace(/(?:\/\.|\/)+$/g,""); + filterModeReset(); + var base = getTreeCache(path); + if (base === null || ! base.hasOwnProperty(".")){ + readFolderFromServer(path, direction); + } else { + folderContents = []; + for (var key in base) { + if (base.hasOwnProperty(key) && key !== ".") { + folderContents.push({ + sortkey: key.toLocaleLowerCase(), + dir: true, + name: key + }); + } + } + if (base.hasOwnProperty(".")) { + for (var j = 0; j < base["."].length; j++) { + folderContents.push({ + sortkey: base["."][j].toLocaleLowerCase(), + dir: false, + name: base["."][j] + }); + } + } + readFolderLoad(path); + // Even though we just loaded the folder contents from cache, we still request data from the server which will be updated once it is ready. + // this keeps the UI fast and makes sure that stuff hasnt changed after the cache was generated. It also allows for sorting by size/timestamp + readFolderFromServerWithoutSpinner(path, direction); + } + } + + function readFolderFromServer(path, direction) { + showTreePaneSpinner(direction); + openingFolder = path; + return readFolderFromServerActual(path, direction); + } + + function readFolderFromServerWithoutSpinner(path, direction) { + openingFolder = path; + return readFolderFromServerActual(path, direction); + } + + function readFolderFromServerActual(path, direction) { + return serverAction({action: 'read', path: path}).then(function(contents){ + // Make sure the user didnt navigate to another folder while waiting for the server query + if (openingFolder !== path) { return; } + var i; + // if filecache is null it means user turned it off by setting conf to -1 + if (filecache !== null) { + var base = getTreeCache(path); + // base can be null if the screen was opened when we were already deep in the uncached zone + if (base !== null) { + var folders = ["."]; + base["."] = []; + for (i = 0; i < contents.length; i++) { + if (!contents[i][0]) { + base["."].push(contents[i][1]); + } else { + folders.push(contents[i][1]); + if (! base.hasOwnProperty(contents[i][1])) { + base[contents[i][1]] = {}; + } + } + } + // Go through and delete any keys that might no longer exist + for (var key in base) { + if (base.hasOwnProperty(key) && folders.indexOf(key) === -1) { + delete base[key]; + } + } + } + } + folderContents = []; + for (i = 0; i < contents.length; i++) { + folderContents.push({ + sortkey: contents[i][1].toLocaleLowerCase(), + dir: !!(contents[i][0]), + name: contents[i][1], + time: contents[i][2], + size: contents[i][3], + }); + } + readFolderLoad(path); + }).catch(function(msg){ + leftPaneRemoveSpinner(); + $ce_file_wrap.empty(); + $ce_file_path.empty(); + $("
Error loading folder contents
(was folder deleted?)

Retry or Go to SPLUNK_HOME
").appendTo($ce_file_wrap); + $ce_file_wrap.find(".ce_tree_retry").on("click", function(){ + return readFolderFromServer(path, direction); + }); + $ce_file_wrap.find(".ce_tree_reset").on("click", function(){ + return readFolderFromServer("."); + }); + }); + } + + function readFolderLoad(path){ + inFolder = path; + updateUrlHash(); + localStorage.setItem('ce_current_path', inFolder); + folderContents.sort(function(a, b) { + if (a.dir === b.dir) { + if (sortMode === "size" || sortMode === "time") { + if (sortAsc) { + return a[sortMode] > b[sortMode] ? -1 : a[sortMode] < b[sortMode] ? 1 : a.sortkey > b.sortkey ? 1 : a.sortkey < b.sortkey ? -1 : 0; + } + return a[sortMode] > b[sortMode] ? 1 : a[sortMode] < b[sortMode] ? -1 : a.sortkey > b.sortkey ? 1 : a.sortkey < b.sortkey ? -1 : 0; + } + // sort by name + if (sortAsc) { + return a.sortkey > b.sortkey ? 1 : a.sortkey < b.sortkey ? -1 : 0; + } + return a.sortkey > b.sortkey ? -1 : a.sortkey < b.sortkey ? 1 : 0; + } + return b.dir ? 1 : -1; + }); + leftPaneFileList(); + } + + function filePathRTLCheck() { + var span = $ce_file_path.find("span"); + if (span.attr("title")) { + if (span.width() > $ce_file_path.width()) { + $ce_file_path.addClass('ce_rtl'); + } else { + $ce_file_path.removeClass('ce_rtl'); + } + } + } + + function leftPaneRemoveSpinner(){ + if (leftpane_ignore) { + if (leftpane_ignore === 'fwd') { + $ce_file_wrap.css({transition: "all 0ms", transform: "translate(200px, 0px)", opacity: 0}); + } else if (leftpane_ignore === 'back') { + $ce_file_wrap.css({transition: "all 0ms", transform: "translate(-200px, 0px)", opacity: 0}); + } else { + $ce_file_wrap.css({transition: "all 0ms", transform: "", opacity: 0}); + } + $ce_file_wrap.removeClass("ce_move_none ce_move_fwd ce_move_back"); + $ce_tree_pane.find(".ce_spinner, .ce_fs_slow_message").remove(); + setTimeout(function(){ + $ce_file_wrap.css({transition: "", transform: "", opacity: ""}); + },0); + leftpane_ignore = false; + } + } + + function formatSize(bytes) { + if (bytes === 0) return '0 B'; + var k = 1024; + var dm = 2; + var sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; + var i = Math.floor(Math.log(bytes) / Math.log(k)); + return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i] + ''; + } + + function formatDate(val) { + var d = new Date(val*1000); + return d.toLocaleString(); + } + + function leftPaneFileList(filter){ + leftPaneRemoveSpinner(); + $ce_file_wrap.empty(); + $ce_file_path.empty(); + $ce_tree_icons.find('i').removeClass("ce_disabled"); + if (inFolder === ".") { + $(".ce_folder_up").addClass("ce_disabled"); + } else { + $(".ce_folder_up").removeClass("ce_disabled"); + } + $("").appendTo($ce_file_path); + var files = 0; + var filter_re; + if (filter) { + filter_re = new RegExp(escapeRegExp(filter), 'gi'); + } + for (var i = 0; i < folderContents.length; i++) { + var item = folderContents[i].name; + if (! filter || item.toLowerCase().indexOf(filter) > -1) { + var icon = (folderContents[i].dir) ? "folder" : "report"; + var text = htmlEncode(item); + if (filter) { + text = text.replace(filter_re, "$&"); + } + $("
"+ + " " + + "
" + text + "
"+ + "
" + (folderContents[i].size > -1 && folderContents[i].hasOwnProperty("size") ? formatSize(folderContents[i].size) : "") + "
"+ + "
" + (folderContents[i].time > -1 && folderContents[i].hasOwnProperty("time") ? formatDate(folderContents[i].time) : "") + "
"+ + "
").attr("file", inFolder + "/" + item).appendTo($ce_file_wrap); + files++; + } + } + if (files===0) { + if (filter) { + $("
Not found: " + htmlEncode(filter) + "
").appendTo($ce_file_wrap); + } else { + $("
Folder empty
").appendTo($ce_file_wrap); + } + } else { + if (treeSearchFocus && $(".ce_leftnav_keyboard_selected").length == 0) { + $ce_file_wrap.children(".ce_leftnav").first().addClass("ce_leftnav_keyboard_selected"); + } + + } + $ce_file_path.find("span, bdi").attr("title", inFolder).text(inFolder + '/' + (files > 1 ? '\xa0\xa0\xa0\xa0\xa0' + files : "")); + filePathRTLCheck(); + } + + function leftPaneRestList(filter){ + //leftPaneRemoveSpinner(); + $ce_file_wrap.empty(); + $ce_file_path.empty(); + $ce_tree_icons.find('i').removeClass("ce_disabled"); + var crumbs = ""; + if (inFolderRestType === "") { + $(".ce_folder_up_rest").addClass("ce_disabled"); + //leftPaneRestListGetTypes(); + } else if (inFolderRestApp === "") { + $(".ce_folder_up_rest").addClass("ce_disabled"); + crumbs = "."; //inFolderRestType; + leftPaneRestListGet("apps", filter); + } else { + crumbs = "./" + inFolderRestApp; //inFolderRestType + + leftPaneRestListGet(inFolderRestType, filter); + } + $("").appendTo($ce_file_path); + $ce_file_path.find("span, bdi").attr("title", crumbs).text(crumbs + '/'); + filePathRTLCheck(); + localStorage.setItem('ce_current_path_restapp', inFolderRestApp); + } + + var restTypes = { + "views": { + endpoint: "/data/ui/views", + args: { + count:0, + f: "label", + search: "(isDashboard=1 AND (rootNode=\"dashboard\" OR rootNode=\"form\" OR rootNode=\"view\" OR rootNode=\"html\") AND isVisible=1)" + } + }, + "apps": { + endpoint: "/services/apps/local", + }, + + }; + + function leftPaneRestListGet(type, filter) { + var label; + var files = false; + var i; + var filter_re; + if (filter) { + filter_re = new RegExp(escapeRegExp(filter), 'gi'); + } + + // if app's cache doesnt exist, do that + if (! restTypes.apps.hasOwnProperty("cache")) { + getRest(restTypes.apps.endpoint, {count:0, f:"label"}).then(function(restData) { + //console.log(restData); + restTypes.apps.cache = {}; + for (var i = 0; i < restData.length; i++) { + restTypes.apps.cache[restData[i].name] = restData[i].content.label; + } + // try again + leftPaneRestListGet(type, filter); + }).catch(function(){ + showModal({ + title: "Warning", + body: "
Could not get rest data for apps
", + size: 300 + }); + }); + + + // if we dont have a cached copy of the data we need e.g. views, then get it now + } else if (! restTypes[inFolderRestType].hasOwnProperty("cache") ) { + getRest(restTypes[inFolderRestType].endpoint, restTypes[inFolderRestType].args).then(function(restData) { + //console.log(restData); + restTypes[inFolderRestType].cache = []; + for (var i = 0; i < restData.length; i++) { + var item = { + date: new Date(restData[i].updated).valueOf(), + link: restData[i].links.alternate, + app: restData[i].acl.app, + label: restData[i].content.hasOwnProperty("label") ? restData[i].content.label : "", + name: restData[i].name, + }; + restTypes[inFolderRestType].cache.push(item); + } + // try again + leftPaneRestListGet(type, filter); + }).catch(function(){ + showModal({ + title: "Warning", + body: "
Could not get rest data for " + htmlEncode(inFolderRestType) + "
", + size: 300 + }); + }); + + // we have the apps list and the data list + } else { + //console.log("using " + inFolderRestType + " cache", restTypes[inFolderRestType].cache); + if (type === "apps") { + var appList = {}; + var appListArray = []; + for (i = 0; i < restTypes[inFolderRestType].cache.length; i++) { + var app = restTypes[inFolderRestType].cache[i].app; + if (! appList.hasOwnProperty(app)) { + appList[app] = { + count:0, + latest:0, + app: app, + label_orig: restTypes.apps.cache[app] + }; + appListArray.push(appList[app]); + if (! restTypes.apps.cache[app] || displayModeRest==="n") { + appList[app].label = htmlEncode(app); + } else if (displayModeRest==="l") { + appList[app].label = htmlEncode(restTypes.apps.cache[app]); + } else if (displayModeRest==="ln") { + appList[app].label = htmlEncode(restTypes.apps.cache[app]) + " (" + htmlEncode(app) + ")"; + } else { //nl + appList[app].label = htmlEncode(app) + " (" + htmlEncode(restTypes.apps.cache[app]) + ")"; + } + } + appList[app].count++; + if (appList[app].latest < restTypes[inFolderRestType].cache[i].date) { + appList[app].latest = restTypes[inFolderRestType].cache[i].date; + } + } + + // sort apps + appListArray.sort(function(a, b) { + if (sortModeRest==="label"){ + return sortAscRest==="1" ? a.label.localeCompare(b.label) : b.label.localeCompare(a.label); + } else if ( sortModeRest==="time"){ + return sortAscRest==="1" ? a.latest - b.latest : b.latest - a.latest; + } + }); + + for (i = 0; i < appListArray.length; i++) { + if (! filter || appListArray[i].app.toLowerCase().indexOf(filter) > -1 || appListArray[i].label_orig.toLowerCase().indexOf(filter) > -1) { + + files = true; + if (filter) { + appListArray[i].label = appListArray[i].label.replace(filter_re, "$&"); + } + $("
"+ + " " + + "
" + appListArray[i].label + " " + appListArray[i].count + "
"+ + "
").attr("restapp", appListArray[i].app).appendTo($ce_file_wrap); + } + + } + } else { + + // sort views / etc + restTypes[type].cache.sort(function(a, b) { + if (sortModeRest==="label"){ + if (displayModeRest==="l" || displayModeRest==="ln") { + return sortAscRest==="1" ? a.label.localeCompare(b.label) : b.label.localeCompare(a.label); + } else { + return sortAscRest==="1" ? a.name.localeCompare(b.name) : b.name.localeCompare(a.name); + } + } else if ( sortModeRest==="time"){ + return sortAscRest==="1" ? a.date - b.date : b.date - a.date; + } + }); + + for (i = 0; i < restTypes[type].cache.length; i++) { + if (restTypes[type].cache[i].app === inFolderRestApp) { + if (! filter || restTypes[type].cache[i].name.toLowerCase().indexOf(filter) > -1 || restTypes[type].cache[i].label.toLowerCase().indexOf(filter) > -1) { + files = true; + if (! restTypes[type].cache[i].label || displayModeRest==="n") { + label = htmlEncode(restTypes[type].cache[i].name); + } else if (displayModeRest==="l") { + label = htmlEncode(restTypes[type].cache[i].label); + } else if (displayModeRest==="ln") { + label = htmlEncode(restTypes[type].cache[i].label) + " (" + htmlEncode(restTypes[type].cache[i].name) + ")"; + } else { //nl + label = htmlEncode(restTypes[type].cache[i].name) + " (" + htmlEncode(restTypes[type].cache[i].label) + ")"; + } + if (filter) { + label = label.replace(filter_re, "$&"); + } + $("
"+ + "
" + label + "
"+ + "
").attr("restfile", restTypes[type].cache[i].link).appendTo($ce_file_wrap); + } + } + } + } + if (!files) { + $("
Nothing found
").appendTo($ce_file_wrap); + } else { + if (treeSearchFocus && $(".ce_leftnav_keyboard_selected").length == 0) { + $ce_file_wrap.children(".ce_leftnav").first().addClass("ce_leftnav_keyboard_selected"); + } + } + } + } + + // Handle clicking a rest link in the left pane, to open it in the right pane + function readFileRest(path){ + var label = preferences.ce_fullPathTab ? "" + dodgyRemoveRelPath(dodgyDirname(path)) + "" + dodgyBasename(path) : dodgyBasename(path); + var type = "rest"; + if (! tabAlreadyOpen(type, path)) { + var ecfg = createTab(type, path, label); + getRest(path, null).then(function(restData) { + //console.log(restData); //?output_mode=json&count=0&f=title&f=label + if (restData.length === 0) { + showModal({ + title: "Warning", + body: "
Nothing returned from REST API at: " + htmlEncode(path) + "
", + size: 300 + }); + closeTabByCfg(ecfg); + } else if (restData.length === 1) { + updateTabAsEditor(ecfg, restData[0].content['eai:data'], "xml"); + } else { + showModal({ + title: "Warning", + body: "
unexpectedly returned too many items from REST API at: " + htmlEncode(path) + "
", + size: 300 + }); + closeTabByCfg(ecfg); + } + + }).catch(function(){ + showModal({ + title: "Warning", + body: "
Unexpected error getting data from Splunk REST api: " + htmlEncode(path) + "
", + size: 300 + }); + closeTabByCfg(ecfg); + }); + } + } + + + // The conf file list + function leftPaneConfList(filter) { + $ce_file_wrap.empty(); + $ce_file_path.removeClass('ce_rtl').empty(); + var filter_re; + var files = false; + if (filter) { + filter_re = new RegExp(escapeRegExp(filter), 'gi'); + } + $("Splunk conf files").appendTo($ce_file_path); + for (var i = 0; i < confFilesSorted.length; i++) { + if (! filter) { + $("
").text(confFilesSorted[i]).attr("file", confFilesSorted[i]).prepend(" ").appendTo($ce_file_wrap); + files = true; + + } else if (confFilesSorted[i].toLowerCase().indexOf(filter) > -1) { + var text = htmlEncode(confFilesSorted[i]); + text = text.replace(filter_re, "$&"); + $("
").html(text).attr("file", confFilesSorted[i]).prepend(" ").appendTo($ce_file_wrap); + files = true; + } + } + if (!files){ + $("
Not found: " + htmlEncode(filter) + "
").appendTo($ce_file_wrap); + } else { + if (treeSearchFocus && $(".ce_leftnav_keyboard_selected").length == 0) { + $ce_file_wrap.children(".ce_leftnav").first().addClass("ce_leftnav_keyboard_selected"); + } + } + } + + // Click handler for Recent Files button in top right + // TODO [low] can we enhance this so it shows files by how often you use them? + function leftPaneRecentList(filter) { + $ce_file_wrap.empty(); + $ce_file_path.removeClass('ce_rtl').empty(); + var filter_re; + if (filter) { + filter_re = new RegExp(escapeRegExp(filter), 'gi'); + } + $("Recent files").appendTo($ce_file_path); + var counter = 0; + var openlabels = []; + for (var j = 0; j < editors.length; j++) { + openlabels.push(editors[j].label); + } + for (var i = closed_tabs.length - 1; i >= 0 ; i--) { + if (counter > max_recent_files_show) { + break; + } + // hide item if they are actually open at the moment + if (openlabels.indexOf(closed_tabs[i].label) === -1) { + var text = closed_tabs[i].label.replace(/^read:\s/,""); + if (! filter || text.toLowerCase().indexOf(filter) > -1) { + text = htmlEncode(text); + if (filter) { + text = text.replace(filter_re, "$&"); + } + var icon = "report"; + if (closed_tabs[i].type !== "read") { + icon = "bulb"; + } + counter++; + $("
" + text + "
").attr("file", closed_tabs[i].file).attr("title", closed_tabs[i].file).attr("type", closed_tabs[i].type).appendTo($ce_file_wrap); + } + } + } + if (counter === 0) { + if (filter) { + $("
Not found: " + htmlEncode(filter) + "
").appendTo($ce_file_wrap); + } else { + $("
Nothing here
").appendTo($ce_file_wrap); + } + } else { + if (treeSearchFocus && $(".ce_leftnav_keyboard_selected").length == 0) { + $ce_file_wrap.children(".ce_leftnav").first().addClass("ce_leftnav_keyboard_selected"); + } + } + } + + // Handle clicking an file or folder in the left pane + function readFile(path, customErrorCB){ + var label = preferences.ce_fullPathTab ? "" + dodgyRemoveRelPath(dodgyDirname(path)) + "" + dodgyBasename(path) : dodgyBasename(path); + var type = "read"; + if (path === "") { + label = "Settings"; + type = "settings"; + } + if (! tabAlreadyOpen(type, path)) { + var ecfg = createTab(type, path, label); + serverActionWithoutFlicker({action: 'read', path: path}, customErrorCB).then(function(contents){ + updateTabAsEditor(ecfg, contents); + if (ecfg.hasOwnProperty('matchedConf')) { + highlightBadConfig(ecfg); + if (confFiles.hasOwnProperty(ecfg.matchedConf)) { + serverAction({action: 'spec-hinting', path: ecfg.matchedConf}).then(function(c){ + ecfg.hinting = buildHintingLookup(ecfg.matchedConf, c); + }); + } + } + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + } + + + function fileSystemUpload(parentPath){ + showModal({ + title: "Create file, create folder or upload a file", + size: 580, + body: "
"+ + "
New file name:
"+ + + "
New folder name:
"+ + + "
Select upload file:
"+ + "
", + onShow: function(){ + $('.ce_prompt_input_file').focus().on('keydown', function(e) { + // submit form on enter key + if (e.which === 13) { + $('.ce_prompt_btn_file').click(); + } + }); + $('.ce_prompt_btn_file').on("click", function(){ + $('.modal').one('hidden.bs.modal', function() { + var fname = $('.ce_prompt_input_file').val(); + if (fname) { + showTreePaneSpinner(); + serverAction({action: 'newfile', path: parentPath, param1: fname}).then(function(){ + refreshFolder(); + showToast('Success'); + }).catch(function(){ + refreshFolder(); + }); + } + }).modal('hide'); + }); + $('.ce_prompt_input_folder').on('keydown', function(e) { + // submit form on enter key + if (e.which === 13) { + $('.ce_prompt_btn_folder').click(); + } + }); + $('.ce_prompt_btn_folder').on("click", function(){ + $('.modal').one('hidden.bs.modal', function() { + var fname = $('.ce_prompt_input_folder').val(); + if (fname) { + showTreePaneSpinner(); + serverAction({action: 'newfolder', path: parentPath, param1: fname}).then(function(){ + refreshFolder(); + showToast('Success'); + }).catch(function(){ + refreshFolder(); + }); + } + }).modal('hide'); + }); + $('.ce_prompt_btn_upload').on("click", function(){ + $('.modal').one('hidden.bs.modal', function() { + var file = $('.ce_file_upload_input')[0].files[0]; + var reader = new FileReader(); + var extract = ""; + var ecfg; + if ($('.ce_file_upload_extract:checked').length) { + extract = "e"; + ecfg = createTab('run', "", 'Extracted files: ' + htmlEncode(file.name)); + } + reader.onloadend = function() { + var upFileB64 = reader.result; + showTreePaneSpinner(); + serverAction({action: 'fileupload' + extract, path: parentPath, param1: file.name, file: upFileB64}).then(function(contents){ + if (ecfg) { + updateTabAsEditor(ecfg, contents, "plaintext"); + } else { + showToast('Success'); + } + refreshFolder(); + }).catch(function(){ + if (ecfg) { + closeTabByCfg(ecfg); + } + refreshFolder(); + }); + }; + reader.readAsDataURL(file); + }).modal('hide'); + }); + }, + actions: [] + }); + } + + // Rename a file or folder with a prompt window + function fileSystemRename(parentPath) { + if (fileIsOpenAndHasChanges(parentPath)) { return; } + var bn = dodgyBasename(parentPath); + showModal({ + title: "Rename", + size: 400, + body: "
Enter new name for " + bn + "

", + onShow: function(){ + $('.ce_prompt_input').focus().on('keydown', function(e) { + // submit form on enter key + if (e.which === 13) { + $('.modal').find('button:first-child').click(); + } + }); + }, + actions: [{ + onClick: function(){ + $('.modal').one('hidden.bs.modal', function() { + var newname = $('.ce_prompt_input').val(); + if (newname && newname !== bn) { + showTreePaneSpinner(); + serverAction({action: 'rename', path: parentPath, param1: newname}).then(function(){ + refreshFolder(); + showToast('Success'); + // if "path" is open in an editor, it needs to be closed without warning + closeTabByName("read", parentPath); + }).catch(function(){ + refreshFolder(); + }); + } + }).modal('hide'); + }, + cssClass: 'btn-primary', + label: "Rename" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + // Delete a file or folder with a popup windows + function filesystemDelete(file) { + if (fileIsOpenAndHasChanges(file)) { return; } + showModal({ + title: "Delete", + size: 550, + body: "
Are you sure you want to delete: " + file + "

To confirm type 'yes':

", + onShow: function(){ + $('.ce_prompt_input').focus().on("keyup blur", function(){ + if ($('.ce_prompt_input').val().toLowerCase() === "yes") { + $('.modal').find(".btn-danger").removeClass('btn-disabled'); + } else { + $('.modal').find(".btn-danger").addClass('btn-disabled'); + } + }).on('keydown', function(e) { + if (e.which === 13) { + $('.modal').find('button:first-child').click(); + } + }); + $('.modal').find('.ce_type_yes').on("click",function(){ + $('.ce_prompt_input').val("yes").blur(); + }); + }, + actions: [{ + onClick: function(){ + if ($('.ce_prompt_input').val().toLowerCase() !== "yes") { + return; + } + $('.modal').one('hidden.bs.modal', function() { + showTreePaneSpinner(); + serverAction({action: 'delete', path: file}).then(function(){ + refreshFolder(); + showToast('Success'); + // if "path" is open in an editor, it needs to be closed without warning + closeTabByName("read", file); + }).catch(function(){ + refreshFolder(); + }); + }).modal('hide'); + }, + cssClass: 'btn-danger btn-disabled', + label: "Delete" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } + + function showChangeLog() { + var ecfg = createTab('change-log', "", "Change log"); + serverActionWithoutFlicker({action: 'git-log', path: inFolder}).then(function(contents){ + updateTabAsEditor(ecfg, contents, "git-log"); + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + + // Git history of a specific file optionally between two commit tags + function getFileHistory(file, folder){ + var ecfg = createTab('history', file, "history: " + dodgyBasename(file)); + serverActionWithoutFlicker({action: 'git-history', path: file, param1: folder}).then(function(contents){ + contents = $.trim(contents); + if (! contents) { + showModal({ + title: "Warning", + body: "
No change history found for:

" + htmlEncode(file) + "
", + size: 400 + }); + closeTabByCfg(ecfg); + return; + } + updateTabAsEditor(ecfg, contents, "git-diff"); + }).catch(function(){ + closeTabByCfg(ecfg); + }); + } + + function activateTab(idx){ + if (idx < -1 || idx > (editors.length - 1) || (activeTab === idx && activeTab > -1)) { + return; + } + $ce_contents.children().addClass("ce_hidden"); + $ce_contents_home.addClass("ce_hidden"); + $ce_tabs.children().removeClass("ce_active"); + $ce_home_tab.removeClass("ce_active"); + activeTab = idx; + if (idx !== -1) { + editors[idx].tab.addClass('ce_active'); + editors[idx].tab_container.removeClass('ce_hidden'); + editors[idx].last_opened = Date.now(); + } else { + $ce_home_tab.addClass('ce_active'); + $ce_contents_home.removeClass('ce_hidden'); + } + doPipeTabSeperators(); + updateUrlHash(); + if (editors[idx] && editors[idx].hasOwnProperty("editor")) { + editors[idx].editor.focus(); + } + // switching tabs. check for changes + if (idx > -1) { + clearTimeout(fileModsCheckTimer); + fileModsCheckTimer = setTimeout(function(){ checkFileMods(); }, 1000); + } + } + + // The pipe seperators are between active tabs but not on the currently active tab or the one to its left. + function doPipeTabSeperators(){ + $(".ce_pipe, .ce_pipe_left").remove(); + for (var i = 0; i < editors.length; i++) { + if ((activeTab - 1) !== i && activeTab !== i) { + editors[i].tab.append(''); + } + } + if (activeTab >= 0) { + $ce_home_tab.append(''); + if (activeTab > 0) { + $ce_home_tab.append(''); + } + } + } + + // Check if tab is open with unsaved changes + function fileIsOpenAndHasChanges(file) { + for (var i = 0; i < editors.length; i++) { + if (editors[i].file === file) { + if (editors[i].hasChanges) { + showModal({ + title: "Warning", + body: "
Cannot rename or delete file becuase it is currently open with unsaved changes.
", + size: 350 + }); + return true; + } + } + } + return false; + } + + // A tab was opened but there was nothing to put in it, so it is closed. + function closeTabByCfg(ecfg) { + for (var i = 0; i < editors.length; i++) { + if (editors[i].id === ecfg.id) { + closeTabNow(i); + return; + } + } + } + + function closeTabByName(type, file) { + for (var i = 0; i < editors.length; i++) { + if (editors[i].file === file && editors[i].type === type) { + closeTabNow(i); + return; + } + } + } + + function closeTabByHookDetails(arg0, arg1) { + //if (preferences.ce_reuseWindow) { + if (arg0 === "bump") { + closeTabByName("refresh", "bump"); + } else if (arg0 === "run-safe") { + closeTabByName("run", arg1); + } else { + closeTabByName(arg0, arg1); + } + //} + } + + // Check if tab is already open, and if so, active it instead. + function tabAlreadyOpen(type, file) { + // check if file is already open + for (var i = 0; i < editors.length; i++) { + if (editors[i].type === type && editors[i].file === file) { + activateTab(i); + return true; + } + } + return false; + } + + function closeTabWithConfirmation(idx){ + if (editors[idx].hasChanges) { + showModal({ + title: "Unsaved changes", + body: "
Discard unsaved changes?
", + size: 300, + actions: [{ + onClick: function(){ + $(".modal").modal('hide'); + closeTabNow(idx); + }, + cssClass: 'btn-danger', + label: "Discard" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } else { + closeTabNow(idx); + } + } + + // when tabs are closed, remember in local storage for recent files list + function logClosedTab(ecfg){ + // make sure unique items only appear once + var splicy = -1; + for (var j = 0; j < closed_tabs.length; j++) { + if (ecfg.label === closed_tabs[j].label) { + splicy = j; + } + } + if (splicy > -1){ + closed_tabs.splice(splicy, 1); + } + if (tabCfg.hasOwnProperty(ecfg.type) && tabCfg[ecfg.type].can_reopen) { + closed_tabs.push({label: ecfg.label, type: ecfg.type, file: ecfg.file}); + } + // trim length + // There is a buffer of 10 so we can have things to show if the tabs are opened and thus removed from the list + if (closed_tabs.length > (max_recent_files_show + 10)) { + closed_tabs.shift(); + } + //persist to localstorage + localStorage.setItem('ce_closed_tabs', JSON.stringify(closed_tabs)); + } + + function closeTabNow(idx) { + logClosedTab(editors[idx]); + if (editors[idx].hasOwnProperty("editor")) { + editors[idx].editor.dispose(); + } + if (editors[idx].hasOwnProperty("model")) { + editors[idx].model.dispose(); + } + if (editors[idx].hasOwnProperty("sidecar_editor")) { + editors[idx].sidecar_editor.dispose(); + } + if (editors[idx].hasOwnProperty("sidecar_model")) { + editors[idx].sidecar_model.dispose(); + } + editors[idx].tab.remove(); + editors[idx].tab_container.remove(); + editors.splice(idx, 1); + openTabsListChanged(); + // if there are still tabs open, find the most recently used tab and activate that one + if ($ce_tabs.children().length === 0) { + activateTab(-1); + // if there is already a tab selected + } else if ($ce_tabs.children(".ce_active").length === 0) { + var last_used_idx, + newest; + for (var i = 0; i < editors.length; i++) { + if (! newest || newest < editors[i].last_opened) { + newest = editors[i].last_opened; + last_used_idx = i; + } + } + activateTab(last_used_idx); + } + } + + function createTabSidecar(label) { + var ecfg = editors[activeTab]; + if (! ecfg.sidecar_container) { + ecfg.sidecar_container = $("
").appendTo(ecfg.tab_container); + $("").appendTo(ecfg.sidecar_container) + .on("click", function(){ + if (ecfg.hasOwnProperty("sidecar_editor")) { + ecfg.sidecar_editor.dispose(); + } + if (ecfg.hasOwnProperty("sidecar_model")) { + ecfg.sidecar_model.dispose(); + } + ecfg.sidecar_container.remove(); + ecfg.sidecar_container = null; + }); + $("").appendTo(ecfg.sidecar_container) + .on("click", function(){ + if(ecfg.sidecar_container.hasClass("ce_editor_sidecar_autohide_on")) { + ecfg.sidecar_container.removeClass("ce_editor_sidecar_autohide_on"); + } else { + ecfg.sidecar_container.addClass("ce_editor_sidecar_autohide_on"); + } + + }); + ecfg.sidecar_title = $("
").appendTo(ecfg.sidecar_container).on("click", function(){ + //console.log("ecfg.sidecar_container.css.transform=", ecfg.sidecar_container.css("transform")); + // if the sidecar is collapsed + //if (ecfg.sidecar_container.css("transform") === "matrix(1, 0, 0, 1, 0, 467)") { + + // if sidecar is expanded + //} else + if (ecfg.sidecar_container.css("transform") === "" || ecfg.sidecar_container.css("transform") === "none" || ecfg.sidecar_container.css("transform") === "matrix(1, 0, 0, 1, 0, 0)"){ + ecfg.sidecar_container.css({transform: "translateY(" + (ecfg.sidecar_container.height() - 35) + "px)"}); + } else { + ecfg.sidecar_container.css({transform: "translateY(0)"}); + } + }); + ecfg.sidecar_resizer = $("
").appendTo(ecfg.sidecar_container); + ecfg.sidecar_autohide = $("
").appendTo(ecfg.sidecar_container); + ecfg.sidecar_editor_container = $("
").appendTo(ecfg.sidecar_container); + + // // Handler for resizing the tree pane/editor divider + ecfg.sidecar_resizer.on("mousedown", function(e) { + e.preventDefault(); + var was_autohide_on = !! ecfg.sidecar_container.hasClass("ce_editor_sidecar_autohide_on"); + ecfg.sidecar_container.removeClass("ce_editor_sidecar_autohide_on"); + $(document).one("mouseup",function(e) { + if (was_autohide_on) { + ecfg.sidecar_container.addClass("ce_editor_sidecar_autohide_on"); + } + $(document).off('mousemove.sidecar_resize'); + }); + $(document).on("mousemove.sidecar_resize", function(e) { + ecfg.sidecar_container.css({ + "transform": "translateY(0)", + "width": Math.min($ce_contents.width()-158, Math.max(360, (window.innerWidth - 150 - e.pageX))) + "px", + "height": Math.min($ce_contents.height(), Math.max(190, (window.innerHeight - e.pageY))) + "px" + }); + }); + }); + + } + ecfg.sidecar_title.html(label); + ecfg.sidecar_editor_container.empty().append($ce_spinner.clone()); + setTimeout(function(){ + if (ecfg.sidecar_container.hasClass("ce_editor_sidecar_autohide_on")) { + ecfg.sidecar_container.css({transform: "translateY(0)", opacity: "1"}); + } + }, 100); + ecfg.sidecar_autohide.css({"border-left-width":"1px"}); + return ecfg; + } + + function updateSidecarAsEditor(ecfg, contents) { + ecfg.sidecar_editor_container.empty(); + // The monaco URL must be unique or it will silently close. We use the same file when running different versions of btool and in other circumstances so need to prefix with a unique id. + var url = "T" + (tabCreationCount++) + "/" + ecfg.file; + ecfg.sidecar_model = monaco.editor.createModel(contents, "plaintext", monaco.Uri.file(url)); + + var options = { + automaticLayout: true, + model: ecfg.sidecar_model, + minimap: { + enabled: false + }, + lineNumbers: 'off', + wordWrap: 'on', + folding: false, + lineDecorationsWidth: 0, + lineNumbersMinChars: 0, + glyphMargin: false, + hover: { delay: 700 } + }; + ecfg.sidecar_editor = monaco.editor.create(ecfg.sidecar_editor_container[0], options); + //ecfg.server_content = ecfg.editor.getValue(); + var autohideTimeout = setTimeout(function(){ + if (ecfg.sidecar_container.hasClass("ce_editor_sidecar_autohide_on")) { + ecfg.sidecar_container.css({transform: "translateY(" + (ecfg.sidecar_container.height() - 35) + "px)"}); + } + ecfg.sidecar_autohide.css({"border-left-color":"transparent", "border-left-width":"1px"}); + },5000); + setTimeout(function(){ + ecfg.sidecar_autohide.css({"border-left-width":(ecfg.sidecar_container.width() - 4) + "px", "border-left-color":"rgba(255,255,255,0.5)"}); + }, 10); + if (ecfg.sidecar_container.hasClass("ce_editor_sidecar_autohide_on")) { + ecfg.sidecar_container.css({transform: "translateY(0)"}); + } + ecfg.sidecar_editor.onMouseDown(function(e) { + clearTimeout(autohideTimeout); + ecfg.sidecar_autohide.css({"border-left-color":"transparent", "border-left-width":"1px"}); + }); + } + + function createTab(type, file, label){ + var ecfg = { + type: type, + file: file, + label: type + ": " + file, + id: tabid++ + }; + editors.push(ecfg); + ecfg.tab_container = $("
").appendTo($ce_contents); + ecfg.editor_container = $("
").appendTo(ecfg.tab_container); + ecfg.editor_container.append($ce_spinner.clone()); + // Remove the "restore session" link + $(".ce_restore_session").remove(); + ecfg.tab = $("
" + label + "
").attr("title", ecfg.label).data({"tab": ecfg}).appendTo($ce_tabs); + ecfg.hasChanges = false; + ecfg.server_content = ''; + activateTab(editors.length-1); + openTabsListChanged(); + return ecfg; + } + + function addHookActionToEditor(hook, ecfg) { + if (hook._match.test(ecfg.file) && hook.matchtype == "file" && ! (hook.hasOwnProperty("showInPane") && hook.showInPane === "tree")) { + var lab = replaceTokens(hook.label, ecfg.file); + if (isTrueValue(hook.showWithSave) && ecfg.canBeSavedFile) { + ecfg.editor.addAction({ + id: "Save and " + lab, + contextMenuOrder: 0.2, + contextMenuGroupId: 'navigation', + label: "Save and " + lab, + run: function() { + saveActiveTab(function(){ + runAction(hook.action, ecfg.file, true); + }); + } + }); + } + + ecfg.editor.addAction({ + id: lab, + contextMenuOrder: 0.3, + contextMenuGroupId: 'navigation', + label: lab, + run: function() { + runAction(hook.action, ecfg.file, true); + } + }); + } + } + + function updateTabAsEditor(ecfg, contents, language) { + // uses the built-in language detection where possible + if (! language) { + if (/\.(?:conf|meta|spec)/.test(ecfg.file)) { + language = "ini"; + } + } + var re = /([^\/\\]+).conf$/; + var found = ecfg.file.match(re); + ecfg.canBeSavedFile = (ecfg.type === "read" || ecfg.type === "settings"); + ecfg.canBeSavedRest = (ecfg.type === "rest"); + if (found && ecfg.canBeSavedFile && found[1] !== 'app') { + ecfg.matchedConf = found[1]; + } else if (ecfg.type === "settings"){ + ecfg.matchedConf = "config_explorer"; + } + if (ecfg.canBeSavedFile || ecfg.canBeSavedRest) { + // Start the process of checking filemodtimes + // A filemodcheck might be about to occur, but delay it another 100ms in case its the first load a bunch of tabs are opening at once. + clearTimeout(fileModsCheckTimer); + fileModsCheckTimer = setTimeout(function(){ checkFileMods(); }, 100); + } + ecfg.saving = false; + ecfg.decorations = []; + ecfg.editor_container.empty(); + // The monaco URL must be unique or it will silently close. We use the same file when running different versions of btool and in other circumstances so need to prefix with a unique id. + var url = "T" + (tabCreationCount++) + "/" + ecfg.file; + ecfg.model = monaco.editor.createModel(contents, language, monaco.Uri.file(url)); + // Default things to be ini syntax highlighting rather than none + if (ecfg.model.getModeId() === "plaintext" && ! language) { + monaco.editor.setModelLanguage(ecfg.model, "ini"); + } + var options = $.extend({}, preferences, { + automaticLayout: true, + model: ecfg.model, + lineNumbersMinChars: 3, + ariaLabel: ecfg.file, + //readOnly: ! ecfg.canBeSavedFile, + glyphMargin: true, + hover: { delay: 700 } + }); + ecfg.editor = monaco.editor.create(ecfg.editor_container[0], options); + ecfg.server_content = ecfg.editor.getValue(); + + // check if we need to scroll to a particular location and highlight a line + if (doLineHighlight !== "") { + var line_nums = doLineHighlight.split(","); + //console.log(doLineHighlight, line_nums); + if (line_nums.length > 1) { + ecfg.editor.setSelection(new monaco.Selection(Number(line_nums[0]),1,(Number(line_nums[1]) + 1),1)); + ecfg.editor.revealLineInCenter(Number(line_nums[0]), 0); + ecfg.editor.focus(); + } + doLineHighlight = ""; + } + + if (ecfg.canBeSavedFile || ecfg.canBeSavedRest) { + ecfg.editor.onDidChangeModelContent(function() { + // check against saved copy + if (ecfg.editor.getValue() !== ecfg.server_content) { + if (!ecfg.hasChanges) { + ecfg.tab.append(""); + ecfg.hasChanges = true; + } + } else { + if (ecfg.hasChanges) { + ecfg.tab.find('.icon-alert-circle').remove(); + ecfg.hasChanges = false; + } + } + // Turn off the glyphs until next save + ecfg.decorations = ecfg.editor.deltaDecorations(ecfg.decorations, []); + }); + } + ecfg.editor.addAction({ + id: 'prev-tab', + label: 'Switch tab to left of current', + keybindings: [monaco.KeyMod.Alt | monaco.KeyMod.Shift | monaco.KeyCode.LeftArrow], + run: function() { + if (editors.length > 1) { + activateTab((activeTab === 0) ? editors.length - 1 : activeTab - 1); + } + return null; + } + }); + ecfg.editor.addAction({ + id: 'next-tab', + label: 'Switch tab to right of current', + keybindings: [monaco.KeyMod.Alt | monaco.KeyMod.Shift | monaco.KeyCode.RightArrow], + run: function() { + if (editors.length > 1) { + activateTab((activeTab === editors.length - 1) ? 0 : activeTab + 1); + } + return null; + } + }); + ecfg.editor.addAction({ + id: 'last-used-tab', + label: 'Switch tab to last active', + keybindings: [monaco.KeyMod.Alt | monaco.KeyMod.Shift | monaco.KeyCode.UpArrow], + run: function() { + var last_used_idx, + newest; + if (editors.length > 1) { + for (var i = 0; i < editors.length; i++){ + if (activeTab !== i) { + if (! newest || newest < editors[i].last_opened) { + newest = editors[i].last_opened; + last_used_idx = i; + } + } + } + activateTab(last_used_idx); + } + return null; + } + }); + ecfg.editor.addAction({ + id: 'close-tab', + label: 'Close tab', + keybindings: [monaco.KeyMod.Alt | monaco.KeyMod.Shift | monaco.KeyCode.KEY_W], + run: function() { + closeTabByCfg(ecfg); + return null; + } + }); + if (ecfg.canBeSavedFile || ecfg.canBeSavedRest) { + ecfg.editor.addAction({ + id: 'save-file', + contextMenuOrder: 0.1, + contextMenuGroupId: 'navigation', + label: 'Save file', + run: function() { + saveActiveTab(); + } + }); + } + if (ecfg.canBeSavedFile) { + ecfg.editor.addAction({ + id: 'save-file-action', + contextMenuOrder: 1, + contextMenuGroupId: '99_prefs', + label: 'Set post-save action', + run: function() { + setPostSaveAction(); + } + }); + } + if (ecfg.canBeSavedFile) { + ecfg.editor.addAction({ + id: 'link-to-highlight', + contextMenuOrder: 3, + contextMenuGroupId: '99_prefs', + label: 'Create link to line/selection', + run: function() { + var editor_selection = ecfg.editor.getSelection(); + var hashparts = window.location.href.replace(/#.*/,"") + "#0|" + inFolder + "|" + ecfg.type + "|" + ecfg.file + "@" + editor_selection.startLineNumber + "," + editor_selection.endLineNumber; + console.log(hashparts); + copyTextToClipboard(hashparts); + } + }); + } + if (ecfg.type !== "rest") { + ecfg.editor.addAction({ + id: 'attempt-open-file', + contextMenuOrder: 0.4, + contextMenuGroupId: 'navigation', + label: 'Attempt open', + run: function(ed) { + var position = ed.getPosition(); + var text = ed.getValue(position); + var splitedText=text.split("\n"); + var line = splitedText[position.lineNumber-1]; + var replace = "(.{" + position.column + "}[^\\s\'\":]+).*"; + var re = new RegExp(replace,"g"); + var filename_string = line.replace(re, "$1"); + filename_string = filename_string.replace(/.*[\s\"\']/,""); + if (filename_string.length <= 3) { + showModal({ + title: "Warning", + body: "
Use the 'Attempt Open' menu option on editor text for a file/folder path
", + size: 350 + }); + return; + } + var proposedPaths = {}; + // we check a few different ways of finding a legitimate path from the highlighted text + proposedPaths[dodgyRemoveRelPath(filename_string)] = 2; + // when looking in etc/ it needs to be 3 folders deep + proposedPaths["etc/" + dodgyRemoveRelPath(filename_string)] = 3; + // if its a "run" editor tab, then the fromFolder will be set. + if (ecfg.hasOwnProperty("fromFolder")) { + proposedPaths[dodgyRemoveRelPath(ecfg.fromFolder + "/" + filename_string)] = 2; + } else { + proposedPaths[dodgyRemoveRelPath(dodgyDirname(ecfg.file) + filename_string)] = 2; + } + var success = false; + var errorFunction = function(){ + showModal({ + title: "Warning", + body: "
Unable to find file or folder path to open: " + htmlEncode(filename_string) + "

(Looked in $SPLUNK_HOME, $SPLUNK_HOME/etc and relative to current file)
", + size: 450 + }); + }; + for (var proposedPath in proposedPaths) { + if (proposedPaths.hasOwnProperty(proposedPath)) { + //console.log("attempting path ==> " + proposedPath); + if (filecache !== null) { + // we only check if the first 2 parts of the path are legit. If the path is less than two folders deep, then it wont open + var base = getTreeCache("./" + proposedPath, 1 + proposedPaths[proposedPath]); + //console.log("checking file cache for path ", "./" + proposedPath, ":", filecache, base); + if (base !== null) { + // this doesnt handle the case where its a bare folder with no trailing slash, but its good enough + if (proposedPath.slice(-1) === "/") { + readFolder("./" + proposedPath); + } else { + readFile("./" + proposedPath, errorFunction); + } + success = true; + break; + } + } + } + } + if (!success) { + errorFunction(); + } + } + }); + } + ecfg.editor.addAction({ + id: 'open-prefs-action', + contextMenuOrder: 2, + contextMenuGroupId: '99_prefs', + label: 'Preferences', + run: function() { + openPreferences(); + } + }); + if (ecfg.type === "settings") { + ecfg.editor.addAction({ + id: "settings_spec", + contextMenuOrder: 0.3, + contextMenuGroupId: 'navigation', + label: "Open documentation (.spec file)", + run: function() { + runAction("spec:config_explorer.conf", "", true); + } + }); + ecfg.editor.addAction({ + id: "settings_examples", + contextMenuOrder: 0.3, + contextMenuGroupId: 'navigation', + label: "Show default config", + run: function() { + runAction("read:./etc/apps/config_explorer/default/config_explorer.conf", "", true); + } + }); + } + if (ecfg.type === "read") { + for (var j = 0; j < hooksActive.length; j++) { + var hook = hooksActive[j]; + addHookActionToEditor(hook, ecfg); + } + } + if (ecfg.type === "read") { + ecfg.editor.addAction({ + id: 'reload', + contextMenuOrder: 0.2, + contextMenuGroupId: 'navigation', + label: 'Reload from disk', + run: function() { + closeTabByCfg(ecfg); + hooksCfg[ecfg.type](ecfg.file, ecfg.fromFolder); + } + }); + ecfg.editor.addAction({ + id: 'editorchanges', + contextMenuOrder: 0.3, + contextMenuGroupId: 'navigation', + label: 'Diff unsaved changes', + run: function() { + openDiffOfUnsavedChanges(ecfg); + } + }); + + // If this is an XML file, provide an option to try opening it + // warning: There are plenty of situations where this wont work, becuase of permissions layering etc + if (confIsTrue('dashboard_xml_file_experimental_actions', false)) { + var file_parts_for_openurl = ecfg.file.match(regex_file_path_to_dashboard_parts); + if (file_parts_for_openurl) { + ecfg.editor.addAction({ + id: 'opendashboard', + contextMenuOrder: 0.31, + contextMenuGroupId: 'navigation', + label: 'Attempt view in browser', + run: function() { + hooksCfg.openurl("/app/" + file_parts_for_openurl[2] + "/" + file_parts_for_openurl[3]); + } + }); + ecfg.editor.addAction({ + id: 'editrestdashboard', + contextMenuOrder: 0.32, + contextMenuGroupId: 'navigation', + label: 'Attempt edit via REST API', + run: function() { + if (file_parts_for_openurl[1]=="apps") { + hooksCfg.rest("/servicesNS/nobody/" + file_parts_for_openurl[2] + "/data/ui/views/" + file_parts_for_openurl[3]); + } else { + hooksCfg.rest("/servicesNS/" + file_parts_for_openurl[1].substr(6) + "/" + file_parts_for_openurl[2] + "/data/ui/views/" + file_parts_for_openurl[3]); + } + } + }); + } + } + + } + if (ecfg.type === "rest") { + // reload rest + ecfg.editor.addAction({ + id: 'reload', + contextMenuOrder: 0.2, + contextMenuGroupId: 'navigation', + label: 'Reload from REST API', + run: function() { + closeTabByCfg(ecfg); + hooksCfg.rest(ecfg.file); + } + }); + var file_parts_for_openurl_rest = ecfg.file.match(/([^\/]+)\/data\/ui\/views\/(.*)$/); + if (file_parts_for_openurl_rest) { + ecfg.editor.addAction({ + id: 'opendashboard', + contextMenuOrder: 0.31, + contextMenuGroupId: 'navigation', + label: 'Attempt view in browser', + run: function() { + hooksCfg.openurl("/app/" + file_parts_for_openurl_rest[1] + "/" + file_parts_for_openurl_rest[2]); + } + }); + } + } + // Add a right-click option + if (tabCfg[ecfg.type].can_rerun) { + ecfg.editor.addAction({ + id: 'rerun', + contextMenuOrder: 0.1, + contextMenuGroupId: 'navigation', + label: 'Rerun', + run: function() { + closeTabByCfg(ecfg); + hooksCfg[ecfg.type](ecfg.file, ecfg.fromFolder); + } + }); + } + openTabsListChanged(); + ecfg.tab.trigger("ce_loaded"); + } + + function openDiffOfUnsavedChanges(ecfg) { + var ecfgDiff = createTab('diff', ecfg.file, "diff: " + ecfg.file); + var saved_value = ecfg.editor.getValue(); + serverActionWithoutFlicker({action: 'read', path: ecfg.file}).then(function(contents){ + updateTabAsDiffer(ecfgDiff, ecfg.file + " (on disk)\n" + contents, "(Unsaved changes)\n" + saved_value); + }).catch(function(){ + closeTabByCfg(ecfgDiff); + }); + } + + function saveActiveTab(cb){ + var saved_value; + if (activeTab === null || activeTab === -1) { + return; + } + var ecfg = editors[activeTab]; + if (ecfg.canBeSavedFile) { + if (! ecfg.saving) { + /// Warn again if file has changed + var $warn_msg = ecfg.tab.find(".ce_modified_on_disk"); + if ($warn_msg.length > 0 && ! ecfg.modified_on_disk_ignored) { + showModal({ + title: "Warning", + body: "
" + $warn_msg.attr("title").replace(/\..*/,"") + "
", + size: 600, + actions: [{ + label: "Save anyway", + onClick: function(){ + $(".modal").modal('hide'); + // set a flag and resave + ecfg.modified_on_disk_ignored = true; + saveActiveTab(cb); + } + },{ + label: "Cancel and diff", + onClick: function(){ + $(".modal").modal('hide'); + openDiffOfUnsavedChanges(ecfg); + } + },{ + label: "Cancel", + onClick: function(){ $(".modal").modal('hide'); } + }] + }); + return; + } + saved_value = ecfg.editor.getValue(); + ecfg.saving = true; + ecfg.tab.append(""); + serverAction({action: 'save', path: ecfg.file, file: saved_value}).then(function(){ + // After file has been saved, delete its filemod time and get a new filemod time + delete ecfg.filemod; + // remove unsaved changes icon from tab + ecfg.tab.find('.ce_modified_on_disk').remove(); + ecfg.tab.css("color",""); + clearTimeout(fileModsCheckTimer); + fileModsCheckTimer = setTimeout(function(){ checkFileMods(); }, 100); + + ecfg.saving = false; + ecfg.modified_on_disk_ignored = false; + ecfg.tab.find('.ce_tab_saving_icon').remove(); + showToast('Saved'); + ecfg.server_content = saved_value; + ecfg.tab.find('.icon-alert-circle').remove(); + ecfg.hasChanges = false; + highlightBadConfig(ecfg); + if (ecfg.file === "") { + loadPermissionsAndConfList(); + } + if (cb) { + cb(); + } + // Run any post-save hook + var p = getPostSave(ecfg.file); + if (p !== null) { + if (p[0] === "run" && ! approvedPostSaveHooks.hasOwnProperty(p[0] + "|" + p[1])) { + showModal({ + title: "Confirm post-save action ", + body: "
The following action is configured to run after every save:

" + htmlEncode(p[0]) + ":" + htmlEncode(p[1]) + "
", + size: 600, + actions: [{ + onClick: function(){ + $(".modal").modal('hide'); + approvedPostSaveHooks[p[0] + "|" + p[1]] = true; + runPostSaveAction(p); + }, + cssClass: 'btn-primary', + label: "Approve" + },{ + onClick: function(){ $(".modal").modal('hide'); }, + label: "Cancel" + }] + }); + } else { + runPostSaveAction(p); + } + } + }, function(){ + ecfg.saving = false; + ecfg.tab.find('.ce_tab_saving_icon').remove(); + }); + } + return null; + } else if (ecfg.canBeSavedRest) { + if (! ecfg.saving) { + saved_value = ecfg.editor.getValue(); + ecfg.saving = true; + ecfg.tab.append(""); + + service.post(ecfg.file, {"eai:data": saved_value}, function(err, r) { + if (err) { + if (err.data.hasOwnProperty('messages')) { + errText = "
" + htmlEncode(err.data.messages["0"].text) + "
"; + } else { + errText = "
" + htmlEncode(JSON.stringify(err)) + "
"; + } + showModal({ + title: "Warning", + body: "
Error while saving: " + errText + "
", + size: 500 + }); + console.log(err); + ecfg.saving = false; + ecfg.tab.find('.ce_tab_saving_icon').remove(); + } + if (r && r.data) { + //console.log("ok saving to rest", r.data); + ecfg.tab.find('.ce_modified_on_disk').remove(); + ecfg.tab.css("color",""); + clearTimeout(fileModsCheckTimer); + fileModsCheckTimer = setTimeout(function(){ checkFileMods(); }, 100); + + ecfg.saving = false; + ecfg.tab.find('.ce_tab_saving_icon').remove(); + showToast('Saved'); + ecfg.server_content = saved_value; + ecfg.tab.find('.icon-alert-circle').remove(); + ecfg.hasChanges = false; + + // send broadcast message: + broadcastChannel.postMessage({ + action:"saved", + type: ecfg.type, + path: ecfg.file + }); + + } else { + console.error("unexpected error when saving", r.data); + ecfg.saving = false; + ecfg.tab.find('.ce_tab_saving_icon').remove(); + showModal({ + title: "Warning", + body: "
Unpexpected error while saving!
", // err.data.messages["0"].text + size: 500 + }); + } + }); + } + return null; + } else { + showModal({ + title: "Warning", + body: "
This file cannot be saved
", + size: 300 + }); + } + } + + function runPostSaveAction(parts) { + closeTabByHookDetails(parts[0], parts[1]); + hooksCfg[parts[0]](parts[1], undefined, true); + } + + function updateTabHTML(ecfg, contents) { + ecfg.editor_container.html(contents).css("overflow", "auto"); + ecfg.tab.trigger("ce_loaded"); + } + + function updateTabAsDiffer(ecfg, left, right) { + var originalModel = monaco.editor.createModel(left); + var modifiedModel = monaco.editor.createModel(right); + ecfg.editor_container.empty(); + ecfg.editor = monaco.editor.createDiffEditor(ecfg.editor_container[0],{ + automaticLayout: true, + }); + ecfg.editor.setModel({ + original: originalModel, + modified: modifiedModel + }); + ecfg.tab.trigger("ce_loaded"); + + if (ecfg.hasOwnProperty("diffFileRight")) { + + ecfg.editor.addAction({ + id: 'updatediffer', + contextMenuOrder: 0.3, + contextMenuGroupId: 'navigation', + label: 'Rerun diff', + run: function() { + compareFiles(ecfg.diffFileRight, ecfg.diffFileLeft); + closeTabByCfg(ecfg); + } + }); + } + } + + // Make sure the server action that results in a tab open, takes a minimum amount of time so as not to flicker and look dumb + function serverActionWithoutFlicker(postData, customErrorCB) { + var promise = serverAction(postData, customErrorCB); + var promiseTimeout = new Promise(function(resolve) { + setTimeout(resolve, 800); + }); + var promiseCombined = Promise.all([promise, promiseTimeout]); + return promiseCombined.then(function(values) { + return values[0]; + }); + } + + // Make a rest call to our backend python script + function serverAction(postData, customErrorCB) { + //console.log("CBY SERVERACTION:", postData); + return new Promise(function(resolve, reject) { + inFlightRequests++; + $('.ce_saving_icon').removeClass('ce_hidden'); + //console.log(postData); + service.post('/services/config_explorer', postData, function(err, r) { + inFlightRequests--; + if (inFlightRequests === 0) { + $('.ce_saving_icon').addClass('ce_hidden'); + } + var errText = ''; + //console.log(err, r); + if (err) { + if (err.data.hasOwnProperty('messages')) { + errText = "
" + htmlEncode(err.data.messages["0"].text) + "
"; + } else { + errText = "
" + htmlEncode(JSON.stringify(err)) + "
"; + } + } else { + if (! r.data) { + errText = "
Error communicating with Splunk
"; + + } else if (! (r.data.hasOwnProperty('result') || r.data.hasOwnProperty('reason'))) { + errText = "
" + htmlEncode(r.data) + "
"; + + } else if (r.data.reason === "missing_perm_read") { + errText = "

To use this application you must be have the capability \"admin_all_objects\" via a role.

"; + + } else if (r.data.reason === "missing_perm_run") { + errText = "

You must enable the run_commands setting

"; + + } else if (r.data.reason === "missing_perm_write") { + errText = "

You must enable the write_access setting

"; + + } else if (r.data.reason === "config_locked") { + errText = "

Unable to write to the settings file becuase it is locked and must be edited externally: etc/apps/config_explorer/local/config_explorer.conf

"; + + } else if (r.data.reason === "binary_file") { + errText = "

Unable to open binary file (right-click and 'download' file instead)

"; + + } else if (r.data.reason !== "") { + errText = "
" + htmlEncode(r.data.reason) + "
"; + } + } + if (errText) { + // dont show the error for background requests such as filemods + if (postData.action !== "filemods") { + if (typeof customErrorCB === "undefined") { + showModal({ + title: "Error", + body: "
An error occurred!

" + htmlEncode(postData.action) + ": " + htmlEncode(postData.hasOwnProperty("path") ? postData.path : "") + "


" + errText + "
", + }); + } else { + customErrorCB(); + } + } + reject(Error("error")); + } else { + // if there was some unexpected git output, then open a window to display it + if (r.data.git && r.data.git_status !== -1) { + var git_autocommit_show_output = "auto"; + if (conf.hasOwnProperty("git_autocommit_show_output")) { + git_autocommit_show_output = conf.git_autocommit_show_output.toLowerCase(); + } + if (git_autocommit_show_output === "true" || (git_autocommit_show_output === "auto" && r.data.git_status > 0)) { + var git_output = "

"; + if (git_autocommit_show_output === "auto") { + git_output = "Warning: Unexpected return code when attempting to autocommit changes to version control. "; + } + git_output = "Git output is below:

"; + for (var j = 0; j < r.data.git.length; j++) { + git_output += "
" + htmlEncode($.trim(r.data.git[j].content)) + "
"; + } + var ecfg = createTab('git', '', 'git output'); + updateTabHTML(ecfg, "
" + git_output + "
"); + } + } + resolve(r.data.result); + } + }); + }); + } + + // Try to build a conf file from calling the rest services. turns out this is pretty unreliable. + function formatLikeRunningConfig(contents) { + return contents.replace(/^.+?splunk[\/\\]etc[\/\\].*?\.conf\s+(?:(.+) = (.*)|(\[.+))\r?\n/img,function(all, g1, g2, g3){ + if (g3 !== undefined) { return g3 + "\n"; } + if (g2.toLowerCase() == "true") { return g1 + " = 1\n";} + if (g2.toLowerCase() == "false") { return g1 + " = 0\n";} + return g1 + " = " + g2 + "\n"; + }); + } + + function adjustBtoolPaths(contents, inPath, outPath) { + return contents.replace(new RegExp(regexEscape(inPath) + "[\\/\\\\]apps[\\/\\\\]", 'g'), outPath); + } + + // Formats the output of "btool list" depending on what checkboxes are selected in the left pane + function formatBtoolList(contents, type) { + var indent = 80; + return contents.replace(/\\/g,'/').replace(/^.+?splunk[\/]etc[\/](.*?\.conf)\s+(.+)(\r?\n)/img,function(all, g1, g2, g3){ + var path = ''; + // I am pretty sure that stanzas cant be set to default when containing a child that isnt + if (type === "btool-hidesystemdefaults" && /system[\/\\]default[\/\\]/.test(g1)) { + return ''; + } + if (type === "btool-hidedefaults" && /[\/\\]default[\/\\]/.test(g1)) { + return ''; + } + if (type !== "btool-hidepaths") { + path = (" ".repeat(Math.max(1, (indent - g2.length)))) + " " + g1; + } + return g2 + path + g3; + }); + } + + function addGutter(newdecorations, i, className, message) { + newdecorations.push({ range: new monaco.Range((1+i),1,(1+i),1), options: { isWholeLine: true, glyphMarginClassName: className, glyphMarginHoverMessage: [{value: message }] }}); + } + + function regexEscape(s) { + return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); + } + + + // After loading a .conf file or after saving and before any changes are made, red or green colour will + // be shown in the gutter about if the current line can be found in the output of btool list. + function highlightBadConfig(ecfg){ + if (! confIsTrue('conf_validate_on_save', true)) { + return; + } + if (! ecfg.hasOwnProperty('matchedConf') || ecfg.file === "") { + return; + } + if (conf._conf_validate_on_save_exclusions.test(ecfg.matchedConf)) { + console.log("Not doing btool validation in code gutter for [" + ecfg.matchedConf + "] becuase it matches conf_validate_on_save_exclusions."); + return; + } + var run_path = ""; + var run_path_parts = ecfg.file.split(/[\/\\]/); + if (run_path_parts[0] === ".") { + run_path_parts.shift(); + } + if (run_path_parts.length > 1) { + run_path = run_path_parts[1]; + } + // console.log("runpath is ",run_path); + // possible locations you can run btool: etc/master-apps, etc/slave-apps, etc/apps, etc/system/local, etc/user, etc/shcluster/apps + // can also run btool on slave-apps, but who has config explorer installed on an indexer anyway? + if (run_path === "apps" || run_path === "system") { + serverAction({action: 'btool-list', path: ecfg.matchedConf}).then(function(btoolcontents){ + highlightBadConfigContinue(ecfg, btoolcontents, run_path); + }); + + } else if (run_path === "deployment-apps" && conf.btool_dir_for_deployment_apps) { + serverAction({action: 'btool-list', path: ecfg.matchedConf, param1: conf.btool_dir_for_deployment_apps}).then(function(btoolcontents){ + if (btoolcontents) { + // nix only paths. this feature wont work with win becuase you cant symlink + var btoolcontents2 = adjustBtoolPaths(btoolcontents, conf.btool_dir_for_deployment_apps, "/splunk/etc/deployment-apps/"); + if (btoolcontents2 !== btoolcontents) { + highlightBadConfigContinue(ecfg, btoolcontents2, run_path); + return; + } + } + highlightBadConfigContinue(ecfg, "", run_path); + }); + + } else if (run_path === "master-apps" && conf.btool_dir_for_master_apps) { + serverAction({action: 'btool-list', path: ecfg.matchedConf, param1: conf.btool_dir_for_master_apps}).then(function(btoolcontents){ + if (btoolcontents) { + var btoolcontents2 = adjustBtoolPaths(btoolcontents, conf.btool_dir_for_master_apps, "/splunk/etc/master-apps/"); + // if the replace did nothing, then the btool gutters are probably going to be all wrong anyway + if (btoolcontents2 !== btoolcontents) { + highlightBadConfigContinue(ecfg, btoolcontents2, run_path); + return; + } + } + highlightBadConfigContinue(ecfg, "", run_path); + }); + + } else if (run_path === "manager-apps" && conf.btool_dir_for_manager_apps) { + serverAction({action: 'btool-list', path: ecfg.matchedConf, param1: conf.btool_dir_for_manager_apps}).then(function(btoolcontents){ + if (btoolcontents) { + var btoolcontents2 = adjustBtoolPaths(btoolcontents, conf.btool_dir_for_manager_apps, "/splunk/etc/manager-apps/"); + // if the replace did nothing, then the btool gutters are probably going to be all wrong anyway + if (btoolcontents2 !== btoolcontents) { + highlightBadConfigContinue(ecfg, btoolcontents2, run_path); + return; + } + } + highlightBadConfigContinue(ecfg, "", run_path); + }); + + } else if (run_path === "shcluster" && conf.btool_dir_for_shcluster_apps) { + serverAction({action: 'btool-list', path: ecfg.matchedConf, param1: conf.btool_dir_for_shcluster_apps}).then(function(btoolcontents){ + //console.log("btoolcontents",btoolcontents); + highlightBadConfigContinue(ecfg, btoolcontents, run_path); + }); + + } else { + highlightBadConfigContinue(ecfg, "", run_path); + } + } + + function highlightBadConfigContinue(ecfg, btoolcontents, run_path){ + var rexSplunkHome = /^(.+?)[\\\/]etc[\\\/]/; + var foundSplunkHome; + var lookup = {}; + var splunk_home = ""; + var seenStanzas = {}; + var seenProps = {}; + var normalBtoolChecks = true; + var masterappsPropsTransformsChecks = false; + var masterappsPropsSourcetypeChecks = false; + var allConfigsAreUnnecisary = false; + + // There is some special logic if we are in the master-apps directory + if (run_path === "master-apps" || run_path === "manager-apps") { + if (conf.hasOwnProperty("_master_apps_gutter_useful_props_and_transforms") && (ecfg.matchedConf === "props" || ecfg.matchedConf === "transforms")) { + masterappsPropsTransformsChecks = true; + } + // split the master_apps_allowed_config by commas, then split each by full colon. ecfg.matchedConf + if (conf.hasOwnProperty("_master_apps_gutter_used_sourcetypes") && ecfg.matchedConf === "props") { + masterappsPropsSourcetypeChecks = true; + } + if (conf.hasOwnProperty("_master_apps_gutter_unnecissary_config_files") && conf._master_apps_gutter_unnecissary_config_files.test(ecfg.matchedConf)) { + allConfigsAreUnnecisary = true; + } + } + + + if (! $.trim(btoolcontents)) { + console.log("no btool contents for ", ecfg.matchedConf); + normalBtoolChecks = false; + } + + //console.log("hinting file for [" + ecfg.matchedConf + "] is MB long: " + Math.round(btoolcontents.length / 1024) / 1024); + + if (normalBtoolChecks) { + btoolcontents = btoolcontents.replace(/\\/g,'/'); + // Build lookup of btool output + lookup = buildBadCodeLookup(btoolcontents); + if (debug_gutters) { + console.log("Btool:", lookup); + if (ecfg.hasOwnProperty('hinting')) { + console.log("Spec:", ecfg.hinting); + } + } + // try to figure out the SPLUNK_HOME value + // Its common that in inputs.conf, some stanzas are defined with $SPLUNK_HOME which btool always expands + foundSplunkHome = btoolcontents.match(rexSplunkHome); + splunk_home = ""; + if (foundSplunkHome && foundSplunkHome.length == 2) { + splunk_home = foundSplunkHome[1]; + } + } + + // Go through everyline of the editor + var contents = ecfg.editor.getValue(), + rows = contents.split(/\r?\n/), + currentStanza = "", + currentStanzaTrimmed = "", + // This regex is complex becuase sometimes properties have a unique string on the end of them + // e.g "EVAL-src = whatever" + // found[1] will be "EVAL-src" + // found[2] will be "EVAL" + reProps = /^\s*((\w+)[^=\s]*)\s*=/, + newdecorations = [], + currentStanzaAsExpectedInBtool, + extraProp, + extraStanz; + for (var i = 0; i < rows.length; i++) { + if (rows[i].substr(0,1) === "[") { + if (rows[i].substr(0,9) === "[default]") { + currentStanza = ""; + } else { + currentStanza = $.trim(rows[i]); + } + currentStanzaTrimmed = currentStanza.replace(/^(\[\w+).*$/,"$1"); + // Stanzas that have $SPLUNK_HOME in them will be expanded by btool (stanzas in inputs.conf often have $SPLUNK_HOME in them) + currentStanzaAsExpectedInBtool = currentStanza.replace(/\$SPLUNK_HOME/i, splunk_home); + // Stanzas with windows path seperators are converted to unix seperators by btool + currentStanzaAsExpectedInBtool = currentStanzaAsExpectedInBtool.replace(/\\/g, '/'); + // Stanzas that use relative paths, will be expanded by btool. (e.g. inputs.conf [script://./bin/go.sh] from current script location) + currentStanzaAsExpectedInBtool = currentStanzaAsExpectedInBtool.replace(/\/\/\.\//, "//" + splunk_home + ecfg.file.substr(1).replace(/[^\/\\]*\/[^\/\\]*$/,'')); + + if (seenStanzas.hasOwnProperty(currentStanza)) { + addGutter(newdecorations, i, 'ceOrangeLine', "Duplicate Stanza in this file"); + } else if (masterappsPropsSourcetypeChecks) { + // This does does not work with source:: or host:: stanzas, or those that look like they might be a regular expression (not perfect) + if (! conf._master_apps_gutter_used_sourcetypes.test(currentStanza) && currentStanza.substr(0,9) !== "[source::" && currentStanza.substr(0,7) !== "[host::" && currentStanza.substr(0,2) !== "[(") { + addGutter(newdecorations, i, 'ceBlueLine', "This stanza \"" + currentStanza + "\" does not match a sourcetype in master_apps_gutter_used_sourcetypes (which is " + conf._master_apps_gutter_used_sourcetypes_date + " days old)"); + } + } else if (allConfigsAreUnnecisary) { + addGutter(newdecorations, i, 'ceBlueLine', "In most environments, the properties in this file are not needed on indexers."); + } + seenStanzas[currentStanza] = 1; + seenProps = {}; + } else { + var found = rows[i].match(reProps); + if (found) { + if (found[1].substr(0,1) !== "#") { + var g_sev = 2; + var g_messages = []; + var prop = found[1]; + // Check for duplicated key in stanza + if (seenProps.hasOwnProperty(found[1])) { + //addGutter(newdecorations, i, 'ceOrangeLine', "Duplicate key in stanza"); + g_sev = Math.max(g_sev, 5); + g_messages.push("Duplicate key in stanza"); + } else { + seenProps[found[1]] = 1; + + if (normalBtoolChecks) { + // Look if stanza/property exists in btool + if (! lookup.hasOwnProperty(currentStanzaAsExpectedInBtool)){ + //addGutter(newdecorations, i, 'ceRedLine', "Not found in \"btool\" output (btool does not list the stanza \"" + currentStanzaAsExpectedInBtool +"\")"); + g_sev = Math.max(g_sev, 6); + g_messages.push("Not found in \"btool\" output (btool does not list the stanza " + currentStanzaAsExpectedInBtool +")"); + + } else if (! lookup[currentStanzaAsExpectedInBtool].hasOwnProperty(found[1])){ + // [default] is a special case and is reflected through all other stanzas in the file + if (currentStanzaAsExpectedInBtool !== "") { + //addGutter(newdecorations, i, 'ceRedLine', "Not found in \"btool\" output (btool with stanza [" + currentStanzaAsExpectedInBtool +"] does not have property \"" + found[1] + "\")"); + g_sev = Math.max(g_sev, 6); + g_messages.push("Not found in \"btool\" output (could not find property in stanza " + currentStanzaAsExpectedInBtool +""); + } + + } else if (lookup[currentStanzaAsExpectedInBtool][found[1]] !== ecfg.file && lookup[currentStanzaAsExpectedInBtool][found[1]].substr(2) !== ecfg.file) { + //addGutter(newdecorations, i, 'ceRedLine', "Not found in \"btool\" output (set in :" + lookup[currentStanzaAsExpectedInBtool][found[1]] + ")"); + g_sev = Math.max(g_sev, 6); + g_messages.push("Not found in \"btool\" output (set in :" + lookup[currentStanzaAsExpectedInBtool][found[1]] + " and i am :" + ecfg.file + ")"); + + } else { + // addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output"); + g_messages.push("Found in \"btool\" output"); + } + } + + // If a spec file exists + if (ecfg.hasOwnProperty('hinting') && found.length > 2) { + // Look in the unstanzaed part of the spec + if (ecfg.hinting[""].hasOwnProperty(found[2])) { + //addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output and spec file. (Stanza=\"\" Property=\"" + found[2] + "\")"); + g_messages.push("Exists in spec file"); + prop = found[2]; + + // Look in the stanzaed part of the spec + } else if (ecfg.hinting.hasOwnProperty(currentStanza) && ecfg.hinting[currentStanza].hasOwnProperty(found[2])) { + //addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output and spec file. (Stanza=\"" + currentStanza + "\" Property=\"" + found[2] + "\")"); + g_messages.push("Exists in spec file (Stanza=" + currentStanza + ")"); + prop = found[2]; + + // Look for a trimmed version of the stanza in the spec. e.g. [endpoint:blah_rest] might be in the spec as [endpoint] + } else if (ecfg.hinting.hasOwnProperty(currentStanzaTrimmed) && ecfg.hinting[currentStanzaTrimmed].hasOwnProperty(found[2])) { + //addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output and spec file. (Stanza=\"" + currentStanzaTrimmed + "\" Property=\"" + found[2] + "\")"); + g_messages.push("Exists in spec file (Stanza=" + currentStanzaTrimmed + ")"); + prop = found[2]; + + // Now go through those same three checks, but look for the whole thing. For Example in web.conf found[2] is "tools" where as found[1] is "tools.sessions.timeout" + } else if (ecfg.hinting[""].hasOwnProperty(found[1])) { + //addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output and spec file. (Stanza=\"\" Property=\"" + found[1] + "\")"); + g_messages.push("Exists in spec file"); + + // Look in the stanzaed part of the spec + } else if (ecfg.hinting.hasOwnProperty(currentStanza) && ecfg.hinting[currentStanza].hasOwnProperty(found[1])) { + //addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output and spec file. (Stanza=\"" + currentStanza + "\" Property=\"" + found[1] + "\")"); + g_messages.push("Exists in spec file (Stanza=" + currentStanza + ")"); + + // Look for a trimmed version of the stanza in the spec. e.g. [endpoint:blah_rest] might be in the spec as [endpoint] + } else if (ecfg.hinting.hasOwnProperty(currentStanzaTrimmed) && ecfg.hinting[currentStanzaTrimmed].hasOwnProperty(found[1])) { + //addGutter(newdecorations, i, 'ceGreeenLine', "Found in \"btool\" output and spec file. (Stanza=\"" + currentStanzaTrimmed + "\" Property=\"" + found[1] + "\")"); + g_messages.push("Exists in spec file (Stanza=" + currentStanzaTrimmed + ")"); + + } else { + if (found[2] === found[1]) { + extraProp = "Looked for property "; + } else { + extraProp = "Looked for property (or \"" + found[2] + "\" "; + } + if (currentStanza === currentStanzaTrimmed) { + extraStanz = "in stanzas \"\" or " + currentStanza + ""; + } else { + extraStanz = "in stanzas \"\", " + currentStanza + " and " + currentStanzaTrimmed + ""; + } + //addGutter(newdecorations, i, 'ceDimGreeenLine', "Found in \"btool\" output, but not found in spec file. "+ extraProp + extraStanz); + g_sev = Math.max(g_sev, 3); + g_messages.push("Not found in spec file ("+ extraProp + extraStanz + ")"); + } + } + if (masterappsPropsTransformsChecks) { + if (! conf._master_apps_gutter_useful_props_and_transforms.test(found[2])) { + g_sev = Math.max(g_sev, 4); + g_messages.push("In most environments, this property is not needed on indexers (there is no harm in having it there though)."); + } + } + if (allConfigsAreUnnecisary) { + g_sev = Math.max(g_sev, 4); + g_messages.push("In most environments, the properties in this file are not needed on indexers."); + } + } + // add gutters now + if (g_messages.length) { + var g_color = g_sev == 6 ? "ceRedLine" : g_sev == 5 ? "ceOrangeLine" : g_sev == 4 ? "ceBlueLine" : g_sev == 3 ? "ceDimGreeenLine" : "ceGreeenLine"; + addGutter(newdecorations, i, g_color, "`" + prop + "`: " + g_messages.join(". ")); + } + } + } + } + } + ecfg.decorations = ecfg.editor.deltaDecorations(ecfg.decorations, newdecorations); + } + + // The bad code lookup builds a structure of the btool list output so it can be quickly referenced to see what config + // from the current editor is being recognised by btool or not. + function buildBadCodeLookup(contents){ + //(conf file path)(property)(stanza) + var rex = /^.+?splunk([\/\\]etc[\/\\].*?\.conf)\s+(?:([^=\s\[]+)\s*=|(\[[^\]]+\]))/gim; + var res; + var currentStanza = ""; + var currentField = ""; + var ret = {"": {"":""}}; + while(res = rex.exec(contents)) { + if (res[2]) { + currentField = res[2]; + ret[currentStanza][currentField] = '.' + res[1]; + } else if (res[3]) { + if (res[3].substr(0,9) === "[default]") { + currentStanza = ""; + } else { + currentStanza = res[3]; + } + currentField = ""; + ret[currentStanza] = {"":""}; // dont care about stanzas and where they come from + } //else { + //console.log("unexpected row:", res[0]); + //} + } + return ret; + } + + // parse the spec file and build a lookup to use for code completion + function buildHintingLookup(conf, contents){ + // left side is for properties, right size for stanzas + var rex = /^(?:([\w\.]+).*=|(\[\w+))?.*$/gm; + var res; + var currentStanza = ""; + var currentField = ""; + confFiles[conf] = {"": {"":{t:"", c:""}}}; + while(res = rex.exec(contents)) { + // need this because our rex can match a zero length string + if (res.index == rex.lastIndex) { + rex.lastIndex++; + } + if (res[1] || res[2]) { + if (res[1]) { + currentField = res[1]; + confFiles[conf][currentStanza][currentField] = {t:"", c:""}; + } else { + if (res[2].substr(0,9) === "[default]") { + currentStanza = ""; + } else { + currentStanza = res[2]; + } + currentField = ""; + if (! confFiles[conf].hasOwnProperty(currentStanza)) { + confFiles[conf][currentStanza] = {"":{t:"", c:""}}; + } + } + confFiles[conf][currentStanza][currentField].t = res[0]; + } else { + confFiles[conf][currentStanza][currentField].c += res[0] + "\n"; + } + } + return confFiles[conf]; + } + + // When hovering lines in a .conf file, Monaco will lookup the current property in the README/*.conf.spec files. + // Becuase the README/*.conf.spec files are not perfect, neither is this documentation! + monaco.languages.registerHoverProvider('ini', { + provideHover: function(model, position, token) { + return new Promise(function(resolve, reject) { + // do somthing + if (editors[activeTab].hasOwnProperty('hinting')) { + // get all text up to hovered line becuase we need to find what stanza we are in + var contents = model.getValueInRange(new monaco.Range(1, 1, position.lineNumber, model.getLineMaxColumn(position.lineNumber))); + var rex = /^(?:([\w\.]+)|(\[\w+))?.*$/gm; + var currentStanza = ""; + var currentField = ""; + var hintdata; + var res; + while(res = rex.exec(contents)) { + // need this because our rex can match a zero length string + if (res.index == rex.lastIndex) { + rex.lastIndex++; + } + if (res[1]) { + currentField = res[1]; + } else if (res[2]) { + if (res[2].substr(0,9) === "[default]") { + currentStanza = ""; + } else { + currentStanza = res[2]; + } + currentField = ""; + } + } + if (editors[activeTab].hinting.hasOwnProperty(currentStanza) && editors[activeTab].hinting[currentStanza].hasOwnProperty(currentField)) { + hintdata = editors[activeTab].hinting[currentStanza][currentField]; + + } else if (editors[activeTab].hinting[""].hasOwnProperty(currentField)) { + hintdata = editors[activeTab].hinting[""][currentField]; + + } else { + resolve(); + return; + } + resolve({ + // This is what will be highlighted + range: new monaco.Range(position.lineNumber, 1, position.lineNumber, model.getLineMaxColumn(position.lineNumber)), + contents: [ + { value: '**' + hintdata.t + '**' }, + { value: '\n' + hintdata.c.replace(/^#/mg,'') + '\n' } + ] + }); + } else { + resolve(); + } + }); + } + }); + + // When hitting CTRL-SPACE in .conf files, monaco will suggest all valid keys - with doco! + // Becuase the README/*.conf.spec files are not perfect, neither is this hinting! + monaco.languages.registerCompletionItemProvider('ini', { + provideCompletionItems: function(model, position) { + if (editors[activeTab].hasOwnProperty('hinting')) { + // get all text up to hovered line becuase we need to find what stanza we are in + var contents = model.getValueInRange(new monaco.Range(1, 1, position.lineNumber, model.getLineMaxColumn(position.lineNumber))); + var ret = []; + var rex = /[\s\S]*\n\s*(\[\w+)/; + var currentStanza = ""; + var found = contents.match(rex); + if (found && editors[activeTab].hinting.hasOwnProperty(found[1])) { + if (found[1].substr(0,9) === "[default]") { + currentStanza = ""; + } else { + currentStanza = found[1]; + } + } + for (var key in editors[activeTab].hinting[currentStanza]) { + if (editors[activeTab].hinting[currentStanza].hasOwnProperty(key) && key) { + ret.push({ + label: key, + insertText: key + " = ", + kind: monaco.languages.CompletionItemKind.Property, + documentation: "" + editors[activeTab].hinting[currentStanza][key].t + "\n\n" + editors[activeTab].hinting[currentStanza][key].c + "\n", + }); + } + } + return { suggestions: ret }; + } + return { suggestions: [] }; + } + }); + + // Register a new simple language for prettying up git diffs + monaco.languages.register({ id: 'git-diff' }); + monaco.languages.setMonarchTokensProvider('git-diff', { + tokenizer: { + root: [ + [/^diff.*/, "constant"], + [/^\+[^\n]*/, "comment"], // additions + [/^\-[^\n]*/, "metatag"], // deletions + [/^@@.+?@@/, "regexp"], + [/^\w[^\n]+/, "white"], + [/\s[^\n]+/, "delimiter.xml"], // other lines + ] + } + }); + + // Register a new simple language for prettying up git log + monaco.languages.register({ id: 'git-log' }); + monaco.languages.setMonarchTokensProvider('git-log', { + tokenizer: { + root: [ + [/^(commit|Author:|Date:)[^\n]+/, "constant"], // additions + [/(?:\++(?=[\-\s]*$)|\(\+\))/, "comment"], // plus (?:\++(?=[\-\s]*$)|(?<=\()\+(?=\))) + [/(?:(\-+)\s*$|\(\-\))/, "metatag"], // minus (?:(\-+)\s*$|(?<=\()\-(?=\))) + ] + } + }); + // dubious + function dodgyBasename(f) { + return f.replace(/.*[\/\\]/,''); + } + + function dodgyDirname(f) { + return f.replace(/[^\/\\]*$/,''); + } + + function dodgyRemoveRelPath(f) { + return f.replace(/^\.?[\/\\]/,''); + } + + //create a in-memory div, set it's inner text(which jQuery automatically encodes) + //then grab the encoded contents back out. The div never exists on the page. + function htmlEncode(value){ + return $('
').text(value).html(); + } + + function escapeRegExp(str) { + return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + } + + function confIsTrue(param, defaultValue) { + if (!conf.hasOwnProperty(param)) { + return defaultValue; + } + return isTrueValue(conf[param]); + } + + function isTrueValue(param) { + return (["1", "true", "yes", "t", "y"].indexOf($.trim(param.toLowerCase())) > -1); + } + + function copyTextToClipboard(text) { + if (!navigator.clipboard) { + fallbackCopyTextToClipboard(text); + } else { + navigator.clipboard.writeText(text).then(function() { + showToast('Copied to clipboard!'); + }, function (err) { + console.error('Async: Could not copy to clipboard.', err); + }); + } + } + + function fallbackCopyTextToClipboard(text) { + var textArea = document.createElement("textarea"); + textArea.value = text; + document.body.appendChild(textArea); + textArea.focus(); + textArea.select(); + try { + var successful = document.execCommand('copy'); + if (successful) { + showToast('Copied to clipboard!'); + } else { + console.error('Fallback2: Could not copy to clipboard.'); + } + } catch (err) { + console.error('Fallback: Could not copy to clipboard.', err); + } + document.body.removeChild(textArea); + } + + function showToast(message) { + var t = $('.ce_toaster'); + t.find('span').text(message); + t.addClass('ce_show'); + setTimeout(function(){ + t.removeClass('ce_show'); + },3000); + } + + var showModal = function self(o) { + var options = $.extend({ + title : '', + body : '', + remote : false, + backdrop : true, + size : 500, + onShow : false, + onHide : false, + actions : false + }, o); + self.onShow = typeof options.onShow == 'function' ? options.onShow : function () {}; + self.onHide = typeof options.onHide == 'function' ? options.onHide : function () {}; + if (self.$modal === undefined) { + self.$modal = $('').appendTo('body'); + self.$modal.on('shown.bs.modal', function (e) { + self.onShow.call(this, e); + }); + self.$modal.on('hidden.bs.modal', function (e) { + self.onHide.call(this, e); + }); + } + self.$modal.css({'width': options.size + "px", 'margin-left': -1 * (options.size / 2) + "px"}); + self.$modal.data('bs.modal', false); + self.$modal.find('.modal-dialog').removeClass().addClass('modal-dialog '); + self.$modal.find('.modal-content').html(''.replace('${title}', options.title).replace('${body}', options.body)); + + var footer = self.$modal.find('.modal-footer'); + if (Object.prototype.toString.call(options.actions) == "[object Array]") { + for (var i = 0, l = options.actions.length; i < l; i++) { + options.actions[i].onClick = typeof options.actions[i].onClick == 'function' ? options.actions[i].onClick : function () {}; + $('').appendTo(footer).on('click', options.actions[i].onClick); + } + } else { + $('').appendTo(footer); + } + self.$modal.modal(options); + }; + + // "vs" | "vs-dark" (default) | "hc-black" + function setThemeMode(mode){ + // Remove existing theme class from parent + $dashboard_body.removeClass(function (index, className) { + return (className.match (/(^|\s)ce_theme_\S+/g) || []).join(' '); + }); + $dashboard_body.addClass("ce_theme_" + mode); + // Set theme for editors + monaco.editor.setTheme(mode); + // save to local storage + localStorage.setItem('ce_theme', mode); + } + + function checkFileMods() { + var files = {}; + var problems = []; + var hasFiles = false; + var ecfg; + // check if change detection is disabled + if (!confIsTrue('detect_changed_files', true)) { + return; + } + clearTimeout(fileModsCheckTimer); + fileModsCheckTimer = setTimeout(checkFileMods, fileModsCheckTimerPeriod); + + if (fileModsCheckTimerInProgress) { + return; + } + + // if current focused tab is "rest" then check it to see if it has changed + if (activeTab > 0 && editors[activeTab].type === "rest") { + ecfg = editors[activeTab]; + if (ecfg.tab.find(".ce_modified_on_disk").length === 0 ) { + //console.log("check for REST changes in ", ecfg); + fileModsCheckTimerInProgress = true; + + getRest(ecfg.file, null).then(function(restData) { + fileModsCheckTimerInProgress = false; + //console.log(restData); //?output_mode=json&count=0&f=title&f=label + if (restData.length === 0) { + ecfg.tab.css("color","orange").append(""); + showModal({ + title: "Warning", + body: "
Warning: Unable to check for changes. File might have been deleted, moved or had its permissions changed.

" + htmlEncode(ecfg.file) + "
", + size: 600 + }); + } else if (restData.length === 1) { + if (ecfg.server_content !== restData[0].content['eai:data']) { + ecfg.tab.css("color","orange").append(""); + showModal({ + title: "Warning", + body: "
Warning: File has unexpectedly changed while open.

" + htmlEncode(ecfg.file) + "
", + size: 600 + }); + } + } else { + console.error("Unexpeted response when checking if rest dashboard contents has changed while open - returned dashboards: " + restData.length); + } + + }).catch(function(){ + fileModsCheckTimerInProgress = false; + console.error("Unexpeted response when checking if rest dashboard contents has changed while open"); + }); + } + + } else { + for (var j = 0; j < editors.length; j++){ + if (editors[j].type === "read") { + files[editors[j].file] = 0; + hasFiles = true; + } + } + if (hasFiles && ! fileModsCheckTimerInProgress) { + //console.log("check for FILE changes"); + fileModsCheckTimerInProgress = true; + serverAction({action: 'filemods', paths: JSON.stringify(files)}).then(function(filemods) { + fileModsCheckTimerInProgress = false; + var editorMap = {}; + for (var i = 0; i < editors.length; i++) { + if (editors[i].type === "read") { + editorMap[editors[i].file] = editors[i]; + } + } + for (var file in files) { + if (files.hasOwnProperty(file)) { + if (filemods.hasOwnProperty(file)) { + if (filemods[file] === "") { + // file was deleted + if (editorMap[file].tab.find(".ce_modified_on_disk").length === 0) { + problems.push("Deleted: " + htmlEncode(file) + ""); + editorMap[file].tab.css("color","orange").append(""); + } + } else if (! editorMap[file].hasOwnProperty("filemod")) { + // first time we have checked filemod on this file. so store the response + editorMap[file].filemod = filemods[file]; + } else if (filemods[file] > editorMap[file].filemod + 10) { // add a buffer of 10 seconds + // file has updated behind the scenes + if (editorMap[file].tab.find(".ce_modified_on_disk").length === 0) { + problems.push("Changed: " + htmlEncode(file) + ""); + editorMap[file].tab.css("color","orange").append(""); + } + } + } + } + } + if (problems.length) { + showModal({ + title: "Warning", + body: "
Warning: An open file has unexpectedly changed on disk. You should right-click in the affected editor and select either: 'Diff unsaved changes' to see what might have changed, or 'Reload from disk'.

" + problems.join("
") + "
", + size: 600 + }); + } + }).catch(function(){ + fileModsCheckTimerInProgress = false; + }); + } + } + } + + // Build the list of config files, + // This function is also called after settings are changed. + function loadPermissionsAndConfList(){ + return serverAction({action:'init'}).then(function(data) { + var rex = /^Checking: .*[\/\\]([^\/\\]+?).conf\s*$/gmi; + var res; + var stanza; + conf = data.conf.global; + if (! conf.hasOwnProperty('git_autocommit_work_tree')) { + conf.git_autocommit_work_tree = ""; + } else { + conf.git_autocommit_work_tree = $.trim(conf.git_autocommit_work_tree); + } + $dashboard_body.addClass('ce_no_write_access ce_no_run_access ce_no_settings_access ce_no_git_access '); + if (confIsTrue('write_access', false)) { + $dashboard_body.removeClass('ce_no_write_access'); + } + if (confIsTrue('run_commands', false)) { + $dashboard_body.removeClass('ce_no_run_access'); + } + if (! confIsTrue('hide_settings', false)) { + $dashboard_body.removeClass('ce_no_settings_access'); + } + if (confIsTrue('git_autocommit', false) && conf.git_autocommit_work_tree !== "") { + $dashboard_body.removeClass('ce_no_git_access'); + } + + if (conf.btool_dir_for_deployment_apps) { + conf.btool_dir_for_deployment_apps = $.trim(conf.btool_dir_for_deployment_apps).replace(/\/$/, ""); + } + if (conf.btool_dir_for_master_apps) { + conf.btool_dir_for_master_apps = $.trim(conf.btool_dir_for_master_apps).replace(/\/$/, ""); + } + if (conf.btool_dir_for_shcluster_apps) { + conf.btool_dir_for_shcluster_apps = $.trim(conf.btool_dir_for_shcluster_apps).replace(/\/$/, ""); + } + + if (conf.hasOwnProperty('conf_validate_on_save_exclusions')) { + conf.conf_validate_on_save_exclusions = $.trim(conf.conf_validate_on_save_exclusions); + if (conf.conf_validate_on_save_exclusions !== "") { + try { + conf._conf_validate_on_save_exclusions = new RegExp(conf.conf_validate_on_save_exclusions, ''); + } catch (e) { + console.error("Config file property: \"conf_validate_on_save_exclusions\" has bad regular expression and will be ignored."); + } + } + } + if (typeof conf._conf_validate_on_save_exclusions !== "object") { + conf._conf_validate_on_save_exclusions = new RegExp("savedsearches", ''); + } + + + if (conf.hasOwnProperty('master_apps_gutter_useful_props_and_transforms')) { + conf.master_apps_gutter_useful_props_and_transforms = $.trim(conf.master_apps_gutter_useful_props_and_transforms); + if (conf.master_apps_gutter_useful_props_and_transforms !== "") { + try { + conf._master_apps_gutter_useful_props_and_transforms = new RegExp(conf.master_apps_gutter_useful_props_and_transforms, ''); + } catch (e) { + console.error("Config file property: \"master_apps_gutter_useful_props_and_transforms\" has bad regular expression and will be ignored."); + } + } + } + + if (conf.hasOwnProperty('master_apps_gutter_used_sourcetypes')) { + conf.master_apps_gutter_used_sourcetypes = $.trim(conf.master_apps_gutter_used_sourcetypes); + if (conf.master_apps_gutter_used_sourcetypes !== "") { + try { + conf._master_apps_gutter_used_sourcetypes = new RegExp(conf.master_apps_gutter_used_sourcetypes, ''); + // attempt to load the date + if (! conf.hasOwnProperty('master_apps_gutter_used_sourcetypes_date')) { + conf.master_apps_gutter_used_sourcetypes_date = ""; + } + var date_set = new Date(conf.master_apps_gutter_used_sourcetypes_date).valueOf(); + if (isNaN(date_set)) { + conf._master_apps_gutter_used_sourcetypes_date = "Unknown"; + } else { + conf._master_apps_gutter_used_sourcetypes_date = Math.floor(((new Date().valueOf()) - date_set) / 86400000); + } + + } catch (e) { + console.error("Config file property: \"master_apps_gutter_used_sourcetypes\" has bad regular expression and will be ignored."); + } + } + } + + if (conf.hasOwnProperty('master_apps_gutter_unnecissary_config_files')) { + conf.master_apps_gutter_unnecissary_config_files = $.trim(conf.master_apps_gutter_unnecissary_config_files); + if (conf.master_apps_gutter_unnecissary_config_files !== "") { + try { + conf._master_apps_gutter_unnecissary_config_files = new RegExp(conf.master_apps_gutter_unnecissary_config_files, ''); + } catch (e) { + console.error("Config file property: \"master_apps_gutter_unnecissary_config_files\" has bad regular expression and will be ignored."); + } + } + } + + if (conf.hasOwnProperty('debug_refresh_endpoints')) { + conf._debug_refresh_endpoints = conf.debug_refresh_endpoints.split("|"); + } else { + conf._debug_refresh_endpoints = []; + } + + if (confIsTrue('rest_api_dashboard_list', false)) { + $(".ce_show_rest").css("display",""); + } else { + $(".ce_show_rest").css("display","none"); + } + + // Build the quick access hooksActive object + hooksActive = []; + var hookDefaults = data.conf.hook || {}; + for (stanza in data.conf) { + if (data.conf.hasOwnProperty(stanza)) { + if (stanza.substr(0,5) === "hook:") { + data.conf[stanza] = $.extend({}, hookDefaults, data.conf[stanza]); + if (! isTrueValue(data.conf[stanza].disabled)) { + var action = data.conf[stanza].action.split(":")[0]; + if (! hooksCfg.hasOwnProperty(action)) { + console.error("Stanza: [" + stanza + "] has unknown action value and will be ignored."); + continue; + } + if (action.substr(0,3) === "run") { + if (! confIsTrue('run_commands', false)) { + //console.error("Stanza: [" + stanza + "] has 'run' action but run_commands is false"); + continue; + } + if (action === "run") { + data.conf[stanza].label = "$" + data.conf[stanza].label; + } + } + try { + data.conf[stanza]._match = new RegExp(data.conf[stanza].match, 'i'); + hooksActive.push(data.conf[stanza]); + } catch (e) { + console.error("Stanza: [" + stanza + "] has bad regular expression and will be ignored."); + } + } + } + } + } + hooksActive.sort(function(a, b) { + if (a.order < b.order) + return -1; + if (a.order > b.order) + return 1; + return 0; + }); + var actions = []; + var actionDefaults = data.conf.action || {}; + var ce_custom_actions = $(".ce_custom_actions"); + // Build the actions buttons on the home tab + ce_custom_actions.css("display","block"); + for (stanza in data.conf) { + if (data.conf.hasOwnProperty(stanza)) { + if (stanza.substr(0,7) === "action:") { + var act = $.extend({}, actionDefaults, data.conf[stanza]); + if (! isTrueValue(act.disabled)) { + actions.push(act); + } + } + } + } + actions.sort(function(a, b) { + if (a.order < b.order) + return -1; + if (a.order > b.order) + return 1; + return 0; + }); + + ce_custom_actions.empty(); + for (var i = 0; i < actions.length; i++) { + if (actions[i].action === "heading") { + $("
").text(actions[i].label).appendTo(ce_custom_actions); + + } else if (actions[i].action === "text") { + $("").text(actions[i].label).appendTo(ce_custom_actions); + + } else if (actions[i].action === "br") { + $("
").appendTo(ce_custom_actions); + + } else { + // add to the home screen + (function(a, i, l){ + var button = $("").text(a.label).attr("title",a.description).on("click", function(){ + runAction(a.action, undefined, false); + }); + button.appendTo(ce_custom_actions); + })(actions[i], i, actions.length); + } + } + + + confFiles = {}; + confFilesSorted = []; + while((res = rex.exec(data.files)) !== null) { + if (! confFiles.hasOwnProperty(res[1])) { + confFiles[res[1]] = null; + confFilesSorted.push(res[1]); + } + } + confFilesSorted.sort(); + }); + } + + // First load after init has occcured, setup the page + loadPermissionsAndConfList().then(function(){ + $ce_spinner.detach(); + $dashboard_body.removeClass("ce_loading"); + + setThemeMode(localStorage.getItem('ce_theme') || "vs-dark"); + setLeftPathWidth(localStorage.getItem('ce_lwidth') || 280); + + // on page load, log that tabs that were open previously + var ce_open_tabs = (JSON.parse(localStorage.getItem('ce_open_tabs')) || []); + if (ce_open_tabs.length) { + // move any previously open tabs into the close tabs list + for (var i = 0; i < ce_open_tabs.length; i++){ + logClosedTab(ce_open_tabs[i]); + } + var $restore = $(" Restore " + (ce_open_tabs.length === 1 ? "1 tab" : ce_open_tabs.length + " tabs") + "").appendTo($ce_tabs); + $restore.on("click", function(){ + for (var j = 0; j < ce_open_tabs.length; j++) { + hooksCfg[ce_open_tabs[j].type](ce_open_tabs[j].file); + } + }); + } + + // Allow tabs to be rearranged + Sortable.create($ce_tabs[0], { + draggable: ".ce_tab", + animation: 150, + onEnd: function () { + // figure out how things moved and reorder list + openTabsListChanged(); + doPipeTabSeperators(); + } + }); + + // Add tooltips + $ce_tree_icons.find('i').tooltip({delay: 100, placement: 'bottom'}); + + $("body").css("overflow",""); + + readUrlHash(); + + // Left pane styled scrollbar + OverlayScrollbars($ce_file_list[0],{ className : "os-theme-light", overflowBehavior : { x: "hidden"} }); + + // Show a warning the first time someone opens the app + if (! localStorage.getItem('ce_seen_warning')) { + localStorage.setItem('ce_seen_warning', "1"); + showModal({ + title: "Dragons ahead!", + size: 600, + body: + "
Warning: This is designed for advanced users.

This app can allow you to change Splunk files on the "+ + "filesystem. When you change files, if you don't know what you are doing, then you may break your Splunk environment.

" + + (!(confIsTrue('write_access', false) || confIsTrue('hide_settings', false)) ? "By default, write_access=false so files cannot be saved. Open the 'Settings' screen to enable.

" : "") + + '

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.' + + "
", + onShow: function(){ + $('.ce_quicksettings').on("click",function(e){ + e.preventDefault(); + readFile(""); + $(".modal").modal('hide'); + }); + }, + actions: [{ + onClick: function(){ $(".modal").modal('hide'); }, + cssClass: 'btn-primary', + label: "OK" + }] + }); + } + // Build the left pane + showTreePaneSpinner(); + if (Number(conf.cache_file_depth) > 0) { + var fsCompleted = false; + serverAction({action:'fs'}).then(function(contents){ + filecache = contents; + readFolder(inFolder); + fsCompleted = true; + }); + setTimeout(function(){ + if (!fsCompleted) { + $("
Taking too long?
Reduce cache_file_depth in Settings
").appendTo($ce_tree_pane); + } + }, 3000); + } else { + if (Number(conf.cache_file_depth) === -1) { + filecache = null; + } + readFolder(inFolder); + } + // Keep track if the page is visible or not. This will affect how often we check for changes to open files + $(document).on('visibilitychange', function(){ + if (document.hidden) { + fileModsCheckTimerPeriod = 60000; + clearTimeout(fileModsCheckTimer); + setTimeout(function(){ checkFileMods(); }, fileModsCheckTimerPeriod); + } else { + fileModsCheckTimerPeriod = 10000; + // When the tab gains focus, immidiatly check for updated files + checkFileMods(); + } + }); + }); +}); diff --git a/apps/config_explorer/appserver/static/mirage-upgrade.png b/apps/config_explorer/appserver/static/mirage-upgrade.png new file mode 100755 index 0000000000000000000000000000000000000000..1f8eeeadd9a68c239dd4f1541233bdcba1a09778 GIT binary patch literal 42635 zcmd4119v6g(*_#b*2F%sH8ZiT6Wg{iu_m@{TPLsE08`*KhIB|PZyup|BP#)J_WB)h)-s(k^fiuAJD%;Q_tX2_)jiJ z{hu)m2Gl3yQ}aItuwOeg7S!kUKOX;%PtMPx|Ko%Ndq{#!^#5o1srgUo-TY|)_WSm! z{1gJCW5KR6pQ!&%-?mTXU~e1PN%2#r^82r*|LHv&z?RyAvDjc&=@S(ruzqa+@Ca)- ziU1`*&&&eK5Zffut|>CWJurAI7W@hMpZ5}N@PF9P{^E8^a%u1ZRo^R`EA)g$7$@*>*#L)tyAr5W!_gDAt%@8x4jaRKo@s zux1F@#1LE!!xo7G&L9TsT7mPiw5nh~8v*PpE1iP?PND*ba{Wxn$8x|VaK(6k0dIAH zDgDsCc%p-203ES^m#e^PrErRc@Qv|Xy$RO|36-VV;L}Agcou0c4}5^q2vWpLEyI0*%8n-~s2kkG&dtkb>EHzJAO%NCRkt?lh1i3$dEcXodY5v;CrBIT zf4mRTJScm0_4dV2a)9$4iz};(XAATeAo71(M3?%@p{+Fl+~)=`04gcz*JJ}K4<;L z2&k~H@%Ut;Hhg?E+O|! zSwKFjq4@%Qbow0x1p#s~6u8I@YIRs>DvWu!bsEh5cwrb)>mkrQOhM7DHZ^*Pt0#G+ z*X!Pw9K)L2?r`6#Q$(ROh@FBoj>H?W22*K~8$bw*nxdi>v;9RT->B1h9pS#=)Wu^0 zj%WHoT8L7v_DnD!4ZyRLIPh3hxDF>y_6cuT_MxK@Yik|7yw2;;<|wutiSE3}3%9qw z)SEM>MwG!1Rq$}vEM0hSYK;P(uIkaf6HE57v7bSp`(;oM@i~hZB}ij_K^u9Xk|EH$ zPW`JHU#&VrSUs?=BNt0?%=?=k@=5ldn|d#u=FhNQH=H3)hFtFrCnOfez1Iq@U22n3 zf?l;5Z1|p3Q+y`wh%oZIBUuK&cEALbwkC)v;>z-b*-Y!Q>mIrh>o%)BVNXJt1&saq z3XFK;bvpkjxXZICil+)(KFVDr?(mvU{VF>bUmlZ2=pfdsHPi4#0(%9uZXfT(e(4>i z^&MYaUHv9P78%6}tZS##A}?m#JK_J0vd#z;CGu*615JTgj1lEMLC^ri8 z{1RTVu`&6i=1{3om!(kn^!x7tiNc)Aac?ypfbTs3MWWH_M5v0-R3>_zovRVAUMGaA z!PK7}vyb_>E*T<%fF3&*G3Ib({14~L!3GQ&>YITKZyicr_>e*I4WGmGR}^?O-k}MB z!0ri#Xm2-fKGHbf*w(IibaW*oJiZBy`PYDsNBbI4^Q|@G9C~d=hq6$^itB}@p7;e- z!bgu0*U?X$NpG-j9EsZkL?F zhQD+fX!-2;NWODDa>sr3^hoA;<7kXY6}jh%`=tTcMjg22`&kpZ3zL&xzdtJLC}iaq zo$Aoe?sNHM_)L_sfef2MEJ@|u2p&YQj7`xfi!(|t4 zxUBc=#z-Ii=!3hiR@_JcSPJm3UAXP2c;doiN^rI{I9ur4G!5Kx`q#3|zn;KYZ_qWx zEvM8V+;%i++dJ^YEBH6nxp-4|BafrXkzL0CdqZ(${_^zF<#Y&!*^}N%fzDkf{E$Ir3}r zuB3PK&h6$UG^10s6)U(V1&|Lv9rN;_;!lG;-^2qXwmT^A}J#^^Lqp3)PwX+Z{GA= zt8&#cP%thV@Z9v9*^EVV&I|ZKP_o*A zXpWmKKeNcN^;Yb$kxNwHVw&*dNJcAwXFZ|1&$vtpnww~F_I<%TS)S5m>@R?3IJqRf zP7bVKoQ+?4ojacG_I-KeK$EKuf7c7_(B%pJu-Vbz!?`v`w`y+NO`iSXNxLu0Uh-H> zEb>2=E5m0MY{m4kw(WeMU-h{N{KSXka`ZCokFF#Hm=Y-POXoja+fRM{SAQ?~J^$Hy z+`qRs{HA(pO#pt6C_EGkOkUqQ&BR(m*TkiOv%ovMA( zif>8E^|D6zlu)3DSeV0!9gH)fKavSOgC}~YyJPYIv>-m{l6e6Xrg$1dm5g~m^!o#z zh&4sx8;?a;@9B|{U$bTuwm1G9GdmR>_q9#28P`qM8+l8sH&|_p+Tb8R zKb$VucnH|`{aLX8`&HjT0MNM@n+|xNNxyB!VY&un1F}6gcpNnam=^r+Nx83_mu#e} zU+wb`V5i&;CWekhaOD+F@KpCqZje46P2xbb(w6S%4$UiXThqDmAtt4hu7O=QER(OX zor|YyB=FX;seg}6>RJZh#x@_z)24KRM{27yHq@W_%R1|u<#@FUV!YUxaZZ3reY}vB z;4r*v0mdWtxC?G<&VKoYeR1G;k7aKZQZQv-a`4^_QVa zYqz``K$!Q^*!wlV-VmJqOSDd2()p>brrZDMowvRAU65(7b#`)d80z~e zXvOE%qD?bh_~Hpx((Nhmv5uy-jyh^~<53m_vE+4`sR1qKi;nM7^u;VeJRyOa+bWXu zo~H#q7PgHZl}kA!7OpJO7V(lV(R-)oimG)v)|rr7>|RSP%EQm!)PqK(ao z55GbEO`42o?$*qaWYb$mfU&|Bi9zRAWxH;q%LI~3`V4*tcOQbn|IkarlO&u9)7gWm zrNi8$k#*;psgxckD;&vSb3raJU!RxaoUxGlaW_ks0wBVJ=jVKXKjKZmK89YfmC-jo zY+p>2yk!MnDu(quigvlHz2}P|usXJ9-={5>x}c9l9>FPFo5mLcK0<>&&g$Y=`lQkA z$eP;i5)n&MYvgP$$JCBBiB2bwUh00Incm<~zOKwM^;})#lquQ2pdheRL1Lz9qJQE% zK#k9-L<)}$=~yTp2NR~VQ|oTBd2IAu%b~NQ`T-XDuMScSdVZjwm$}id*}p9d3Tnw# zq^W(o{ZYH+(j{#jV{q9ojphgqg-wjH>T2eJ+iOv5w*cRO@>fnw)py4#37$#oFDOKk zR{z1*)LKb!9%`90DD`L+m*3F;E+73Qq=AB;0c5SOiBETCcv5&(ZgMvY*#G!^6W2L*%yRSt>L+le95f`YL3 zG>HE!L(^wOC%hNKfN`gTlDL8ZP5G_i^L4TQS;1*|dk-PQyr0Vxmz#sVz0QZ%Uhd}a zW{6nuZBHu3bqlad0`VZ2(1h;-Erb&Y4Jar%Q1v@G%twsu5{8S5XS;TYt0vTo{;)&z z6F8#Q@Geu*V+4~naP|u9znH7My6!*wNx>73!xNir6|V8Y1oyIHq2t!1dp7b$%oKEvQj~_M7N$*CrZNjZIDW8-w#vF|=P32Anrx@O9t^v8d-eAU zeU>560lzyZuy)}CK>O1t0*ila_<~VKMnXYDhBivA{tRC~ld4bZA~x4e@^0_5E8S0? zJQ9v-?;Y<_`er7y1~6 zhAwv&{VlIGfKQX@Mp0R`a36gdnxKFkSx|>}zF#7miX*fnb?ce~!rxG=Vzp#?^dGt9 zV(Hy3iL{Fshe@!N$HvY}5&g!-IdB>>&Fh^u+0I*4Q6A&I;%~J&PjJQc8GR7%{(Qy^ zOc19F&u;`KoEXae;Op8bJlyFHW~kdBy2;M_UpZzu$zow`4e-*7MP|d-@iF)dvYSc# zk8zT&<|+#?*3?aEzxo&yZx9@Dm5?w8JCXd8beTNS79-2pe_I>v{__e^m;Hf3p_M~~ z`AwumJ;|&!-ie|oAi$Nstqs!}Ct6!&fo94Z$ zAbRd~*D%jUdxuQ&3PA+Xw1D#r;)-8s(e}E8`UNpNo-cSW6b>#fcD24xZ0k47yqJv~ zuk2C6o?U`ZVg=v#qeF`j!j+Cgw8#)Rc0x65HN1FN3{hs8q52)L7j1KmMV*!M)g9(K zb$Agk9>Lgin?z4oKOMhwPIlCFc*f-ypYI+yoSN=-zl7MF+(0knMoFUpWoD8Pi)$Hf z&fww+kP=qSg1B8(e}EEcOb}#awR~j*A-Pw2TUO;M8n$o~S?^Z@UE}=b{#anJBb2ZJ zT~JjNnlynEToy60E4hiSRE1Jg^?vu9RI$*tnTSR#oQZF#5*5v7Y|P$9OU)EJy~_zv4CmwYY)hNI{{KrgpP-i@iG`Q}SsS!8sg z3B$*G(NFCV&5BA!_azxx$T=wRLYUDM$Y}DCrqX}L7b&WH+}gdR!o$TydXjz4@@mcB1O6kKCDar+&zYhP-Gm5EdH|IS##w2~rJ83LE>+iq0 zehK*@DSF|oOPzWV_y{o7cuGZ%wuW^+G+rr_%mNOg)38=@QiOQbcP0^R+{vSK_5{0N zxZ#T|6i^XTPGl7Csz#TI;&hTaONFGf^_Ylj?solj6Jp9%E3)EZ_x46Tk7Y=c9d)Et zm}YPXha-Wu;xS59PY51(Wz< zZLrwqEa8YP0c<6aHgYkgpV9g5NUmRMi z)bcH;l1Oaf1R11~x!;`M8bA9aoz^3t$dHH~C9OGl>jkecxA+W-?&2F>1TH5tuVKTx z5eFmV*J^PtT@oRF>Q)#*u z+bf1LQX-J>D;zh5Y^Hzim(}52GRDypZx~NUkix_u9YB4E(xgNv8{4%hdn2 zpSX52J;j}9jED@OKk%mKYw#>$Q2ENfF8(;_TAA9-#5yKI0V53jH-epy=JkTP)2(OV zG1R-?;tb&y@*y=PFh6;##=Uh9gNg^yHAH2|dP4`=h46C;D2?eTBGnpz>ZfB3{@BvB zhIPk)(C=S1HF*AF-~utPuR;jghKI-}xvTg83ir|mL0(sZsyKz-Uw$0_?GP8@N7tLK zH7^s+-lw=;>X*NuvP#Z=yK-}L)6KZf^y=rQWAu$*@GEnwczBN+qcg1vQyy8PAkN$z z`d^q(0R)I46Czy#_U=(8HB+jPI+Z1w9TY_^JiM|p+R@QJwsPaF%sfc@+BY?BIoQ;M ziJ5V7rHkER2b>$WN^&Ln#bQNgnMGIEySs-u4txUq_3PzM(lQm~{%Li1(;0HXR(Xr&CM}TnxFB+ zYnzaXuly)WgtaFZJkL!i)}ulY)$A3)*y#&oJr1?gY{>7yj~@||dVNs|uRN(pXl!Oa z|KP9cyL}|-Cbn!>mQEu3v0_uIrWvFUvV3aA&>mEs(qa0RDqAyXnm3j9TZ2~`_jhrx zO1iC++2KIQ!tvbsIK3qPpBb}7M^nM#Se8fKT*d5}y=$+JwgNgPya^mUel7FnT&ZF- zigo!Flg$v3)moPu={&-crbd?$Za(ut1n8d7mE&u9rMPZ>LQBK^CD{ylyL2sxTy}1D zo&h2yJiNxTQBt9VE~PYB{B<2Dc*bA@VbaTA(Lnl!jKgMtz&2r+lQIiUXbriTMzp+U z1uk})9ZR*=J^}7?AFoxm*<9VGajDgx`}^dXFFfn)nsnh5Y(%sXzFX^-)n4XJbLSbC z*~eR#&RrJx66|Ak&J$R{R&&j8pWg&OHlk5NdMBF_jp4AGrWJy7+bo84zK4+J1#F3G zP9I+IQ_yW>CNTvUc=r5EY2Bx&zJFNX(rjK)Nt4e{&O33An2Az5f`V?pQ`+DScncWrdQ=9U?YR>3xWqboq-R|i{wU%Wpt8d*cwQ=v&B?R zCKF^%kzFo`Aped3IpTQpDcZ_(t}@%bp5%CP>92(WYafIIaX2Mg6VMIG(33fThHI0W zq3UjIPQ#q?S15IK(>X%Wxfl`^cdDxr3lNo;5O0XOtd@t@vf5^Id6kt;jQ6Dz!r=5P z#|-zwp8rK>j{X_3`3UGeWYHOPmTGO;T7NX43 zBnV0!?oI^40MaJp0q}pfLIjjhRNod_CsTT;1EX-@E-pj@@aF_yIOQj1Qr?6f$_ut1 z0MQR1vLq72BtW3^u=aw5aAzL^Y(R{CfjY!3;6X!?fT)M?g8lK=JM5%!Xb1q|wq@8j z2*`psDTI+MDg_p)oL^rfL7W|@QiGuCAqrd!WCj4+P*)0YK4Sox|CRZa%6!2&B7XGp zZt?ycehA)~rF^+EWh0hSbi7Vg`BLR2izkH1GZbkDfMFc7I5t4 zOBYYwl1@~OyB0xJ(JnoCKbH9lNq2~gZjSb*@_EqTPm6>&{`83uWg$bDr#tT@@IhyzuoFQuvj zozl_uhXot5B%MA7#aYW}zrP_6Ai7R{Oy;yja%~GQMwLOOW2^F!{Dc{2v-Su&Yeu+J zOWMcOjFWEOUvq2F$q1bVZ3Ksh7x9BR*G%=D#9&Wuwn?8pzBA zwYjKkIgm}HAvNb=$4IDj(v_U!qKF&OZz0+1UaJH}-YT+{<^Z<{A`2`*SfK>Vesr^FLK;;ohaSZ+Eh*$OA2Z5?`P)if=e=*qGgZWID)E=xb z?5@NAzyvWeUuxUA9d_^xAg_`B*sYT&W~1)ndP&%OdBNTjEL|gkpoH;zf*%0eRUw}o zpSjig+IEe^hDS;=R}=Km#@ECA=S%$?zTyucgz`E79E|;$w95~&_xVnu>7d{x3ux0l zD`zi^|I4)|AR8IXXU=s28(8Xe4F)#-J~OrA0v9v`{~rmN;-4fS8(L6fLt&rGoq@9{ z36z%v_W77es$7@h7<&B=(%b0p)f@PI-@Cg;ubdpLjdk=3+CObxdf9!|x6ToKU%vkU za*5dWPS2wG+a;Pl{#kNBFo1+G=w!LceU`MdZlpz`&kKb8FJ9ql`3CFu6{*h|w1MmN zpRMJC-2AQQ)~mh|$hAJGF$=gx5;j0V)bZX{gQzC8^#|8d{Rh zn$QQ6-pFbV-HG^iS#P%OrGlT|KQbwNxZ$P=68jO}ajO+iGKqc6rIP!q_Fuo;P6GnK zi$87u{l3s8ND&5WJ!ArZb6sxQxR~p8)Phubrp_%;CP*l9qlRo(H);=5pnCBHy2FK`ym5J-PmolF0Mc zw&q4|;UD5Qt$kS8`8$6*&}?#@9jsFO_5}hyl7MZ7_N;ZyJS@Xd_hS{d6Mc*lj?6wZ zdD7Cz583c(@1u9q%rlMMxW3qnMZmLLq#kNOwmcJk_>a02Q8F=3xm1xFk@|+tyzT8@ zQ@6xqWcQMlG_F*fl3#ozEZnh2Fy>LAtBd{XGB?PiYG>fXu%dW`7D^nmm1}Z59E>I- z`_h0sz~6N~85R*1@5I&VV(p{1vR2h~n8a6BUjhO3>d=aQhUf;`-tW`h z7f-Ao7GD2IC0XXV0y8?>JDtrTY#Hi9v4B(AxwKf3bDmo8D?~lr`i4hEUP5=O#h|91 z-am%^-EIGBpY9-s@d_4dINW@#Je*ArLMUnqK}|c4ndneaXg#W{C$T-J4rVeQ=c(=B zM7rESJ-^cjpTKxhmU-GI&|md?u7AxHg&?d=8(+i=MN9YjfSUJ@OH{9;khBZAt1`E} zBhLD#k;&%5J>wRqAd3z)!dTDC-rsB2yyAl1=Jnf^2k-MAeo`myNcOEe5uH)c==Hs{ z#I`#QFRKP`f1Y|@X8&#*`20J%?#Hm9D1en0YwrbtM<&mvFS_%$d$0W8O)Ayu-FWMV ziK1zu!&&U7mV9j$MS zdKzv${3a{v!={f6u(;CEA(m=$a%8cF8koXhMWHn#1QCL+C!aB&;3F%`@LMzFNoR{; zi;R>h#8sq`nPGy{Orpfk@_5kNmdt!y(~Z;KLmV_FW~W#gqHyO*zD1H1`eL5_slF0C zS!Rd={$kV>F7N%@iT4w0vrvR96BxjRSTBEC@FgqF*t^5md7&5dNB+H>jCC`Ii}Y{y z6sU)V70Lbgzz|uyo-)a8DH30EiE#hwnrpUoE?uOY;*qrpH<~t>wW|C#kSVPMd5B#Qdn2NyJ z14VM?WI*BbBVqy%*r3qdt5Z3((JammSJBeh)SEnNI7vGmRAww9pKG-4Ephtz9WQF| zOvKRjFRqC=o1~CNwb&*M&n9`oCG>tgR%ecORsr?co-9t#gDNACkI7;|+iY|#R!CZf zBTVypj%K1>{`-A1!F}q{5w4vthU#FN(%tlUS*R_Jo$gxi0dC{02H_o6OuO)rPO}HG zR~>?=E?t7?cDPanJnjr2gwngTBW<(uIW^n4?L^@x<|4_tnw@EH0xg&PBXXPCmNRk% z$WUK5{gAQ|q6Va^i>plb2`n;r_Tyye z5%nK}XdC;bKtQ=GObj^$O$}9d;$3M`X&)q8ON%Zf2jbIg&)!6DVQ&`3Gcph&S*O^M zL77@$n3w{D&B<8dj{#V}@m=n=@1W=Lty<>*{YDuv!vbFt3Dq<1@3lax4_LROU@=VKsU?x}Wm36+9<6^`#1>rrj z@0?*2VmANv+q}a(LmtGachNt4h!^mF2vfq&0T23AaYNsvuWNq3M>#Vmr5Zrq78 ze*Y`t1#GG|OM^lop^R*soxitn-R}~Q=)4RB*OC5VxpsXnmmEL<|C^o!Bb?CxRJGN z3>@97byI1cmhqYfpk9Cz4&QPL;k4 zcZi~c_yXg(XIZ;o)w=TzcT>MVA)nxu-qr7>9&8te**V*2em^}XtFz9 z8l>yD0F>Z<^67GH<{w&|t~at9V}Z(cS>`tpp|eOmCkJn@dOaKrxplh1VkYv?R?xsm zT;fdUVSna_ggtF5o@TpL#+8-YGNx~G(*v{bWg8O>SB|D=5^(dP1X}Z=>?qj4Vzsm~ zROn6QoG);mt$6S-CKW*}1yS&bxl)^&mZ)GRRn?V_v$o?!nR2rW8!D8`#3!MvAA*JY zZCIJdz&k8plW>Wij%$Vk$)>$qHhm{)O{tz^`W}o2L>2g|*hvlSzNlAI42?D;DC63* zcYaz;Z`c_u)M@my@3pDaG?R)M_P+*gPL6s=iaG}ibD8^uCwep!fS^AI_v^w~J0n#( z?=3gqW+7LswSasDzx&PHso7oGPNH1dOSF_2#lFDQSS`FHL;k~ZH1I#F3qyWoNlq5< zQ@TJs^W|8|1YhJFjU*1-pSqzNJP{7rU$%tj%J$Wb6qynxp))p>de+m5m0ON6G2zy_ ztB~~0806|Wbf_~+3b{6o5lL*8U#-?(_BZe^1gSV*N~*lk#Gml@LUrDj_XgUP7_kAh zY7+dIJ1h08hQ~+1QEv&Y6@)d6u5oUH%0IsjUg9s0xJC*nwi7}t80s~NXZ#wIQOXN$ z|MH@;Xt z=neotULIRmG%fz$c#N;w(~5FVegQ&xr4Ax9>TFMW5ZpQ85)Ys_Y{HiG6NpdgR zXjSU2)bGY-5A;#lDFb?FxkRKT}1jmPVoIC%P?DKK+ zx_iF#-pbs+o|6Tbq%^fp5lGH_jSJLjy_2vf%)sDqHql{glEQw8dJbKKcu+VF`e#*PPUw}EEW7Ddp&(}QvnPtrMxvq-bReo*+%W8m9O1rG}>_dpYm8?(pe!qi9U$ zH|Y#=_a|Xc+u|v}@b*sjN8w4-7Bj?}$aFu4B%I9QxDO5`j z>e(ExNU@E`ZUd_qb@j9LG27%c;ORt}^r9z2C$m7#C%1WBXnslox@z$fSBa@xuae{( ziSC|4!71PHgj5WXd1eJFBk!R}ufW&OtTAm%caQChk~Q3#w_*X;;lK%R(Am^D4o4M! z#(Btrpr169c~RC+^p2T9z-zS2?S*+9VkJId_o~4zR^z4lfIU;~!BRKZ^1zkQLXiRZ zh30$xJjP3uBjxSqE{(EQdlqC%PA;6_bP8<((Qyv1bP3HFCCn?_=6TVkUK-@kerW`X z(AH~F@`}Up5)V~$L`B^V&qVFn>F#VYt}fs$a36i5EvKYdF1rMgI@bOEPtKjt3ICtx zf>^tzLRh0nEL=`)6$^oj`5k&y8=BWQurRZs9XxP!-8oCZ7Y1|qroyK|bM7bLz(2xH z%&dbsmMlOjd&@QIN)W8Y+1_!5vuU!I)yx{rW|})geK2hZJOzGm@AylswtW6?3D_fUL_LzA7l*lGI+LOdP7UAsN?R49Oj!wieFkT6as|1|;Jw`A>^ zxs)wWwnVbB-+o7WzQCJqKGjAJp!H6rX4hDALX}s+IhP91yV2W**3s3N=^zb$brLZ? zIs3EU#1s)Q1i_jiG zbvPwvnejlpvt#((&)19K*hR(YMD`v=Pu>__ihpW#x=m4%H}f}AjRW#8K?9iiE!a0L z0Gh5%frq<`kJCTndi7WEx09+0rvj?+ z{+wvLovR)SZZK=>#t}`2kN`hGuIO{;&VSn(m5>K;t5J0Uh=l96`by9Od)16TI`%!A zj{v-tFmdLF3vJd1EaN7v+t&gVC4#!oK`8vQr&?*nG!hsR!wB0)&4tt`R1j5vU$Ydf zXmfByYjrkd1OaJF9F{qA6Zon3^oZPr`l0WSDh-|fjYGsio$zR=;vQ2T4|kfyPx9!8BIu@J`z)Crg7TU$)y?WopzJuP^pgT5H08+qdJX zPLiR|#=zs@{&Uu`hm-?C=YKl2eo9PcBPBy8=CPy*l^}MpYATSm>VQp*y8ViuQmceL z@$W~G3`x3I)(}yRx{_fl8UMNcrpg;WniFB3!~HP|6oq$E9o@CD59=6jjs5U+xr^(* z;8*wt1cC1W6rfOFJgLps!wD?lX_sYa+1>3z2NuwXMF~}M20GKsa@2FF{-opG1w#~l zv(clQ#ULcz!-23jE}5&?2x-Ff=aw+}8$hs*AWg2tKco6jWtU1b6EbL!0hrw*2e~yi z`IrT`6yil|UX92P|1GTih&mC@!tN+?xBnwBE9L7VpIoAuMV74pC02q0LHm#$><5~B zovhV+T--dlb2OIuVIPO_aiGN*?xx+7UI+p=Jdf6(@RA>8Ym>%F~1rBaoD zGgqH`(Uc4}p^_e0+x)m~FB{(8`e;|ykLd$D(w`>=?MR?gF(`l{$0mXN{6A4M{XfHD@{u}p4FiZyd%`!v^g*)ZpAM~_O} zX3AZViN^F}zj}Rjx5>WXqIWEqG?3=++p&`SgGu8|b&*3bp!XZ%a3n&I1!O_UxPPPU z!yJu3K-hoNE+(P zf|$Ub&M9+8+ZH_|tRU=)_cUm|A>UJ$E?v7$p|8I;cV3k_<{aB#sz91{T7{@S6w~=9 zOjaMRo%Ps*xN(xblttok#4T97g9Md{)$2(b{kME7^+n*|2JMJawT55`BX&eOZOAbO ziT=(qhzSdMqBnQf>{XskCoEUp_-j;A__Qg}d z&-@?#x4~9Cn!8Bw;A?vAU8l-#>@yZ;e~Io4EekEfO&#rRkU8UJ6H(Jt7{~U!a>Jja zBa_*?er73kI+Y%k1IHyV@uJMPY{|?FwJI;kQq-ax6JR#xYY?IZeCpN0RrnEtIq-k z@sMSC)XwJ@+eqM4ZQ{wgZOQPruH!cQq8(CO2Sc#>H-n%U)nB*26dN@X%Bxu=(peUo z$y>BKXFuL6Cy9>%4u2f}t8qKwT`HeSRFWMB zQ~+C7fkn!Y_0Cg_lJ4yHbB(Go^ZKLKxevmQ8WLPS_~mRgA^$E?vae??n%~JOQ8OYP zGZeIbf?19;zn42iPg}Y1!{PcYYhV(jk;s>0d6&AZ#-qy-G3V9__Myb=W%B1lOl4{p zlHvJMh#w1gJc$%jZ56Pmaf^g9B;p*mQ9OB^(X8bLx$tmRZ2 zg}~x|P8Y2+Ub;2UNIl=)GGiXV_|yNF(HJj4^Jp0f<-*wwzhn5)vjnYIKTjh+An$#x}|zuYgk ztOu=DLReP{Kb)tTz9bgUByM6M-=&ry1vCES(+p)aX-^JT8J zYkp)x_QhB^$V`NDL8kHVmE^RE>ecBu8eg@6ZAEIhPK1xxPVu(ul;D4P&Kqy|(ag%=m!US-OHT^eYxOI=h<}7Dz zEtKe1g5-HUMh`Xp{7w8!Q779^8fa~8XjbkURk2Gr&4R?(Wf4q4@?+#s%)%Nfyu@|X zz3W!?hHCv;ZeLEUWr@(?oT+0GlR7B0U3)~c)3#=msrsT#O?VhX)A%^XW6k1x)v*;1 zzQCl=LTO{sWm=%nQPc5wk#O4+H@)GQPR7qw-{FoqD$t@M7G1nryzxb{R@rB5gBv{` zgd70C7Fq1w0rLbLxM28n^izWy#@BL;Me;Btw3Cn_3V3oD3@ii@j1ti>2*@H28os0+ zJ)xmTmR}00qZ9F7U~1Qhl3vY}4sToSFu30%cz^{x=h+GlD)4=4HgjwEMST07qT5L$=OrzyWBGN z=aM4*Ogj^gf-(w2aY;M0d=u3oP-GL;HS?i+#r-bs2%3{uL%jVW++{Gn!YOjG-dMwJ zYm^21?fNN$o)NzE|4tNYAFtKBJ32r7x)cz6A(XRb_5>F7myxSGd;o-_J9h&H>OIk>f})jDTXPCw5YMvmHmz6=yq;$WV`y@ z{}BF}T=_zSVUpN%O*d|FuY4PNuV_tvfAh$$TL_@V!*!gFVr*|)Nf5Q81u=D-P{rkr zBlrH6w@H4r@p!xNPy}Z6NSX?KSsi+AB5jL!c%O*7+3)_YgMat2L}wRRm%n5ap1WsM zFm%_klcA801<$W%)Z;Bf^g|nSRU9@Pk=^s@58gjQS5k5>_h*U*jByko{s4B;NIR}6 zx!ULrR2SOFPXcB8cgsI#=>0hHP*cO-Sgf9nWu(sXLj%$yWG>2x3{OXke|1!bEGs&0 z=(lXh6vYQ$JMVu^gxO|5mWPIZ@(5!o{;+B(ge9osCvry9MW4y#pZ0o1%KyH+gki zd`QPXfu?i*MFqoAT}sPH-VJr3QJhM01eomVduB97HjU68d^2n0YVey#m_x*G8W$2K zGNI#giZ2tte{rk88*aQSDV&$Te0PV;v~*qh+eE_tIB_f|5$$n2>M~@&(@#6-5ZAMSW>aOW0t{$h=}W3oIHcfw&@@+GnO zaok?6JGYW5K8*JHhguqbYjKq(Y{xxsXXl>_4aA?%1L4vV%5r4}n$R4)1E3lfnnzHN zg>_Ih{X#)7EEgO_1ZTqNGl7U2?yB*;n1=7>qtP1C;Po;S|E2@=u{^?hMn#wavVkyhki zIrqiu_%NxpO3VQj!kpq9{5jaxby(}iQc`_uVurS@uaj--?+#m4=tTa?_rz-Z)@o!Z z@oG00oRDdK29K{%lm+PzFN6b=P2ChA{po_M-UY3;sv{t6n$J8jlJPl51wtpSZIL{h znkciz7+RK!Q&+p#AK@2M`!0WfFY@lD6(p=YbAQH(V>|sI{>pN$EPjR?d6jWzOuV{r z2N{gCA^a#aVX9qG&5{Lt;)hL;`=AQol2x#H zok=mN2!J3tZQil?J^AGC$yD6;iIZfd+YMy7hE)I zpp_XEG)+UXqkXxd=VC9{ z{GpovOqBmSke?&nZYesjVR>g?rCTFER+#Z?g<~7MeV8b5=CeazmV{j5VBqNN@sz;8 z%aFH~rpNw`h}PA8!HL1rsS2G8oU`L^9rb}!`1yR}v1aN={bT5{NLA5aNN9@W>3=UZ zeb!{9kI&8ckqlvjh6~>&cX+RZztAH(?|)y+73#!4U3xf~Ya!R`FX=dah3r5GHOmw; zuwXYW+k&qv_3PJ}o4v|`>y33XqRJMO2D=iP&c}xi!bqhBS(Fv6{(wd~jOe;Rh($WP| z|4m99o3cVi#=zQSb6tye=?ge|xfJ^)R4cqGl^Gj4{d@e51jn0rzEnlZypg0Nl2dra z2#?=Qv%C2rfc%CP}`% zC1@HjAp(l)wy0ZiRubaGt&|c_h?E2w6j#YiB03yu56SHoq@kyOVmb%Dv4~Q@0oE`d z2%f*cpw-vm&R~r!QxOP5b;=s%2c7+qB@41j!7yML%`o81F`(r-3r)A`C&C(ijww>T&kXM-y*f4DG~Z=YN_AJP6U zZEj9=z#fK4udCysX5625TfHjzmD*ciDLzUaf+7Y9gj7%-5M=w{lJ6tPm*`{J!d#hM z=3*gTzdvn532<0P4OI{C3UoL1p0U+y0) zE3&~+5u?=gJnZ`_0GT?nx!!gXRH+mkmk5_SB+*fm#uazh{?*k1N|A-7n}N%9S%dNC z9h*3g?Z>t19KZ0&rcNCd=iZh~6uHd_74RaQBHLqJICdIHA3=fL#$YyMuVb^oWj3`u zn9Qb$N~&LikObJJ#LxPJTn&g(0GgIb?d?r9+w6AS>1bGqXT7+{&30$4xIS(yR#4J9 zt4HfkFWy{~{NJ3fJVScrx8J^9ZD;`zdpynsShLmBd>{_`qH%@T!0q)8!PrN3_fR>$De@b%CbHDAA48N+cvUA+lT!Fi`N8r z#VZ%vzb-$8HU}$KB>-DoFveb`MvXc>-lh1+~K zxbkA}xPAWi{hQm#!NK*nA3t^oE}d37HrSHXTLXL8uh-IHn)WJ9I~hL8S1v9-na5S1 z;AnPvD9BX=?3+DY;7h#+0ZSnz3?y1kb*aSBJr(!EnwX`tS$b4Zz!Y2FtuftX-)?zTuIyYxC6V$QhU^@C8Jt>w(HPTMuSRPvzv`xWjL%p6I^-u z?|o3hKhIbGvt8!?&Go_bn%wN_lW*sZ1$|ehsRoyJrQYr}j-lz$DxurH`2-GIkr6e6 z6=Lb)Cy$1vkX3*~PQZ+!^ke&gnMD5{72LI$e#SWx3v0suS`!O-IvbY`rFbawM5&*1 zA=v{11M|O2kP^yT5h3N}=6o=v2x59nB2dIgLwQ#my2^lyEQiL~N&;-$JK*qf5Xs*l zg>^v~p}@%_6HX4plDN{e$CaU-jykQR)*3Y9<7U5bHFn}w$F7Y=y@CE3j)|%!E!#Tz zcXE2|ZE^qn^{=f=ad!s`*N?l~-N4FmW0ZEM2-8pNaV3UAs5@?!(N|u7I-x!s!-08b z47ex@J2DS165wv*p@YD#iX(xRYZZ+rQo*TB%=)1zUtykg`PbULWbXu8Z+KIsQtEuf z=FtbbRPi77+n&BP$jAbexxmC=lL<(;bBRY}R8p*A)OCDNd{n`1bP>dS!d)tK;l%Vi z73dO?3M1ZTQWr(p)#1kr>!eg{cE8c8SM6H2-)P(IH15rSqc#H5KtoAf$clH-Ge zZ#!_Xyx2eY&$Z$)fmHs$F9J%TrQ4(Fg9gRW1N7QwpKl^kDA~_vKywu+`8{$*@~`w|1p94ZEIlp z-=F&dq30{ye!rdELzM-1x!blERJd5`x!9NJ3TQm2#N$p}0#{Bx9)A4-Pg(9zMUN9Sfd0<&QiZ{`NiMZgd zFAqF`K-);uEhz#RV-Aqw%9W6R3A>lMr#TguE&(JWETon~ByvHy z^)jK~Bg}MRC9hsxoO~*SE3IlhHg!+hs>cnxlT@2^P*@s$pfPrJr<)9a&aHw z@?t+9^c02AZ=1o&!=PfW>kaogT`31?)Y(Bd7~>K5NN%e zpHS&pSh+m+XqX2NBUJcSSd{xd?q?+!OGhyz>}S3utx_xBk1iKil+KkC89hFSxH6ZY zA+`!vKp6@(#h}X1D==;zm-hEavE`{m=OHy_L3O0QQLn9T{D)I{9^#t`wIgSDC&Adf{Uup^|NP6iug= zR%QR6L(GcDh!eWLM4{59j&P8nW9CImK%Gq2JQ(>*IbfsBbnzpk#U1^sJzjhxLavg2 zR(vf%-4?G7FFu!vi-SO%W~)CO>X67E4~M;0rIwcH2OS>1F`IClDXwUK!XqJa z`l1|#!IKZPgNp6`RZQ$|zvQn9rTdqtkM@@|Pwj88Tyv+}##Yl;ei0Q?sGd z>|>?^4j?FqvjJmpb9d{b(PW&o2lby2SoUiP2ou1_SeaCb~ zA1&YScE^L;np<}|wFZ!vBz=^x9G>L*3W^r&D~J+eU?$_HD}-GfSds}{E#>RG%&1|J z+(d(EJw!D8DEEWr2IX+&%%~|@krx;86|%~zVP_HWdqX`gk?Xbx9i5(i;FOa<2s0ra z1`d=rk<1ELKl98$g9j;^!k3=njt^xS!SDx?8oAd8bfLb(Or4nNDoDsLhlj6TmEkLK zw^wO422G==ACKc!rCX1Ojg?dCzkJ=Uxyv@a$Nt>A;-0H=yWm=R7+5B|aNQ2ZxeK*WS|B~T?G<@D_lCv%b;}3e4)w9m&5h4?P6?p$F9e9u)}q#)mpbY zx>x87=W^Mu`HE&N8)+;r_w&q8biLf=DKcd&J4jAQhpmpCB%MmDS+hH^{AxaTxEfbJ zYiOC{h%?6&Y#tzLcKbPWHm0NIdoid%6JbSI1(Ece&{PWS^pck=gib$Pdd$tO^S(wW zp9;Jj&JVLjd4H(*1DCBb+zMvBEzyNiF3m%%3VRMxd9mVWU#BuFrVoFEh)r;fv{ zKsow{B$Q-GSv*2H6v51cE&(;RW!Ui_N#kF{mBfaH3Dxc(uG-0QWt?>S{kdhJP|t?( zCeD?c+uL=xGTEpU+Ow6Xx_-4I^!?!RYb%S~bY5-T>sEU`NVjba2Ce&RJ6G=ydh_*a zF4;zNh%slmkr8~HcYGpv9%-SfxcM4FS6XgHgMd=YGe$Fo_+`mD=;+<)S!jiGZAHSY z;}Th!!HCMgjReaHQ-S_bOs(XKvofmAySD;|o-F$6*o-Z>iUwwILDx4}zg!+!R65wl zl=BP>b28N5NVpdeFIS>SKq6nmlKz1uI(Z~EJI9sYs8Si)Rrr8L_Hm_Y+s$}5uEkxu z4Mu5u+*vWKz7tY>eRHtM>9ub%KUu5!k6qK1jY(=T%WO116Y1VKZnWyhl`cell*5(R zudf#B9ya^ZpHY{Hffvk!o+}N_?6F1yNb#_2d}Qh&2;yf@x?$-EjV79^AndvzGA{@5>E4t$uG14|IT38(9`z&Z@~ey=Vv_%Vzey>i#KZsqjLJ_v+RAtSS(KLP7{3q=gm&fn{4_EKjG5 zP3#Vt-guG4nCu27y%=yd`5p7_dsX_dCArFuMHYHA9b0j?kzIA_+;h)8x7^iuQ?5>@ zPY6fYzc}oad<;%Q(CKnxp=t+p2U1lU#h|ed*x(o?sh> z30`_3ak*W{WqQf32oUjLLpntQVF&992`py@BhKHQ%e;5^nTQa{YMN*<*eODxiXiPN zgOYiH#FhiL|*gmK~mU-^(DHoLBCpkAj@?=~9Ea(!5?^*akX%0kpreLUMz zRy~}4t77|6U7;7hz1S(Y-=Q<^e|d2wx5J=0vpTfP^%Zf2%}T#oYgOv?eELeMbnSX~ zaYb^O;R<6o^=b$d3Jkhw=nCm6n^_2q;kG0ur2lyT==?b6&3z;wG)bdEX!#0} z(JVs_cBDBpO=O6;nzf;s6mqV<_>PJsC_gGH0xSDhzNblZ4^u%1m z^YiDrHuFD9pUfij<%3c^0hCSaVF^5ai|Zl)5I_j(1cYLnC7?edghw)#oO&=2cy)0Z z=9O-bj)4piU&EK=K1zd?RybC4nd4^*H$)J~nR06upGxQj9~Z(E3N}C26OkR{c3I%Y zfeUtiz?DG2QYFxILlBo-$fIN+K>31l1k#Hx8M#u9R3iTUpAY2QF2-gLtK;UdZG&uk zX6~Y5+CbGwqq5G@Uwbg__BQWDR@axX2MWL{vhzNPtQ8_|na- zbzBB-;d?D``HQ8*fxU|Ok&L`MBtO-0_w`ik`oXIB&Hl&(q$H8%aQGkRaMp4#PK&^X@!1UpbNpK`b_8!+|@^ zA(G&TtXusYW&hH37a)x08KFmcLW(qlu9n3lhZC^P>UZfSKt?Hh>Vo^W z`4#TFfIEWgipE>F#b?c7#N@Wc*ajf@#%CWbd*AM9E)=G9a2l`RvvqOV>yB7_Yb2AG z2s0oH))jb3(|uldc%7TySsIG*o2aMupNd-60nuR}A3zo*N1r2pNQ{$Xsb7t{h~z(rB1OoNl>W z=?+_k`aR#KGf>#Y^7l78T-lz$@+}?wPxUR?4$!i!SIy>_d-VtVLGMd%uk#c_SRo0z zX2>(M9Oog^)d1u=LH8)Y5H$;~b~o_j`(bL0<2z|dq(7hUL|kzA z6GjNw@@SaYpecG*2v;s0z6u`fkg}^N_bffb*_Wxn^*Cg-ICPom0KO7(Q##1QS33Rr zsL~nehrnQz^?nAU+W1MyPG1XOWCi%jiywAA{;i$dOAo&kC8!@CC9%{-^DboTurnx+ zyAyr+_8R@xtPAm<^|(^H$)&J}7(r*2m`0H_>$pVdGNEf9*Y{0p7AhGMXzCJ+dqI>( z{`%JQi7Qn)wXCAh({&Av(q%%-u44Di7?4>SZS!qoJ7LW{H!v#helhP#xbiI$OUiJP zvNJbiY3MH!l(UFaA)GAI3H}$9g7u#{9}e=x@te{VM3iRjbnX$TjGmG|dHbBW^5%z~ zDQ=5}(5qjbr|^Bm{9&_OEw|==s`dyPnYCuUS?y2SIr>5QmD^x$?+SEb+_+ zWk0q9&Mqut^)D7_%Ej49B=P#P1RsmpDnlPueIZZIWffm4e?Bl|KU6_Bs>l>Brsn`( z+5AqIM;P3cxtLT1X><5(!V@;1Fh$=V^O z{`TuLJxU7l706odEE=2Qw5Y(0&49v^2p^PM<4a{Y z-Tk2uC?vvjDR*sIa(Q)iqNL+dtjhJJJ8 zJbk(S_x`Y^56>i z`LRbhJkLp-xG_tg?ikD`N=Cj$212MGc`nGP7bno^k-||9QWS~v%MHEfv-1;21SnuO zAkI(2Egcy2TOM%EWELPv5eL=feEt0N(b>hSZ+g6B`4h_4Ht`~^c)HM2$%-FCED!-X zHwhNL{8KKz(tvJrYh3Apm4B4}!n)JuWZ}`!8lS>^b2oQe=&z5Ti(X}UCq{mLy`w8z z6LFM8~eZE$6wUzaMhIg}_dec_93x7MFO{C<&m0Su7NR&)^3Y>?4N-Jct(n#w;O}iufDg z>c~T`JUhBuCS~HQAshioC!p}6#~6pM>#g}YkofLP*ZFXzby%r4I~7RduViUXwNqUf z)&I}l)w9N}rqObjZBp-cm&=wR-4^?Alt{Qxp;zCZAOwR3F$_Xes1OJ|9~v0XUCVgz z*voFSE>gsCcOg!3A!+hER?jQVSFSU9N3vwIJ8zLV2{^VT9i8WS&T~$(7E#ApRphc^ zK$@fa?epP;g^(5>XF+Wf7BUN#_ivjX2z^(F$2gs45DsGKvuvMVf9yl~?v${@0%|Z= zjREH)K`SOh2qDQZD3#%$>#1Od!Whuj?Et>;iiA0c2>*)qA;878wQk+$8R=QuOR8d# zLS{0kQ>3ApSs|p#vbemS>~%+&NYD&1Zg!&=$1A3xsk`%_?Vm%+!}m#e{__u_{z_~Q z20l33vi%-C*is%jHhngAZEwX=4oW0Dcsf9MlO3IHTR&v6hlj(;+nQzxF^D+n0ULCa zH~|S339g*q-xEJTTPL^dS7Fi&na6oeVL-kPqk~6MivLP6kjR@-C*}6zN-pV##;B|b zXyxc6LDZs^kDT+=AP66$5Lij^YG-z`yxP~Yy_Q!LgqJ59{JGdDR@UD*HpLbmoevQK z%fCo$DE-KR$^U2w!hjGqFP!ZevontmPkaCN{!m=`{D}-$-q1(umH!o7d4fD$i0Q<3 zK{m^V2|*one|uX2Ryq`z!wMAc;K~wZ>MQG(jJj;z{6eZrj3)Djl@%6cTh0sZlF~T? zt8IBo(-kBYPLu2MhvO9ma*QnF@?^0er>>0+Tym<(n3v1%aAmas1YK!{+2toG3D%k` zY5za}O=fS~4d!7)%@BlBg()>l`{*|msqMOT<2u4vnk zUxL4tC6U*SQn$;QweGC)a^6zWXS3OjETZ?~KkS=> zo>v1FONPxnfE7c_9x-e6WU69XJhNP(S4Bvakf~`%A~G?!R6xBVXhJ^0=2Y2IH-l!= zuqa70O1<|N)T63e=5ZckRKXQqF8+&OemO0}m9Eq8vSAp|XMQvY*sKV$16;Mj@71sR zLz7LsW8!<;6Csiip@+9k>sP*8LF^{}Xc&R4Dy!myZF}49hrRQl+iJkVq{Bbw&!ku~0hdq7ULvaOz#&)5DWQ5jJXAXkGBpsFyO+_~IOd=#$CbnO@DdQ?P zoypbJgi!!M6h;6*ertJWkui(%_yo7kwak7#+4!h^kOF(Eco#}N@avCY(<#= z2!^IpGi`P~A@XoqXaXf_5b!QaT2r{P{>&!#L&@za#uXo=&oSLQi{{fI8(=7j@?Vqc zJI!CKv~7uBUq@VNzY==gL`SVUU-5$NmtHT9yJURj9MhFU=gfvAFoLe{2;X@{0*m_; z&x&x28Q)=$X=1IMAR;Zp6&?|79xpDIi>s^grD#Aps$^P%4%Yk~?Q(fS>cB9*WOzYP zC`pz11`DCpbWCGzOYCjKxzG0KFqhqWKvJfdd$=Rdu6)_wSAiAc#_e&={1OREg-z4y zVIQu&H577s^w4twS%xHa(B1ig4Hkg|^x${p9i~W`c`iD*IpQFAIinchGY29U-J&=_ zqI90z*ljjhTvHmyYhveyn#^VwWAYUsO3S}GQE3cQwu>uOx<4(q&Gs?myP?Ytr!1SW z9&}EIe!ucQ^Os7nLOLIKb!@M+e*REC68f!8U0j&6mJsCO{VwbH4s8b;liU4$+xtW3 zAdjPsXs)DXu%0YHoVuuslBrt~4og%lN-!CL*z@V)B4Zttb~B?ECszlq7A|gn7Y)mF zp18NN{^<7p{CvM{c76)&{$QHSW3YLmgELSujwjSS>G+(teE#@zdDzE8 zgUW*64THKa3@p2_wFbLEPUOY|f0O*aw+=eLf0|+-59z}3>9E)ghPa5~H3{20YOp~F z6KIK?b!1>NUM^tY`S7EzsMUsFSV-ZX5LZ^MmAjJI_YJPF5$(nO0Uag1IqTB%-qeOQ zQm5rIh!|In`jyrXiD}&1)^u@BFoFc3!idF=BCp4WJ=%`FVF|84-}dgV&f~@FQ2V5~ z>_8mDK?)G)@Oe4!x-gsyBu150?6$_uP8vTKGwCw#s&H$^NkJAx-Y~ZJf1aqf0+XQA zQzBgPLv|j!w$Ba+IGN0&>z#^xg|LnH*JCzw>wM)euN!%rJk+|))={b;v`t3SE*lq? zlppu?S59la#Rask3V2{95ECzE+{D7TB3R&ktKreKVOqMNPa21nC3izH#aD&fECynb z)In*gZh?vUROIEZfM)_+8R8ZT4ogS|^CWR<;>zbn`zyzB&@-GrH^Eox;flSUSB68l zbzRqA3Hd+N_em(5xSC9g-Rl*OH?>q$O*2=?DPYB`jF0yFwtsH| zS856Q>CIdr$qJ!>9Y*o$j{dl>zjDew!JAvpcnR)lAW6e(?Q0RkP)MKd}6|UOBWer38`^c1JXJWATjcY<91uo?4o$FuU`%drmn z|7+ZSt#HM^RRol?FuzMPn%(b%w+EZREGS^R{cta?)L9VvZpzFRD>EEZ#02u9m_6XC zl`)4@ka>yfiiklR001BWNklo(L|0jvQnvq_R7i0xC5I(DB~*v)5f`fM{38P zz!p~=_<<9Hzqx%@Ya;Zu>O6>S?0CeL=Qw5FPG7&gZBf9I@2)vTY@gaYPQzp2r;*3!@`#o4ClzF4DKMx6U z<@O26po|@)8>v{jn&I-MkP4K}nAk>No3#TgC*vDkf?)QRPI^kpSNaY;$7+78UOAht zomU)p4JIBrhxycG-}V^!{v!EGC2he2{WQl8{b9FHPl<5l^j-bQhyjs@g}@)}vINDl zI7ZMZRWm0o;mXMcLKY<#3gBlhgm(Cf-;dTEl{0o~*SgA8`zvJYBCn3m__H)vO2Wy$ zd~52069`!7kR4{Py&)U+{dW4c=4S9>Y{jbc21w$tz(r^H>$Y&^L}g^rOl9>2;L69{ zXaxVi>|MWa+ej7`kWHiz5L8?tNWluLC_dm8F|ykTSQoo?vE3F);pVzYM7U7Fnc>WE zI3y4lAZ(;Cf~43YfPr0G4xj`G0|}N~r?@6aeYj%V{X1@kq-@!dXju^@8R1LfAF@Kr zCgc7wcnd%LmUJlYO5{Chji zgJyF#aag9bxF!X}ZU^Q%s0|H6dDR2!+$sTEbSzH#sVh{u)Pqo&%!y!&SFb@L!< z>Kw?E_3HO8I^k2|%4A)~ba&8#5|&G(aevRR9dw2)PgMc;#m-*yWn(8AvUl`m9{I}o zkzOz`dGeSrfubS~Aym-L{9tA4Fqou_S>(o_EFb#tDXze>`Ea-S_U+NX%bTxX?ys&q z+kGC&;C3V-+Sy(Nu1v(XQ&rreqOfeZvfVg(u1uJB)To-qncDV}eC6G2(-p%OL64W( zHt`V))$+a#tkyhn1ra((R1l>`l2zM}@u2;EX0xf)@|j$wSkUcWtapL|fQ zYU^tomDTz2po!RaYU;G4MCh-%>utA>j$Xczm+NkGXZyv|-DeZx%Ewu+v>-*X)DST$ zY}F%jY=&*KKSx~YQ}g`Lu>|z{!#e($_(vx5a99eGuT`D}_O^|+a=u(tbR(ZX9nQOQ z1$_BmlKDz%zOtyeSt=}3zVhs7Ao4!g-{0HWY3@It3|A7Vt{`MF9RfyVz9IlQd2f&J zGWR>jof+3&x?S7BW74TvyJ$bT6jv@rwzBg~LddXCzEr5MHCD7zwce;!S0>C?{*xpR zO5NfX7TH;w1WxFTF-e}GGxM-Lrdo?dMJ$+Gp~RTv0xhtE}g; zl}bf|j0Bq12OF!i*RM>bW=Lgmi;FQQy;`lWOob~G?hpF&^rliDnq>4efE)QpMcXW^ zeUY!;yx42(zkJvi3J%?^u1YCEBe^w^MNS@GWKaAm@* zI4!U&E@Z-bt}C=&t!4A|z-X&@>*{Cxj#jM~s?|cFs%6WSMqQI1RqGptN@0EY+Io7l z+E_2hZ>(i2jkOC&bE#a(s*AH$*47GzhpTl}X3^qgaUYXga%jl1(Q&(5R&T^S4qY&A z=#U7Vw|c^9zdw#4MZJ?&cdOO!b-2SMT(Pl+Ed4}?F;gi|2EbpnX8w|Z5P-QDyr~w^&$TpB`7V^2HnCg;*;TQyR2L4NIn+D~~I1 zeS76I{^N**_+m*X`}su|pK0IJGFmMjS7u+iMW)F^MVz8Q9yML!o63)pb+@|h(|qK( zW!l6vxJ?Gz77+zj3-rcL7CPQK?66M96Fv%OtBzwrU5{Zy5G7sV$;xg&JV_W=MqU-= zTA^}pIv%uIT`QIf`I@{9$=tYJ-`H4rAn%U#idNK0B`vr=rm?JX>+1Q+*&V zED10n6b&y$VJ_qoOAY@}8--d>hnW9W|(Li|J#5#5bCkBUV#2L0n@qdWNm0uIQ#O_XqE8nDx^Ez{+De{%a-z^4Lk}0qVLb>vJasW`< z5<{Cx5?Vtl_R?bngc*gQ%%2>c^WcRrraNQQ`37O~7^WeZWe!Hcd+=hNw-tUbYy}5L zNmp>+EecoePlqda)5Uq6q>WpatsY`El|sLmv{UAeyuhOYHCVx8=)M zZl`PWYr~aW3B8t|XF5nVuG&DHq5X#xarrq?b5uPwS=F-yHf_^Xin&%F+E{gr49~-m z1jbK+${qv99$k#>0qP4yf2e^RV(2gc7F%W{LnW3&<;G9X3M)8i6PAyQ!j;^OsbJ+% zx-_qK{IWzmXl}To+k;8#s#0Qc%8|qn`IxYXOjej~078I|Jl}8)ETKVuO`?M(la^P$!uavp z;L0qe{DKZ}MJO#C;Wh%U+EC1iZa^*s_o1cAC{Ptux#Ueqa(kYUp2RktA)%X@r z)fJ^!^DK)gR|S`O)Ck82un4m#a2Oe+S(aaXhG=`cw(@vFl>ru?^t?;Hg|9s>49}BV_!Fg?#q0}MAp_=y)8jl z9>ruP^wGegi90?G+ECEIf-@vRg~`JYYPXmsU2=Js;z}BGid&Db53VGjMamJi z$aN^+LW{c8RCxxcYT!_)YJs7Tf{snsh6FLoz>?-GY0N9`Un5*ez=TC0os$7Aage3dwCW?`7zzpuAw0r#+jg*$u^@Qb zPI4%5$64W?FcZ;0z{`c9YBIVLjUN*dPPiix#Sf5Xu05ex1D5ZX4Oi~mPuFIOD>I6p zF2R-Ao5pb)VKeltwk_SE6bZ|LrtTYz;vi4K%rIO`RLRvafo%l>e;0VB3C`ilkmjw0 z0cM{3Z-9D+6Kn!-B1BRf1&Ddxc^}PXOllO4rQid0WxsN=f0o>>AtJBJ1g#D0+S#(#DfmI?SB8%ti_g4Vo{v{Q*t25 zpEx=NmcVU=oclTWT)NJmt{1MP+k>umWbb^vxN@eThk~6Qn)wc~usqmw!djY)T^vF`oqJLi1oyH=aNymc%AEhFE-FhpeIKpsZX-y zMKqKgjX)#fLN4=?65fz6Up!i;Z`WTudgVC(e!0H>>Lm&qp~6T6NHY~6Jzgw*Bi!qR zE5H?k-LT;LN~XiZ!$`UpuT^_vAjgEX#0zRP>CssX0c;4WI2DleG`rScw9pdRx)%oESa|jegg%RSqe!27}poV z+t=&nyy*H$rao-fsyyiQ@s%>&^Zamy(Dpbp0tj$9VzxkB>U@Z!*cuY!P%_ZNLT?yL zY|O2Nbbx;tS+31BiYR8Q^;cdfaD#H4_E3`rNndAG)Yl|O2oy+|7l6@eg2et$gL6oO zGPC19FovPT_bdCA(T{+c(ev>n@o6MscPtAe5H98x42j_3M_ik7a;r=i3RpL5zWkOLK+ z>sZuBJ`5;ID8w+pCd=|2W1VezwhI*;Y1+v_!y)OkXFtR!CnJleqHtvx3+1`-N*8zf zaAhu=k1{nFSB_)qFs_f17U8f(R7g?272^tPSe&ue3tZ+nGC+Y#jb*>)CemXLvn|^+ zrd_D7VB4}>!7TkHobwzC7b9+4f|x>YsHm$z(;JClR70~K)2qf&`6Z-%dR2KQLRs4J z4>u|@QOz@tb_`QgyHW^W+1Nhzd1mIht!hUQL}`%n5tF!Oa|%19NLHe13WE|ZaVTP3qXahnVd4cETVewh z(Gb2bjcDJqEUqzzfn~O^To%Tko=D&^Jj#n)++)Hz_e3a5JN~h$p>%OG)z&<9c~C|i zb?Up^`$7BZOREIKOxogepSOWU14sahSrU4-j&{tJ=wVU>u0Vbh^eB}Q z;`+c^A`?jhg_op#BO9LO=>*Cg&Os<@ohd{^?U3_9m40QkW4=Us+oJNIwgY6+Z8n3)%5fo834Ew}2#pQg3=f%&@Av>m zDhQ(yL)XLl#Y9AJG^S467&+MixG^vdLnMByQjGbItJ(?{*^u46aLkY0mSv|9+w39d znX5eL^wn2xo-|yEw=fe)5)#`Qgpw0TV2EX7leu7!%TnYjZ2O3Vp})?5La69cUQ>E7Ap%9W9K`o6fD20T&45cLKcAPqX#qCBBHk3o2OIGRlM>?kG zO7t)pj4K=2Pto+aLTGa(;U~UnMw58-n1&ME^U%YZ9!Ir(H=H6lYK^dJN zbTMTcG1}lZQ}!XqPh)@ z-v;TE{!JzkGV{-XJUlB`%I)_%#o$WE+~I$kpY<|pHlH@X=zsnB<;$OD-97tU=~qrz zKL`ltbhFv~ytlabTdh`m_IYnl-)?=&zifT|0&75jW3L4_a}yI8K1(hZQMYZ&<9hdt zG&I1#V5hFcCn(*v2|X_~v(X_lAb~JfDD76u!~aOYCz~ueO=liMfie zoQODkVWpPDe^)7p6x<8V>-w(!`Ro}L+-pB-CXN>;Ru<0ahuvI-D<>c>)Y9>xo{D$7$@gz%{y7HY%32on6?I^_MH1vj z8IQ54G*wrlp2K#0@DNV8i@}b#CJV12Jcfw=w)+W$$o5O*vFrN>o%8WsKI`mOvX)jl z7TJgRk!Jq9XQ1d@wJk?JzE8u-%9Hdh->UDH1y^=5EwJ<~t;lo@Rr+Z(3VjrNZ41(A z(3E&DNF@0oct?UJEW;B&wg=(L#ax!zRDvtJ^^VwjzT94a%V(+$c|zi03RXVWyCcbw z9%SB}I-twEjq}A7CDVL@(GDV`c-ZTE>05(Vbs8hfw0g|I$)qVd$Guw zJ7Z&a5YTho!HoNugdU!WkXYU3)yx`gPm!U3k^|6ji)qXBV zOr2RxS66no_TTf})Xy``g{F$1XFg2p8STr9+NKMv6PJA1o+pF@p1Xjn?@@1QbwT^UBE>(Nd!LRcFq z@cuMN_M$|T=A8!J$b6CAOT$JFy0W$UDJ69niWQ&x1#so@kJXMY2du0PEZTPCO16nm zndr*VMxu{HeXk-AA~`2PdEm-IUm-)!((UTeSJ{-ID~}&vt+sS2;=#dp{7L#zl4%?8 zMnP)ZJUGq4nGGWuUVo=3+iZyM(+{ubn+M`bZQ!`3iym#bl{CM8r%0H?-T?SZ5S66DQTZg#iw+h0Q zwe6AK*QDqVuu&3R=~=b~R=nDg2pyRg{}Az&pQ=q=f@V-h-dkJkU0>PykQc7}JgB~c zE7FlsBJ{6ZaitF_-dwJIOC~hc;w$HWsJ3;vnn4;@-W}pmvQP}J?Cey~kX0V^_pFy$ zdH`*8vk$Ix=pAYoj(m|zQ65w^noAHJ)s;T&AOM!-d>TSO4=%54S2dR5W342(@~+<^ z`|wSCC2j~+!nhKoK^;=t+Dg4|{GNK=9741-KR!NT;@ZT-`1tJX{LK8U{%dxAetu?V za&mfldUA4dW^$i={GWsBD;ql-+Z8+v9RvPrum7LDt7&Z;Tf@EibV&(qX@)`w4Z({* z!-Wj9xX>B0XenI{1cvzm8VpAvB(}HSdMSh!5|WURW+yMkl!8`f;#g>cQ-&Gm)^sQE zG8_Mh`<^2?v6NUj3e)S4o~Oh~Y)Pl#96jfGKlHv|c9|`{k!cp$X-u%lPqHQfhxsea z3>rUP#CC{Lj{4zL{?Nm6r_=-**_sD#*^7!nZEReZyM$l%_6Ma2*LN}Ufc1QScfZvN zf}llSyWMU;(8cI=djJnm1ystFN->_2dR#6RON>0yvTgqy6R$k_IkwD>MlQ0?aijc2 z#&JUb%D3#c9y{U_KH3aQNK^`9+1h*fU?+b~9{bn5H1iwt^8=dMU5F#9RoDU+=>vK} zi^GJ{?-Bf73*i$qn@xCe{p$NtwbpEMuG)}1<#BUM z@iqW?a_l^oH?3X(FJ1V@ab5hvaRL0+0~PbT>k>l2-+(LpnosD&CH%qpF;q(45QEfR zd>woSy!dthYG4=hRMV}K_c7|VI%XfBpD_9L*sCQ_uNBJGDyAj;H4~28FIwJq?oB)z zl(Nhc3^bR`68aC*D-(f7Kg6f;)94BRFf36Wny11xx8{c`{cmjU#CuLH#e0G0Nl&~y z=`_>BUjhE9`%9O6`b&@N^;=x<7w5r^-UN;)S6!~@RhzXY$N4q4P>Qb8tPQT{mGQ5| zD&~$-xi&nQ8?sD1;QbKk%88HOjwwI%Egdi22|q#;o*WT zHNR9U)bM|}iuteZ)x6UCiWk~y$CZi7U-`0SvzNag)*+uxPe(4ZPw@r0mWfxsV|n}& z0*#tiPGkC%##f(9YwobVk?bxq)O{XHl#oxlLHJI9l?(Y^hkF^50=(3#&5#a`eXewT za}19#N|Uflp&9#Vm{we1fE(umt#FvL3Z7dJKdqGuB|mYHSLZ_R^1{nwGiz{+Uu+VA zgh?uK8t@BT)5Y}Y)_fP+Z+`8#0J5q?n5s4qSzg@-?S$XM+No3ogRN2yZMRBxXVRbJ z;*~^>6#wCX(!s*ZnRq1(Grwhi+sTSCr}9c-C!u*p=zd*!?}y~QJ46sSh$I33*c)+b z*~jNK2j^B3Z@nn6cB7x_7cFo5V|@Ec2@V|m zZCkN}GgXeuy=7tMNx+)~t)#eZ4-Wo_A4>7OX>OjI2Dr4JH=FLQWaj$yQMA^)^@3h8 zQd*o_zLG%If}6auTN$RmLfyUlk10mit9lVJ0qG6@C;FH~dfb&D?2&IlYkfVxyRp2n z@L+R+w8-7TKJ*>(Z3{PFSh@wYCFb5FRPi4vtL%d=$M>%+xl&=iE#s9j|x{;3q+57W`FzXn0*y6WFzoO0a$eAps)iTpml z8zu>C-X=ZQm+rUDw4(!RSqw+Nq^Fg)%xyb?R*=B!|L}z8624i6|1*4S#l=)kE8tpD zh;3x+?ahVVU5bg@qBKsDa)tktCRjcvH8i~?6qQL}k28-M32&Nh%USdal}~M+-P^N@ z1==8UQWXmarx~`d4B6G4Ra+cPkc9~nGz52d7~I|6eb5Q+Zoz{4;O-6|KDfIFmjsvK z?(WN8?2p*K?59sXb=h5Y>g`u_2x}KRXxC3xnKzGn3*I78$4YTi$OC4I=H5ylB&>oV zrN?VkR-(8ce&A}%8&Pr@j^krEvvCJaZ5;0zlL7D4m+qcIiJJrTttf?)We>27yBkoT>Y+TX~&@NUa^x zmd*Q@laXKl#uYbZQDft+`l1Ot$+F0FVDmG$+5 zBEADFiAvBUGQ||-wg1WTJNnBWV279?l2^G9DWHiqjJjdm8T&~)*8aP$+)c?ru{|xx z=dC5SUMzg9X>_1ANO3BYobt|20jB$#Ph62vC~{TtY2jNA(OY-AP(@LwONK}$En*3O z|JeCIFMweq_Orogj&5rfGf*YW&(^S+kd|ozAofwe`Au(DjP{MJ^)Q=D*&YMsd6a`QLk&W?6s9e!(7eWJfvU2LW_%Z4!hXS40OZLni714nH_P#vY3%rX~LC2r(T_Bq!)3 zuP6_@;Oj>x5B1a~!X$SM6)tSy`};6=za3d+DiSd3~YzY?UCn!-@4AYSuTh}z^cmAdYKn)h!aI=&K?FcEWS{cy04$j zLefaKc@SKmUE=r$E6rqC7+J1h9cJUuz@U*ZX4vClrFwOz^?YcE8ug)3c?Gxn-Q%SY z*C3ag*WA5{V;zwN|5q~}1WRiHdt5tEqwp{wdqqowLu{!xEPN)P5zSjtV96H8f<%Nw zx9~SI(jk^i0u}ZVZ-ihw6ga9R$_8BzUFshhiDDu4GwNy^{L8$LL=&@$w-_nV!OlDa z8~!Z`*$BU8lh4kvMF3ZW)MDzm;a9xAZcCwXg1YKWm=0k*#m~%Sgpqdy`Z7fE9iNg*@5JwlgM<)d;wuWjvLplRwnIBo1>Cmuz zonqaz$5Ee<7u@d(xzy#ri+{cE@CVPI4hZ1 z{-5~aJ##(ZNb+kebI6RiI0nYTY2!W1jG^b29rQOdj-%~<#ze%Q^QTCL2ESxBQ?XQj z#k%G;&+iwR<{kgayXho75c2R-*3$5RV5VYL39T}q54$J1p`L42{(&RWEDMZccJjR<)%W@`Bs}`*tP?-^gn$y}%OR2(Us;O_P2^@m zpfkq>=!^C{HbN)CxwN9CvLi+pBfLR%kBccaF?pNe|mOU-0& z#)bcGWOr(;Li>k9!U^s^2W%JNZM*9ts%qrK(yBpMRn&=wl%^mejUyt;1jhze$W}a= zYvJHY1-BPMo#a>c?kd*u2BOg;OrqJx5pfsxxac@xIzD~v%wCWYrpxbyvM9c>&ANj6AZy=QNIBEt3h z=Pj#xepH2E2aOH^?pb|pa(8evDo8wEKIJwS!*Ynu^5vFUTf4xZ@Di)ehyz^ZQn&g$ z+PGChKCLQ4RMhfIUI%}z)ILAC1{x9?vTO}P$sCdn;9+GKibB}agNMVl-+n6dui1ZQ zXT!W25v*6ni0E33qAWHTH?h=i1W%g@yjEdlB@IK)pe}Xg8pfI1o`@ckppx>X3>&tP z^?{38@ZZBoMoCId`m~Fmc!J^P7yNumh@e_ zBZ16i6I{zEv~51KDY5Gtx^Fx*GQ?x*F1HMRxR?~ z+)5M$Pt(gQR$=aJ$ZxJzr@Te`Wfg(nU8cc4ik@(R@~+B#E<{y0aHL&L@F^Qpqjafl z)5|nrtDW;3LTE*+pKJ}-*qv7ghYaks;veTv&5omi`^%=(hLC{bTAqHuednsf5s)@v zMia5O?*Ywhd3>L)1lVAvj^uzVa2TKNj=}jN@O!J-PPIP>aOwSwTG714J$B~&3 zxJ2@1_ww^WM>TzyYmke@{KO1kc(>TTuY8$JGpTc|&jl9qY`5e{zX#rLcfflsAxI=? zA}Q8nMaBH73`N+891MSS)ojegVP#TFX7;nQ)alq(kdxM1Qun+uXo->n-*uoI(n)^qv(|_HH@WydOX{Z#F6}nc}!ou3g z4?R;SCmxetxQ2MkG7An%vQ;87CZA$pG>K(n$yAwRD0nP1gQwUlWFE4B@v*_j$^Wq9 zF~`Jr22HE4d)t0BC>vlY*aiGXOZXmq$ahS$Dw5gIc?R9J6=N_f>VSX>kKPtU%Yemo zg{}}eI45q6&vMQOIW4p|w>`)9On9@QnB=5)aVO6$<9GeZ{u5Q`YMwYbwa#za%N+Bp zB65?K8vf;p%OmlK3!(boIHQs(k}aKkWp{So`Gfjh{`Ya&)%2d9kv8a{W*N_j8-jB8?k2Ak%>aU&kM?I6{$OpeRU!VT#%FMa| zE~d$BLb`tx<_30$`uA(?x*Pyy=Wtw;cT#Bd{_E5JQRR36aXg=|{OErAYG}YpIq*2k z6W#L&Mn2j3{7&t}5s14ucl^xU{|0zDsYD)M#9hQq<5>jWi!;~MgzxkFy&lFikcy7RT$5MJ;-wuvOx?mZdr7%}?Gp4RJUwLmSMC!blAM!& zN+9L<^|omdm3vTKw1%~Q9Kf`ljb~Z}Tdhimx?1oZ^|Ubr05o}sB8BG?g+H>a$JGR| z=^ecUh4Sev3H0`lB2nqU7Q1@Fw!tY}p&(}#eetP1n2$0W>|{&N2*4P-2@?Np$<>V( z+%bvO_n?EfY;x5FzP;S}*8Z2_zW0kLyBewDaz6{=Mp>9TJs{M0WSR!Cx*4mf;&8Q6l zOr_A&pe|dlsB1R#dQtxDQQAUsgm51%hXM&FMIMS&da52JiQQdB7X)#}m|KV!Q zu4knuvtG%JT7O4hJCImT(F{T<$@gi+(``JZ1L)kzpkv8|_Gbbs1k{-wPvMd2FK@_g z*ocW4QY9?X+vAOrNL?djw3>5P^uRJ@N~%O&BehipkNbcwCvA#60lg@=y3i17Y96uv zjXt7fytYKISW$@T<5)_{LjjH!*E(s8Qy3g`AvRLzCJ|9dxR^~@=$;TxXCfr0KyJ8Z z0^23!3%Zc0o);-YVev`IyY7VPcax0$dD6cIBw_{9B8;zK6lB zz~n{JqRyZ{N0~OB_<3z>C%rrIs&wEqZ4`=;^aB)PyR2=BcLbH28>G_$OoZ74M)X~d z1vZq$A|Fq>RMB!>M1z|G>xhjPC8wW^CaVLaHIw~S_T3^TWEBajRMuIOakD6#Bub2c z-%Vs{ZP+Z6Qrl5Cp(#yyE^Q;LE%UKKw@%I>zi(x@j=RdTMb^OGZ0U7KJA(ajb0j$2 z+;wk>Yf>KHvBx#N?OTMqR=owK9LoL7Zr8RXj3Ov)1m2XRfzje8y@fBo=6-vzlNyuE zz9C}w9uKI{kf>ZJwG@)1rZj)cTasWviwYGhS9*<%q}cU#PIQ&!Vkh0&2&}OXzI)cB z*p$Jk_Vs?W(sOJ_EyPcXZf^DS$GX{wi+DYGFu6GGM1!#MN{YLch$TEBJfP}w73{m+ zCysDKe7!lUTNH=9r~!VDF!J&`>wn_+Qs%{-(adUD>!f2E2iHX!Kkln{CzHKOzEUw8 zSX$JtT_Nx8s%EAwqCfrjA>sq9T^XJV#SE_VCt_Bv1>@qrLWMEQDBsSnB<%fynrQw41+3h;BWqV-ET(qss<;}Q zy(ycI=fymbx$sVWNf!u{pe~rD`ilmk=t*RB7KomFAYh8uxI*6A!HXR3mqoV^GU zdnlU%SgI);snE=1?3}cQR{;u*KR@{lf)wD;> zhs;p1qU_0O-x1=T9m?b2>G?F^mVVLG5>@$h+Zenp4|=+%U)Ca!?Po(lp$$(_cn!b2)(+Rw>cKnm(lVg|w-TT8ylnm25(s=3{;r|xy5W&HG)4$yOiDrp(R=MN zC+swf^jvjfJS)LAuv(bKJ=+7J=hUl`Bh~pF2hMo2D$dBCIM9_UPvRaZ^LwUtp$WP9 zb*@p~d16=R_x}iQP*=knzM6ldDiFbuhfRnOfQ}0lOZNJ#+TktH=`pt2g@W2p627q% zCl~hnOOeLqjKmQ@e7kv1q{O|Pk5{E7UIn^H9ukF=O@cmikxpOtD~;gq4baG8(-P#hTBfg4 z8tmLJ^PERNKJlg?4eKfk!&ne7jNxWS^6~ceApc7n7x9~r-><&8EIWD4n$b}`+2y#+ z9qf>)p_&y^o+?<<1N{pn(>YZmWzRlTQ=(gXEoD=r;ybo@s8n%f*gjE87pk4|*8D&v zdG9S){^hXj0sls1IH%vv&Sp3qzEpkJl7!dImJOGtysc$%8o3sjANtZg8y&(5_^mxE z$1OQudS8hTd7+5t$>^`@rAYi{L>_OPVRa-;qp*yTC(FKJezi#J9j8Tf%6D+~iK$<3`` zKBIV@%7VCn{$5RRv=kAM)3yHtO985tif9nDRK`NDSLA%qYg8INj;tsgH%QIcUr$-x zTh@!oniAs6S2SKFGI>)k5Ng@o`p5d&q(*}Rbo4|gUL_+4Np1}Z!{K~|Yw`^a-cuYWRaAR51aS7JIw(K7+jqDJT~T0csQ}TgP|FUlv1dfZo|7c5;&WSoYjM zIPZ_I#sG|i?-G~Xp7jnA{qSt?39*9_p@rPV0R%u!5qw!{@@8SS^Q!ad>QL%%(e*wf zocWfP;N8F(Lz9m&lI?v#73`Bzq_e0~Pz0NVZwK*7lNYsO0{RSFpST7$SAa`@nMs-R z$Y)J@PNNXp(!dh+%EO;1-MoI(ro=SL+#9-bE+6kCIid!~sK)?*4uFv{Ja{%gz+Y@^ zfW=6FXa&U*R5)ZiA~tZ6pJ#=z$LJ;ud(Eat7f#vfZMQ-%8q^&)ZBgsX7l$qGRCb(B?q{P!`pJMzK`I#M1gOWX*S~hVL^xXG^tY@$o%U<~j4;U&9vJBTKIDb?%HPc&n{wo!${`^) z>R;T9DKBeMe`&Roc%0dsG9O&{qCmXAI$*e9qgR)->@3@qy4MR^>bk;RG#(MU-|xSeZoFEUwb$rop>S(kgZ#@NSZar z^7*|%t2g88ZdP<#lUgr)UFiHNIXN&?PN8aCUPuRzD$zq(TT!dW+OXIL`M@c;dQcY) z;Q1-E9qud@K1YS`@j;ya?RqdgO07mnm08MktkbBf#;}r2{8Uv%qH8i|4iV@59x-{? z36dKI@QiqtU@^w||(s zJE=v2zu71cfWpPk*5D^KlgP%Pyr|NA3YLm4C?`?rhYXwfN#2#eqkm(8{TNB+1)ba# z;Gy<3*K8-;sL3^6BL`QaV5A9R4 zuAJa0)QbP1pkexlkoLuJKP9>fsD8)sLoo z>U^X^HQ@){4=)`p%FqOZ7n<`RkLI4F^onmd{8IcjK?0<_#2CzKF|76mmNe-3e5pa@J|+;#!4X*pKYF05YMeMJ?$C z00|;#Z9^KII1}6DMbYy9h$kPe%6JUu3!a>)A|4p|Tly}At8|MR>Xh;$COpe-3ik#W z_-!Qe%E1EyWc*71Pjd~`5z&a>4app0FTHrhFBH*K1_DX=nNffO@f^^>+GvI4ZxjmiEoNoN&-y{-BlRv9Lv<#ub@MX;T!cLd1Qda z@cDW$F1hyNh^96b{md^E`|&_U04?%v-2^OMT2G*&ojTFMI787Yp5J5Y(g-Q5A0njD z+35GjN=MdT$y7S1-exj%tXb(`Wb*H1X5>H7N7d6UfAP7|96#Paf;_W3AD#Dp2w2d5thhk(e3H!<;CF@>d4Y{V5)w( z$o76yi;-ulw#_icJ9K+@0f9b0HNU%A9Qk-Ri~xMPrgM^Nz5jw@McI9pPjBL;U2Q$G z9bHfCy9GBnKc2Yr5CN=6=s=qR?GLk`Ypc?vwt~Wov2maaw-=}Dtcf`!MgJM~rqIvf zWa?E#-F7WVwJ-k@cmgNxM|dtZK=ozKl3BRMOmU`WL3>88+ZAzIoy3Q-GLjIDfK;78FxeHQYPb64shUtbx|{p?fBuA%5;=Y^y zn>QnS=c-gSq7+>sWsi{idVzCyXa1_&XUmUhhp=V*@tYS{Z|u|UgLxO$6mztyMKN+5 z@w4nBdAIkZ6Os2gT0ij9sok`)_)%s{-?lu5qwCt`Y2I9)NA~gpR-4o*3|u6XYmRV? zt5k{@_5v!8&(qked+tUxzt4{ktHT@E$i}!H%>C7L+8Q^&Rr)!{MT1J%jbn0rv|-?% z#>bn9AIDn62gw2t-fOMRPvq)`fs?+}iUz;u)wC0GmIc>&&ryO>PMq#i46sxEq;lu~ zsk5`t_1TCV@=sLet>ngduSW^~_mXt*T?=SL`vX7J>u&2e(|*NTeBXb+)6=rSN{>5IYWNrfQ4c|nAPrsj?uF|t*|+Al46>_?%vLwPRGb}2ty6O z5@$6pK-LCUHtqcUwVFbO#^3UlTYH+}Wzw==IR9gOdE*5i$fri-hqSVPd;A)6`aG7e zJCq{Pl}k*cpDI>M2=oiFD|IA|0HpXD#GLBQF2N&mr_#^Yny-F;xRO`^xpF}UMv)R{ zB@{lN`lW!rmB+Lio45Oa>f7?ek^l8A1xhT*18e-@rhzt1-U3CV>XYA+hyAQemOU`> z?c`cA1p0n*c>lcs>F$G^hf{1UE(e+$na|4>P^@z4>*wlaM}7IwfHFfaJzre`lstToB?s5Zrvxq1(OMG6-cFX(OE zsTn`F700|9Dzm^DdU>bFcR9vkibenIU-jG7+{nK(`yB#S#684Cn0RXbc&E9f?w6j- z!z^o$1fL5=ih$<5V4Zqx1n6em!+TrY9x5Bd^#Az`VLu_M+8G?V2_odPij1Y7!1|7~ zvR_dJ6e`+t!VKBOp2B~D>(Kh~1?gTT(lsaG0t=XIAGpn#^sONF8c8)@t?eKq&@mpe truV<+2$ZBTKjWG8Z=*x~KUndLALx6Ro&39;MgN` instead of `CodeAction[] | Thenable`, which is already removed. + +### API changes +* added `monaco.editor.getModelMarkers`. Get markers for owner and/or resource. + +### Notable Fixes +* No longer use CSS class `.row` for command palette to avoid CSS conflicts with Bootstrap. +* Fix Accessibility Help Dialog accessible issue on IE/Edge. +* Fix Find Widget CSS compatibility issues with IE11. +* Toggle Block Comment can remove extra whitespaces. + +### Thank you +* [Kitson Kelly @kitsonk](https://github.com/kitsonk): Update monaco-typescript to TypeScript 2.4.1 [PR monaco-typescript#15](https://github.com/Microsoft/monaco-typescript/pull/15) +* [@duncanwerner](https://github.com/duncanwerner): Add hex number tokenization to R language [PR monaco-languages#21](https://github.com/Microsoft/monaco-languages/pull/21) +* [Remy Suen @rcjsuen](https://github.com/rcjsuen): Update Dockerfile grammar with STOPSIGNAL and SHELL instructions [PR monaco-languages#22](https://github.com/Microsoft/monaco-languages/pull/22) +* [Marlene Cota @marlenecota](https://github.com/marlenecota): Add Small Basic support [PR monaco-languages#23](https://github.com/Microsoft/monaco-languages/pull/23) +* [Ben Jacobson @bjacobso](https://github.com/bjacobso): Add LIMIT to sql keywords [PR monaco-languages#24](https://github.com/Microsoft/monaco-languages/pull/24) +* to the many others that have contributed PRs to [vscode](https://github.com/Microsoft/vscode) which have also made their way into the monaco-editor. + +## [0.9.0] (03.07.2017) + +### New & Noteworthy + * Minimap (on by default, use `editor.minimap` to disable it). + * Drag and Drop (on by default, use `editor.dragAndDrop` to disable it). + * Copy text with formatting. + +### Accessibility + * There is a new [guide for making the editor accessible to all](https://github.com/Microsoft/monaco-editor/wiki/Accessibility-Guide-for-Integrators). + * There is a new Alt+F1 (Ctrl+F1 in IE) accessibility help panel. + * There is a new F8/Shift+F8 diff review panel in the diff editor. + * Many bugfixes, including now respecting the Windows High Contrast Theme on Edge. + +### Breaking changes + +* A lot has changed w.r.t. how themes work in the editor, mostly driven by the work to support theming in VS Code. `editor.updateOptions()` **no longer accepts `theme`**; the theme can be changed via the newly introduced `monaco.editor.setTheme()`. Additionally, we recommend editor colors be customized via `monaco.editor.defineTheme()` instead of via CSS -- see [sample](https://microsoft.github.io/monaco-editor/playground.html#customizing-the-appearence-exposed-colors). The color names will be stable, while the CSS class names might break at any time. +* Support for the internal snippet syntax **has been discontinued** and snippet must now use the official, TextMate-like syntax. Find its grammar and samples [here](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax). +* Changed `IModel.findMatches` to accept a list of word separators. +* Changed the shape of the `IModelContentChangedEvent` emitted via `IModel.onDidChangeContent` to **now contain a batch** of all the changes that the model had. +* No longer using `transform: translate3d`, now using `will-change: transform` for browser layer hinting. Use the `disableLayerHinting` option if you have any trouble with browser layers (blurriness or high GPU memory usage). +* Simplified wrapping settings: `wordWrap`, `wordWrapColumn` and `wordWrapMinified`. + +### API changes + +* added `monaco.languages.registerTypeDefinitionProvider`. +* new editor options: + * `accessibilityHelpUrl` - the url of a page to open for documentation about how to operate the editor when using a Screen Reader. + * `find.seedSearchStringFromSelection` - Ctrl+F/Cmd+F seeds search string from the editor selection. + * `find.autoFindInSelection` - Ctrl+F/Cmd+F turns on the find in selection toggle if the editor selection is multiline. + * `minimap.enabled` - enable minimap. + * `minimap.showSlider` - control when to render the minimap slider. + * `minimap.renderCharacters` - render characters or blocks in the minimap. + * `minimap.maxColumn` - maximum number of columns the minimap shows. + * `overviewRulerBorder` - toggle that the overview ruler renders a border. + * `links` - enable link detection. + * `multiCursorModifier` - change the multi cursor modifier key. + * `accessibilitySupport` - optimize the editor for use with a Screen Reader. + * `autoIndent` - automatically fix indentation when moving lines, pasting or typing. + * `dragAndDrop` - dragging and dropping editor selection within the editor. + * `occurrencesHighlight` - enable highlighting of occurences. + * `showFoldingControls` - fine-tune when the folding icons should show + * `matchBrackets` - enable bracket matching + * `letterSpacing` - configure font's letter-spacing. + +### Thank you + * [Joey Marianer (@jmarianer)](https://github.com/jmarianer): Support literal interpolated strings ($@"") [PR monaco-languages#13](https://github.com/Microsoft/monaco-languages/pull/13) + * [@AndersMad](https://github.com/AndersMad): HTML Tags: Add support for dash and fix colon in end tag [PR monaco-languages#14](https://github.com/Microsoft/monaco-languages/pull/14) + * [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): csharp: add support for binary literals and _ as separator [PR monaco-languages#16](https://github.com/Microsoft/monaco-languages/pull/16) + * [Anton Kosyakov (@akosyakov)](https://github.com/akosyakov): Include src as a part of npm package [PR monaco-languages#17](https://github.com/Microsoft/monaco-languages/pull/17) + * [Andrew Bonventre (@andybons)](https://github.com/andybons): Fix typo: concering → concerning [PR monaco-languages#18](https://github.com/Microsoft/monaco-languages/pull/18) + * [Scott McMaster (@scottmcmaster)](https://github.com/scottmcmaster): MSDAX support [PR monaco-languages#19](https://github.com/Microsoft/monaco-languages/pull/19) + * [Luzian Serafin (@lserafin)](https://github.com/lserafin): Add Solidity [PR monaco-languages#20](https://github.com/Microsoft/monaco-languages/pull/20) + * [Kitson Kelly (@kitsonk)](https://github.com/kitsonk): Update to TypeScript 2.3.4 [PR monaco-typescript#13](https://github.com/Microsoft/monaco-typescript/pull/13) + * [Kitson Kelly (@kitsonk)](https://github.com/kitsonk): Add documentation support on hover [PR monaco-typescript#14](https://github.com/Microsoft/monaco-typescript/pull/14) + * [@replacepreg](https://github.com/replacepreg): Updating date at footer [PR monaco-editor#409](https://github.com/Microsoft/monaco-editor/pull/409) + * [Aarin Smith (@aarinsmith)](https://github.com/aarinsmith): Fixed spelling error in README.md:85 'instantion' -> 'instantiation' [PR monaco-editor#440](https://github.com/Microsoft/monaco-editor/pull/440) + * to the many others that have contributed PRs to [`vscode`](https://github.com/Microsoft/vscode) which have also made their way into the `monaco-editor`. + +--- + +## [0.8.3] (03.03.2017) + - Fixes an issue in monaco-typescript where it would attempt to validate a disposed model. + +--- + +## [0.8.2] (01.03.2017) + - Fixes the following regressions: + - [issue #385](https://github.com/Microsoft/monaco-editor/issues/385): Cannot add action to the left-hand-side of the diff editor + - [issue #386](https://github.com/Microsoft/monaco-editor/issues/386): Shortcuts for actions added via editor.addAction don't show up in the Command Palette + - [issue #387](https://github.com/Microsoft/monaco-editor/issues/387): Cannot change diff editor to a custom theme based on high contrast + +--- + +## [0.8.1] (27.01.2017) + - CSS/JSON/HTML language supports updated: + - CSS: Support for @apply + - SCSS: Map support + - New HTML formatter options: unformatedContent, wrapAttributes + - Fixed issue where the editor was throwing in Safari due to `Intl` missing. + - Fixed multiple issues where the editor would not position the cursor correctly when using browser zooming. + +### API + - Added `disableMonospaceOptimizations` editor option that can be used in case browser zooming exposes additional issues. + - Added `formatOnPaste` editor option. + - Added `IActionDescriptor.precondition`. + - **Breaking change**: renamed `registerTypeDefinitionProvider` to `registerImplementationProvider` and associated types. + +--- + +## [0.8.0] (18.01.2017) + - This release has been brewing for a while and comes with quite a number of important changes. + - There are many bugfixes and speed/memory usage improvements. + - Now shipping TypeScript v2.1.5 in `monaco-typescript` (JS and TS language support). + +### No longer supporting IE9 and IE10 + - we have not made the editor fail on purpose in these browsers, but we have removed IE9/IE10 targeted workarounds from our codebase; + - now using **Typed Arrays** in a number of key places resulting in considerable speed boosts and lower memory consumption. + +### Monarch Tokenizer + - Monarch states are now memoized up to a depth of 5. This results in considerable memory improvements for files with many lines. + - Speed improvements to Monarch tokenizer that resulted in one **breaking change**: + - when entering an embedded mode (i.e. `nextEmbedded`), the state ending up in must immediately contain a `nextEmbedded: "@pop"` rule. This helps in quickly figuring out where the embedded mode should be left. The editor will throw an error if the Monarch grammar does not respect this condition. + +### Tokens are styled in JS (not in CSS anymore) + - This is a **breaking change** + - Before, token types would be rendered on the `span` node of text, and CSS rules would match token types and assign styling to them (i.e. color, boldness, etc.to style tokens) + - To enable us to build something like a minimap, we need to know the text color in JavaScript, and we have therefore moved the token style matching all to JavaScript. In the future, we foresee that even decorations will have to define their color in JavaScript. + - It is possible to create a custom theme via a new API method `monaco.editor.defineTheme()` and the playground contains a sample showing how that works. + - Token types can be inspected via `F1` > `Developer: Inspect tokens`. This will bring up a widget showing the token type and the applied styles. + +### API changes: + +#### Namespaces + - added `monaco.editor.onDidCreateEditor` that will be fired whenever an editor is created (will fire even for a diff editor, with the two editors that a diff editor consists of). + - added `monaco.editor.tokenize` that returns logical tokens (before theme matching, as opposed to `monaco.editor.colorize`). + - added `monaco.languages.registerTypeDefinitionProvider` + +#### Models + - removed `IModel.getMode()`. + - structural changes in the events `IModelLanguageChangedEvent`, `IModelDecorationsChangedEvent` and `IModelTokensChangedEvent`; + - changed `IModel.findMatches`, `IModel.findNextMatch` and `IModel.findPreviousMatch` to be able to capture matches while searching. + +#### Editors + - `ICodeEditor.addAction` and `IDiffEditor.addAction` now return an `IDisposable` to be able to remove a previously added action. + - renamed `ICodeEditor.onDidChangeModelMode ` to `ICodeEditor.onDidChangeModelLanguage`; + - `ICodeEditor.executeEdits` can now take resulting selection for better undo/redo stack management; + - added `ICodeEditor.getTargetAtClientPoint(clientX, clientY)` to be able to do hit testing. + - added `IViewZone.marginDomNode` to be able to insert a dom node in the margin side of a view zone. + - settings: + - `lineDecorationsWidth` can now take a value in the form of `"1.2ch"` besides the previous accepted number (in px) + - `renderLineHighlight` can now take a value in the set `'none' | 'gutter' | 'line' | 'all'`. + - added `fixedOverflowWidgets` to render overflowing content widgets as `'fixed'` (defaults to false) + - added `acceptSuggestionOnCommitCharacter` to accept suggestions on provider defined characters (defaults to true) + - added `emptySelectionClipboard` - copying without a selection copies the current line (defaults to true) + - added `suggestFontSize` - the font size for the suggest widget + - added `suggestLineHeight` - the line height for the suggest widget + - diff editor settings: + - added `renderIndicators` - Render +/- indicators for added/deleted changes. (defaults to true) + +### Thank you + * [Nico Tonozzi (@nicot)](https://github.com/nicot): Register React file extensions [PR monaco-typescript#12](https://github.com/Microsoft/monaco-typescript/pull/12) + * [Jeong Woo Chang (@inspiredjw)](https://github.com/inspiredjw): Cannot read property 'uri' of null fix [PR vscode#13263](https://github.com/Microsoft/vscode/pull/13263) + * [Jan Pilzer(@Hirse)](https://github.com/Hirse): Add YAML samples [PR monaco-editor#242](https://github.com/Microsoft/monaco-editor/pull/242) + +--- + +## [0.7.1] (07.10.2016) + - Bugfixes in monaco-html, including fixing formatting. + +--- + +## [0.7.0] (07.10.2016) + - Adopted TypeScript 2.0 in all the repos (also reflected in `monaco.d.ts`). + - Added YAML colorization support. + - Brought back the ability to use `editor.addAction()` and have the action show in the context menu. + - Web workers now get a nice label next to the script name. + +### API changes: + - settings: + - new values for `lineNumbers`: `'on' | 'off' | 'relative'` + - new values for `renderWhitespace`: `'none' | 'boundary' | 'all'` + - removed `model.setMode()`, as `IMode` will soon disappear from the API. + +### Debt work + - Removed HTML, razor, PHP and handlebars from `monaco-editor-core`: + - the `monaco-editor-core` is now finally language agnostic. + - coloring for HTML, razor, PHP and handlebars is now coming in from `monaco-languages`. + - language smarts for HTML, razor and handlebars now comes from `monaco-html`. + - Packaging improvements: + - thanks to the removal of the old languages from `monaco-editor-core`, we could improve the bundling and reduce the number of .js files we ship. + - we are thinking about simplifying this further in the upcoming releases. + +### Thank you + * [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): csharp: allow styling #r/#load [PR monaco-languages#9](https://github.com/Microsoft/monaco-languages/pull/9) + * [Nico Tonozzi (@nicot)](https://github.com/nicot): Go: add raw string literal syntax [PR monaco-languages#10](https://github.com/Microsoft/monaco-languages/pull/10) + * [Jason Killian (@JKillian)](https://github.com/JKillian): Add vmin and vmax CSS units [PR monaco-languages#11](https://github.com/Microsoft/monaco-languages/pull/11) + * [Jan Pilzer (@Hirse)](https://github.com/Hirse): YAML colorization [PR monaco-languages#12](https://github.com/Microsoft/monaco-languages/pull/12) + * [Sam El-Husseini (@microsoftsam)](https://github.com/microsoftsam): Using Cmd+Scroll to zoom on a mac [PR vscode#12477](https://github.com/Microsoft/vscode/pull/12477) + +--- + +## [0.6.1] (06.09.2016) + - Fixed regression where `editor.addCommand` was no longer working. + +--- + +## [0.6.0] (05.09.2016) +- This will be the last release that contains specific IE9 and IE10 fixes/workarounds. We will begin cleaning our code-base and remove them. +- We plan to adopt TypeScript 2.0, so this will be the last release where `monaco.d.ts` is generated by TypeScript 1.8. +- `javascript` and `typescript` language services: + - exposed API to get to the underlying language service. + - fixed a bug that prevented modifying `extraLibs`. +- Multiple improvements/bugfixes to the `css`, `less`, `scss` and `json` language services. +- Added support for ATS/Postiats. + +### API changes: + - settings: + - new: `mouseWheelZoom`, `wordWrap`, `snippetSuggestions`, `tabCompletion`, `wordBasedSuggestions`, `renderControlCharacters`, `renderLineHighlight`, `fontWeight`. + - removed: `tabFocusMode`, `outlineMarkers`. + - renamed: `indentGuides` -> `renderIndentGuides`, `referenceInfos` -> `codeLens` + - added `editor.pushUndoStop()` to explicitly push an undo stop + - added `suppressMouseDown` to `IContentWidget` + - added optional `resolveLink` to `ILinkProvider` + - removed `enablement`, `contextMenuGroupId` from `IActionDescriptor` + - removed exposed constants for editor context keys. + +### Notable bugfixes: + - Icons missing in the find widget in IE11 [#148](https://github.com/Microsoft/monaco-editor/issues/148) + - Multiple context menu issues + - Multiple clicking issues in IE11/Edge ([#137](https://github.com/Microsoft/monaco-editor/issues/137), [#118](https://github.com/Microsoft/monaco-editor/issues/118)) + - Multiple issues with the high-contrast theme. + - Multiple IME issues in IE11, Edge and Firefox. + +### Thank you + * [Pavel Kolev (@paveldk)](https://github.com/paveldk): Fix sending message to terminated worker [PR vscode#10833](https://github.com/Microsoft/vscode/pull/10833) + * [Pavel Kolev (@paveldk)](https://github.com/paveldk): Export getTypeScriptWorker & getJavaScriptWorker to monaco.languages.typescript [PR monaco-typescript#8](https://github.com/Microsoft/monaco-typescript/pull/8) + * [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): Support CompletionItemKind.Method. [PR vscode#10225](https://github.com/Microsoft/vscode/pull/10225) + * [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): Fix show in IE11 [PR vscode#10309](https://github.com/Microsoft/vscode/pull/10309) + * [Sandy Armstrong (@sandyarmstrong)](https://github.com/sandyarmstrong): Correct docs for IEditorScrollbarOptions.useShadows [PR vscode#11312](https://github.com/Microsoft/vscode/pull/11312) + * [Artyom Shalkhakov (@ashalkhakov)](https://github.com/ashalkhakov): Adding support for ATS/Postiats [PR monaco-languages#5](https://github.com/Microsoft/monaco-languages/pull/5) + +--- + +## [0.5.1] (24.06.2016) + +- Fixed mouse handling in IE + +--- + +## [0.5.0] (24.06.2016) + +### Breaking changes +- `monaco.editor.createWebWorker` now loads the AMD module and calls `create` and passes in as first argument a context of type `monaco.worker.IWorkerContext` and as second argument the `initData`. This **breaking change** was needed to allow handling the case of misconfigured web workers (running on a file protocol or the cross-domain case) +- the `CodeActionProvider.provideCodeActions` now gets passed in a `CodeActionContext` that contains the markers at the relevant range. +- the `hoverMessage` of a decoration is now a `MarkedString | MarkedString[]` +- the `contents` of a `Hover` returned by a `HoverProvider` is now a `MarkedString | MarkedString[]` +- removed deprecated `IEditor.onDidChangeModelRawContent`, `IModel.onDidChangeRawContent` + +### Notable fixes +- Broken configurations (loading from `file://` or misconfigured cross-domain loading) now load the web worker code in the UI thread. This caused a **breaking change** in the behaviour of `monaco.editor.createWebWorker` +- The right-pointing mouse pointer is oversized in high DPI - [issue](https://github.com/Microsoft/monaco-editor/issues/5) +- The editor functions now correctly when hosted inside a `position:fixed` element. +- Cross-origin configuration is now picked up (as advertised in documentation from MonacoEnvironment) + +[0.14.3]: https://github.com/Microsoft/monaco-editor/compare/v0.14.2...v0.14.3 +[0.14.2]: https://github.com/Microsoft/monaco-editor/compare/v0.14.1...v0.14.2 +[0.14.1]: https://github.com/Microsoft/monaco-editor/compare/v0.14.0...v0.14.1 +[0.14.0]: https://github.com/Microsoft/monaco-editor/compare/v0.13.1...v0.14.0 +[0.13.1]: https://github.com/Microsoft/monaco-editor/compare/v0.13.0...v0.13.1 +[0.13.0]: https://github.com/Microsoft/monaco-editor/compare/v0.12.0...v0.13.0 +[0.12.0]: https://github.com/Microsoft/monaco-editor/compare/v0.11.1...v0.12.0 +[0.11.1]: https://github.com/Microsoft/monaco-editor/compare/v0.11.0...v0.11.1 +[0.11.0]: https://github.com/Microsoft/monaco-editor/compare/v0.10.1...v0.11.0 +[0.10.1]: https://github.com/Microsoft/monaco-editor/compare/v0.10.0...v0.10.1 +[0.10.0]: https://github.com/Microsoft/monaco-editor/compare/v0.9.0...v0.10.0 +[0.9.0]: https://github.com/Microsoft/monaco-editor/compare/v0.8.3...v0.9.0 +[0.8.3]: https://github.com/Microsoft/monaco-editor/compare/v0.8.2...v0.8.3 +[0.8.2]: https://github.com/Microsoft/monaco-editor/compare/v0.8.1...v0.8.2 +[0.8.1]: https://github.com/Microsoft/monaco-editor/compare/v0.8.0...v0.8.1 +[0.6.1]: https://github.com/Microsoft/monaco-editor/compare/v0.6.0...v0.6.1 +[0.6.0]: https://github.com/Microsoft/monaco-editor/compare/v0.5.1...v0.6.0 +[0.5.1]: https://github.com/Microsoft/monaco-editor/compare/v0.5.0...v0.5.1 diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/LICENSE b/apps/config_explorer/appserver/static/node_modules/monaco-editor/LICENSE new file mode 100755 index 00000000..094e88aa --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 - present Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/README.md b/apps/config_explorer/appserver/static/node_modules/monaco-editor/README.md new file mode 100755 index 00000000..e397e41f --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/README.md @@ -0,0 +1,100 @@ +# Monaco Editor + +[![Build Status](https://dev.azure.com/ms/monaco-editor/_apis/build/status/microsoft.monaco-editor?label=website)](https://dev.azure.com/ms/monaco-editor/_build/latest?definitionId=3) + +The Monaco Editor is the code editor which powers [VS Code](https://github.com/Microsoft/vscode), with the features better described [here](https://code.visualstudio.com/docs/editor/editingevolved). + +Please note that this repository contains no source code for the code editor, it only contains the scripts to package everything together and ship the `monaco-editor` npm module. + +![image](https://cloud.githubusercontent.com/assets/5047891/19600675/5eaae9e6-97a6-11e6-97ad-93903167d8ba.png) + +## Try it out + +Try the editor out [on our website](https://microsoft.github.io/monaco-editor/index.html). + +## Installing + +``` +$ npm install monaco-editor +``` + +You will get: +* inside `esm`: ESM version of the editor (compatible with e.g. webpack) +* inside `dev`: AMD bundled, not minified +* inside `min`: AMD bundled, and minified +* inside `min-maps`: source maps for `min` +* `monaco.d.ts`: this specifies the API of the editor (this is what is actually versioned, everything else is considered private and might break with any release). + +It is recommended to develop against the `dev` version, and in production to use the `min` version. + +## Documentation + +* Learn how to integrate the editor with these [complete samples](https://github.com/Microsoft/monaco-editor-samples/). + * [Integrate the AMD version](./docs/integrate-amd.md). + * [Integrate the AMD version cross-domain](./docs/integrate-amd-cross.md) + * [Integrate the ESM version](./docs/integrate-esm.md) +* Learn how to use the editor API and try out your own customizations in the [playground](https://microsoft.github.io/monaco-editor/playground.html). +* Explore the [API docs](https://microsoft.github.io/monaco-editor/api/index.html) or read them straight from [`monaco.d.ts`](https://github.com/Microsoft/monaco-editor/blob/master/website/playground/monaco.d.ts.txt). +* Read [this guide](https://github.com/Microsoft/monaco-editor/wiki/Accessibility-Guide-for-Integrators) to ensure the editor is accessible to all your users! +* Create a Monarch tokenizer for a new programming language [in the Monarch playground](https://microsoft.github.io/monaco-editor/monarch.html). +* Ask questions on [StackOverflow](https://stackoverflow.com/questions/tagged/monaco-editor)! Search open and closed issues, there are a lot of tips in there! + +## Issues + +Create [issues](https://github.com/Microsoft/monaco-editor/issues) in this repository for anything related to the Monaco Editor. Always mention **the version** of the editor when creating issues and **the browser** you're having trouble in. Please search for existing issues to avoid duplicates. + +## Known issues +In IE 11, the editor must be surrounded in the body element, otherwise the hit testing performed for mouse operations does not work. You can inspect this using F12 and click on the body element and confirm that visually it surrounds the editor. + +## FAQ + +❓ **What is the relationship between VS Code and the Monaco Editor?** + +The Monaco Editor is generated straight from VS Code's sources with some shims around services the code needs to make it run in a web browser outside of its home. + +❓ **What is the relationship between VS Code's version and the Monaco Editor's version?** + +None. The Monaco Editor is a library and it reflects directly the source code. + +❓ **I've written an extension for VS Code, will it work on the Monaco Editor in a browser?** + +No. + +> Note: If the extension is fully based on the [LSP](https://microsoft.github.io/language-server-protocol/) and if the language server is authored in JavaScript, then it would be possible. + +❓ **Why all these web workers and why should I care?** + +Language services create web workers to compute heavy stuff outside of the UI thread. They cost hardly anything in terms of resource overhead and you shouldn't worry too much about them, as long as you get them to work (see above the cross-domain case). + +❓ **What is this `loader.js`? Can I use `require.js`?** + +It is an AMD loader that we use in VS Code. Yes. + +❓ **I see the warning "Could not create web worker". What should I do?** + +HTML5 does not allow pages loaded on `file://` to create web workers. Please load the editor with a web server on `http://` or `https://` schemes. Please also see the cross-domain case above. + +❓ **Is the editor supported in mobile browsers or mobile web app frameworks?** + +No. + +❓ **Why doesn't the editor support TextMate grammars?** + +* All the regular expressions in TM grammars are based on [oniguruma](https://github.com/kkos/oniguruma), a regular expression library written in C. +* The only way to interpret the grammars and get anywhere near original fidelity is to use the exact same regular expression library (with its custom syntax constructs). +* In VSCode, our runtime is node.js and we can use a node native module that exposes the library to JavaScript. +* In Monaco, we are constrained to a browser environment where we cannot do anything similar. +* We have experimented with Emscripten to compile the C library to asm.js, but performance was very poor even in Firefox (10x slower) and extremely poor in Chrome (100x slower). +* We can revisit this once WebAssembly gets traction in the major browsers, but we will still need to consider the browser matrix we support, i.e. if we support IE11 and only Edge will add WebAssembly support, what will the experience be in IE11, etc. + +## Development setup + +Please see [CONTRIBUTING](./CONTRIBUTING.md) + +## Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + + +## License +Licensed under the [MIT](https://github.com/Microsoft/monaco-editor/blob/master/LICENSE.md) License. diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/browser/ui/codiconLabel/codicon/codicon.ttf new file mode 100755 index 0000000000000000000000000000000000000000..a51c284681e086082aecd8d267d334a25b9bce8f GIT binary patch literal 47404 zcmeFadz@s~Ro}bMbDu}mspqMx?yi1TPuEP%OwUwzS66FhG(FNtZAn&JlHIapwQWf) zd90D;2VjhO1PmDB7zdmi!gU-%2uVyJPA(x_LLA~a1PE}6LmWbY5CROO>a%Zo$Gg7f$v^l5_V*d3{Es~Uwx^%^ z^(U$yRI2qJrQFBf^3=QD?(V7Y=JOWYFTM4tx4d!ryYBjGrM~lk&y%;m?Tg;=8=rB< zN`2RpN|k<6$+^EB;rS1Es4p;U%nJMDoHuLO?sr?yJ@G{8+HZ5M<{Llv`)~WaY$MCb zcfWwQk#g-f<$HYl+f>E8m$eChN^$n)A;(VCWp!P-_v}4*pt9$mddFMUtnyENe)_fZ z{OvbA#s1l?5#Ma-u*Om0@!GdLA5a1B*3>I_E=`sL*0pH?6?m-uLmm&`y7w7%WAx;2 zIOgh-NlVC)rVqL5KaoFagFn%M{||Hk+w&*w`u|S5Dr5h|&RsyTpx!5q#Z>N3;-kc( zU0{hNX1(uzJMS}NwZqYSNADl~`1lp$5B!EBK4$df=zXJa8vW$>Vf&sfrw@nkyg?nQ zpK*TPeVmo9`rp-0tADBfl==}TRX?D{_@Mu)E;}9dY4t1WKdEQbiu#y(oqE6eYwDbn zs7F-MSy69cAD>YFr}{tC_c%56r`0>vyVZvJZ|X@WR==tKH$25}IgS%Kp86l^Yt-kQ zfV20wq5ylZIp>(GNL7JzDXB7kW=GwjuBfYclwDO-HC0!+YN)1asTusr93Eg^EvQAc zq?T1jt*SG4hpsxSdg?rFa#5|TORBFn)s`BlZFP^jSM90$)C1~4wU0M>NIk4xsa~ZH z)T8Rv>NV;y^;-3~I#jP$PpGG8i>K8a)h+cV^{l$Bo>OmD&#Skpx1rTvpuSLjk$Q*v zV)Z5JUFu8O=F8NVtFKUBslG~mwfb819`$wV>(zVJpHc5q-=O}i`bPCl>I3S}as7W@ zeY5%t>RZ$Y)n8QKs{V@lcJ)`)cc{Ov{)YOn`cCyX)px1Cr9Ptmw)#8j@2c-re@}g% z`hNBI)jv=lRsRsY@Q>6#Rv%aYME#KZr|O5*kE(yBeoXzi`U&-ash?E;T>T66Q|goI zU#Wksen$Np^|R{d)X%GbtA0WKJM}5`??E5Gr2d2YjQWr2m(_n(BlWB5zo=hRzpj2m zeOCRp`W^MV>i5)tSHG`5?xKe)#%6yeNl~`wnDE|qi3wpKh@}sR@9HMyk&(xt443K zLhn_hXRXkW)#$brL6xKDtkAdB=*?C@aBB3t75cjxy~PSWUya^s1skA7Z?l3mP$O); z2zEh@K#d|;2sQdbE7%G(`XVb>4K;d)73_x^eX$iRi5k7riaN*gORQjB)aYGSurq4( zrB+mtCCFR^+oMKbZUrl(MqgnCd!$CvMhKQkjlR+fHcE}Y$_my>joxiVeGkj8wt@vy zqpz`oEmNbfwSrYsqxV?BzNyjIS;5k&(brqS=Bbf<2T@P5e6JPkpc=i;3Kmg~zQGE% zL5-v>5W&-#a5%gY(-G~=-aGd#ntGq zSP`!@`gSW=b~XB|RdKA)Czu6jegjQppDUwSizU7(T`fetE$mIvx0wBqaU+^r&XgLw}Q`Aqo1^b z_f?~RZUsNAMxU^PM^>YMVFll;Mn7c*FRe!Z(hB}sjXr4w&#gxP$_hSQjegn+-dv6T zwH5rj8vTqFi5Exz#tOb(jegb&USExV&I zHTskl5Q7^1dn;fEHTp#>pa?bkB`e?wHTtv_kcArk2PM zAP_bBPgcMpYV<2sKqYGQpRIsB)M#V{q@qS+D_|Bi`c*5S7d84XR=_c8^lMf?G-~u; zt$=OR=+~`)a@6QItblja=r^qho*(^|6)=z*ebx$SNR58m3b;s(e#Z(3NsWHj3Rp>v zK4%5gq(=YE3iwHle$NU>N{#-z6?0v`&uav9rAGh53OGxRK5qrYrAB{X1?(lR%?Kz= zjU6lCF*SCrfXvj`vjRp_W8VsBO^pL9;5Ic5t$^UvSX%+hsc~clRHw$V74V%JCssgu zYMfdD^Qm#c3g}Obi&nsaYMfaC5vp;?irD{g*$OC8jVo5bi)vi80&-O2niVjl8rQ9W zCe=8%0?|lD_~MJZd(DJs`0!PaH<+F zSOKxB@uC&5s~Rs^0mZ8EvK8>G8n0LZ*{X5J3K&<7SFM0{)%c7RaIYG#Spfm7an}l1 zSdGtG0Trw9IV<2}HSSpfDXZ~$D_~|dzF-CPti~6ufTPuT-HI@9<4ab+)@pp&3MgBR z`&QJ)S#DSXd8_fJ6)?COZ&?A2tMR}JxLl35t$@(gcxVNzuEsl7K<#RLhZXR<8eg#j zl2_xaR>1UXe9a2zUXAax0?t?C>sCPgYP@R&?61Z*tPlmL@m*Gk2h{j(D?|oreA5as zf*Rjrg=j&I@3lhQpvHSvh#=JXWmbqK)c8ItL=|d$zZK#OHGaSfk%k(-+zK&=8b4@- z=tGV7t*BpQ`3fsUBx?My6=D-Le#8nzsd@ciy9wTA%;=oN39UesPU_< z5Z9>jYpf9AsPSV~h;`KXwN{9F)cA2L#6N0$XoW~fjbCSlm`IIZZ-wYcjo)B}I7yA4 zutLP7#!p%yc2eV~tPn-1@sSnvd6rLGaTLpEtT-;qH(GIgmba`(bTodG6{o=RSu0MF zYV(s_{2iA<|Xj_ghiY&;G0xqF*)s zMk~a@YWz)Bh=|qr16GKQ6->1eiIUCZ3JB(1So-fKdio^V|9iyaE6%p_r1LT7SKaIG zpr829`0w;T=KqxcY5%i97%T-F!S&#E!Fz-634S?zIDB{b2_5Mb{Z{>P z{h6p7ZAEX5J`lU{LVRC*5PuvRzn46jyeIkA7%7jm$UMA z`F)k7a(CtZm5*0vtFNqnxR%sjS^JjS&(yEfpRa$Y{{8t%em#FYe`o%~`R5vIjSn_e z^TFoVG=H!4j@GZuT$uU3+4b2E&;Ii4=jL|i-Z1ykxzDy&+DGk=wSR4XYyMsHKRW;U zg|iE9UGx{X7C*T7`K5=K-naCT<-+pn@{Q&1UjCuw&#W|7-qBH=gU)+8-`)9%&SM2Y-8lP!v!6aUd#-oxv2)*Y?i1&J zxtI0Ud++Ui|M|Pmf5!#)!mSG*yzsG$*~Q+)?TepTzi0iK^`E{pd+EKGe&zDU<#%8H z$mLJ>clsafe|Dq2abx4lHa@!XsmXh} z-1QT8efI7fcYpL|;pX+5Uv~5RZ~o3bjeEB5dB;89ey_T>eecKj+`VhUFYtJdzlOvN z!+PfEt?qSaYi%XeYn|)P=Ej1nS2Cx*;B2sZ-Ra!c#mI?^S*_%FzFSRo8V7gBr6?*@ z(PzP5X|kApSD3(9zPmZ>>Om*( zHabBknAh|D4vYKmpFh67L$e(xJnU``I>YJbk59Hg-tKYPZr2%fb(8DRyOaHtUbx-M zi9zJJy2IIW&BK>h{c4cv!dA8Fr`>L0vcFdl^T>Ag%JNQgee(I4YEY5wU$mXMavHLG zZL-~dC8!1koldr!9Cz2*q_wzJx+BNs^P3fRcXHfmyL3CcIm|Z)&8H^kKfNB|6L>t$ z{VYxHW|!N}CFeS9Ty-|KyWG{h+0nzz=2LUJr{`SX-}C)VC(C+SdO58O+FG{=(i~j663C98RF6wHLVljCaNj{mi@Ixk8A#LEw2|Qu4et zon%=YhOXy3Zdiy)eh?LcFmhc#3=-G(yd;W)pcDpP-~`a!P9@FKh>l>}<5A+kjP}4I za`_vLydLTWhv!Z==bQ&yoi2;5wewD=l@`Jv)Wx)1);cSf!bs~@H`rWsSU(tUYPlsym*=5q zqJFNswmgg380NQTypG@U{X=iJ-QHh1XcPNH>C=HB_`AV=p`%V>gIUY*z^v0aOBN{~VU2RLs~ibbUvoD5)R%{2%GG-fD0& ze8(?jnU15N+^B_Op#54azYdr0qLWqEDaqX}InD~-!-ys^J4=d1`D##**BnXqIni6O z%Nh$Vc65`r?npat((;2&dgytFzCPe_+dJ_6gPENjogIJgIhdh41mO$^_!E4~ywkz< zE0w?Og}c*{5&fAGW$3>@7zTWxOPdVKJ`9&K;qSP%Y2Xq360qKj7I5q7e0WQ(pOwhbp@L%GIltC1+;F zzo^?fVvQD~>wB)}agRjT3yzpzzRoI%ohH8O7X6Wk$@<9Q8?T1VAiv|ad&~a(-E1S+ z!`h7y9y&9aVjk3UUhWi5b-3uz$YT49A7c=nxzVA)^x&n^1P%YuI_Ub&BZA=hQ` ziv4i1a_@X zI5o}Pov08+g|a-&Cgp_xYJ2jYmF-B@Bs8PFMzI&NKk@P6EQs6IovrJb`bKkzzi^sc zYhAoPCtPe6i_KYinh%1j@l2z5Fj?N7tmi}8BfJ`UNnV(~kT#KfXz{Yf!d}4+J;?DU z9#QU!*i-@bC^_$PKz##%0XDL$bqCmlbrKUR7uvOpt!+?=y>P+U7@ys;i^-$~@+|Xw zmYK9h61r6&(r(W>p4@tii*|tr=c|v|&7&|su)7E`v4u$dY_>bu-hSIYpIp8)!T;IF|G-6<;W_VXR>rJBnT6Wzj^VVr#5*@$$6Q_3#! z1YQfW-K>fM#IY66B!)e+Pi>v`+x`AfKAUWDQTh|!gN@q#yia>rd-ED{ z8DayDTUj@EW_=9uta;v?zThq2u{Pj2^0+<8?F{>(E}ek|t=)AOH_@g4EI3!4yo1la z?l!OUPMau3tlmLfD8!-GVMsAZA#uGpid;Vm0W)#r`AH%0vvOfI)^SiGJS$WS(#+@% z5IuC`Bnh=27mGl4zE`*qudT6R>C}0xOODW<*Leq!ZQ%4v&P<@&aC&kk)DbgjPA<#- zkkhMF!q_J?@Mujr!Ss(kK|d^O&eoh_XL^bg`|u`Xy9LdP-IbtplZ8NG?!a=bMp(KX z$l_j{_x-i12~5pm)!Q>B=0sOK_F{Vp9YQVu1$l{%5RD(|VfLPg$zNgS6hLr>E>-6)V^ke@DbU05r-O3QpQwbcug}?qaY& zPIv&Fck%xr-RZ#7`>A)K7y{6N=k1w(;z!FGt6uSUJa4Jp_hyP-;&(i-y>7R?5NAI< zcj-TJ?#2?bZwYuL(xHbN)}RvBFMIl;SMsU{N8YYq@#_BWH3#IqGwFj*bNzFi^O{5)>Ik zRF8wK6eM*ZJ<+4*19n_@9#t;0G65jvre39I2h+F{YLsnfKu){7*GN3 zIu6USN(bjax>^%KoO3-s#ya5$O?N->QR0VTmIadv=oZY=9qOYa;AR%g%mnq@yqpbY zT0ZSLX`AQZCFFa8g^hQ|41;7>K=XAI)f4ip37S2Uc;En&=*d$n%l0u%9Xxbj*70=0 z&+JdI0^jQNdOH|u!5YFHh#t1Egcq^Y_i#K63FuJ*tp-Xd@dPc;X*ak*Yj{{*S?5+C zY5)R;=aRD~V6~|UwwiMZ4%SWcR-U=t>D0z{O#c?9;25ClyRy2n08E{3xNICKY%jp1Qju9suCK3jJ?QBmt+S)NuM4Jgr0 zaiRE_9|b`aT*rpSp?5!EJMhiZ{SL?(N@E}#gl$*h3FIE8*p9l?FWCNv{h(i7f)i-w z-F(=jzZ~uE?(f5`y&?>kms$_>`-l1fn-sd2y;fLXsrcM0Yl{S%$-QdhxlZ3FP>#FS zU6b1+9veBUg(%d;61*bZMG~XxzAnWc1W%qnTM`?`i7t2jTmx*1m$11oYlmJzlAvb@tj+n9XcevY5*?6h|dE+2pI zaDs_VR4@R8(+@iJdVPmQxmKt1SwC&J!C_$X|_cL;R*AHf)E9WgB|H6CJ$;F0a7k42>;WlV}Ik)Bu(y;lsAP=*kNdUTBGh zOgtpOS=_U9QJOLY(+svGfD4}>m)CqSqX95Cf0-ID>i@6F&*?V^DT} zf}@JOG{^pnQE6xwK$!S3aSCQ5U4*kBJa%;>bj6VPUU-)87KNNhyeQJHYzufy6EXH! zDB1GlUOY0@BV*C&2un%QPl?O+_SneA3(v8QZ|+!Cs(SFjVa_#o^5z;%FTJOUWyMvA z4VN1s*e#dD{iy3Xp+(E~bh!(zdUGA{&vMQ&QoFf(yadw%YFy65?NPwTyi z(}x)J%GlSiST49+Mj+>6b^00VS>{F0GDl(}(4ts%=rzs=pCm_rZPus-iC?PKN^yB+ z7Wg%jh4p%IC#?W({TRGhs3gTk93{nem_m60tfu<$gt2v2KSZ^1g8cl6G@aS4t(@qG z?Z1a?Yx{3L>^60KcWZh12o1^`vOl}cGt@XXq&|z5Gi(TE8k!0Pwk_7QWL`Ziq+vC$ z6`VB5Dy5)4uP@lHc3-=yqqs_JiXD%1s<&;oob3NGbTpB=GjNMdIOxS`1WBN_=&5Zm9dL>9u^r#C8oieF^xQ z{Z1c%=5Abfx5_J7P$GCU&*#I;FZkt(E0D?wFhqe<@=KvxsZb#e-56%I?Cf%!CF@sU z7}H`Q4z@h`D#WBu9%(x$`o%&T=t9gMzy~4UFUJKP6cWB)3}P|~0hleWCG~OsiJWH&xT&^ z4i8#hSPk8oRQNt*$#$HOG!6d*k5Kt?c7%`j?l?q|a<%+Rl*qqklQ<-56jAK$N+o(G55HZB8u*BjHl^o|?J z?#e$n*nLTR$aQ&KmvH$QFGvj&G0L^=bz0Laf;#S55_$hc=Yb-<=sJeP&(l*l$bc_2 zgkgXV`gyyZALCBpnB};ZNeA!PLk~H!wC3r(%KPj%!fUtJr@>yk{g@{T;Pu1;iY8pk zGVp-)C$Gmo3rA?Yhlv-Ad&i{-F)^6&W~w2yOF|HGCLpur7s;;qM=eYsyOadTYOt!y z zOFpG3n=g6MHg??aykN1zwR7RHaHke0c1QB`!n)BrP!72-o8;%vH*aMu>FgCOU+(}fM?PtvyypcfWe zND%>F!)sAF%nCskR~F!F!z`>6vKn1Jg=7y4aS=k)tpsGIE9IbE4sL_aN_m;Im*ZE; zQ6;Jp93OhEEG~s9IRrnRpVPj3iS4UFmH!Hk#l|mhrcYd=hUXPh6AX8NZH1T+>TMI> zVVnq&k?|jB?IOWGewnP_fYU6I;cJFkFaStVUYP4za6=ugJKI9l-Cg%eSyHJaS;;F2 z0m!u^coH|^1zfd#>wB_6(PxMh=r3S9m&~dgk>n~ypr)u^aKg@QvlqKV&wtS_CU4;j zI8c^U$+BP@*%!NndeHU21(Ozh?Um}W;Y4jr_;%`ht*w&`YeyKHN#Eq`wV`b$?{Pd> zz^m?{vr8yw{%`Zl%YEJJ@X#HKM$Gz7XO~WDKI0SCOMkHK{T$JK0sq#Kdh+3lZVKI+ zZvv!rGm{s?rg#kLVvCMsNSn}gmmDFd^PMudx>-+kv3WfuL!OiXfMFgSEYS#v? z+VkSVQ51wQRB-G%(dD?DW?{Jy)`R_S4di5!eGGJx+`07=!fBT1p#(ug;%_;jjtxyX zp9xDoJf_bLKTo<9zAMMuOlV3RP|uM1mK#fPSA0f+fjFm0PD<>r#7r%&zYBMNmAMLTK2U_sC_-MHyz?~Ov@<7v}bf63}7cd{LVzAl=M*6m>XF zcN-Qe@8@|}68@e}gQye)^CS*Bx(dN27{U=hQ1WO<$!F)e*Yo|J-%i=Gv=F9=uFS9< z8_F5lnhR-{j5D2q=RAup56KAM&$*gtSQ1<2lsPYwr*fha++$EpN@jyv0f~1vwwe@v zoJZ?7@CJrXCm>@p!5L4g_hx$DOvCefYf)?OtOpN`RSUpeegz1} zt7_)LZ}U&!+?M3!)IJ;$2UWTM7vy{_LXk7N)8NTmPEk$-(2v6qjRObKT?yYW8!Xvz zH!g(U;@bK}FI-p%tFbr;$sOo4IwTcCOF9pxYoP<-=!AJV#|A>3(wGGUC2Y(g_t)y- zl8ltGy_6n^zRNA5x5D*Il~C?1E9GPco6-Yj@)kU&zfCVlz|VccVhm!| zy#({s5qRBS?~&uH`Zd!9#Mj%pIYAvSt~wAMqgA-auu%hv!K7ypDDa+BFsCO7m9=0q z&XcE8%d2b&;P2%0pwg_nxskaIpvUX^Sxue|FX23HCc>?~W~qT!!!tvV4&NfrPY=7g`Uz4v&e>ya^vx zG!;<7C~#9I_eHuLhC(_NT~HRAuLQ4a$}1XSo~GGOP7-0KlfRvndqNTJr0KyPcWRG7 z{3IUJ7BR~$w$(4vfVVsCPA}^m92J(k-Q@y)ZrR!g`@J`yKWAhd6QvRYa|Gi65Qcr= z&o11k;Z>-4X*3()AHs9$FNHD9D3aj|WDo!mc^_P{wmrNdWjvu9NN-Q6-SOd-V4Z_B z0WScM0CiadI6<+5hEQ^ay7nTc6f>eXpz}*T0u+>#a0YI*;L8{NIHiPbE+hL!shLhL zd!!Gjr=iYGc;loI7t4;0!HNYxmY~XB*E3vKNNaOlf|YEoM04|Lzt;;c1Q+b$nLysT z=6UkHHy(cvOAQhhge42JO>ogJuF2x!Ys~ZHd#_bbPL5{}XTWzy!_Z=C7VeyH2b2Rp zF*oNgEbPzE`-_XB6J`dKBfQAM)UGvivNIBp=9_iuJgkj7wj?L%1$$LuN_^4sRrj3l zcU*sJOiokSc_k!_Cn#NVL32*el%-PdB}QfDG@HHH^y^V*+=j&)Z#A*AQ$4`siUX6~dth&j0| zV;`-Z7C$YF>J8)dx|}fDfK^%q$I-<(0JoQ5iS!tX!p)}g%fNeTz<|!M-Q54NU98flM1nvueA|+NRvFn)H9P88Mp4DJ6*BI-)CAtToH(kLs zy@L+Y?B+x*Q>SaH@H82|%>g5u5L_NKmCqGX*K2LcquB47L6_1=bHlrfTiYN`T*Eq=BATH9 zB)yLni%G#d99PF~>Ptk=T?gathfcfgWR=Wi;boN;#*auRaFUX_d}|k^27Uo#d9REq z7bUb1f{INl798%HgsPMLt>hYQnJ3vt^ZAQ1!Hs;v#bo61wop)NKZrSiW#kV%Ofl69 zLEVc2thbaIzdYc?$>Wk8qzn0Jfh#4R?BhetNg5RD@wKaY)*M5v4zrdh!dyktPsmGP9@u@48oHd3D^CVX%sSc-! z@=2Z_dqwpC)!0zV!cExb5G^#9em*WrEG75FUUkAi3GRH8mI&nff|tPx>*>uU`%XqS zNDEY@X)^I#HRpOJ4udr(Asd8}m@8h3DC8mB=!H>8E=dQMd@QP67sR38rQcBQ3P(ZJjMpFxyFb`MEg>E2iArZN?G5o?{BhBPGv- z?NSY3a%zJug7+?3x2C&moe*84=v{216b_gT(PoS)|JNN>FF3=&+Hg&(q<5VS;L&yy z`-v$%(rqqWD*L2vp9M-@qDWdQ96TydUAmA8RRYc$Zcv1OH7xD$|WLy*1tw4 z3#csx(XLY^bH$%7MH=ITMWvEUbPNrqj0b2Hn9b;*kTSAco{aYL6wD`7ra;t?Z~sU3W3Af>b!U4hv(JQe z=(jt;K$xR76rj@>hMFN9*9v)|kk80dq2s4IaBIv{LtT4oj^`PmEXIcmN#$-;9XwDL z>rzN!l2X7p^KVbS%pTg*+s8>x69q&P#69w8r<8Lhd_V^zfy0W3((#DeGm6ihR8nlG zIPsjwpDgpx2BBh7px6W;#q zU}vd-p5?yC$Pny;oKh}9zIb^FWP~y&P+}kj5$vh;=^G9;DJ{>-65XFHJCkLm58seY zQz$nHs`n@t-MzafU_j_T%PsCt^3uZmOBKB!j>*}Qu|M^?lbJ``E)LCN&paPrukeO* zGS|m&-CLorzzX8Lw3Jvu%3>l0TPBZ>A(8PJB=b=-S&ut2?DMl&O>QIARt$QOehWrA zcMcpDIsWPyF$UmAVp^BmZ;}G^^@lLD+$z2Tg-q5x4CO0m87|#Bb4L0J)&s*s7fBLB z5n*-!Z*mW;EqF8iLaNWDHiiKpj;6&?c9YgL`Z>QV}{7jZx%IFES1%AO=G@R6pLAg+V`NO$zI8STFG85LeE(t?oL%bAc-~B(#L5&;9Aeib zPjJ@qGwfOP3C4k;1A;0p5yP7I!xdA5iRG?`64zf0N$!Q!vmtd8V#QsrPMIGDs36wG zjraC?y=s;JDuJ!Vzr9LWWJ}Lq6MdfYGS7j?&r>;eP2CWUn&4F~&=wjRM9Vb}K#juP zQh!R*<^()lvcut;6ky8$22M#-@G8I*oXp_Cu!4o-zbz$mzCW{*7u`C;yeRY#m5Kd% zVF>gA(U`Pb&8^U4_#hNWYOb`qnxAt@nNz_S3-Qjr>R6Cd_9CVi2tz@4BN`)E5>CRz zN+<-;0V{`_q|<8tmRCPKs0Ji}f@<9h+JRTEUe5f*ZP(pe_Hv3rVhvt$`^Wc1YB#GB zw#Z~$qq5`WDxy2fxVGzyE6vOUT@GJrG4@OKvfrGmG03XIl>)k{aN%*8WVBzZ=VfZZvud^ImEFcJ?xL7^HPSA4*eou(%^Cz% zt%>Q(XtXM&KxMpik#Hb6#^sU+nL!^U>u^FqNZp(nC^kevbL54!i*cROlDJy0^1LkP z^Y{yj6RE?gmDyjr_oaby#b>neKv?T2)vwQA9RFg5uR2|%q4cQ$N;wn1edqSUMW-%V*{R^)MGR^ zo39#rm|%B-V90cH`hGAk{cCucA$cu=I*=I4gc6KPZp{aIv5EQj+=Nbd$-Cs6p#*f= zs37;*+PowD!xfpM3zsI2p)dGS_cO=P>&-sn&E%hz&HjQbG$`dm!DQ zmKpZVa8btVnQgjMkeGh}ZMVPfn!PQ!3{4~9M-P^)W~Ya15ts#(AlS!U=x_`lfb6Dt`>>pZ_ zyRky9)G*ZIhIWDa9-ywjy>33N3vVQv!vC(r2;SkOFmS=yeu!wxW%M~kZwwDhvAa$O z$d+bh@Gm7`A^6O7C>Wqn9JKDoG(0w3&h1$SrAH~8gmzNC=~diLP$)+J7Wk?_yy|3B z&U&jUozsUunK`~#+R5S<;Y%)2-Es$&M>ot!Mlqe3E4rnmKa3+`jSSiY$8SpVN5ZP( zPpBDO>u!d`UJSa05d-p?6^!tMme#mGH%_Sn^a_p4%e-AAYZRty?*VuSy3O>3xF288 zS;4N@g{}vglI-Naz2j5^q7=c9@;()~9#^)KWUFFcAN!x@@Y}f=AwmD3!?A!2yWNye(FWENM+03@!ih}#@axbU$)+h{06MDlT@x~$J`q9$ zbCMg|gI9{Th5~xQp#$bCaLD;@QYBAWCFtx$hf6DE>7CPK$~`W?iQ$#yw&I9HMR_e~ ziMyFDwhuIE!6SVsxO8UyHq7%PRO$K|-s*|%k^J$h;X$RXCTC7UPb`VBg{DTHal#-| zDes13nO@ywl?fcoRx&%gpGXoW6t912Jpyu*YW3ofy={bMWN@Zi>#-ad|TUeFRmLq|vZ`={G(ieK$G zNE;KGIxN9r6S-3wc7fMMXD#oSs zN-@jp`|D?Ttgpl^aw^ldy3M?klX+HbFO@(BATnsSxogC^&4JEd9R#HCs27nNM7?<6 zEI<74T`m8b%zl8*$#DIwDdeZ;mGiCU#IL;;zqV=S1qjW6PN0B{5C$o%h>Gw|=;RQ@ zCi-JwH}Mnrtt%Bu!)>g?{Rvai#AK?{EGkwDW#&$a8B{E&7QR)Od&;LXvIAsI(zwk~ z0oNnKngPibGv;F`L4*h$6H`1FHpza+Nii;?QIQwqu?~yVF^A7#6)X60GkcIN01$6( zGLS}77($$PcJ!JLo3IFT>@F?bcVBv)nzfANRKG8CLO5;8H^tFSZM)Ru*A06kbx%aB zfY(Ka6pGi%ClycJXOd`e?AOk_!G#Nfdp=r&?Cut&J~8d3c5%Dy-S8N($kUCPotb)_ zrxl-qL>aQo!jx7YANLTAkj$ghjEehf0uGF7!kfb3XgGB++t3U?ynWfdtjmEr=e6Ci zHPeD14ytZ7XsxZS-B+t!=!6kv0@6nzGH0=Axul0hWF7Ses!Az0j%C#1&YeBJfrqF5?STPLji-iK) zN$sV14yY)Yayk}+mC0V1QDl>TG!S9{AhJ0iJm7Q&T`5Nuch-}^pw&!9vA#xXy1YT3 z$1N#U2XWvlZB>mYF0Xyurq6PXl?neM?hKg6t(3S#1`u#{06uuzv$or@kv|blot$6x4zpgzi0#wPoL;5t9Ifb}<IH*+h%xZ4vDjK;Jf#jF>9wUxXkLnZSYtMgEV6pZHh9dzFcyI_z2_Dp|B+_ zahxFosg-5CJ&BU2oG>dLF_@%Xc)sE~^QqL@rt^MC{Tj47VScFsdcyTHoSNs1;EZi# zo+;*Bl53sjsgJO!r&wcqaRlgtDVmYxwD5e7Ilp+c+edO$d;adO#X85=_8k6y9-nuo z$>MJhx4IhKvbF*h)#--KdNY)i6k#VEGL#u~0L1YIRu}_kvcX|@I*eg+`r;`uUeLh0 zr30=9oEXX6Rau|xRKiqJzVQ3xfEngE2Pg=AACHga4ek?j1~?GRz>OdgP+$a86gLVN zL7kN9uq$I2g`-|%V6P;x&GV`2k(i~7Hb@OEw|-4@LgE%-mYXZOLpBq7%W_G2lE1}+ zGZxqLJJAX~q;tOw>oGl~$w(_p(ps|1W8ge%! z(lgN>=@WuH37R(No#Ao(L?l3#=sGc!iI8+>-Z>9}BU1&*OiN7r)EQjmQ#)r3VYium z$;``SrX`RB_nKZI%P3Clh8epjI3*Sg1pp-nE%|GRFGiL`!ngprt`>{jTiT>ZP)*^& z7JMwpX21*8Cgw&Ks6=qdG&%KRQC>pLGP46=?p>l3lIkHh4SeJA5Wp}pP$xSkDZq(j z5;<(hkZlP+ygSi=qVF+oNFY+F?p!4A(4gL1;3R<2_Zndv8{eY1lAWH{6qXqD7nVGq zvwe6{NT9>a><{#J(#H?EPm+s~G2B=snI8;~CME4dc=9fo9>1ms*UkoB@4V-qb=%&| z+}(`M?vU|Gq2AKezr^$xgqhLB_$kA%b1(!Lpxk;KqLLJ5h>^iv+k%Bk}&07&=SD@f9CjkM#cRE5D3e4Q0dl0g5 zi}*nb7)P_xottlTXnWcy^qaXC^CccDC9p7?yZ%k{tytgSOZ2Nc-x3h&)D0H1Ht-er zK^a?dj_f6QOTjua!_2hHLyMRgT{O|g={8o^6BV3y&`EmXoz8Tmg{>;`jLHNa^bIQ0 zMqSV(erV&!l4q0QON&uJHo8o{fyv1DO0-m?y27nB#T<}3oA`k@agMfDh8xA$3C1c2 zeZy#qAs)NrHgtEpDX^z`Z`h*vyFQ<^%wT|O$*X&HRB@I3_MF2&9VRFtuU(&SfkDD1 zXlxcJzRKWtFFF~Ic6w|iW!CNMh4V+RIlpk{^n4!Wd~)mY1a;9zvC`5@sW8BOOUa0I z%DmoZzLYG9k_`398bP6;d$)6Mh8mJQcT4Gvm*?l{HffmW@o`PVf$;;9OE||Jp=tqK zz1d_`M$^_yYdZ-^7wQ({El|lUuSMZZ7%@;cc9Qk7%*z*2{hMN~DZ>bLX{KDhx;o>} zH?N8Xh_ZN4Bh53LQ!zh{A*C+*#0O2rMu@FFHnZRcQ$-;r7yAVnVPfsQBMO=)E*@&*~RmOBz8Tmu$hRn4noqq`Q| zbbT@DSV}3of%OgWf73R9hB3%R!-7+kGU@O5esuQqyA1|ADMRvW7|U*l$+F=Ju1HsAeDhcPjnKdgJML9EbOW#K{g>cF1sEMP3@ITVnLe_ zj{{A~ZL+DEHgKgxKEn-%jA`eP2b?d@?^sq zjOoxNlRLyxQ`l&3lkAhdmNKS~Ld{O;ZAyRcnc7kMbdIhGmK~fYVTt*d98AYdfB|qg z8DC6ViTeV3P7_fWWN<^hVTYgPy`&r`m3lRW^^8m9VvNQn=IZ_21gpt-uiRuE?JS|vU+*@#4dJ`R)t#BVx(qrlshRF&Y}6o0iff zC_iZ?^z{Z8VJM=l#%!N#L8MrcPWm`c`c*ft1(j{rwp6vktVe^`Du<}M@usg zuL%()?l)1QT>74_3j0-^ESM7Hs9|y)X=AcnA;TtmZ+;c;P1x5(Ggipd-r9s?o+1tppP*mAW;L46&w39-ZZSD*F^Y;2lVVi?suZ^vwcy1q z|E%XO-Can?vfOuevK1PFZZNj;aX8s8;x|CPl5OpfI>U4U7;In8 zX;aTRd@)}xqxz|_#u)Mv zOfPu5&XZVGrf~?!0Fm90f0?^bzuqUa=y~lLm=hYyooCMpg#$7?fVnJ5O-d4iTq;Q& z!TO$aH!p<>W6(aaAD^*OQ-x?k2dbAz-bnB5bb#Ny=uPq{2efUOKHSBI$~>gZ48uJ$ zjR!|h<8{e&n`RX*XOn!=WDuj|Bc*L}(>CyQ6H3)|Wagj3sRHoBs7EocOp3&8NOGx^ zc~IcZ{3Mt{kMj}YrQd&bxl9=n%|?Yo#9VhNbrCD%>$y763bXl$lcoyaT`?>yMC=r6 zJguI>g2FT%*V#(Y)+N*%UVv9=6x%>Ioh=p{PqnFiX|!ftH)EJgV>0$m>PuvvJgGt2 z8G=QgC)z=;wi!>5vos(!&}DO8 zAMUmnP#1}eiAF>x?qb-MG=O=yZtg}cMrl{2f{>za(GVwP{@pxhc$wh$o6z#yZDRS1 zadM`F1b!w@Un7-r=u}50#6lS`*Vqc%7wtUPn_Q7mUb!j}Iq#`&;guAVQW!gAScPae zDj?FCy_bNAn)}_n$-Qu!P13^UAY-~xodvZls0T7v0se#p6BmZU>ELFdSAs05`NhFD zHZo?bDXx2(T7gUS;k)FwmxfH7Ap@CgmOzTC1* z%5gjJZlX_w&hiS<9x_qX>QL|QFA}-y6(LXSZ7W)&o5rMNK@Yxqe8cs z@RyQ48H@@8gSLzTVQjmt3?T@HwLLXn0H zxaw{XbIB5H4<$p(F)8#tDXV#7rIHoreW&N;UO~r)wOBK3HzBi>mS$$$yttC-dxU*~ zn$q#@SQpr^=lJu*tWsTy6B*+hRijq9n7cDGrCDOxZTzMb;G5*QFTXp>FNz(RY~v8? zL8g0?Iv?u08Hu^Z$S_)&a+#cSGo#)#^rQrec&h1CMJCV32%8Dk-#ldIM)Ia^t#S_E z>9y7v;0p=YVI15#PC8%;yfD**CfEa>T2w*+bo66Y#@}LPC3ngYxu)l@P|yUE$G{9N z{M=-FmKFIz2@b&O%X6In90+F1#I!o!rq+RoSc-j&QJ{WZv>Q6&|Ni8uNcUw>-9=oy zcVWr(&iWq1?qEFr$P+)3i><=eqttF6Py8~l!qq?aye$VO^TqjO!0ilw8;x#G@J-CU zPNBo}6{EDGtTJEGwWV5IVdQ5$&!QWeHLRdEz7jKo!g20Ie&a&w$Uz!hGWU(BRGg>G zi>uee^`^J(HT&mk7i#Bf#ii?)E(Oq5%?sz4t*b~j13q5=`1v>^c8wN zaUhfK%D6Nc?a!NMQ}-Hu&fnwKxB1DCFzUc#IH}tiMz5#7sVbCz#lO0b;fg}$gXy>_ zgnn=VT6@BkqRgF66XdhrMyq;+Zfn5>`sV4h;s9 zlZNcb2ejj!{6I>MHOvonJ_A6R$qyKsPSqGw=@A3@GmLrWJzJczFA@jT(R}eN7F7}d zU_daFl8h9`n9G@yiZtzq#m+Zpsu@t&uRv;59$_w+t7c?7CFRslWfjKb`TA})(Xft; zb?i{{KtMh1XU}uAv)~NzV&pEUtpvnc&I3#_FN`qS8$yYg)Pb1?lz6BII>D^xk- z(B^`<*v(oke$gSV)Uwlqbv2WD%`*)Q70j>IOn^dfq~y<^Wn$1+Q&)mdI0Q&*H|W>OA?(Yy%wW zO7D{TEbiG0ggHN$Phw``NB1(lWmXJW!5euDWI6{*N+yqNpIUc{FDLK?htxk_!5eu@ zR!oQrRtR5W@2_wUO|ZaS^4nK3;!={W9l5`pKVcu&K#(hTg^0u$7xK?Uey7J0W^~|H*Cnq68AaUK7dgx1F`pgyfaf0pj z<`o&CC_I?Zuo#O#rW2vhQCJY9XT6XKyO}Ny2lNAdBDi(YZU@2WK@_R!m98t0@@t9waHF{gMu@ zc=1E=U2&Be5af4}#DBc>co;$HQj_Bee=$8CCKo-XBfj)_>z&E*7+f(uU_qBB2W*`j z(DM3kh9?mo-Hvhj!$$^8gQ?@F3btrEtcA+ibheebg~n{NXa1h621M4wZz`)#=nHWBSP>cKoWF{uY@C%^cj-66Jh>nP- zVP&BJ*rE;E<(~;R@@!{LhTaCo-(zb)olj$HE==nFh*w3I8S`OEi8XntX}l^VJWQL^ zwh2*7y!yw*s!XIGc?6R%AQ0j@a+%###&$FDXbS(q&mn+2!M^*p(ri+2)`bNnasL3* zGsERDs+q=Lb{Q2N^Q|7kqhX#?ItT@g3DmP}d!PNvIlG^!4hn{_xu{8WVbPLs7)Sdu z{T8$^&2gJolCj@^@w|Ofr8@yy0uBbp-!ofJzQ#S89`8BEkKN?A&-s} zoY<{-xo_ANY9$CVIx>`(cnbJ1AWRHbNC)#kkVp1AH(MYi*EL-Zk1v7e!)RK&-<0E0O zusx>Uw=eHq_YKUI;uRUT20L_Hf-FcB>T=z+XDu2h4Yv4xn2Jt$fE>A(3o7_NGd&Gl?i=G9gf0B)G9mCspbL{1az z@+^IC%4dMNjRyd68%IDaWJ3MvT9YN9DHzs0Y(5m!;-J_mW2UUB ztQ)y3WeDr`n`iFanR(?4!^`MnLB3B__i2!M;E?gZFH_aoNTgW(%HA=8`5)3rr@>gv*x zx4!;JrKK0OJZ+a}nM=7M9ggBby<(Cs1C!;#4H_nPxJ?Bi z>cBXOjRrrXMv4J%$=%*svpFrwAqZ=v`7BXRWh(o^bHbT!Qcy|V0w@ErO3(&{WmFP+ z&Vun`cqGO;@pD9yL=d;=Yrv)ao*xJWujTmU`G|9*o{G5;WJP`3Ytsp#re(~WsjOho zJA0G?M7XzBC@Ea_=a$lLy3tPur(crVmXPa9!x9tO|DzacoUJOL^Yzr z^8Pkm0iK2;&Ha7()ekb-eZb3sNoaS>Gh7b&Y8yL>K1}!j5`_b<_U^2$R$BFXb*8o^6U1A;D)r)#siK@WwMCoxh71(Pvof)t zP(Y`t22-1{M!?zTcTDz}Eu_73fhoeV(~`Gf25^#gOh_NomSGloM{W1a)k2v9W#*T= z$RH%MMVJ-}i`*3Xts}3HO>|ZKsckpo^`!StLVOF^_bu0Ilk^&je@a)D>N=o};vD`rjZpCelNBc_!s5PzTv+x1Xg< z56%WH&SbU3g-(&3Y{)JsEI-)?^{1kv5`Rb;rQL(flxX9#+hqRcu%MgM&M9lNlHup_ znJ*JNPi>5hRg@}6niQ6ur|YgEEck^wq1JPSy6d2Sxp zAta?wlhd0`z1Puf8P_?J0awYD$?Q4U1b+9Hs%&ik4GdLu0{+k4JO)fED#UY zVbXD#q@&F!NGWp5WFdpbOnzdjdx9nHEc14B`x&!uOF?yI@1jA5vYaf%%Sr->pEe+T zevG}z!%|IVg3;UFBm4W0ct>Xa@e`MD%9l!fG*32fgYjyj?We8=Ecizh5;XgAsZNQ!9my-4&il)?Sw3)DhbX^^x5V|GTp2B<4f|(sFYSB!&Gd{pZ5mPv4cU773V>i& zb6@3^m|MF%eO&n+>Kf=;Sm5&l0RFPus2Nfaw?<2Y(INDHF_1p z_Rv`bsw_ZX5zkXUH(?KCYC0i?8Sg3+XfZWcshPu1&CXRHoUWo0)DE4nT+`1hA=8NbW-4lcf;z$u1M}mj(dqK7jOd%5yC(wfMX&RDQTA9nx!*X}m zJoY-l5>qS}vo@TG+*j-O#GhJjayqZA6oJFK^3QJh7oTA6q})yNJZ4B5b+-@s{K7WI z2;0MiS5>B45}lG#fARc>rlA*;kMsO$49 zd3$vpn{#|^Qs*nP{>mIdM6@!QjOOqX-O6hjbk(ZFe%WIljSz6!Oalzx84yXd+e?z( zOsTZ~KPx*A@Hmd^0ORfTJKzo=0Z=R=DM17zN(YJ*K|21TFp+I4mO{mmW!jFFvUfLk zx5VD=Y70Oxy*W=Sg4SRmdjA2gJbgL&np$r3Ec9J-5VM@<6zL1_|fgb;g;O}NP`>lG&#x#2n zhqX1`Yt=){m7rtmfa`H?0=}|}eWBD2tIl!`v;We&pwB5c9w?y=;1pZOIYM7R!-*0~ z4y=xDq30^4;|OR~LMc{POHVm1Y}PBdgu)L|bvSp4ZQAqO#|~ZxMxrjy%4G^4dDJUt zbzv`;FRii?M*M_*gSeIff~rrvV+~Z>bZww>0%@gMK3cA5180xIL-H2h&*y*ujNz0{ zY0QUJdhjuH&99~(mAk3ehl76&z2zX?GJ_n#G@WNnN<)uSb;YS>tyom(1Y;=z=AGm7 zh%>F`dk810^G5}A`N##<0i#N%-bU1FU{$odgdj@~K8W97z066k^jhaw<@lA>0!B!B zusgAl=AI<>IgSIc#<}u*y?L>+#Q959W`EL=*AOAM!#HtR285Bly2ri3vwdxCOacW>kM|hUA*AIHe+f?_T@1H5H)DcmJn)|9O z>He8wqE1}P2`O_G3XI|tCtr?K)fL?N^Eo5r7lRUOXQnbx?W!J@%O9Q7qCZfoYdX7C z3xZOv^i*k0J+4-F?_Z+?_pJo9p?7+=%x(9<8Z14zpFd;we(`+W?YsO)URO))-uF05 zSR-?x^J6trYnSd_U0cR)0+UQIlHb)0g0C=&tCufcRyE=>mVP!EkXk2P@|1--><7+s zBu5=(yml*WR2LvDd-RX`k0EbXh(@GVX|?KgDD5*4714wV+2&CsfL)Go| zjC1Umb2t2RdHJM*Czk=29wQV7I=9-1#VN4Lc-B-ro?hv?g6{Ot_b*wmRSiOe4o8=( zh^$ljg;#H^G%*FKl@^v1A+92FwbjG9g$q-2w$$NF3|;=K24LUXMtvPM7N7Dj)|OWG zWn)B5l)yPg3B{{AlXAM(A}%99%NF2z&;#=2m_s6`U0GTtI9rZ7YE){6Y88T2P>ufuo!7WzM`+P2Eqws<2}4I9hc))FRnx&ID;3aP z6&Awi5|EcsDnJdOV@S%Bz~-~0zKM&-9agZvNF<|2VPGrwGMP3Wxm1~5AWUWnAJbV} zYG*mqprdAD#EEP<9rb-u78OIF8ZVZG5UpLIZy$JG?P-VzsOwRU1H-u33(S{5p{=v*(5NRa z*viJ6jel0e<5v4;s0J*32_XtRT+}h!;5910IqJE72@as5jrw+$pFth4v|4_2|3-ch zb-PzubDUFG*vhSyuRgSY*M2wJcHaLHv@f^2zT)<=1R*X?p^AJwMaqz^m8x z&X_!(9|oc{X7_vZ_>gz_-U}zo?ecor1}a=zI`Bg1m9i{?v$xo>uu!SGymauj2X5Pf zP8q%99$nFOL#`9Gq(tR)=KW{<;NU3$^d8b_pa7VcHlO4^SvVL7{p6CTtg*N|w> zDeXry!l%o5K!zUT~R zA5NucMY6(h%BrU~+JvF!$j3T9rgeKMb@z2|?azOGX-I8F^?!(P^u{x**7ysp7oCJ}n!2a4ub$hFp*g(<!Bt- zj4~auk%c{M3Y7>Ejg+`3&x1NCp;3n2dsU^rP+NfWNOg_|zUZjhh*N6$BE{Iss%flS zRkRfQNm}_#?L_;+h4#_I#h6Ujl6Tk-ERKBF*gd-0Qoi;C2RiM^cAnjlzJz2qm`UkX z_5?c`QxIc4BFM38cR@{%FT&?)oC&T`64vp(#QKz6yD#BvtPsd&v3d@d-7C%o6ea2a zh6=dzF9ff|^1tF1MgOnZ2F!^WjKWmnVe zit>HBj@6|rMvj*WIakCwQN^5{GISpu_zd5FvU0LX%;n}?#}1uQk1Wm*Jk+k&+sCYR z=*wyyEzyv9A|_TA&!I2F4PDKR7SL59FYvFxfoU677{&jm4XTrQp?5b{R$lPM>~+kr zPxzKXN)54CU>dG*AseA6mXUNwE}L^f9nOTb~dl&%ZRW;PMf&P zIqU%6D&P|E8wyyhBHviR6>Rd}RKOY~_ss>|oVh;p)&g$LtjfuLIPm&m@U$6az8e>* z;&R=@i5CW^&#ymRAS7SHmDRz8{{B;_!y)r|aW1 zjb422+_1=B?}roY7eeNkXRiT%GX|L{v^9-{JGhuiG|Ez=V7qJ6*HrtT^z8g{*2Qk>#yGRu_DCk*8*54uQBM^F+csB!^{D zmSkCu$X%>HkKxOG0%2K6?Piu!6kjG1NGOp!C$S`w zN+w&fEjMLHZpjD82g(P@2g`@ZhsuY^hs#IEN6JUZ>*b^64e~MavGQ^9@$w1siSkME z$?_@ksq$&^>GB!!M)^$nEctBt9Qj=NJo$Y20{KGuBKczZ68TbjlYE(cxqO9urF@lq zwS0|yt$dw)y?ldwqkNNmvwVwut9+Y$yL^Xyr+k;ZS-xAoN4{6SPrhG%Kz>kuNPbv; zM1EA>B0nZ?l^>U%ke`&FlAo5Jk)M^Hlb@GgkYAKvl3$izkzbWxlV6wLkl&QwlHZo! zk>8cyli!y=kUx|^l0TL|kw29`lRuZgkiV3_lE0R}k-wF{lfRdLkbjhal7E(ek$;tc zlYf{0kpGnblK+_9-3Kn`>D6ZjO_Me<8DTw z7ov(bw^Gwi#G0Ses#P+9}pPE1_t zWutoE^-VBv(;a%gZwBom6=tdL1!lHLCcc}D zZOP0_>3TOFG^pgpUHY}!_q{0EA%nMTM#VyHezSr73ZL$n&68QAi89oehljrJMtPkk zi7@U?$Ug*OotPl)4!oqFB}%YsMOKGvpI*bPP|AwNh$-?aL%8PKvm4J!|5YeRo* zJL>~Cb$dE01H&lLzH}{z_VBCAW2nxHT)&$ITPF5~o*A5Yp>n5hyQweQS9|G>1@5~o zcbElWJmbCh;-hb~(5c(*_~B?@&BZ(2zxTGxBz60n!`KC9>~u4?KX+e|L6{zYfk)il zO<9m+Q543o)plNy4o;M>Y%sxN0lUh}D3GTAXaAVYG|Lv~tVq^KyDG zcDq~Nz=X7NU*0q|345Mzngee*>_WiIVAg`(C}7?V=4=9lx44$yip_*Z6y;(Q@Cxvm z`Zet_MQ%m&IsIX>`0fs0P=_3OQQ{@DW)h`4-EA*`&{YgnGOn4MeLowRrn#9ayA$Ch`Z|@}jb)D*BUD`Atn+8Tx!-V+bv^-CMIzMoDt!^v6J9lpmOBDvS`=2G#st zc?1b6k34Ap2+9dfg$|_6kx~L^h^N^WRGQIHm?0aPd4-}3ju4yYGO%rqjB(bpuL=XL zZ&Q9+&B4mZ4|}FL3cG2jgwoVTvD@qM0bHXoDF`5`G0jP9W12!wl*f?d&Nz&{TOdD# zC8pOZJUC1%UeF6~mc3vY&U#6bO$Vf%Ct_24rA;PPkJ?_pdP8x3r+gy`gZ8HBxxFs< zntHI6(x%xd`R?|DuRO1p`Fu*2hC}aWV>f5cj+5d+43#Tus-^5kzlS^uD(t)ItcAju zzGwQ{L}GkK7wpMPrLi&jjSNh-<(fWY)J?|pb4>}n7mVtD*mt#38DO(9aXsyCXum>r z<(SHk8xu343&X(Fl;-O@CW;{`In{}$NIW}%lE7*#IWOx3nV)2S>O~-Kj_gT!lBK2| zm~A^cO$%7;X$E1Jl=8B25K<-tONVaX%xV{RqnLSXwr9h5cc|kd1&he9t=BNr|=cARI*NO+tM=?BB@wJ;gmuY7di-!v6mYBN5Homd) zTt;JBF&(8iwN3xiHMWbB7Bh)n?J}lGGd4qpA?U;E0D0xO5}T2^*-=V?jAU-YPh%5T z^R&He@nAzkp;0hn>RFh2k-x(Oqfq69!0-sbVHi^`%962Gvgu7Tpf$icMW#?PE^8hy zP`XZC`zcdCT#XrGlOBr05G2ayZH~jOeOaYANy>57+o>lmJ*17xfuyY0R>JIMP=>sA zu7JU>iR-r#CRTsk1uLRz4s)UNu&rmD%GgARV*4779GNtkIjC_jlqe?EzPD8$~>ZRZ)&=~icK!A#>fmE&|R*=<-*o1Q~s z*B{O%I}_x@E&`;x(=HN-iwI7^^j;syD%nk_4AdzK(iol@q=$;M39fYBya{BIT+VA-@~fZHJ6TybY&(s8)^kO}-}T9AeyA@!#X zWuRF>hw=0s5L>7^@0k{04p1cBnYK;|VLW|U5-9CVr*BQtnBkm0id5E5v)D`@wdKa1 z+w)C1*$Mik)E(7RH`!Do)nKu1kSZbrbQ4~H=-W)kU=(6NoB(E%UZNzYo`YFbNg0cz zlEy0B@?JzrNQxHOOR3!5-o0l9@78WIi)!h%m-4CA3|j6FxG1sXq6DeAC(+fx9n0qx zuza|&H7QtI6R4246^yeWpbMO>Np0JW6|8K#X@A_@9($=tpiTx5B%wV!-?X&z4F|dng0X7=w|2u literal 0 HcmV?d00001 diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/worker/workerMain.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/worker/workerMain.js new file mode 100755 index 00000000..c448e8f9 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/base/worker/workerMain.js @@ -0,0 +1,162 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +(function(){ +var e,t,n=["require","exports","vs/editor/common/core/position","vs/base/common/errors","vs/base/common/platform","vs/editor/common/core/range","vs/base/common/diff/diff","vs/base/common/iterator","vs/base/common/lifecycle","vs/base/common/event","vs/base/common/types","vs/base/common/uint","vs/base/common/uri","vs/base/common/arrays","vs/base/common/diff/diffChange","vs/base/common/functional","vs/base/common/hash","vs/base/common/keyCodes","vs/base/common/linkedList","vs/base/common/cancellation","vs/base/common/strings","vs/editor/common/core/characterClassifier","vs/editor/common/core/selection","vs/editor/common/core/token","vs/editor/common/diff/diffComputer","vs/editor/common/model/wordHelper","vs/editor/common/modes/linkComputer","vs/editor/common/modes/supports/inplaceReplaceSupport","vs/editor/common/standalone/standaloneEnums","vs/editor/common/standalone/standaloneBase","vs/editor/common/viewModel/prefixSumComputer","vs/editor/common/model/mirrorTextModel","vs/base/common/worker/simpleWorker","vs/editor/common/standalone/promise-polyfill/polyfill","vs/editor/common/services/editorSimpleWorker"],r=function(e){ +for(var t=[],r=0,i=e.length;r=0)||"undefined"!=typeof process&&"win32"===process.platform},t}();e.Environment=t}(t||(t={})),function(e){var t=function(e,t,n){this.type=e,this.detail=t,this.timestamp=n};e.LoaderEvent=t;var n=function(){function n(e){this._events=[new t(1,"",e)]}return n.prototype.record=function(n,r){this._events.push(new t(n,r,e.Utilities.getHighPerformanceTimestamp()))},n.prototype.getEvents=function(){return this._events},n}();e.LoaderEventRecorder=n;var r=function(){function e(){}return e.prototype.record=function(e,t){},e.prototype.getEvents=function(){return[]},e.INSTANCE=new e,e}();e.NullLoaderEventRecorder=r}(t||(t={})),function(e){var t=function(){function t(){} +return t.fileUriToFilePath=function(e,t){if(t=decodeURI(t).replace(/%23/g,"#"),e){if(/^file:\/\/\//.test(t))return t.substr(8);if(/^file:\/\//.test(t))return t.substr(5)}else if(/^file:\/\//.test(t))return t.substr(7);return t},t.startsWith=function(e,t){return e.length>=t.length&&e.substr(0,t.length)===t},t.endsWith=function(e,t){return e.length>=t.length&&e.substr(e.length-t.length)===t},t.containsQueryString=function(e){return/^[^\#]*\?/gi.test(e)},t.isAbsolutePath=function(e){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)|(\/))/.test(e)},t.forEachProperty=function(e,t){if(e){var n=void 0;for(n in e)e.hasOwnProperty(n)&&t(n,e[n])}},t.isEmpty=function(e){var n=!0;return t.forEachProperty(e,(function(){n=!1})),n},t.recursiveClone=function(e){if(!e||"object"!=typeof e)return e;var n=Array.isArray(e)?[]:{};return t.forEachProperty(e,(function(e,r){n[e]=r&&"object"==typeof r?t.recursiveClone(r):r})),n},t.generateAnonymousModule=function(){return"===anonymous"+t.NEXT_ANONYMOUS_ID+++"==="}, +t.isAnonymousModule=function(e){return t.startsWith(e,"===anonymous")},t.getHighPerformanceTimestamp=function(){return this.PERFORMANCE_NOW_PROBED||(this.PERFORMANCE_NOW_PROBED=!0,this.HAS_PERFORMANCE_NOW=e.global.performance&&"function"==typeof e.global.performance.now),this.HAS_PERFORMANCE_NOW?e.global.performance.now():Date.now()},t.NEXT_ANONYMOUS_ID=1,t.PERFORMANCE_NOW_PROBED=!1,t.HAS_PERFORMANCE_NOW=!1,t}();e.Utilities=t}(t||(t={})),function(e){function t(e){if(e instanceof Error)return e;var t=new Error(e.message||String(e)||"Unknown Error");return e.stack&&(t.stack=e.stack),t}e.ensureError=t;var n=function(){function n(){}return n.validateConfigurationOptions=function(n){if("string"!=typeof(n=n||{}).baseUrl&&(n.baseUrl=""),"boolean"!=typeof n.isBuild&&(n.isBuild=!1),"object"!=typeof n.paths&&(n.paths={}),"object"!=typeof n.config&&(n.config={}),void 0===n.catchError&&(n.catchError=!1),void 0===n.recordStats&&(n.recordStats=!1),"string"!=typeof n.urlArgs&&(n.urlArgs=""), +"function"!=typeof n.onError&&(n.onError=function(e){return"loading"===e.phase?(console.error('Loading "'+e.moduleId+'" failed'),console.error(e),console.error("Here are the modules that depend on it:"),void console.error(e.neededBy)):"factory"===e.phase?(console.error('The factory method of "'+e.moduleId+'" has thrown an exception'),void console.error(e)):void 0}),Array.isArray(n.ignoreDuplicateModules)||(n.ignoreDuplicateModules=[]),n.baseUrl.length>0&&(e.Utilities.endsWith(n.baseUrl,"/")||(n.baseUrl+="/")),"string"!=typeof n.cspNonce&&(n.cspNonce=""),Array.isArray(n.nodeModules)||(n.nodeModules=[]),n.nodeCachedData&&"object"==typeof n.nodeCachedData&&("string"!=typeof n.nodeCachedData.seed&&(n.nodeCachedData.seed="seed"),("number"!=typeof n.nodeCachedData.writeDelay||n.nodeCachedData.writeDelay<0)&&(n.nodeCachedData.writeDelay=7e3),!n.nodeCachedData.path||"string"!=typeof n.nodeCachedData.path)){var r=t(new Error("INVALID cached data configuration, 'path' MUST be set"));r.phase="configuration", +n.onError(r),n.nodeCachedData=void 0}return n},n.mergeConfigurationOptions=function(t,r){void 0===t&&(t=null),void 0===r&&(r=null);var i=e.Utilities.recursiveClone(r||{});return e.Utilities.forEachProperty(t,(function(t,n){"ignoreDuplicateModules"===t&&void 0!==i.ignoreDuplicateModules?i.ignoreDuplicateModules=i.ignoreDuplicateModules.concat(n):"paths"===t&&void 0!==i.paths?e.Utilities.forEachProperty(n,(function(e,t){return i.paths[e]=t})):"config"===t&&void 0!==i.config?e.Utilities.forEachProperty(n,(function(e,t){return i.config[e]=t})):i[t]=e.Utilities.recursiveClone(n)})),n.validateConfigurationOptions(i)},n}();e.ConfigurationOptionsUtil=n;var r=function(){function t(e,t){if(this._env=e,this.options=n.mergeConfigurationOptions(t),this._createIgnoreDuplicateModulesMap(),this._createNodeModulesMap(),this._createSortedPathsRules(),""===this.options.baseUrl){if(this.options.nodeRequire&&this.options.nodeRequire.main&&this.options.nodeRequire.main.filename&&this._env.isNode){ +var r=this.options.nodeRequire.main.filename,i=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));this.options.baseUrl=r.substring(0,i+1)}if(this.options.nodeMain&&this._env.isNode){r=this.options.nodeMain,i=Math.max(r.lastIndexOf("/"),r.lastIndexOf("\\"));this.options.baseUrl=r.substring(0,i+1)}}}return t.prototype._createIgnoreDuplicateModulesMap=function(){this.ignoreDuplicateModulesMap={};for(var e=0;e=5||(s=o.length,i._fs.writeFile(n,Buffer.concat([a,o]),(function(e){e&&r.getConfig().onError(e),r.getRecorder().record(63,n),l()})))}),o*Math.pow(4,u++))};l()},t.prototype._readSourceAndCachedData=function(e,t,n,r){if(t){var i=void 0,o=void 0,s=void 0,u=2,a=function(e){e?r(e):0==--u&&r(void 0,i,o,s)};this._fs.readFile(e,{encoding:"utf8"},(function(e,t){i=t,a(e)})),this._fs.readFile(t,(function(e,r){!e&&r&&r.length>0?(s=r.slice(0,16),o=r.slice(16),n.record(60,t)):n.record(61,t),a()}))}else this._fs.readFile(e,{encoding:"utf8"},r)},t.prototype._verifyCachedData=function(e,t,n,r){var i=this;r&&(e.cachedDataRejected||setTimeout((function(){var e=i._crypto.createHash("md5").update(t,"utf8").digest() +;r.equals(e)||(console.warn("FAILED TO VERIFY CACHED DATA. Deleting '"+n+"' now, but a RESTART IS REQUIRED"),i._fs.unlink(n,(function(e){return console.error("FAILED to unlink: '"+n+"'",e)})))}),Math.ceil(5e3*(1+Math.random()))))},t._BOM=65279,t._PREFIX="(function (require, define, __filename, __dirname) { ",t._SUFFIX="\n});",t}();e.createScriptLoader=function(e){return new t(e)}}(t||(t={})),function(e){var t=function(){function t(e){var t=e.lastIndexOf("/");this.fromModulePath=-1!==t?e.substr(0,t+1):""}return t._normalizeModuleId=function(e){var t,n=e;for(t=/\/\.\//;t.test(n);)n=n.replace(t,"/");for(n=n.replace(/^\.\//g,""),t=/\/(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//;t.test(n);)n=n.replace(t,"/");return n=n.replace(/^(([^\/])|([^\/][^\/\.])|([^\/\.][^\/])|([^\/][^\/][^\/]+))\/\.\.\//,"")},t.prototype.resolveModule=function(n){var r=n +;return e.Utilities.isAbsolutePath(r)||(e.Utilities.startsWith(r,"./")||e.Utilities.startsWith(r,"../"))&&(r=t._normalizeModuleId(this.fromModulePath+r)),r},t.ROOT=new t(""),t}();e.ModuleIdResolver=t;var n=function(){function t(e,t,n,r,i,o){this.id=e,this.strId=t,this.dependencies=n,this._callback=r,this._errorback=i,this.moduleIdResolver=o,this.exports={},this.error=null,this.exportsPassedIn=!1,this.unresolvedDependenciesCount=this.dependencies.length,this._isComplete=!1}return t._safeInvokeFunction=function(t,n){try{return{returnedValue:t.apply(e.global,n),producedError:null}}catch(e){return{returnedValue:null,producedError:e}}},t._invokeFactory=function(t,n,r,i){return t.isBuild()&&!e.Utilities.isAnonymousModule(n)?{returnedValue:null,producedError:null}:t.shouldCatchError()?this._safeInvokeFunction(r,i):{returnedValue:r.apply(e.global,i),producedError:null}},t.prototype.complete=function(n,r,i){this._isComplete=!0;var o=null;if(this._callback)if("function"==typeof this._callback){n.record(21,this.strId) +;var s=t._invokeFactory(r,this.strId,this._callback,i);o=s.producedError,n.record(22,this.strId),o||void 0===s.returnedValue||this.exportsPassedIn&&!e.Utilities.isEmpty(this.exports)||(this.exports=s.returnedValue)}else this.exports=this._callback;if(o){var u=e.ensureError(o);u.phase="factory",u.moduleId=this.strId,this.error=u,r.onError(u)}this.dependencies=null,this._callback=null,this._errorback=null,this.moduleIdResolver=null},t.prototype.onDependencyError=function(e){return this._isComplete=!0,this.error=e,!!this._errorback&&(this._errorback(e),!0)},t.prototype.isComplete=function(){return this._isComplete},t}();e.Module=n;var r=function(){function e(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,this._intModuleIdToStrModuleId=[],this.getModuleId("exports"),this.getModuleId("module"),this.getModuleId("require")}return e.prototype.getMaxModuleId=function(){return this._nextId},e.prototype.getModuleId=function(e){var t=this._strModuleIdToIntModuleId.get(e);return void 0===t&&(t=this._nextId++, +this._strModuleIdToIntModuleId.set(e,t),this._intModuleIdToStrModuleId[t]=e),t},e.prototype.getStrModuleId=function(e){return this._intModuleIdToStrModuleId[e]},e}(),i=function(){function e(e){this.id=e}return e.EXPORTS=new e(0),e.MODULE=new e(1),e.REQUIRE=new e(2),e}();e.RegularDependency=i;var o=function(e,t,n){this.id=e,this.pluginId=t,this.pluginParam=n};e.PluginDependency=o;var s=function(){function s(t,n,i,o,s){void 0===s&&(s=0),this._env=t,this._scriptLoader=n,this._loaderAvailableTimestamp=s,this._defineFunc=i,this._requireFunc=o,this._moduleIdProvider=new r,this._config=new e.Configuration(this._env),this._modules2=[],this._knownModules2=[],this._inverseDependencies2=[],this._inversePluginDependencies2=new Map,this._currentAnnonymousDefineCall=null,this._recorder=null,this._buildInfoPath=[],this._buildInfoDefineStack=[],this._buildInfoDependencies=[]}return s.prototype.reset=function(){return new s(this._env,this._scriptLoader,this._defineFunc,this._requireFunc,this._loaderAvailableTimestamp)}, +s.prototype.getGlobalAMDDefineFunc=function(){return this._defineFunc},s.prototype.getGlobalAMDRequireFunc=function(){return this._requireFunc},s._findRelevantLocationInStack=function(e,t){for(var n=function(e){return e.replace(/\\/g,"/")},r=n(e),i=t.split(/\n/),o=0;o=0){var r=t.resolveModule(e.substr(0,n)),s=t.resolveModule(e.substr(n+1)),u=this._moduleIdProvider.getModuleId(r+"!"+s),a=this._moduleIdProvider.getModuleId(r);return new o(u,a,s)}return new i(this._moduleIdProvider.getModuleId(t.resolveModule(e)))},s.prototype._normalizeDependencies=function(e,t){for(var n=[],r=0,i=0,o=e.length;i0;){var l=a.shift(),c=this._modules2[l];c&&(u=c.onDependencyError(r)||u);var d=this._inverseDependencies2[l];if(d)for(o=0,s=d.length;o0;){var u=s.shift().dependencies;if(u)for(i=0,o=u.length;i=r.length)t._onLoadError(e,n);else{var s=r[i],u=t.getRecorder() +;if(t._config.isBuild()&&"empty:"===s)return t._buildInfoPath[e]=s,t.defineModule(t._moduleIdProvider.getStrModuleId(e),[],null,null,null),void t._onLoad(e);u.record(10,s),t._scriptLoader.load(t,s,(function(){t._config.isBuild()&&(t._buildInfoPath[e]=s),u.record(11,s),t._onLoad(e)}),(function(e){u.record(12,s),o(e)}))}};o(null)}},s.prototype._loadPluginDependency=function(e,n){var r=this;if(!this._modules2[n.id]&&!this._knownModules2[n.id]){this._knownModules2[n.id]=!0;var i=function(e){r.defineModule(r._moduleIdProvider.getStrModuleId(n.id),[],e,null,null)};i.error=function(e){r._config.onError(r._createLoadError(n.id,e))},e.load(n.pluginParam,this._createRequire(t.ROOT),i,this._config.getOptionsLiteral())}},s.prototype._resolve=function(e){var t=this,n=e.dependencies;if(n)for(var r=0,s=n.length;r \n")),e.unresolvedDependenciesCount--}else if(this._inverseDependencies2[u.id]=this._inverseDependencies2[u.id]||[],this._inverseDependencies2[u.id].push(e.id),u instanceof o){var c=this._modules2[u.pluginId];if(c&&c.isComplete()){this._loadPluginDependency(c.exports,u);continue}var d=this._inversePluginDependencies2.get(u.pluginId);d||(d=[],this._inversePluginDependencies2.set(u.pluginId,d)),d.push(u),this._loadModule(u.pluginId)}else this._loadModule(u.id)}else e.unresolvedDependenciesCount--;else e.unresolvedDependenciesCount--;else e.exportsPassedIn=!0,e.unresolvedDependenciesCount--} +0===e.unresolvedDependenciesCount&&this._onModuleComplete(e)},s.prototype._onModuleComplete=function(e){var t=this,n=this.getRecorder();if(!e.isComplete()){var r=e.dependencies,o=[];if(r)for(var s=0,u=r.length;sr?e[a]=o[u++]:u>i?e[a]=o[s++]:t(o[u],o[s])<0?e[a]=o[u++]:e[a]=o[s++]}(t,n,r,s,i,o)}(e,t,0,e.length-1,[]),e}function r(e,t){for(var n=0;n0))return o;i=o-1}}return-(r+1)},t.findFirstInSorted=function(e,t){var n=0,r=e.length;if(0===r)return 0;for(;n0},t.distinct=function(e,t){if(!t)return e.filter((function(t,n){return e.indexOf(t)===n}));var n=Object.create(null);return e.filter((function(e){var r=t(e);return!n[r]&&(n[r]=!0,!0)}))},t.distinctES6=function(e){var t=new Set;return e.filter((function(e){return!t.has(e)&&(t.add(e),!0)}))},t.fromSet=function(e){var t=[];return e.forEach((function(e){return t.push(e)})),t},t.firstIndex=r,t.first=function(e,t,n){void 0===n&&(n=void 0);var i=r(e,t);return i<0?n:e[i]},t.firstOrDefault=function(e,t){return e.length>0?e[0]:t},t.flatten=function(e){var t;return(t=[]).concat.apply(t,e)},t.range=function(e,t){var n="number"==typeof t?e:0;"number"==typeof t?n=e:(n=0,t=e);var r=[];if(n<=t)for(var i=n;it;i--)r.push(i);return r}, +t.arrayInsert=function(e,t,n){var r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)},t.pushToStart=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))},t.pushToEnd=function(e,t){var n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))},t.find=function(e,t){for(var n=0;n0||this.m_modifiedCount>0)&&this.m_changes.push(new n.DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)), +this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),a=function(){function e(t,n,r){void 0===r&&(r=null),this.ContinueProcessingPredicate=r;var i=e._getElements(t),o=i[0],s=i[1],u=i[2],a=e._getElements(n),l=a[0],c=a[1],d=a[2];this._hasStrings=u&&d,this._originalStringElements=o,this._originalElementsOrHash=s, +this._modifiedStringElements=l,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e._isStringArray=function(e){return e.length>0&&"string"==typeof e[0]},e._getElements=function(t){var n=t.getElements();if(e._isStringArray(n)){for(var i=new Int32Array(n.length),o=0,s=n.length;o=e&&i>=r&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||r>i){var u=void 0;return r<=i?(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"),u=[new n.DiffChange(e,0,r,i-r+1)]):e<=t?(o.Assert(r===i+1,"modifiedStart should only be one more than modifiedEnd"),u=[new n.DiffChange(e,t-e+1,r,0)]):(o.Assert(e===t+1,"originalStart should only be one more than originalEnd"), +o.Assert(r===i+1,"modifiedStart should only be one more than modifiedEnd"),u=[]),u}var a=[0],l=[0],c=this.ComputeRecursionPoint(e,t,r,i,a,l,s),d=a[0],f=l[0];if(null!==c)return c;if(!s[0]){var h=this.ComputeDiffRecursive(e,d,r,f,s),p=[];return p=s[0]?[new n.DiffChange(d+1,t-(d+1)+1,f+1,i-(f+1)+1)]:this.ComputeDiffRecursive(d+1,t,f+1,i,s),this.ConcatenateChanges(h,p)}return[new n.DiffChange(e,t-e+1,r,i-r+1)]},e.prototype.WALKTRACE=function(e,t,r,i,o,s,a,l,c,d,f,h,p,m,g,v,_,y){var b,C=null,E=new u,S=t,L=r,N=p[0]-v[0]-i,M=-1073741824,A=this.m_forwardHistory.length-1;do{(P=N+e)===S||P=0&&(e=(c=this.m_forwardHistory[A])[0],S=1,L=c.length-1)}while(--A>=-1);if(b=E.getReverseChanges(),y[0]){var w=p[0]+1,I=v[0]+1;if(null!==b&&b.length>0){var D=b[b.length-1];w=Math.max(w,D.getOriginalEnd()),I=Math.max(I,D.getModifiedEnd())} +C=[new n.DiffChange(w,h-w+1,I,g-I+1)]}else{E=new u,S=s,L=a,N=p[0]-v[0]-l,M=1073741824,A=_?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{var P;(P=N+o)===S||P=d[P+1]?(m=(f=d[P+1]-1)-N-l,f>M&&E.MarkNextChange(),M=f+1,E.AddOriginalElement(f+1,m+1),N=P+1-o):(m=(f=d[P-1])-N-l,f>M&&E.MarkNextChange(),M=f,E.AddModifiedElement(f+1,m+1),N=P-1-o),A>=0&&(o=(d=this.m_reverseHistory[A])[0],S=1,L=d.length-1)}while(--A>=-1);C=E.getChanges()}return this.ConcatenateChanges(b,C)},e.prototype.ComputeRecursionPoint=function(e,t,r,i,o,u,a){var l=0,c=0,d=0,f=0,h=0,p=0;e--,r--,o[0]=0,u[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m=t-e+(i-r),g=m+1,v=new Int32Array(g),_=new Int32Array(g),y=i-r,b=t-e,C=e-r,E=t-i,S=(b-y)%2==0;v[y]=e,_[b]=t,a[0]=!1;for(var L=1;L<=m/2+1;L++){var N=0,M=0;d=this.ClipDiagonalBound(y-L,L,y,g),f=this.ClipDiagonalBound(y+L,L,y,g);for(var A=d;A<=f;A+=2){c=(l=A===d||AN+M&&(N=l,M=c),!S&&Math.abs(A-b)<=L-1&&l>=_[A])return o[0]=l,u[0]=c,w<=_[A]&&L<=1448?this.WALKTRACE(y,d,f,C,b,h,p,E,v,_,l,t,o,c,i,u,S,a):null}var I=(N-e+(M-r)-L)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(N,I))return a[0]=!0,o[0]=N,u[0]=M,I>0&&L<=1448?this.WALKTRACE(y,d,f,C,b,h,p,E,v,_,l,t,o,c,i,u,S,a):(e++,r++,[new n.DiffChange(e,t-e+1,r,i-r+1)]);h=this.ClipDiagonalBound(b-L,L,b,g),p=this.ClipDiagonalBound(b+L,L,b,g);for(A=h;A<=p;A+=2){c=(l=A===h||A=_[A+1]?_[A+1]-1:_[A-1])-(A-b)-E;for(w=l;l>e&&c>r&&this.ElementsAreEqual(l,c);)l--,c--;if(_[A]=l,S&&Math.abs(A-y)<=L&&l<=v[A])return o[0]=l,u[0]=c,w>=v[A]&&L<=1448?this.WALKTRACE(y,d,f,C,b,h,p,E,v,_,l,t,o,c,i,u,S,a):null}if(L<=1447){var D=new Int32Array(f-d+2);D[0]=y-d+1,s.Copy2(v,d,D,1,f-d+1),this.m_forwardHistory.push(D),(D=new Int32Array(p-h+2))[0]=b-h+1,s.Copy2(_,h,D,1,p-h+1),this.m_reverseHistory.push(D)}}return this.WALKTRACE(y,d,f,C,b,h,p,E,v,_,l,t,o,c,i,u,S,a)}, +e.prototype.PrettifyChanges=function(e){for(var t=0;t0,s=n.modifiedLength>0;n.originalStart+n.originalLength=0;t--){n=e[t],r=0,i=0;if(t>0){var a=e[t-1];a.originalLength>0&&(r=a.originalStart+a.originalLength),a.modifiedLength>0&&(i=a.modifiedStart+a.modifiedLength)}o=n.originalLength>0,s=n.modifiedLength>0;for(var l=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),d=1;;d++){var f=n.originalStart-d,h=n.modifiedStart-d +;if(fc&&(c=p,l=d)}n.originalStart-=l,n.modifiedStart-=l}return e},e.prototype._OriginalIsBoundary=function(e){return e<=0||e>=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var n=e+t +;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1},e.prototype._boundaryScore=function(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){var r=new Array(e.length+t.length-1);return s.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],s.Copy(t,1,r,e.length,t.length-1),r}r=new Array(e.length+t.length);return s.Copy(e,0,r,0,e.length),s.Copy(t,0,r,e.length,t.length),r},e.prototype.ChangesOverlap=function(e,t,r){if(o.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),o.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var i=e.originalStart,s=e.originalLength,u=e.modifiedStart,a=e.modifiedLength +;return e.originalStart+e.originalLength>=t.originalStart&&(s=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(a=t.modifiedStart+t.modifiedLength-e.modifiedStart),r[0]=new n.DiffChange(i,s,u,a),!0}return r[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,n,r){if(e>=0&&e=r?t.FIN:{done:!1,value:e[n++]}}}},e.fromNativeIterator=function(e){return{next:function(){var n=e.next();return n.done?t.FIN:{done:!1,value:n.value}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,n){return{next:function(){var r=e.next();return r.done?t.FIN:{done:!1,value:n(r.value)}}}},e.filter=function(e,n){return{next:function(){for(;;){var r=e.next();if(r.done)return t.FIN;if(n(r.value))return{done:!1,value:r.value}}}}},e.forEach=function(e,t){for(var n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY);var n=[];if(0===t)return n;for(var r=0,i=e.next();!i.done&&(n.push(i.value),!(++r>=t));i=e.next());return n},e.concat=function(){for(var e=[],n=0;n=e.length)return t.FIN +;var n=e[r].next();return n.done?(r++,this.next()):n}}},e.chain=function(e){return new r(e)}}(n=t.Iterator||(t.Iterator={}));var r=function(){function e(e){this.it=e}return e.prototype.next=function(){return this.it.next()},e}();t.ChainableIterator=r,t.getSequenceIterator=function(e){return Array.isArray(e)?n.fromArray(e):e||n.empty()};var i=function(){function e(e,t,n,r){void 0===t&&(t=0),void 0===n&&(n=e.length),void 0===r&&(r=t-1),this.items=e,this.start=t,this.end=n,this.index=r}return e.prototype.first=function(){return this.index=this.start,this.current()},e.prototype.next=function(){return this.index=Math.min(this.index+1,this.end),this.current()},e.prototype.current=function(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]},e}();t.ArrayIterator=i;var o=function(e){function t(t,n,r,i){return void 0===n&&(n=0),void 0===r&&(r=t.length),void 0===i&&(i=n-1),e.call(this,t,n,r,i)||this}return a(t,e),t.prototype.current=function(){return e.prototype.current.call(this)}, +t.prototype.previous=function(){return this.index=Math.max(this.index-1,this.start-1),this.current()},t.prototype.first=function(){return this.index=this.start,this.current()},t.prototype.last=function(){return this.index=this.end-1,this.current()},t.prototype.parent=function(){return null},t}(i);t.ArrayNavigator=o;var s=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}();t.MappedIterator=s})),e(n[17],r([0,1,3]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),i=new r,o=new r,s=new r;function u(e,t){var n=!!(2048&e),r=!!(256&e) +;return new a(2===t?r:n,!!(1024&e),!!(512&e),2===t?n:r,255&e)}!function(){function e(e,t,n,r){void 0===n&&(n=t),void 0===r&&(r=n),i.define(e,t),o.define(e,n),s.define(e,r)}e(0,"unknown"),e(1,"Backspace"),e(2,"Tab"),e(3,"Enter"),e(4,"Shift"),e(5,"Ctrl"),e(6,"Alt"),e(7,"PauseBreak"),e(8,"CapsLock"),e(9,"Escape"),e(10,"Space"),e(11,"PageUp"),e(12,"PageDown"),e(13,"End"),e(14,"Home"),e(15,"LeftArrow","Left"),e(16,"UpArrow","Up"),e(17,"RightArrow","Right"),e(18,"DownArrow","Down"),e(19,"Insert"),e(20,"Delete"),e(21,"0"),e(22,"1"),e(23,"2"),e(24,"3"),e(25,"4"),e(26,"5"),e(27,"6"),e(28,"7"),e(29,"8"),e(30,"9"),e(31,"A"),e(32,"B"),e(33,"C"),e(34,"D"),e(35,"E"),e(36,"F"),e(37,"G"),e(38,"H"),e(39,"I"),e(40,"J"),e(41,"K"),e(42,"L"),e(43,"M"),e(44,"N"),e(45,"O"),e(46,"P"),e(47,"Q"),e(48,"R"),e(49,"S"),e(50,"T"),e(51,"U"),e(52,"V"),e(53,"W"),e(54,"X"),e(55,"Y"),e(56,"Z"),e(57,"Meta"),e(58,"ContextMenu"),e(59,"F1"),e(60,"F2"),e(61,"F3"),e(62,"F4"),e(63,"F5"),e(64,"F6"),e(65,"F7"),e(66,"F8"),e(67,"F9"),e(68,"F10"), +e(69,"F11"),e(70,"F12"),e(71,"F13"),e(72,"F14"),e(73,"F15"),e(74,"F16"),e(75,"F17"),e(76,"F18"),e(77,"F19"),e(78,"NumLock"),e(79,"ScrollLock"),e(80,";",";","OEM_1"),e(81,"=","=","OEM_PLUS"),e(82,",",",","OEM_COMMA"),e(83,"-","-","OEM_MINUS"),e(84,".",".","OEM_PERIOD"),e(85,"/","/","OEM_2"),e(86,"`","`","OEM_3"),e(110,"ABNT_C1"),e(111,"ABNT_C2"),e(87,"[","[","OEM_4"),e(88,"\\","\\","OEM_5"),e(89,"]","]","OEM_6"),e(90,"'","'","OEM_7"),e(91,"OEM_8"),e(92,"OEM_102"),e(93,"NumPad0"),e(94,"NumPad1"),e(95,"NumPad2"),e(96,"NumPad3"),e(97,"NumPad4"),e(98,"NumPad5"),e(99,"NumPad6"),e(100,"NumPad7"),e(101,"NumPad8"),e(102,"NumPad9"),e(103,"NumPad_Multiply"),e(104,"NumPad_Add"),e(105,"NumPad_Separator"),e(106,"NumPad_Subtract"),e(107,"NumPad_Decimal"),e(108,"NumPad_Divide")}(),function(e){e.toString=function(e){return i.keyCodeToStr(e)},e.fromString=function(e){return i.strToKeyCode(e)},e.toUserSettingsUS=function(e){return o.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return s.keyCodeToStr(e)}, +e.fromUserSettings=function(e){return o.strToKeyCode(e)||s.strToKeyCode(e)}}(t.KeyCodeUtils||(t.KeyCodeUtils={})),t.KeyChord=function(e,t){return(e|(65535&t)<<16>>>0)>>>0},t.createKeybinding=function(e,t){if(0===e)return null;var n=(65535&e)>>>0,r=(4294901760&e)>>>16;return new l(0!==r?[u(n,t),u(r,t)]:[u(n,t)])},t.createSimpleKeybinding=u;var a=function(){function e(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}return e.prototype.equals=function(e){return this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.toChord=function(){return new l([this])},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode},e}() +;t.SimpleKeybinding=a;var l=function(){function e(e){if(0===e.length)throw n.illegalArgument("parts");this.parts=e}return e.prototype.equals=function(e){if(null===e)return!1;if(this.parts.length!==e.parts.length)return!1;for(var t=0;t1)&&l.fire(e),a=0}),n)}))},onLastListenerRemove:function(){o.dispose()}});return l.event}function l(e){var t,n=!0;return o(e,(function(e){var r=n||e!==t +;return n=!1,t=e,r}))}e.None=function(){return i.Disposable.None},e.once=t,e.map=n,e.forEach=r,e.filter=o,e.signal=function(e){return e},e.any=function(){for(var e=[],t=0;t0?new l(this._options&&this._options.leakWarningThreshold):void 0}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(n,r,s){t._listeners||(t._listeners=new o.LinkedList);var u=t._listeners.isEmpty();u&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var a,l,c=t._listeners.push(r?[n,r]:n);return u&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t), +t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,n,r),t._leakageMon&&(a=t._leakageMon.check(t._listeners.size)),l={dispose:function(){(a&&a(),l.dispose=e._noop,t._disposed)||(c(),t._options&&t._options.onLastListenerRemove&&(t._listeners&&!t._listeners.isEmpty()||t._options.onLastListenerRemove(t)))}},s instanceof i.DisposableStore?s.add(l):Array.isArray(s)&&s.push(l),l}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new o.LinkedList);for(var t=this._listeners.iterator(),r=t.next();!r.done;r=t.next())this._deliveryQueue.push([r.value,e]);for(;this._deliveryQueue.size>0;){var i=this._deliveryQueue.shift(),s=i[0],u=i[1];try{"function"==typeof s?s.call(void 0,u):s[0].call(s[1],u)}catch(r){n.onUnexpectedError(r)}}}},e.prototype.dispose=function(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0}, +e._noop=function(){},e}();t.Emitter=c;var d=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaused=0,n._eventQueue=new o.LinkedList,n._mergeFn=t&&t.merge,n}return a(t,e),t.prototype.pause=function(){this._isPaused++},t.prototype.resume=function(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){var t=this._eventQueue.toArray();this._eventQueue.clear(),e.prototype.fire.call(this,this._mergeFn(t))}else for(;!this._isPaused&&0!==this._eventQueue.size;)e.prototype.fire.call(this,this._eventQueue.shift())},t.prototype.fire=function(t){this._listeners&&(0!==this._isPaused?this._eventQueue.push(t):e.prototype.fire.call(this,t))},t}(c);t.PauseableEmitter=d;var f=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new c({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}return Object.defineProperty(e.prototype,"event",{get:function(){return this.emitter.event},enumerable:!0, +configurable:!0}),e.prototype.add=function(e){var t=this,n={event:e,listener:null};this.events.push(n),this.hasListeners&&this.hook(n);return i.toDisposable(r.once((function(){t.hasListeners&&t.unhook(n);var e=t.events.indexOf(n);t.events.splice(e,1)})))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach((function(t){return e.hook(t)}))},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach((function(t){return e.unhook(t)}))},e.prototype.hook=function(e){var t=this;e.listener=e.event((function(e){return t.emitter.fire(e)}))},e.prototype.unhook=function(e){e.listener&&e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}();t.EventMultiplexer=f;var h=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(n,r,i){return e((function(e){var i=t.buffers[t.buffers.length-1];i?i.push((function(){return n.call(r,e)})):n.call(r,e)}),void 0,i) +}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t);var n=e();return this.buffers.pop(),t.forEach((function(e){return e()})),n},e}();t.EventBufferer=h;var p=function(){function e(){var e=this;this.listening=!1,this.inputEvent=s.None,this.inputEventListener=i.Disposable.None,this.emitter=new c({onFirstListenerDidAdd:function(){e.listening=!0,e.inputEventListener=e.inputEvent(e.emitter.fire,e.emitter)},onLastListenerRemove:function(){e.listening=!1,e.inputEventListener.dispose()}}),this.event=this.emitter.event}return Object.defineProperty(e.prototype,"input",{set:function(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.inputEventListener.dispose(),this.emitter.dispose()},e}();t.Relay=p})),e(n[19],r([0,1,9]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,i=Object.freeze((function(e,t){ +var n=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(n)}}}));!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof o||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i})}(r=t.CancellationToken||(t.CancellationToken={}));var o=function(){function e(){this._isCancelled=!1,this._emitter=null}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?i:(this._emitter||(this._emitter=new n.Emitter), +this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=null)},e}(),s=function(){function e(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new o),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof o&&this._token.cancel():this._token=r.Cancelled},e.prototype.dispose=function(e){void 0===e&&(e=!1),e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof o&&this._token.dispose():this._token=r.None},e}();t.CancellationTokenSource=s})),e(n[4],r([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}) +;var n=!1,r=!1,i=!1,o=!1,s=!1,u=!1,a=void 0,l="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.electron&&"renderer"===process.type;if("object"!=typeof navigator||l){if("object"==typeof process){n="win32"===process.platform,r="darwin"===process.platform,i="linux"===process.platform,"en","en";var c=process.env.VSCODE_NLS_CONFIG;if(c)try{var d=JSON.parse(c),f=d.availableLanguages["*"];d.locale,f||"en",d._translationsConfigFile}catch(e){}o=!0}}else n=(a=navigator.userAgent).indexOf("Windows")>=0,r=a.indexOf("Macintosh")>=0,u=a.indexOf("Macintosh")>=0&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,i=a.indexOf("Linux")>=0,s=!0,navigator.language;t.isWindows=n,t.isMacintosh=r,t.isLinux=i,t.isNative=o,t.isWeb=s,t.isIOS=u;var h="object"==typeof self?self:"object"==typeof global?global:{};t.globals=h,t.setImmediate=function(){if(t.globals.setImmediate)return t.globals.setImmediate.bind(t.globals);if("function"==typeof t.globals.postMessage&&!t.globals.importScripts){var e=[] +;t.globals.addEventListener("message",(function(t){if(t.data&&t.data.vscodeSetImmediateId)for(var n=0,r=e.length;nt?1:0}function u(e){return e>=97&&e<=122}function a(e){return e>=65&&e<=90}function l(e){return u(e)||a(e)}function c(e,t,n){void 0===n&&(n=e.length);for(var r=0;r1){var r=e.charCodeAt(t-2);if(d(r))return n-56320+(r-55296<<10)+65536}return n}function m(e,t){ +var n=C.getInstance(),r=e.length,i=t,o=h(e,r,t),s=n.getGraphemeBreakType(o);t+=o>=65536?2:1;for(var u=s;t=65536?2:1,u=l}var c=t;for(t=i,u=s;t>0;){var d=p(e,t),f=n.getGraphemeBreakType(d);if(b(f,u))break;t-=d>=65536?2:1,u=f}return[t,c]}t.format=function(e){for(var t=[],r=1;r=t.length?e:t[r]}))},t.escape=function(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))},t.escapeRegExpCharacters=r,t.trim=function(e,t){return void 0===t&&(t=" "),o(i(e,t),t)},t.ltrim=i,t.rtrim=o,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.startsWith=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.createRegExp=function(e,t,n){if(void 0===n&&(n={}),!e)throw new Error("Cannot create regex from empty string");t||(e=r(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)},t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&!(!e.exec("")||0!==e.lastIndex)},t.regExpFlags=function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")},t.firstNonWhitespaceIndex=function(e){for(var t=0,n=e.length;t=0;n--){var r=e.charCodeAt(n);if(32!==r&&9!==r)return n}return-1},t.compare=s,t.compareIgnoreCase=function(e,t){for(var n=Math.min(e.length,t.length),r=0;rt.length?1:0},t.isLowerAsciiLetter=u,t.isUpperAsciiLetter=a,t.equalsIgnoreCase=function(e,t){return e.length===t.length&&c(e,t)},t.startsWithIgnoreCase=function(e,t){var n=t.length;return!(t.length>e.length)&&c(e,t,n)},t.commonPrefixLength=function(e,t){var n,r=Math.min(e.length,t.length);for(n=0;n=65536?2:1;for(var s=n.getGraphemeBreakType(o);t=65536?2:1,s=a}return t-r},t.prevCharLength=function(e,t){var n=C.getInstance(),r=t,i=p(e,t);t-=i>=65536?2:1;for(var o=n.getGraphemeBreakType(i);t>0;){var s=p(e,t),u=n.getGraphemeBreakType(s);if(b(u,o))break;t-=s>=65536?2:1,o=u}return r-t},t.getCharContainingOffset=function(e,t){return t>0&&f(e.charCodeAt(t))?m(e,t-1):m(e,t)} +;var g=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;t.containsRTL=function(e){return g.test(e)};var v=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDE73\uDE78-\uDE82\uDE90-\uDE95])/;t.containsEmoji=function(e){return v.test(e)};var _=/^[\t\n\r\x20-\x7E]*$/;function y(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function b(e,t){ +return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}t.isBasicASCII=function(e){return _.test(e)},t.containsFullWidthCharacter=function(e){for(var t=0,n=e.length;t=127462&&e<=127487||e>=9728&&e<=10175||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129003||e>=129280&&e<=129535||e>=129648&&e<=129651||e>=129656&&e<=129666||e>=129680&&e<=129685},t.UTF8_BOM_CHARACTER=String.fromCharCode(65279),t.startsWithUTF8BOM=function(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))},t.safeBtoa=function(e){return btoa(encodeURIComponent(e))},t.repeat=function(e,t){for(var n="",r=0;rt[3*r+1]))return t[3*r+2];r=2*r+1}return 0},e._INSTANCE=null,e}()})),e(n[10],r([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};function r(e){return typeof e===n.string||e instanceof String}function i(e){return!(typeof e!==n.object||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function o(e){return typeof e===n.undefined}function s(e){return o(e)||null===e}t.isArray=function(e){return Array.isArray?Array.isArray(e):!(!e||typeof e.length!==n.number||e.constructor!==Array)},t.isString=r,t.isObject=i,t.isNumber=function(e){return(typeof e===n.number||e instanceof Number)&&!isNaN(e)},t.isBoolean=function(e){ +return!0===e||!1===e},t.isUndefined=o,t.isUndefinedOrNull=s,t.assertType=function(e,t){if(!e)throw new Error(t?"Unexpected type, expected '"+t+"'":"Unexpected type")};var u=Object.prototype.hasOwnProperty;function a(e){return typeof e===n.function}function l(e,t){if(r(t)){if(typeof e!==t)throw new Error("argument does not match constraint: typeof "+t)}else if(a(t)){try{if(e instanceof t)return}catch(e){}if(!s(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function c(e){for(var t=[],n=Object.getPrototypeOf(e);Object.prototype!==n;)t=t.concat(Object.getOwnPropertyNames(n)),n=Object.getPrototypeOf(n);return t}t.isEmptyObject=function(e){if(!i(e))return!1;for(var t in e)if(u.call(e,t))return!1;return!0},t.isFunction=a,t.validateConstraints=function(e,t){for(var n=Math.min(e.length,t.length),r=0;r4294967295?4294967295:0|e}Object.defineProperty(t,"__esModule",{value:!0}),t.toUint8=function(e){return e<0?0:e>255?255:0|e},t.toUint32=n,t.toUint32Array=function(e){for(var t=e.length,r=new Uint32Array(t),i=0;i=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var s=p[o] +;void 0!==s?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=s):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function g(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,n.isWindows&&(t=t.replace(/\//g,"\\")),t}function _(e,t){var n=t?g:m,r="",i=e.scheme,o=e.authority,s=e.path,u=e.query,a=e.fragment;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=l,r+=l),o){var c=o.indexOf("@");if(-1!==c){var d=o.substr(0,c);o=o.substr(c+1),-1===(c=d.indexOf(":"))?r+=n(d,!1):(r+=n(d.substr(0,c),!1),r+=":",r+=n(d.substr(c+1),!1)),r+="@"} +-1===(c=(o=o.toLowerCase()).indexOf(":"))?r+=n(o,!1):(r+=n(o.substr(0,c),!1),r+=o.substr(c))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(f=s.charCodeAt(1))>=65&&f<=90&&(s="/"+String.fromCharCode(f+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var f;(f=s.charCodeAt(0))>=65&&f<=90&&(s=String.fromCharCode(f+32)+":"+s.substr(2))}r+=n(s,!0)}return u&&(r+="?",r+=n(u,!1)),a&&(r+="#",r+=t?a:m(a,!1)),r}var y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function b(e){return e.match(y)?e.replace(y,(function(e){return function e(t){try{return decodeURIComponent(t)}catch(n){return t.length>3?t.substr(0,3)+e(t.substr(3)):t}}(e)})):e}})),e(n[32],r([0,1,3,8,4,10]),(function(e,t,n,r,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s="$initialize",u=!1;t.logOnceWebWorkerWarning=function(e){i.isWeb&&(u||(u=!0, +console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq")),console.warn(e.message))};var l=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var n=this,r=String(++this._lastSentReq);return new Promise((function(i,o){n._pendingReplies[r]={resolve:i,reject:o},n._send({vsWorker:n._workerId,req:r,method:e,args:t})}))},e.prototype.handleMessage=function(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var r=e;if(!this._pendingReplies[r.seq])return void console.warn("Got reply to unknown seq");var i=this._pendingReplies[r.seq];if(delete this._pendingReplies[r.seq],r.err){var o=r.err +;return r.err.$isError&&((o=new Error).name=r.err.name,o.message=r.err.message,o.stack=r.err.stack),void i.reject(o)}i.resolve(r.res)}else{var s=e,u=s.req;this._handler.handleMessage(s.method,s.args).then((function(e){t._send({vsWorker:t._workerId,seq:u,res:e,err:void 0})}),(function(e){e.detail instanceof Error&&(e.detail=n.transformErrorForSerialization(e.detail)),t._send({vsWorker:t._workerId,seq:u,res:void 0,err:n.transformErrorForSerialization(e)})}))}},e.prototype._send=function(e){var t=[];if(e.req)for(var n=e,r=0;r=0&&e<256?this._asciiMap[e]=r:this._map.set(e,r)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}();t.CharacterClassifier=r +;var i=function(){function e(){this._actual=new r(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}();t.CharacterSet=i})),e(n[2],r([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.with=function(t,n){return void 0===t&&(t=this.lineNumber),void 0===n&&(n=this.column),t===this.lineNumber&&n===this.column?this:new e(t,n)},e.prototype.delta=function(e,t){return void 0===e&&(e=0),void 0===t&&(t=0),this.with(this.lineNumber+e,this.column+t)},e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){return e.lineNumbern||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){ +return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.strictContainsRange=function(t){return e.strictContainsRange(this,t)},e.strictContainsRange=function(e,t){ +return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var r,i,o,s;return n.startLineNumbert.endLineNumber?(o=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(o=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(o=t.endLineNumber,s=t.endColumn),new e(r,i,o,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){ +var r=t.startLineNumber,i=t.startColumn,o=t.endLineNumber,s=t.endColumn,u=n.startLineNumber,a=n.startColumn,l=n.endLineNumber,c=n.endColumn;return rl?(o=l,s=c):o===l&&(s=Math.min(s,c)),r>o?null:r===o&&i>s?null:new e(r,i,o,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){ +return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumbere.startLineNumber},e}();t.Range=r})),e(n[22],r([0,1,2,5]),(function(e,t,n,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t,n,r,i){ +var o=e.call(this,t,n,r,i)||this;return o.selectionStartLineNumber=t,o.selectionStartColumn=n,o.positionLineNumber=r,o.positionColumn=i,o}return a(t,e),t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1},t.prototype.setEndPosition=function(e,n){return 0===this.getDirection()?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){ +return new n.Position(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return 0===this.getDirection()?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,r=e.length;n0&&n.originalLength<20&&n.modifiedLength>0&&n.modifiedLength<20&&u()){var g=r.createCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),v=s.createCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1),_=o(g,v,u,!0).changes;c&&(_=function(e){if(e.length<=1)return e;for(var t=[e[0]],n=t[0],r=1,o=e.length;r1&&b>1;){if(v.charCodeAt(y-2)!==_.charCodeAt(b-2))break;y--,b--}(y>1||b>1)&&this._pushTrimWhitespaceCharChange(u,a+1,1,y,c+1,1,b) +;for(var C=f(v,1),E=f(_,1),S=v.length+1,L=_.length+1;C/?",t.DEFAULT_WORD_REGEXP=function(e){void 0===e&&(e="");for(var n="(-?\\d*\\.\\d\\w*)|([^",r=0,i=t.USUAL_WORD_SEPARATORS;r=0||(n+="\\"+o)}return n+="\\s]+)",new RegExp(n,"g")}(),t.ensureValidWordDefinition=function(e){var n=t.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)n=e;else{var r="g";e.ignoreCase&&(r+="i"),e.multiline&&(r+="m"),e.unicode&&(r+="u"),n=new RegExp(e.source,r)}return n.lastIndex=0,n},t.getWordAtText=function(e,t,n,r){t.lastIndex=0 +;var i=t.exec(n);if(!i)return null;var o=i[0].indexOf(" ")>=0?function(e,t,n,r){var i,o=e-1-r;for(t.lastIndex=0;i=t.exec(n);){var s=i.index||0;if(s>o)return null;if(t.lastIndex>=o)return{word:i[0],startColumn:r+1+s,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r):function(e,t,n,r){var i,o=e-1-r,s=n.lastIndexOf(" ",o-1)+1;for(t.lastIndex=s;i=t.exec(n);){var u=i.index||0;if(u<=o&&t.lastIndex>=o)return{word:i[0],startColumn:r+1+u,endColumn:r+1+t.lastIndex}}return null}(e,t,n,r);return t.lastIndex=0,o}})),e(n[26],r([0,1,21]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n){for(var r=new Uint8Array(e*t),i=0,o=e*t;it&&(t=c),u>n&&(n=u),(d=s[2])>n&&(n=d)} +var a=new r(++n,++t,0);for(i=0,o=e.length;i=this._maxCharCode?0:this._states.get(e,t)},e}();t.StateMachine=i;var o=null;var s=null;var u=function(){function e(){}return e._createLink=function(e,t,n,r,i){var o=i-1;do{var s=t.charCodeAt(o);if(2!==e.get(s))break;o--}while(o>r);if(r>0){var u=t.charCodeAt(r-1),a=t.charCodeAt(o);(40===u&&41===a||91===u&&93===a||123===u&&125===a)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}},e.computeLinks=function(t,r){void 0===r&&(null===o&&(o=new i([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),r=o);for(var u=function(){if(null===s){s=new n.CharacterClassifier(0) +;for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)s.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)s.set(".,;".charCodeAt(e),2)}return s}(),a=[],l=1,c=t.getLineCount();l<=c;l++){for(var d=t.getLineContent(l),f=d.length,h=0,p=0,m=0,g=1,v=!1,_=!1,y=!1;h=0?((r+=n?1:-1)<0?r=e.length-1:r%=e.length,e[r]):null},e.INSTANCE=new e,e}();t.BasicInplaceReplace=n})), +/*! +Copyright (c) 2014 Taylor Hakes +Copyright (c) 2014 Forbes Lindesay + */ +u=function(){"use strict";function e(e){var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))}var t=setTimeout;function n(){}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(e,this)}function i(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,r._immediateFn((function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void s(t.promise,e)}o(t.promise,r)}else(1===e._state?o:s)(t.promise,e._value)}))):e._deferreds.push(t)}function o(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof r)return e._state=3,e._value=t,void u(e) +;if("function"==typeof n)return void l((i=n,o=t,function(){i.apply(o,arguments)}),e)}e._state=1,e._value=t,u(e)}catch(t){s(e,t)}var i,o}function s(e,t){e._state=2,e._value=t,u(e)}function u(e){2===e._state&&0===e._deferreds.length&&r._immediateFn((function(){e._handled||r._unhandledRejectionFn(e._value)}));for(var t=0,n=e._deferreds.length;t=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=n.toUint32(e),t=n.toUint32(t),this.values[e]!==t&&(this.values[e]=t,e-1=r.length)return!1;var o=r.length-e;return t>=o&&(t=o),0!==t&&(this.values=new Uint32Array(r.length-t),this.values.set(r.subarray(0,e),0),this.values.set(r.subarray(e+t),e), +this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=n.toUint32(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t=0,n=this.values.length-1,i=0,o=0,s=0;t<=n;)if(i=t+(n-t)/2|0, +e<(s=(o=this.prefixSum[i])-this.values[i]))n=i-1;else{if(!(e>=o))break;t=i+1}return new r(i,e-s)},e}();t.PrefixSumComputer=i;var o=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new i(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=r._lines.length?i.FIN:(n=r._lines[o],u=r._wordenize(n,e),s=0,o+=1,a())};return{next:a}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],r=[],i=0,o=this._wordenize(n,t);ithis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{var i=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>i&&(n=i,r=!0)} +return r?{lineNumber:t,column:n}:e},t}(h.MirrorTextModel),b=function(){function t(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach((function(n){return t.push(e._models[n])})),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new y(s.URI.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t.prototype.computeDiff=function(e,t,n,r){return l(this,void 0,void 0,(function(){var i,o,s,u,a,l,d;return c(this,(function(c){return i=this._getModel(e),o=this._getModel(t),i&&o?(s=i.getLinesContent(),u=o.getLinesContent(),a=new f.DiffComputer(s,u,{shouldComputeCharChanges:!0, +shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}),l=a.computeDiff(),d=!(l.changes.length>0)&&this._modelsAreIdentical(i,o),[2,{quitEarly:l.quitEarly,identical:d,changes:l.changes}]):[2,null]}))}))},t.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var r=1;r<=n;r++){if(e.getLineContent(r)!==t.getLineContent(r))return!1}return!0},t.prototype.computeMoreMinimalEdits=function(e,i){return l(this,void 0,void 0,(function(){var o,s,u,a,l,f,h,p,m,g,v,_,y,b,C,E,S,L;return c(this,(function(c){if(!(o=this._getModel(e)))return[2,i];for(s=[],u=void 0,i=n.mergeSort(i,(function(e,t){return e.range&&t.range?d.Range.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)})),a=0,l=i;at._diffLimit)s.push({ +range:h,text:p});else for(v=r.stringDiff(g,p,!1),_=o.offsetAt(d.Range.lift(h).getStartPosition()),y=0,b=v;y0;)self.onmessage(r.shift())}),0)}))):r.push(e)}}()}).call(this); +//# sourceMappingURL=../../../../min-maps/vs/base/worker/workerMain.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/abap/abap.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/abap/abap.js new file mode 100755 index 00000000..1f5e8d5a --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/abap/abap.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/abap/abap",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"*"},brackets:[["[","]"],["(",")"]]};n.language={defaultToken:"invalid",ignoreCase:!0,tokenPostfix:".abap",keywords:["abstract","add","add-corresponding","adjacent","alias","aliases","all","append","appending","ascending","as","assert","assign","assigned","assigning","association","authority-check","back","begin","binary","block","bound","break-point","by","byte","class","call","cast","changing","check","class-data","class-method","class-methods","clear","close","cnt","collect","commit","cond","character","corresponding","communication","component","compute","concatenate","condense","constants","conv","count","controls","convert","create","currency","data","descending","default","define","deferred","delete","describe","detail","display","divide","divide-corresponding","display-mode","duplicates","deleting","editor-call","end","endexec","endfunction","ending","endmodule","end-of-definition","end-of-page","end-of-selection","end-test-injection","end-test-seam","exit-command","endclass","endmethod","endform","endinterface","endprovide","endselect","endtry","endwhile","enum","event","events","exec","exit","export","exporting","extract","exception","exceptions","field-symbols","field-groups","field","first","fetch","fields","format","frame","free","from","function","find","for","found","function-pool","generate","get","handle","hide","hashed","include","import","importing","index","infotypes","initial","initialization","id","is","in","interface","interfaces","init","input","insert","instance","into","key","left-justified","leave","like","line","line-count","line-size","load","local","log-point","length","left","leading","lower","matchcode","method","mesh","message","message-id","methods","modify","module","move","move-corresponding","multiply","multiply-corresponding","match","new","new-line","new-page","new-section","next","no","no-gap","no-gaps","no-sign","no-zero","non-unique","number","occurrence","object","obligatory","of","output","overlay","optional","others","occurrences","occurs","offset","options","pack","parameters","perform","places","position","print-control","private","program","protected","provide","public","put","radiobutton","raising","ranges","receive","receiving","redefinition","reduce","reference","refresh","regex","reject","results","requested","ref","replace","report","reserve","restore","result","return","returning","right-justified","rollback","read","read-only","rp-provide-from-last","run","scan","screen","scroll","search","select","select-options","selection-screen","stamp","source","subkey","separated","set","shift","single","skip","sort","sorted","split","standard","stamp","starting","start-of-selection","sum","subtract-corresponding","statics","step","stop","structure","submatches","submit","subtract","summary","supplied","suppress","section","syntax-check","syntax-trace","system-call","switch","tables","table","task","testing","test-seam","test-injection","then","time","times","title","titlebar","to","top-of-page","trailing","transfer","transformation","translate","transporting","types","type","type-pool","type-pools","unassign","unique","uline","unpack","update","upper","using","value","when","while","window","write","where","with","work","at","case","catch","continue","do","elseif","else","endat","endcase","enddo","endif","endloop","endon","if","loop","on","raise","try","abs","sign","ceil","floor","trunc","frac","acos","asin","atan","cos","sin","tan","cosh","sinh","tanh","exp","log","log10","sqrt","strlen","xstrlen","charlen","lines","numofchar","dbmaxlen","round","rescale","nmax","nmin","cmax","cmin","boolc","boolx","xsdbool","contains","contains_any_of","contains_any_not_of","matches","line_exists","ipow","char_off","count","count_any_of","count_any_not_of","distance","condense","concat_lines_of","escape","find","find_end","find_any_of","find_any_not_of","insert","match","repeat","replace","reverse","segment","shift_left","shift_right","substring","substring_after","substring_from","substring_before","substring_to","to_upper","to_lower","to_mixed","from_mixed","translate","bit-set","line_index","definition","implementation","public","inheriting","final"],typeKeywords:["abap_bool","string","xstring","any","clike","csequence","numeric","xsequence","c","n","i","p","f","d","t","x"],operators:["+","-","/","*","=","<",">","<=",">=","<>","><","=<","=>","EQ","NE","GE","LE","CS","CN","CA","CO","CP","NS","NA","NP"],symbols:/[=>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}};var s=[];["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"].forEach((function(e){s.push(e),s.push(e.toUpperCase()),s.push(function(e){return e.charAt(0).toUpperCase()+e.substr(1)}(e))})),t.language={defaultToken:"",tokenPostfix:".apex",keywords:s,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/azcli/azcli.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/azcli/azcli.js new file mode 100755 index 00000000..71ebf271 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/azcli/azcli.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/azcli/azcli",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"#"}},t.language={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/bat/bat.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/bat/bat.js new file mode 100755 index 00000000..f8da2b83 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/bat/bat.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/bat/bat",["require","exports"],(function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=>"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},t.language={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","begin","Bytes","Crypto","Current","else","end","failwith","false","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","Set","set","sender","source","String","then","true","type","with"],typeKeywords:["int","unit","string","tz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/clojure/clojure.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/clojure/clojure.js new file mode 100755 index 00000000..e1c372b7 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/clojure/clojure.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/clojure/clojure",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:";;"},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}],surroundingPairs:[{open:"[",close:"]"},{open:'"',close:'"'},{open:"(",close:")"},{open:"{",close:"}"}]},t.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".clj",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],constants:["true","false","nil"],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],coreSymbols:["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],tokenizer:{root:[{include:"@whitespace"},[/@numbers/,"number"],[/@characters/,"string"],{include:"@string"},[/[()\[\]{}]/,"@brackets"],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,"regexp"],[/[#'@^`~]/,"meta"],[/@qualifiedSymbols/,{cases:{"^:.+$":"constant","@specialForms":"keyword","@coreSymbols":"keyword","@constants":"constant","@default":"identifier"}}]],whitespace:[[/[\s,]+/,"white"],[/;.*$/,"comment"],[/\(comment\b/,"comment","@comment"]],comment:[[/\(/,"comment","@push"],[/\)/,"comment","@pop"],[/[^()]/,"comment"]],string:[[/"/,"string","@multiLineString"]],multiLineString:[[/"/,"string","@popall"],[/@escapes/,"string.escape"],[/./,"string"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/coffee/coffee.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/coffee/coffee.js new file mode 100755 index 00000000..754e3348 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/coffee/coffee.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/coffee/coffee",["require","exports"],(function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},r.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=>"}],keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","for","friend","gcnew","generic","goto","if","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],raw:[[/(.*)(\))(?:([^ ()\\\t]*))(\")/,{cases:{"$3==$S2":["string.raw","string.raw.end","string.raw.end",{token:"string.raw.end",next:"@pop"}],"@default":["string.raw","string.raw","string.raw","string.raw"]}}],[/.*/,"string.raw"]],include:[[/(\s*)(<)([^<>]*)(>)/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]],[/(\s*)(")([^"]*)(")/,["","keyword.directive.include.begin","string.include.identifier",{token:"keyword.directive.include.end",next:"@pop"}]]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csharp/csharp.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csharp/csharp.js new file mode 100755 index 00000000..08cb3bb6 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csharp/csharp.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/csharp/csharp",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t.language={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","property","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csp/csp.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csp/csp.js new file mode 100755 index 00000000..012b24e2 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/csp/csp.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/csp/csp",["require","exports"],(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.conf={brackets:[],autoClosingPairs:[],surroundingPairs:[]},e.language={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=>",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js new file mode 100755 index 00000000..e3cd1d71 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/dockerfile/dockerfile",["require","exports"],(function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s.language={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js new file mode 100755 index 00000000..7a4848b4 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/fsharp/fsharp",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},n.language={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/go/go.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/go/go.js new file mode 100755 index 00000000..62e58d77 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/go/go.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/go/go",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/graphql/graphql.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/graphql/graphql.js new file mode 100755 index 00000000..8582f884 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/graphql/graphql.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/graphql/graphql",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},n.language={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js new file mode 100755 index 00000000..0a70867b --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/handlebars/handlebars",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="undefined"==typeof monaco?self.monaco:monaco,a=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["{{!--","--}}"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{{","}}"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+a.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+a.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}]},t.language={defaultToken:"",tokenPostfix:"",tokenizer:{root:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.root"}],[/)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)([:\w]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)(\w+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.comment"}],[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/\{\{/,{token:"@rematch",switchTo:"@handlebarsInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],handlebarsInSimpleState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3"}],{include:"handlebarsRoot"}],handlebarsInEmbeddedState:[[/\{\{\{?/,"delimiter.handlebars"],[/\}\}\}?/,{token:"delimiter.handlebars",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"handlebarsRoot"}],handlebarsRoot:[[/"[^"]*"/,"string.handlebars"],[/[#/][^\s}]+/,"keyword.helper.handlebars"],[/else\b/,"keyword.helper.handlebars"],[/[\s]+/],[/[^}]/,"variable.parameter.handlebars"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/html/html.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/html/html.js new file mode 100755 index 00000000..2a4c8eb4 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/html/html.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/html/html",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="undefined"==typeof monaco?self.monaco:monaco,i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["\x3c!--","--\x3e"],["<",">"],["{","}"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],onEnterRules:[{beforeText:new RegExp("<(?!(?:"+i.join("|")+"))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$","i"),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:n.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp("<(?!(?:"+i.join("|")+"))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$","i"),action:{indentAction:n.languages.IndentAction.Indent}}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#endregion\\b.*--\x3e")}}},t.language={defaultToken:"",tokenPostfix:".html",ignoreCase:!0,tokenizer:{root:[[/)/,["delimiter","tag","","delimiter"]],[/(<)(script)/,["delimiter",{token:"tag",next:"@script"}]],[/(<)(style)/,["delimiter",{token:"tag",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter",{token:"tag",next:"@otherTag"}]],[/]+/,"metatag.content"],[/>/,"metatag","@pop"]],comment:[[/-->/,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ini/ini.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ini/ini.js new file mode 100755 index 00000000..88210e89 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ini/ini.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/ini/ini",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".ini",escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^\[[^\]]*\]/,"metatag"],[/(^\w+)(\s*)(\=)/,["key","","delimiter"]],{include:"@whitespace"},[/\d+/,"number"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],whitespace:[[/[ \t\r\n]+/,""],[/^\s*[#;].*$/,"comment"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/java/java.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/java/java.js new file mode 100755 index 00000000..5c1af4fb --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/java/java.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/java/java",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},t.language={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/javascript/javascript.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/javascript/javascript.js new file mode 100755 index 00000000..85e84fcb --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/javascript/javascript.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/typescript/typescript",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="undefined"==typeof monaco?self.monaco:monaco;t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:n.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:n.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:n.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:n.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},t.language={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}})),define("vs/basic-languages/javascript/javascript",["require","exports","../typescript/typescript"],(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});"undefined"==typeof monaco?self.monaco:monaco;t.conf=n.conf,t.language={defaultToken:"invalid",tokenPostfix:".js",keywords:["break","case","catch","class","continue","const","constructor","debugger","default","delete","do","else","export","extends","false","finally","for","from","function","get","if","import","in","instanceof","let","new","null","return","set","super","switch","symbol","this","throw","true","try","typeof","undefined","var","void","while","with","yield","async","await","of"],typeKeywords:[],operators:n.language.operators,symbols:n.language.symbols,escapes:n.language.escapes,digits:n.language.digits,octaldigits:n.language.octaldigits,binarydigits:n.language.binarydigits,hexdigits:n.language.hexdigits,regexpctl:n.language.regexpctl,regexpesc:n.language.regexpesc,tokenizer:n.language.tokenizer}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js new file mode 100755 index 00000000..2d6e7289 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/kotlin/kotlin",["require","exports"],(function(e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},i.language={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/less/less.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/less/less.js new file mode 100755 index 00000000..0dea79cd --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/less/less.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/less/less",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t.language={defaultToken:"",tokenPostfix:".less",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",identifierPlus:"-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@nestedJSBegin"},["[ \\t\\r\\n]+",""],{include:"@comments"},{include:"@keyword"},{include:"@strings"},{include:"@numbers"},["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))","attribute.name","@attribute"],["url(\\-prefix)?\\(",{token:"tag",next:"@urldeclaration"}],["[{}()\\[\\]]","@brackets"],["[,:;]","delimiter"],["#@identifierPlus","tag.id"],["&","tag"],["\\.@identifierPlus(?=\\()","tag.class","@attribute"],["\\.@identifierPlus","tag.class"],["@identifierPlus","tag"],{include:"@operators"},["@(@identifier(?=[:,\\)]))","variable","@attribute"],["@(@identifier)","variable"],["@","key","@atRules"]],nestedJSBegin:[["``","delimiter.backtick"],["`",{token:"delimiter.backtick",next:"@nestedJSEnd",nextEmbedded:"text/javascript"}]],nestedJSEnd:[["`",{token:"delimiter.backtick",next:"@pop",nextEmbedded:"@pop"}]],operators:[["[<>=\\+\\-\\*\\/\\^\\|\\~]","operator"]],keyword:[["(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b","keyword"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"tag",next:"@pop"}]],attribute:[{include:"@nestedJSBegin"},{include:"@comments"},{include:"@strings"},{include:"@numbers"},{include:"@keyword"},["[a-zA-Z\\-]+(?=\\()","attribute.value","@attribute"],[">","operator","@pop"],["@identifier","attribute.value"],{include:"@operators"},["@(@identifier)","variable"],["[)\\}]","@brackets","@pop"],["[{}()\\[\\]>]","@brackets"],["[;]","delimiter","@pop"],["[,=:]","delimiter"],["\\s",""],[".","attribute.value"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],strings:[['~?"',{token:"string.delimiter",next:"@stringsEndDoubleQuote"}],["~?'",{token:"string.delimiter",next:"@stringsEndQuote"}]],stringsEndDoubleQuote:[['\\\\"',"string"],['"',{token:"string.delimiter",next:"@popall"}],[".","string"]],stringsEndQuote:[["\\\\'","string"],["'",{token:"string.delimiter",next:"@popall"}],[".","string"]],atRules:[{include:"@comments"},{include:"@strings"},["[()]","delimiter"],["[\\{;]","delimiter","@pop"],[".","key"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/lua/lua.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/lua/lua.js new file mode 100755 index 00000000..ecd1e9c0 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/lua/lua.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/lua/lua",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},n.language={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},t.language={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"variable.source",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\?((php)|=)?/,{token:"@rematch",switchTo:"@phpInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],phpInSimpleState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3"}],{include:"phpRoot"}],phpInEmbeddedState:[[/<\?((php)|=)?/,"metatag.php"],[/\?>/,{token:"metatag.php",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],{include:"phpRoot"}],phpRoot:[[/[a-zA-Z_]\w*/,{cases:{"@phpKeywords":{token:"keyword.php"},"@phpCompileTimeConstants":{token:"constant.php"},"@default":"identifier.php"}}],[/[$a-zA-Z_]\w*/,{cases:{"@phpPreDefinedVariables":{token:"variable.predefined.php"},"@default":"variable.php"}}],[/[{}]/,"delimiter.bracket.php"],[/[\[\]]/,"delimiter.array.php"],[/[()]/,"delimiter.parenthesis.php"],[/[ \t\r\n]+/],[/(#|\/\/)$/,"comment.php"],[/(#|\/\/)/,"comment.php","@phpLineComment"],[/\/\*/,"comment.php","@phpComment"],[/"/,"string.php","@phpDoubleQuoteString"],[/'/,"string.php","@phpSingleQuoteString"],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/,"delimiter.php"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.php"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.php"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.php"],[/0[0-7']*[0-7]/,"number.octal.php"],[/0[bB][0-1']*[0-1]/,"number.binary.php"],[/\d[\d']*/,"number.php"],[/\d/,"number.php"]],phpComment:[[/\*\//,"comment.php","@pop"],[/[^*]+/,"comment.php"],[/./,"comment.php"]],phpLineComment:[[/\?>/,{token:"@rematch",next:"@pop"}],[/.$/,"comment.php","@pop"],[/[^?]+$/,"comment.php","@pop"],[/[^?]+/,"comment.php"],[/./,"comment.php"]],phpDoubleQuoteString:[[/[^\\"]+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/"/,"string.php","@pop"]],phpSingleQuoteString:[[/[^\\']+/,"string.php"],[/@escapes/,"string.escape.php"],[/\\./,"string.escape.invalid.php"],[/'/,"string.php","@pop"]]},phpKeywords:["abstract","and","array","as","break","callable","case","catch","cfunction","class","clone","const","continue","declare","default","do","else","elseif","enddeclare","endfor","endforeach","endif","endswitch","endwhile","extends","false","final","for","foreach","function","global","goto","if","implements","interface","instanceof","insteadof","namespace","new","null","object","old_function","or","private","protected","public","resource","static","switch","throw","trait","try","true","use","var","while","xor","die","echo","empty","exit","eval","include","include_once","isset","list","require","require_once","return","print","unset","yield","__construct"],phpCompileTimeConstants:["__CLASS__","__DIR__","__FILE__","__LINE__","__NAMESPACE__","__METHOD__","__FUNCTION__","__TRAIT__"],phpPreDefinedVariables:["$GLOBALS","$_SERVER","$_GET","$_POST","$_FILES","$_REQUEST","$_SESSION","$_ENV","$_COOKIE","$php_errormsg","$HTTP_RAW_POST_DATA","$http_response_header","$argc","$argv"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/postiats/postiats.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/postiats/postiats.js new file mode 100755 index 00000000..c8203929 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/postiats/postiats.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/postiats/postiats",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},t.language={tokenPostfix:".pats",defaultToken:"invalid",keywords:["abstype","abst0ype","absprop","absview","absvtype","absviewtype","absvt0ype","absviewt0ype","as","and","assume","begin","classdec","datasort","datatype","dataprop","dataview","datavtype","dataviewtype","do","end","extern","extype","extvar","exception","fn","fnx","fun","prfn","prfun","praxi","castfn","if","then","else","ifcase","in","infix","infixl","infixr","prefix","postfix","implmnt","implement","primplmnt","primplement","import","let","local","macdef","macrodef","nonfix","symelim","symintr","overload","of","op","rec","sif","scase","sortdef","sta","stacst","stadef","static","staload","dynload","try","tkindef","typedef","propdef","viewdef","vtypedef","viewtypedef","prval","var","prvar","when","where","with","withtype","withprop","withview","withvtype","withviewtype"],keywords_dlr:["$delay","$ldelay","$arrpsz","$arrptrsize","$d2ctype","$effmask","$effmask_ntm","$effmask_exn","$effmask_ref","$effmask_wrt","$effmask_all","$extern","$extkind","$extype","$extype_struct","$extval","$extfcall","$extmcall","$literal","$myfilename","$mylocation","$myfunction","$lst","$lst_t","$lst_vt","$list","$list_t","$list_vt","$rec","$rec_t","$rec_vt","$record","$record_t","$record_vt","$tup","$tup_t","$tup_vt","$tuple","$tuple_t","$tuple_vt","$break","$continue","$raise","$showtype","$vcopyenv_v","$vcopyenv_vt","$tempenver","$solver_assert","$solver_verify"],keywords_srp:["#if","#ifdef","#ifndef","#then","#elif","#elifdef","#elifndef","#else","#endif","#error","#prerr","#print","#assert","#undef","#define","#include","#require","#pragma","#codegen2","#codegen3"],irregular_keyword_list:["val+","val-","val","case+","case-","case","addr@","addr","fold@","free@","fix@","fix","lam@","lam","llam@","llam","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","view+","view-","view@","view","type+","type-","type","vtype+","vtype-","vtype","vt@ype+","vt@ype-","vt@ype","viewt@ype+","viewt@ype-","viewt@ype","viewtype+","viewtype-","viewtype","prop+","prop-","prop","type+","type-","type","t@ype","t@ype+","t@ype-","abst@ype","abstype","absviewt@ype","absvt@ype","for*","for","while*","while"],keywords_types:["bool","double","byte","int","short","char","void","unit","long","float","string","strptr"],keywords_effects:["0","fun","clo","prf","funclo","cloptr","cloref","ref","ntm","1"],operators:["@","!","|","`",":","$",".","=","#","~","..","...","=>","=<>","=/=>","=>>","=/=>>","<",">","><",".<",">.",".<>.","->","-<>"],brackets:[{open:",(",close:")",token:"delimiter.parenthesis"},{open:"`(",close:")",token:"delimiter.parenthesis"},{open:"%(",close:")",token:"delimiter.parenthesis"},{open:"'(",close:")",token:"delimiter.parenthesis"},{open:"'{",close:"}",token:"delimiter.parenthesis"},{open:"@(",close:")",token:"delimiter.parenthesis"},{open:"@{",close:"}",token:"delimiter.brace"},{open:"@[",close:"]",token:"delimiter.square"},{open:"#[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],symbols:/[=>]/,digit:/[0-9]/,digitseq0:/@digit*/,xdigit:/[0-9A-Za-z]/,xdigitseq0:/@xdigit*/,INTSP:/[lLuU]/,FLOATSP:/[fFlL]/,fexponent:/[eE][+-]?[0-9]+/,fexponent_bin:/[pP][+-]?[0-9]+/,deciexp:/\.[0-9]*@fexponent?/,hexiexp:/\.[0-9a-zA-Z]*@fexponent_bin?/,irregular_keywords:/val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,ESCHAR:/[ntvbrfa\\\?'"\(\[\{]/,start:"root",tokenizer:{root:[{regex:/[ \t\r\n]+/,action:{token:""}},{regex:/\(\*\)/,action:{token:"invalid"}},{regex:/\(\*/,action:{token:"comment",next:"lexing_COMMENT_block_ml"}},{regex:/\(/,action:"@brackets"},{regex:/\)/,action:"@brackets"},{regex:/\[/,action:"@brackets"},{regex:/\]/,action:"@brackets"},{regex:/\{/,action:"@brackets"},{regex:/\}/,action:"@brackets"},{regex:/,\(/,action:"@brackets"},{regex:/,/,action:{token:"delimiter.comma"}},{regex:/;/,action:{token:"delimiter.semicolon"}},{regex:/@\(/,action:"@brackets"},{regex:/@\[/,action:"@brackets"},{regex:/@\{/,action:"@brackets"},{regex:/:/,action:{token:"@rematch",next:"@pop"}}],lexing_EXTCODE:[{regex:/^%}/,action:{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}},{regex:/[^%]+/,action:""}],lexing_DQUOTE:[{regex:/"/,action:{token:"string.quote",next:"@pop"}},{regex:/(\{\$)(@IDENTFST@IDENTRST*)(\})/,action:[{token:"string.escape"},{token:"identifier"},{token:"string.escape"}]},{regex:/\\$/,action:{token:"string.escape"}},{regex:/\\(@ESCHAR|[xX]@xdigit+|@digit+)/,action:{token:"string.escape"}},{regex:/[^\\"]+/,action:{token:"string"}}]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js new file mode 100755 index 00000000..e29bab06 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/powerquery/powerquery",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment","identifier"]},{open:"[",close:"]",notIn:["string","comment","identifier"]},{open:"(",close:")",notIn:["string","comment","identifier"]},{open:"{",close:"}",notIn:["string","comment","identifier"]}]},t.language={defaultToken:"",tokenPostfix:".pq",ignoreCase:!1,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],operatorKeywords:["and","not","or"],keywords:["as","each","else","error","false","if","in","is","let","meta","otherwise","section","shared","then","true","try","type"],constructors:["#binary","#date","#datetime","#datetimezone","#duration","#table","#time"],constants:["#infinity","#nan","#sections","#shared"],typeKeywords:["action","any","anynonnull","none","null","logical","number","time","date","datetime","datetimezone","duration","text","binary","list","record","table","function"],builtinFunctions:["Access.Database","Action.Return","Action.Sequence","Action.Try","ActiveDirectory.Domains","AdoDotNet.DataSource","AdoDotNet.Query","AdobeAnalytics.Cubes","AnalysisServices.Database","AnalysisServices.Databases","AzureStorage.BlobContents","AzureStorage.Blobs","AzureStorage.Tables","Binary.Buffer","Binary.Combine","Binary.Compress","Binary.Decompress","Binary.End","Binary.From","Binary.FromList","Binary.FromText","Binary.InferContentType","Binary.Length","Binary.ToList","Binary.ToText","BinaryFormat.7BitEncodedSignedInteger","BinaryFormat.7BitEncodedUnsignedInteger","BinaryFormat.Binary","BinaryFormat.Byte","BinaryFormat.ByteOrder","BinaryFormat.Choice","BinaryFormat.Decimal","BinaryFormat.Double","BinaryFormat.Group","BinaryFormat.Length","BinaryFormat.List","BinaryFormat.Null","BinaryFormat.Record","BinaryFormat.SignedInteger16","BinaryFormat.SignedInteger32","BinaryFormat.SignedInteger64","BinaryFormat.Single","BinaryFormat.Text","BinaryFormat.Transform","BinaryFormat.UnsignedInteger16","BinaryFormat.UnsignedInteger32","BinaryFormat.UnsignedInteger64","Byte.From","Character.FromNumber","Character.ToNumber","Combiner.CombineTextByDelimiter","Combiner.CombineTextByEachDelimiter","Combiner.CombineTextByLengths","Combiner.CombineTextByPositions","Combiner.CombineTextByRanges","Comparer.Equals","Comparer.FromCulture","Comparer.Ordinal","Comparer.OrdinalIgnoreCase","Csv.Document","Cube.AddAndExpandDimensionColumn","Cube.AddMeasureColumn","Cube.ApplyParameter","Cube.AttributeMemberId","Cube.AttributeMemberProperty","Cube.CollapseAndRemoveColumns","Cube.Dimensions","Cube.DisplayFolders","Cube.Measures","Cube.Parameters","Cube.Properties","Cube.PropertyKey","Cube.ReplaceDimensions","Cube.Transform","Currency.From","DB2.Database","Date.AddDays","Date.AddMonths","Date.AddQuarters","Date.AddWeeks","Date.AddYears","Date.Day","Date.DayOfWeek","Date.DayOfWeekName","Date.DayOfYear","Date.DaysInMonth","Date.EndOfDay","Date.EndOfMonth","Date.EndOfQuarter","Date.EndOfWeek","Date.EndOfYear","Date.From","Date.FromText","Date.IsInCurrentDay","Date.IsInCurrentMonth","Date.IsInCurrentQuarter","Date.IsInCurrentWeek","Date.IsInCurrentYear","Date.IsInNextDay","Date.IsInNextMonth","Date.IsInNextNDays","Date.IsInNextNMonths","Date.IsInNextNQuarters","Date.IsInNextNWeeks","Date.IsInNextNYears","Date.IsInNextQuarter","Date.IsInNextWeek","Date.IsInNextYear","Date.IsInPreviousDay","Date.IsInPreviousMonth","Date.IsInPreviousNDays","Date.IsInPreviousNMonths","Date.IsInPreviousNQuarters","Date.IsInPreviousNWeeks","Date.IsInPreviousNYears","Date.IsInPreviousQuarter","Date.IsInPreviousWeek","Date.IsInPreviousYear","Date.IsInYearToDate","Date.IsLeapYear","Date.Month","Date.MonthName","Date.QuarterOfYear","Date.StartOfDay","Date.StartOfMonth","Date.StartOfQuarter","Date.StartOfWeek","Date.StartOfYear","Date.ToRecord","Date.ToText","Date.WeekOfMonth","Date.WeekOfYear","Date.Year","DateTime.AddZone","DateTime.Date","DateTime.FixedLocalNow","DateTime.From","DateTime.FromFileTime","DateTime.FromText","DateTime.IsInCurrentHour","DateTime.IsInCurrentMinute","DateTime.IsInCurrentSecond","DateTime.IsInNextHour","DateTime.IsInNextMinute","DateTime.IsInNextNHours","DateTime.IsInNextNMinutes","DateTime.IsInNextNSeconds","DateTime.IsInNextSecond","DateTime.IsInPreviousHour","DateTime.IsInPreviousMinute","DateTime.IsInPreviousNHours","DateTime.IsInPreviousNMinutes","DateTime.IsInPreviousNSeconds","DateTime.IsInPreviousSecond","DateTime.LocalNow","DateTime.Time","DateTime.ToRecord","DateTime.ToText","DateTimeZone.FixedLocalNow","DateTimeZone.FixedUtcNow","DateTimeZone.From","DateTimeZone.FromFileTime","DateTimeZone.FromText","DateTimeZone.LocalNow","DateTimeZone.RemoveZone","DateTimeZone.SwitchZone","DateTimeZone.ToLocal","DateTimeZone.ToRecord","DateTimeZone.ToText","DateTimeZone.ToUtc","DateTimeZone.UtcNow","DateTimeZone.ZoneHours","DateTimeZone.ZoneMinutes","Decimal.From","Diagnostics.ActivityId","Diagnostics.Trace","DirectQueryCapabilities.From","Double.From","Duration.Days","Duration.From","Duration.FromText","Duration.Hours","Duration.Minutes","Duration.Seconds","Duration.ToRecord","Duration.ToText","Duration.TotalDays","Duration.TotalHours","Duration.TotalMinutes","Duration.TotalSeconds","Embedded.Value","Error.Record","Excel.CurrentWorkbook","Excel.Workbook","Exchange.Contents","Expression.Constant","Expression.Evaluate","Expression.Identifier","Facebook.Graph","File.Contents","Folder.Contents","Folder.Files","Function.From","Function.Invoke","Function.InvokeAfter","Function.IsDataSource","GoogleAnalytics.Accounts","Guid.From","HdInsight.Containers","HdInsight.Contents","HdInsight.Files","Hdfs.Contents","Hdfs.Files","Informix.Database","Int16.From","Int32.From","Int64.From","Int8.From","ItemExpression.From","Json.Document","Json.FromValue","Lines.FromBinary","Lines.FromText","Lines.ToBinary","Lines.ToText","List.Accumulate","List.AllTrue","List.Alternate","List.AnyTrue","List.Average","List.Buffer","List.Combine","List.Contains","List.ContainsAll","List.ContainsAny","List.Count","List.Covariance","List.DateTimeZones","List.DateTimes","List.Dates","List.Difference","List.Distinct","List.Durations","List.FindText","List.First","List.FirstN","List.Generate","List.InsertRange","List.Intersect","List.IsDistinct","List.IsEmpty","List.Last","List.LastN","List.MatchesAll","List.MatchesAny","List.Max","List.MaxN","List.Median","List.Min","List.MinN","List.Mode","List.Modes","List.NonNullCount","List.Numbers","List.PositionOf","List.PositionOfAny","List.Positions","List.Product","List.Random","List.Range","List.RemoveFirstN","List.RemoveItems","List.RemoveLastN","List.RemoveMatchingItems","List.RemoveNulls","List.RemoveRange","List.Repeat","List.ReplaceMatchingItems","List.ReplaceRange","List.ReplaceValue","List.Reverse","List.Select","List.Single","List.SingleOrDefault","List.Skip","List.Sort","List.StandardDeviation","List.Sum","List.Times","List.Transform","List.TransformMany","List.Union","List.Zip","Logical.From","Logical.FromText","Logical.ToText","MQ.Queue","MySQL.Database","Number.Abs","Number.Acos","Number.Asin","Number.Atan","Number.Atan2","Number.BitwiseAnd","Number.BitwiseNot","Number.BitwiseOr","Number.BitwiseShiftLeft","Number.BitwiseShiftRight","Number.BitwiseXor","Number.Combinations","Number.Cos","Number.Cosh","Number.Exp","Number.Factorial","Number.From","Number.FromText","Number.IntegerDivide","Number.IsEven","Number.IsNaN","Number.IsOdd","Number.Ln","Number.Log","Number.Log10","Number.Mod","Number.Permutations","Number.Power","Number.Random","Number.RandomBetween","Number.Round","Number.RoundAwayFromZero","Number.RoundDown","Number.RoundTowardZero","Number.RoundUp","Number.Sign","Number.Sin","Number.Sinh","Number.Sqrt","Number.Tan","Number.Tanh","Number.ToText","OData.Feed","Odbc.DataSource","Odbc.Query","OleDb.DataSource","OleDb.Query","Oracle.Database","Percentage.From","PostgreSQL.Database","RData.FromBinary","Record.AddField","Record.Combine","Record.Field","Record.FieldCount","Record.FieldNames","Record.FieldOrDefault","Record.FieldValues","Record.FromList","Record.FromTable","Record.HasFields","Record.RemoveFields","Record.RenameFields","Record.ReorderFields","Record.SelectFields","Record.ToList","Record.ToTable","Record.TransformFields","Replacer.ReplaceText","Replacer.ReplaceValue","RowExpression.Column","RowExpression.From","Salesforce.Data","Salesforce.Reports","SapBusinessWarehouse.Cubes","SapHana.Database","SharePoint.Contents","SharePoint.Files","SharePoint.Tables","Single.From","Soda.Feed","Splitter.SplitByNothing","Splitter.SplitTextByAnyDelimiter","Splitter.SplitTextByDelimiter","Splitter.SplitTextByEachDelimiter","Splitter.SplitTextByLengths","Splitter.SplitTextByPositions","Splitter.SplitTextByRanges","Splitter.SplitTextByRepeatedLengths","Splitter.SplitTextByWhitespace","Sql.Database","Sql.Databases","SqlExpression.SchemaFrom","SqlExpression.ToExpression","Sybase.Database","Table.AddColumn","Table.AddIndexColumn","Table.AddJoinColumn","Table.AddKey","Table.AggregateTableColumn","Table.AlternateRows","Table.Buffer","Table.Column","Table.ColumnCount","Table.ColumnNames","Table.ColumnsOfType","Table.Combine","Table.CombineColumns","Table.Contains","Table.ContainsAll","Table.ContainsAny","Table.DemoteHeaders","Table.Distinct","Table.DuplicateColumn","Table.ExpandListColumn","Table.ExpandRecordColumn","Table.ExpandTableColumn","Table.FillDown","Table.FillUp","Table.FilterWithDataTable","Table.FindText","Table.First","Table.FirstN","Table.FirstValue","Table.FromColumns","Table.FromList","Table.FromPartitions","Table.FromRecords","Table.FromRows","Table.FromValue","Table.Group","Table.HasColumns","Table.InsertRows","Table.IsDistinct","Table.IsEmpty","Table.Join","Table.Keys","Table.Last","Table.LastN","Table.MatchesAllRows","Table.MatchesAnyRows","Table.Max","Table.MaxN","Table.Min","Table.MinN","Table.NestedJoin","Table.Partition","Table.PartitionValues","Table.Pivot","Table.PositionOf","Table.PositionOfAny","Table.PrefixColumns","Table.Profile","Table.PromoteHeaders","Table.Range","Table.RemoveColumns","Table.RemoveFirstN","Table.RemoveLastN","Table.RemoveMatchingRows","Table.RemoveRows","Table.RemoveRowsWithErrors","Table.RenameColumns","Table.ReorderColumns","Table.Repeat","Table.ReplaceErrorValues","Table.ReplaceKeys","Table.ReplaceMatchingRows","Table.ReplaceRelationshipIdentity","Table.ReplaceRows","Table.ReplaceValue","Table.ReverseRows","Table.RowCount","Table.Schema","Table.SelectColumns","Table.SelectRows","Table.SelectRowsWithErrors","Table.SingleRow","Table.Skip","Table.Sort","Table.SplitColumn","Table.ToColumns","Table.ToList","Table.ToRecords","Table.ToRows","Table.TransformColumnNames","Table.TransformColumnTypes","Table.TransformColumns","Table.TransformRows","Table.Transpose","Table.Unpivot","Table.UnpivotOtherColumns","Table.View","Table.ViewFunction","TableAction.DeleteRows","TableAction.InsertRows","TableAction.UpdateRows","Tables.GetRelationships","Teradata.Database","Text.AfterDelimiter","Text.At","Text.BeforeDelimiter","Text.BetweenDelimiters","Text.Clean","Text.Combine","Text.Contains","Text.End","Text.EndsWith","Text.Format","Text.From","Text.FromBinary","Text.Insert","Text.Length","Text.Lower","Text.Middle","Text.NewGuid","Text.PadEnd","Text.PadStart","Text.PositionOf","Text.PositionOfAny","Text.Proper","Text.Range","Text.Remove","Text.RemoveRange","Text.Repeat","Text.Replace","Text.ReplaceRange","Text.Select","Text.Split","Text.SplitAny","Text.Start","Text.StartsWith","Text.ToBinary","Text.ToList","Text.Trim","Text.TrimEnd","Text.TrimStart","Text.Upper","Time.EndOfHour","Time.From","Time.FromText","Time.Hour","Time.Minute","Time.Second","Time.StartOfHour","Time.ToRecord","Time.ToText","Type.AddTableKey","Type.ClosedRecord","Type.Facets","Type.ForFunction","Type.ForRecord","Type.FunctionParameters","Type.FunctionRequiredParameters","Type.FunctionReturn","Type.Is","Type.IsNullable","Type.IsOpenRecord","Type.ListItem","Type.NonNullable","Type.OpenRecord","Type.RecordFields","Type.ReplaceFacets","Type.ReplaceTableKeys","Type.TableColumn","Type.TableKeys","Type.TableRow","Type.TableSchema","Type.Union","Uri.BuildQueryString","Uri.Combine","Uri.EscapeDataString","Uri.Parts","Value.Add","Value.As","Value.Compare","Value.Divide","Value.Equals","Value.Firewall","Value.FromText","Value.Is","Value.Metadata","Value.Multiply","Value.NativeQuery","Value.NullableEquals","Value.RemoveMetadata","Value.ReplaceMetadata","Value.ReplaceType","Value.Subtract","Value.Type","ValueAction.NativeStatement","ValueAction.Replace","Variable.Value","Web.Contents","Web.Page","WebAction.Request","Xml.Document","Xml.Tables"],builtinConstants:["BinaryEncoding.Base64","BinaryEncoding.Hex","BinaryOccurrence.Optional","BinaryOccurrence.Repeating","BinaryOccurrence.Required","ByteOrder.BigEndian","ByteOrder.LittleEndian","Compression.Deflate","Compression.GZip","CsvStyle.QuoteAfterDelimiter","CsvStyle.QuoteAlways","Culture.Current","Day.Friday","Day.Monday","Day.Saturday","Day.Sunday","Day.Thursday","Day.Tuesday","Day.Wednesday","ExtraValues.Error","ExtraValues.Ignore","ExtraValues.List","GroupKind.Global","GroupKind.Local","JoinAlgorithm.Dynamic","JoinAlgorithm.LeftHash","JoinAlgorithm.LeftIndex","JoinAlgorithm.PairwiseHash","JoinAlgorithm.RightHash","JoinAlgorithm.RightIndex","JoinAlgorithm.SortMerge","JoinKind.FullOuter","JoinKind.Inner","JoinKind.LeftAnti","JoinKind.LeftOuter","JoinKind.RightAnti","JoinKind.RightOuter","JoinSide.Left","JoinSide.Right","MissingField.Error","MissingField.Ignore","MissingField.UseNull","Number.E","Number.Epsilon","Number.NaN","Number.NegativeInfinity","Number.PI","Number.PositiveInfinity","Occurrence.All","Occurrence.First","Occurrence.Last","Occurrence.Optional","Occurrence.Repeating","Occurrence.Required","Order.Ascending","Order.Descending","Precision.Decimal","Precision.Double","QuoteStyle.Csv","QuoteStyle.None","RelativePosition.FromEnd","RelativePosition.FromStart","RoundingMode.AwayFromZero","RoundingMode.Down","RoundingMode.ToEven","RoundingMode.TowardZero","RoundingMode.Up","SapHanaDistribution.All","SapHanaDistribution.Connection","SapHanaDistribution.Off","SapHanaDistribution.Statement","SapHanaRangeOperator.Equals","SapHanaRangeOperator.GreaterThan","SapHanaRangeOperator.GreaterThanOrEquals","SapHanaRangeOperator.LessThan","SapHanaRangeOperator.LessThanOrEquals","SapHanaRangeOperator.NotEquals","TextEncoding.Ascii","TextEncoding.BigEndianUnicode","TextEncoding.Unicode","TextEncoding.Utf16","TextEncoding.Utf8","TextEncoding.Windows","TraceLevel.Critical","TraceLevel.Error","TraceLevel.Information","TraceLevel.Verbose","TraceLevel.Warning","WebMethod.Delete","WebMethod.Get","WebMethod.Head","WebMethod.Patch","WebMethod.Post","WebMethod.Put"],builtinTypes:["Action.Type","Any.Type","Binary.Type","BinaryEncoding.Type","BinaryOccurrence.Type","Byte.Type","ByteOrder.Type","Character.Type","Compression.Type","CsvStyle.Type","Currency.Type","Date.Type","DateTime.Type","DateTimeZone.Type","Day.Type","Decimal.Type","Double.Type","Duration.Type","ExtraValues.Type","Function.Type","GroupKind.Type","Guid.Type","Int16.Type","Int32.Type","Int64.Type","Int8.Type","JoinAlgorithm.Type","JoinKind.Type","JoinSide.Type","List.Type","Logical.Type","MissingField.Type","None.Type","Null.Type","Number.Type","Occurrence.Type","Order.Type","Password.Type","Percentage.Type","Precision.Type","QuoteStyle.Type","Record.Type","RelativePosition.Type","RoundingMode.Type","SapHanaDistribution.Type","SapHanaRangeOperator.Type","Single.Type","Table.Type","Text.Type","TextEncoding.Type","Time.Type","TraceLevel.Type","Type.Type","Uri.Type","WebMethod.Type"],tokenizer:{root:[[/#"[\w \.]+"/,"identifier.quote"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+([eE][\-+]?\d+)?/,"number"],[/(#?[a-z]+)\b/,{cases:{"@typeKeywords":"type","@keywords":"keyword","@constants":"constant","@constructors":"constructor","@operatorKeywords":"operators","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,{cases:{"@builtinTypes":"type","@default":"identifier"}}],[/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,{cases:{"@builtinFunctions":"keyword.function","@builtinConstants":"constant","@default":"identifier"}}],[/\b([a-zA-Z_][\w\.]*)\b/,"identifier"],{include:"@whitespace"},{include:"@comments"},{include:"@strings"},[/[{}()\[\]]/,"@brackets"],[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/,"operators"],[/[,;]/,"delimiter"]],whitespace:[[/\s+/,"white"]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],strings:[['"',"string","@string"]],string:[['""',"string.escape"],['"',"string","@pop"],[".","string"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powershell/powershell.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powershell/powershell.js new file mode 100755 index 00000000..7b62c650 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/powershell/powershell.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/powershell/powershell",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"#",blockComment:["<#","#>"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},n.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".ps1",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["begin","break","catch","class","continue","data","define","do","dynamicparam","else","elseif","end","exit","filter","finally","for","foreach","from","function","if","in","param","process","return","switch","throw","trap","try","until","using","var","while","workflow","parallel","sequence","inlinescript","configuration"],helpKeywords:/SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,symbols:/[=>/,"comment","@pop"],[/(\.)(@helpKeywords)(?!\w)/,{token:"comment.keyword.$2"}],[/[\.#]/,"comment"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pug/pug.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pug/pug.js new file mode 100755 index 00000000..a82ec7b8 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/pug/pug.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/pug/pug",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},t.language={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.otherTag"}],[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.script"}],[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterType"}],[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.text/javascript",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.scriptWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.scriptEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],style:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.style"}],[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterType"}],[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleAfterTypeEquals"}],[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.text/css",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInSimpleState.styleWithCustomType.$S2"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/@[^@]/,{token:"@rematch",switchTo:"@razorInEmbeddedState.styleEmbedded.$S2",nextEmbedded:"@pop"}],[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],razorInSimpleState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3"}]],razorInEmbeddedState:[[/@\*/,"comment.cs","@razorBlockCommentTopLevel"],[/@[{(]/,"metatag.cs","@razorRootTopLevel"],[/(@)(\s*[\w]+)/,["metatag.cs",{token:"identifier.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],[/[})]/,{token:"metatag.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}],[/\*@/,{token:"comment.cs",switchTo:"@$S2.$S3",nextEmbedded:"$S3"}]],razorBlockCommentTopLevel:[[/\*@/,"@rematch","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorBlockComment:[[/\*@/,"comment.cs","@pop"],[/[^*]+/,"comment.cs"],[/./,"comment.cs"]],razorRootTopLevel:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/[})]/,"@rematch","@pop"],{include:"razorCommon"}],razorRoot:[[/\{/,"delimiter.bracket.cs","@razorRoot"],[/\(/,"delimiter.parenthesis.cs","@razorRoot"],[/\}/,"delimiter.bracket.cs","@pop"],[/\)/,"delimiter.parenthesis.cs","@pop"],{include:"razorCommon"}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:"keyword.cs"},"@default":"identifier.cs"}}],[/[\[\]]/,"delimiter.array.cs"],[/[ \t\r\n]+/],[/\/\/.*$/,"comment.cs"],[/@\*/,"comment.cs","@razorBlockComment"],[/"([^"]*)"/,"string.cs"],[/'([^']*)'/,"string.cs"],[/(<)(\w+)(\/>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/(<\/)(\w+)(>)/,["delimiter.html","tag.html","delimiter.html"]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,"delimiter.cs"],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float.cs"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float.cs"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex.cs"],[/0[0-7']*[0-7]/,"number.octal.cs"],[/0[bB][0-1']*[0-1]/,"number.binary.cs"],[/\d[\d']*/,"number.cs"],[/\d/,"number.cs"]]},razorKeywords:["abstract","as","async","await","base","bool","break","by","byte","case","catch","char","checked","class","const","continue","decimal","default","delegate","do","double","descending","explicit","event","extern","else","enum","false","finally","fixed","float","for","foreach","from","goto","group","if","implicit","in","int","interface","internal","into","is","lock","long","nameof","new","null","namespace","object","operator","out","override","orderby","params","private","protected","public","readonly","ref","return","switch","struct","sbyte","sealed","short","sizeof","stackalloc","static","string","select","this","throw","true","try","typeof","uint","ulong","unchecked","unsafe","ushort","using","var","virtual","volatile","void","when","while","where","yield","model","inject"],escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redis/redis.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redis/redis.js new file mode 100755 index 00000000..5ee48959 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redis/redis.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/redis/redis",["require","exports"],(function(E,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},e.language={defaultToken:"",tokenPostfix:".redis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["APPEND","AUTH","BGREWRITEAOF","BGSAVE","BITCOUNT","BITFIELD","BITOP","BITPOS","BLPOP","BRPOP","BRPOPLPUSH","CLIENT","KILL","LIST","GETNAME","PAUSE","REPLY","SETNAME","CLUSTER","ADDSLOTS","COUNT-FAILURE-REPORTS","COUNTKEYSINSLOT","DELSLOTS","FAILOVER","FORGET","GETKEYSINSLOT","INFO","KEYSLOT","MEET","NODES","REPLICATE","RESET","SAVECONFIG","SET-CONFIG-EPOCH","SETSLOT","SLAVES","SLOTS","COMMAND","COUNT","GETKEYS","CONFIG","GET","REWRITE","SET","RESETSTAT","DBSIZE","DEBUG","OBJECT","SEGFAULT","DECR","DECRBY","DEL","DISCARD","DUMP","ECHO","EVAL","EVALSHA","EXEC","EXISTS","EXPIRE","EXPIREAT","FLUSHALL","FLUSHDB","GEOADD","GEOHASH","GEOPOS","GEODIST","GEORADIUS","GEORADIUSBYMEMBER","GETBIT","GETRANGE","GETSET","HDEL","HEXISTS","HGET","HGETALL","HINCRBY","HINCRBYFLOAT","HKEYS","HLEN","HMGET","HMSET","HSET","HSETNX","HSTRLEN","HVALS","INCR","INCRBY","INCRBYFLOAT","KEYS","LASTSAVE","LINDEX","LINSERT","LLEN","LPOP","LPUSH","LPUSHX","LRANGE","LREM","LSET","LTRIM","MGET","MIGRATE","MONITOR","MOVE","MSET","MSETNX","MULTI","PERSIST","PEXPIRE","PEXPIREAT","PFADD","PFCOUNT","PFMERGE","PING","PSETEX","PSUBSCRIBE","PUBSUB","PTTL","PUBLISH","PUNSUBSCRIBE","QUIT","RANDOMKEY","READONLY","READWRITE","RENAME","RENAMENX","RESTORE","ROLE","RPOP","RPOPLPUSH","RPUSH","RPUSHX","SADD","SAVE","SCARD","SCRIPT","FLUSH","LOAD","SDIFF","SDIFFSTORE","SELECT","SETBIT","SETEX","SETNX","SETRANGE","SHUTDOWN","SINTER","SINTERSTORE","SISMEMBER","SLAVEOF","SLOWLOG","SMEMBERS","SMOVE","SORT","SPOP","SRANDMEMBER","SREM","STRLEN","SUBSCRIBE","SUNION","SUNIONSTORE","SWAPDB","SYNC","TIME","TOUCH","TTL","TYPE","UNSUBSCRIBE","UNLINK","UNWATCH","WAIT","WATCH","ZADD","ZCARD","ZCOUNT","ZINCRBY","ZINTERSTORE","ZLEXCOUNT","ZRANGE","ZRANGEBYLEX","ZREVRANGEBYLEX","ZRANGEBYSCORE","ZRANK","ZREM","ZREMRANGEBYLEX","ZREMRANGEBYRANK","ZREMRANGEBYSCORE","ZREVRANGE","ZREVRANGEBYSCORE","ZREVRANK","ZSCORE","ZUNIONSTORE","SCAN","SSCAN","HSCAN","ZSCAN"],operators:[],builtinFunctions:[],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],scopes:[]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redshift/redshift.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redshift/redshift.js new file mode 100755 index 00000000..b0b4518d --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/redshift/redshift.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/redshift/redshift",["require","exports"],(function(e,_){"use strict";Object.defineProperty(_,"__esModule",{value:!0}),_.conf={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},_.language={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BLANKSASNULL","BOTH","BYTEDICT","BZIP2","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","CREDENTIALS","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURRENT_USER_ID","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DELTA","DELTA32K","DESC","DISABLE","DISTINCT","DO","ELSE","EMPTYASNULL","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","END","EXCEPT","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GRANT","GROUP","GZIP","HAVING","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","LZO","LZOP","MINUS","MOSTLY13","MOSTLY32","MOSTLY8","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","OR","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RAW","READRATIO","RECOVER","REFERENCES","RESPECT","REJECTLOG","RESORT","RESTORE","RIGHT","SELECT","SESSION_USER","SIMILAR","SNAPSHOT","SOME","SYSDATE","SYSTEM","TABLE","TAG","TDES","TEXT255","TEXT32K","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","TRUNCATECOLUMNS","UNION","UNIQUE","USER","USING","VERBOSE","WALLET","WHEN","WHERE","WITH","WITHOUT"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL","INTERSECT","UNION","INNER","JOIN","LEFT","OUTER","RIGHT"],builtinFunctions:["current_schema","current_schemas","has_database_privilege","has_schema_privilege","has_table_privilege","age","current_time","current_timestamp","localtime","isfinite","now","ascii","get_bit","get_byte","set_bit","set_byte","to_ascii","approximate percentile_disc","avg","count","listagg","max","median","min","percentile_cont","stddev_samp","stddev_pop","sum","var_samp","var_pop","bit_and","bit_or","bool_and","bool_or","cume_dist","first_value","lag","last_value","lead","nth_value","ratio_to_report","dense_rank","ntile","percent_rank","rank","row_number","case","coalesce","decode","greatest","least","nvl","nvl2","nullif","add_months","at time zone","convert_timezone","current_date","date_cmp","date_cmp_timestamp","date_cmp_timestamptz","date_part_year","dateadd","datediff","date_part","date_trunc","extract","getdate","interval_cmp","last_day","months_between","next_day","sysdate","timeofday","timestamp_cmp","timestamp_cmp_date","timestamp_cmp_timestamptz","timestamptz_cmp","timestamptz_cmp_date","timestamptz_cmp_timestamp","timezone","to_timestamp","trunc","abs","acos","asin","atan","atan2","cbrt","ceil","ceiling","checksum","cos","cot","degrees","dexp","dlog1","dlog10","exp","floor","ln","log","mod","pi","power","radians","random","round","sin","sign","sqrt","tan","to_hex","bpcharcmp","btrim","bttext_pattern_cmp","char_length","character_length","charindex","chr","concat","crc32","func_sha1","initcap","left and rights","len","length","lower","lpad and rpads","ltrim","md5","octet_length","position","quote_ident","quote_literal","regexp_count","regexp_instr","regexp_replace","regexp_substr","repeat","replace","replicate","reverse","rtrim","split_part","strpos","strtol","substring","textlen","translate","trim","upper","cast","convert","to_char","to_date","to_number","json_array_length","json_extract_array_element_text","json_extract_path_text","current_setting","pg_cancel_backend","pg_terminate_backend","set_config","current_database","current_user","current_user_id","pg_backend_pid","pg_last_copy_count","pg_last_copy_id","pg_last_query_id","pg_last_unload_count","session_user","slice_num","user","version","abbrev","acosd","any","area","array_agg","array_append","array_cat","array_dims","array_fill","array_length","array_lower","array_ndims","array_position","array_positions","array_prepend","array_remove","array_replace","array_to_json","array_to_string","array_to_tsvector","array_upper","asind","atan2d","atand","bit","bit_length","bound_box","box","brin_summarize_new_values","broadcast","cardinality","center","circle","clock_timestamp","col_description","concat_ws","convert_from","convert_to","corr","cosd","cotd","covar_pop","covar_samp","current_catalog","current_query","current_role","currval","cursor_to_xml","diameter","div","encode","enum_first","enum_last","enum_range","every","family","format","format_type","generate_series","generate_subscripts","get_current_ts_config","gin_clean_pending_list","grouping","has_any_column_privilege","has_column_privilege","has_foreign_data_wrapper_privilege","has_function_privilege","has_language_privilege","has_sequence_privilege","has_server_privilege","has_tablespace_privilege","has_type_privilege","height","host","hostmask","inet_client_addr","inet_client_port","inet_merge","inet_same_family","inet_server_addr","inet_server_port","isclosed","isempty","isopen","json_agg","json_object","json_object_agg","json_populate_record","json_populate_recordset","json_to_record","json_to_recordset","jsonb_agg","jsonb_object_agg","justify_days","justify_hours","justify_interval","lastval","left","line","localtimestamp","lower_inc","lower_inf","lpad","lseg","make_date","make_interval","make_time","make_timestamp","make_timestamptz","masklen","mode","netmask","network","nextval","npoints","num_nonnulls","num_nulls","numnode","obj_description","overlay","parse_ident","path","pclose","percentile_disc","pg_advisory_lock","pg_advisory_lock_shared","pg_advisory_unlock","pg_advisory_unlock_all","pg_advisory_unlock_shared","pg_advisory_xact_lock","pg_advisory_xact_lock_shared","pg_backup_start_time","pg_blocking_pids","pg_client_encoding","pg_collation_is_visible","pg_column_size","pg_conf_load_time","pg_control_checkpoint","pg_control_init","pg_control_recovery","pg_control_system","pg_conversion_is_visible","pg_create_logical_replication_slot","pg_create_physical_replication_slot","pg_create_restore_point","pg_current_xlog_flush_location","pg_current_xlog_insert_location","pg_current_xlog_location","pg_database_size","pg_describe_object","pg_drop_replication_slot","pg_export_snapshot","pg_filenode_relation","pg_function_is_visible","pg_get_constraintdef","pg_get_expr","pg_get_function_arguments","pg_get_function_identity_arguments","pg_get_function_result","pg_get_functiondef","pg_get_indexdef","pg_get_keywords","pg_get_object_address","pg_get_owned_sequence","pg_get_ruledef","pg_get_serial_sequence","pg_get_triggerdef","pg_get_userbyid","pg_get_viewdef","pg_has_role","pg_identify_object","pg_identify_object_as_address","pg_index_column_has_property","pg_index_has_property","pg_indexam_has_property","pg_indexes_size","pg_is_in_backup","pg_is_in_recovery","pg_is_other_temp_schema","pg_is_xlog_replay_paused","pg_last_committed_xact","pg_last_xact_replay_timestamp","pg_last_xlog_receive_location","pg_last_xlog_replay_location","pg_listening_channels","pg_logical_emit_message","pg_logical_slot_get_binary_changes","pg_logical_slot_get_changes","pg_logical_slot_peek_binary_changes","pg_logical_slot_peek_changes","pg_ls_dir","pg_my_temp_schema","pg_notification_queue_usage","pg_opclass_is_visible","pg_operator_is_visible","pg_opfamily_is_visible","pg_options_to_table","pg_postmaster_start_time","pg_read_binary_file","pg_read_file","pg_relation_filenode","pg_relation_filepath","pg_relation_size","pg_reload_conf","pg_replication_origin_create","pg_replication_origin_drop","pg_replication_origin_oid","pg_replication_origin_progress","pg_replication_origin_session_is_setup","pg_replication_origin_session_progress","pg_replication_origin_session_reset","pg_replication_origin_session_setup","pg_replication_origin_xact_reset","pg_replication_origin_xact_setup","pg_rotate_logfile","pg_size_bytes","pg_size_pretty","pg_sleep","pg_sleep_for","pg_sleep_until","pg_start_backup","pg_stat_file","pg_stop_backup","pg_switch_xlog","pg_table_is_visible","pg_table_size","pg_tablespace_databases","pg_tablespace_location","pg_tablespace_size","pg_total_relation_size","pg_trigger_depth","pg_try_advisory_lock","pg_try_advisory_lock_shared","pg_try_advisory_xact_lock","pg_try_advisory_xact_lock_shared","pg_ts_config_is_visible","pg_ts_dict_is_visible","pg_ts_parser_is_visible","pg_ts_template_is_visible","pg_type_is_visible","pg_typeof","pg_xact_commit_timestamp","pg_xlog_location_diff","pg_xlog_replay_pause","pg_xlog_replay_resume","pg_xlogfile_name","pg_xlogfile_name_offset","phraseto_tsquery","plainto_tsquery","point","polygon","popen","pqserverversion","query_to_xml","querytree","quote_nullable","radius","range_merge","regexp_matches","regexp_split_to_array","regexp_split_to_table","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","right","row_security_active","row_to_json","rpad","scale","set_masklen","setseed","setval","setweight","shobj_description","sind","sprintf","statement_timestamp","stddev","string_agg","string_to_array","strip","substr","table_to_xml","table_to_xml_and_xmlschema","tand","text","to_json","to_regclass","to_regnamespace","to_regoper","to_regoperator","to_regproc","to_regprocedure","to_regrole","to_regtype","to_tsquery","to_tsvector","transaction_timestamp","ts_debug","ts_delete","ts_filter","ts_headline","ts_lexize","ts_parse","ts_rank","ts_rank_cd","ts_rewrite","ts_stat","ts_token_type","tsquery_phrase","tsvector_to_array","tsvector_update_trigger","tsvector_update_trigger_column","txid_current","txid_current_snapshot","txid_snapshot_xip","txid_snapshot_xmax","txid_snapshot_xmin","txid_visible_in_snapshot","unnest","upper_inc","upper_inf","variance","width","width_bucket","xml_is_well_formed","xml_is_well_formed_content","xml_is_well_formed_document","xmlagg","xmlcomment","xmlconcat","xmlelement","xmlexists","xmlforest","xmlparse","xmlpi","xmlroot","xmlserialize","xpath","xpath_exists"],builtinVariables:[],pseudoColumns:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js new file mode 100755 index 00000000..10cd8731 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/restructuredtext/restructuredtext",["require","exports"],(function(e,s){"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},s.language={defaultToken:"",tokenPostfix:".rst",control:/[\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],alphanumerics:/[A-Za-z0-9]/,alphanumericsplus:/[A-Za-z0-9-_+:.]/,simpleRefNameWithoutBq:/(?:@alphanumerics@alphanumericsplus*@alphanumerics)+|(?:@alphanumerics+)/,simpleRefName:/(?:`@simpleRefNameWithoutBq`|@simpleRefNameWithoutBq)/,phrase:/@simpleRefName(?:\s@simpleRefName)*/,citationName:/[A-Za-z][A-Za-z0-9-_.]*/,blockLiteralStart:/(?:[!"#$%&'()*+,-./:;<=>?@\[\]^_`{|}~]|[\s])/,precedingChars:/(?:[ -:/'"<([{])/,followingChars:/(?:[ -.,:;!?/'")\]}>]|$)/,punctuation:/(=|-|~|`|#|"|\^|\+|\*|:|\.|'|_|\+)/,tokenizer:{root:[[/^(@punctuation{3,}$){1,1}?/,"keyword"],[/^\s*([\*\-+‣•]|[a-zA-Z0-9]+\.|\([a-zA-Z0-9]+\)|[a-zA-Z0-9]+\))\s/,"keyword"],[/([ ]::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],[/(::)\s*$/,"keyword","@blankLineOfLiteralBlocks"],{include:"@tables"},{include:"@explicitMarkupBlocks"},{include:"@inlineMarkup"}],explicitMarkupBlocks:[{include:"@citations"},{include:"@footnotes"},[/^(\.\.\s)(@simpleRefName)(::\s)(.*)$/,[{token:"",next:"subsequentLines"},"keyword","",""]],[/^(\.\.)(\s+)(_)(@simpleRefName)(:)(\s+)(.*)/,[{token:"",next:"hyperlinks"},"","","string.link","","","string.link"]],[/^((?:(?:\.\.)(?:\s+))?)(__)(:)(\s+)(.*)/,[{token:"",next:"subsequentLines"},"","","","string.link"]],[/^(__\s+)(.+)/,["","string.link"]],[/^(\.\.)( \|)([^| ]+[^|]*[^| ]*)(\| )(@simpleRefName)(:: .*)/,[{token:"",next:"subsequentLines"},"","string.link","","keyword",""],"@rawBlocks"],[/(\|)([^| ]+[^|]*[^| ]*)(\|_{0,2})/,["","string.link",""]],[/^(\.\.)([ ].*)$/,[{token:"",next:"@comments"},"comment"]]],inlineMarkup:[{include:"@citationsReference"},{include:"@footnotesReference"},[/(@simpleRefName)(_{1,2})/,["string.link",""]],[/(`)([^<`]+\s+)(<)(.*)(>)(`)(_)/,["","string.link","","string.link","","",""]],[/\*\*([^\\*]|\*(?!\*))+\*\*/,"strong"],[/\*[^*]+\*/,"emphasis"],[/(``)((?:[^`]|\`(?!`))+)(``)/,["","keyword",""]],[/(__\s+)(.+)/,["","keyword"]],[/(:)((?:@simpleRefNameWithoutBq)?)(:`)([^`]+)(`)/,["","keyword","","",""]],[/(`)([^`]+)(`:)((?:@simpleRefNameWithoutBq)?)(:)/,["","","","keyword",""]],[/(`)([^`]+)(`)/,""],[/(_`)(@phrase)(`)/,["","string.link",""]]],citations:[[/^(\.\.\s+\[)((?:@citationName))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],citationsReference:[[/(\[)(@citationName)(\]_)/,["","string.link",""]]],footnotes:[[/^(\.\.\s+\[)((?:[0-9]+))(\]\s+.*)/,[{token:"",next:"@subsequentLines"},"string.link",""]],[/^(\.\.\s+\[)((?:#@simpleRefName?))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]],[/^(\.\.\s+\[)((?:\*))(\]\s+)(.*)/,[{token:"",next:"@subsequentLines"},"string.link","",""]]],footnotesReference:[[/(\[)([0-9]+)(\])(_)/,["","string.link","",""]],[/(\[)(#@simpleRefName?)(\])(_)/,["","string.link","",""]],[/(\[)(\*)(\])(_)/,["","string.link","",""]]],blankLineOfLiteralBlocks:[[/^$/,"","@subsequentLinesOfLiteralBlocks"],[/^.*$/,"","@pop"]],subsequentLinesOfLiteralBlocks:[[/(@blockLiteralStart+)(.*)/,["keyword",""]],[/^(?!blockLiteralStart)/,"","@popall"]],subsequentLines:[[/^[\s]+.*/,""],[/^(?!\s)/,"","@pop"]],hyperlinks:[[/^[\s]+.*/,"string.link"],[/^(?!\s)/,"","@pop"]],comments:[[/^[\s]+.*/,"comment"],[/^(?!\s)/,"","@pop"]],tables:[[/\+-[+-]+/,"keyword"],[/\+=[+=]+/,"keyword"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ruby/ruby.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ruby/ruby.js new file mode 100755 index 00000000..99704cf2 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/ruby/ruby.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/ruby/ruby",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"#",blockComment:["=begin","=end"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],indentationRules:{increaseIndentPattern:new RegExp("^\\s*((begin|class|(private|protected)\\s+def|def|else|elsif|ensure|for|if|module|rescue|unless|until|when|while|case)|([^#]*\\sdo\\b)|([^#]*=\\s*(case|if|unless)))\\b([^#\\{;]|(\"|'|/).*\\4)*(#.*)?$"),decreaseIndentPattern:new RegExp("^\\s*([}\\]]([,)]?\\s*(#|$)|\\.[a-zA-Z_]\\w*\\b)|(end|rescue|ensure|else|elsif|when)\\b)")}},t.language={tokenPostfix:".ruby",keywords:["__LINE__","__ENCODING__","__FILE__","BEGIN","END","alias","and","begin","break","case","class","def","defined?","do","else","elsif","end","ensure","for","false","if","in","module","next","nil","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield"],keywordops:["::","..","...","?",":","=>"],builtins:["require","public","private","include","extend","attr_reader","protected","private_class_method","protected_class_method","new"],declarations:["module","class","def","case","do","begin","for","if","while","until","unless"],linedecls:["def","case","do","begin","for","if","while","until","unless"],operators:["^","&","|","<=>","==","===","!~","=~",">",">=","<","<=","<<",">>","+","-","*","/","%","**","~","+@","-@","[]","[]=","`","+=","-=","*=","**=","/=","^=","%=","<<=",">>=","&=","&&=","||=","|="],brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],symbols:/[=>"}],[/%([qws])(@delim)/,{token:"string.$1.delim",switchTo:"@qstring.$1.$2.$2"}],[/%r\(/,{token:"regexp.delim",switchTo:"@pregexp.(.)"}],[/%r\[/,{token:"regexp.delim",switchTo:"@pregexp.[.]"}],[/%r\{/,{token:"regexp.delim",switchTo:"@pregexp.{.}"}],[/%r"}],[/%r(@delim)/,{token:"regexp.delim",switchTo:"@pregexp.$1.$1"}],[/%(x|W|Q?)\(/,{token:"string.$1.delim",switchTo:"@qqstring.$1.(.)"}],[/%(x|W|Q?)\[/,{token:"string.$1.delim",switchTo:"@qqstring.$1.[.]"}],[/%(x|W|Q?)\{/,{token:"string.$1.delim",switchTo:"@qqstring.$1.{.}"}],[/%(x|W|Q?)"}],[/%(x|W|Q?)(@delim)/,{token:"string.$1.delim",switchTo:"@qqstring.$1.$2.$2"}],[/%([rqwsxW]|Q?)./,{token:"invalid",next:"@pop"}],[/./,{token:"invalid",next:"@pop"}]],qstring:[[/\\$/,"string.$S2.escape"],[/\\./,"string.$S2.escape"],[/./,{cases:{"$#==$S4":{token:"string.$S2.delim",next:"@pop"},"$#==$S3":{token:"string.$S2.delim",next:"@push"},"@default":"string.$S2"}}]],qqstring:[[/#/,"string.$S2.escape","@interpolated"],{include:"@qstring"}],whitespace:[[/[ \t\r\n]+/,""],[/^\s*=begin\b/,"comment","@comment"],[/#.*$/,"comment"]],comment:[[/[^=]+/,"comment"],[/^\s*=begin\b/,"comment.invalid"],[/^\s*=end\b.*/,"comment","@pop"],[/[=]/,"comment"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/rust/rust.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/rust/rust.js new file mode 100755 index 00000000..e965bab0 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/rust/rust.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/rust/rust",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},t.language={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sb/sb.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sb/sb.js new file mode 100755 index 00000000..74328632 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sb/sb.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/sb/sb",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:"'"},brackets:[["(",")"],["[","]"],["If","EndIf"],["While","EndWhile"],["For","EndFor"],["Sub","EndSub"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]}]},o.language={defaultToken:"",tokenPostfix:".sb",ignoreCase:!0,brackets:[{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"keyword.tag-if",open:"If",close:"EndIf"},{token:"keyword.tag-while",open:"While",close:"EndWhile"},{token:"keyword.tag-for",open:"For",close:"EndFor"},{token:"keyword.tag-sub",open:"Sub",close:"EndSub"}],keywords:["Else","ElseIf","EndFor","EndIf","EndSub","EndWhile","For","Goto","If","Step","Sub","Then","To","While"],tagwords:["If","Sub","While","For"],operators:[">","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scheme/scheme.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scheme/scheme.js new file mode 100755 index 00000000..422fa4f0 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scheme/scheme.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/scheme/scheme",["require","exports"],(function(e,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.conf={comments:{lineComment:";",blockComment:["#|","|#"]},brackets:[["(",")"],["{","}"],["[","]"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},o.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".scheme",brackets:[{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"}],keywords:["case","do","let","loop","if","else","when","cons","car","cdr","cond","lambda","lambda*","syntax-rules","format","set!","quote","eval","append","list","list?","member?","load"],constants:["#t","#f"],operators:["eq?","eqv?","equal?","and","or","not","null?"],tokenizer:{root:[[/#[xXoObB][0-9a-fA-F]+/,"number.hex"],[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?/,"number.float"],[/(?:\b(?:(define|define-syntax|define-macro))\b)(\s+)((?:\w|\-|\!|\?)*)/,["keyword","white","variable"]],{include:"@whitespace"},{include:"@strings"},[/[a-zA-Z_#][a-zA-Z0-9_\-\?\!\*]*/,{cases:{"@keywords":"keyword","@constants":"constant","@operators":"operators","@default":"identifier"}}]],comment:[[/[^\|#]+/,"comment"],[/#\|/,"comment","@push"],[/\|#/,"comment","@pop"],[/[\|#]/,"comment"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#\|/,"comment","@comment"],[/;.*$/,"comment"]],strings:[[/"$/,"string","@popall"],[/"(?=.)/,"string","@multiLineString"]],multiLineString:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string.escape"],[/"/,"string","@popall"],[/\\$/,"string"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scss/scss.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scss/scss.js new file mode 100755 index 00000000..886ea0c7 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/scss/scss.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/scss/scss",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={wordPattern:/(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t.language={defaultToken:"",tokenPostfix:".scss",ws:"[ \t\n\r\f]*",identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@variabledeclaration"},{include:"@warndebug"},["[@](include)",{token:"keyword",next:"@includedeclaration"}],["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["[@](function)",{token:"keyword",next:"@functiondeclaration"}],["[@](mixin)",{token:"keyword",next:"@mixindeclaration"}],["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@controlstatement"},{include:"@selectorname"},["[&\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.curly",next:"@selectorbody"}]],selectorbody:[["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],{include:"@selector"},["[@](extend)",{token:"keyword",next:"@extendbody"}],["[@](return)",{token:"keyword",next:"@declarationbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],selectorname:[["#{",{token:"meta",next:"@variableinterpolation"}],["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["url(\\-prefix)?\\(",{token:"meta",next:"@urldeclaration"}],{include:"@functioninvocation"},{include:"@numbers"},{include:"@strings"},{include:"@variablereference"},["(and\\b|or\\b|not\\b)","operator"],{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","operator"],[",","delimiter"],["!default","literal"],["\\(",{token:"delimiter.parenthesis",next:"@parenthizedterm"}]],rulevalue:[{include:"@term"},["!important","literal"],[";","delimiter","@pop"],["{",{token:"delimiter.curly",switchTo:"@nestedproperty"}],["(?=})",{token:"",next:"@pop"}]],nestedproperty:[["[*_]?@identifier@ws:","attribute.name","@rulevalue"],{include:"@comments"},["}",{token:"delimiter.curly",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],variabledeclaration:[["\\$@identifier@ws:","variable.decl","@declarationbody"]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"meta",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],extendbody:[{include:"@selectorname"},["!optional","literal"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],variablereference:[["\\$@identifier","variable.ref"],["\\.\\.\\.","operator"],["#{",{token:"meta",next:"@variableinterpolation"}]],variableinterpolation:[{include:"@variablereference"},["}",{token:"meta",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[".","comment"]],name:[["@identifier","attribute.value"]],numbers:[["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","number.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","number","@pop"]],functiondeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["{",{token:"delimiter.curly",switchTo:"@functionbody"}]],mixindeclaration:[["@identifier@ws\\(",{token:"meta",next:"@parameterdeclaration"}],["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],parameterdeclaration:[["\\$@identifier@ws:","variable.decl"],["\\.\\.\\.","operator"],[",","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],includedeclaration:[{include:"@functioninvocation"},["@identifier","meta"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}],["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],keyframedeclaration:[["@identifier","meta"],["{",{token:"delimiter.curly",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.curly",next:"@selectorbody"}],["}",{token:"delimiter.curly",next:"@pop"}]],controlstatement:[["[@](if|else|for|while|each|media)",{token:"keyword.flow",next:"@controlstatementdeclaration"}]],controlstatementdeclaration:[["(in|from|through|if|to)\\b",{token:"keyword.flow"}],{include:"@term"},["{",{token:"delimiter.curly",switchTo:"@selectorbody"}]],functionbody:[["[@](return)",{token:"keyword"}],{include:"@variabledeclaration"},{include:"@term"},{include:"@controlstatement"},[";","delimiter"],["}",{token:"delimiter.curly",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"meta",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"meta",next:"@pop"}]],strings:[['~?"',{token:"string.delimiter",next:"@stringenddoublequote"}],["~?'",{token:"string.delimiter",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string.delimiter",next:"@pop"}],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string.delimiter",next:"@pop"}],[".","string"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/shell/shell.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/shell/shell.js new file mode 100755 index 00000000..c00e0539 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/shell/shell.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/shell/shell",["require","exports"],(function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.conf={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},r.language={defaultToken:"",ignoreCase:!0,tokenPostfix:".shell",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","then","do","else","elif","while","until","for","in","esac","fi","fin","fil","done","exit","set","unset","export","function"],builtins:["ab","awk","bash","beep","cat","cc","cd","chown","chmod","chroot","clear","cp","curl","cut","diff","echo","find","gawk","gcc","get","git","grep","hg","kill","killall","ln","ls","make","mkdir","openssl","mv","nc","node","npm","ping","ps","restart","rm","rmdir","sed","service","sh","shopt","shred","source","sort","sleep","ssh","start","stop","su","sudo","svn","tee","telnet","top","touch","vi","vim","wall","wc","wget","who","write","yes","zsh"],symbols:/[=>"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},e.language={defaultToken:"",tokenPostfix:".sol",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["pragma","solidity","contract","library","using","struct","function","modifier","constructor","address","string","bool","Int","Uint","Byte","Fixed","Ufixed","int","int8","int16","int24","int32","int40","int48","int56","int64","int72","int80","int88","int96","int104","int112","int120","int128","int136","int144","int152","int160","int168","int176","int184","int192","int200","int208","int216","int224","int232","int240","int248","int256","uint","uint8","uint16","uint24","uint32","uint40","uint48","uint56","uint64","uint72","uint80","uint88","uint96","uint104","uint112","uint120","uint128","uint136","uint144","uint152","uint160","uint168","uint176","uint184","uint192","uint200","uint208","uint216","uint224","uint232","uint240","uint248","uint256","byte","bytes","bytes1","bytes2","bytes3","bytes4","bytes5","bytes6","bytes7","bytes8","bytes9","bytes10","bytes11","bytes12","bytes13","bytes14","bytes15","bytes16","bytes17","bytes18","bytes19","bytes20","bytes21","bytes22","bytes23","bytes24","bytes25","bytes26","bytes27","bytes28","bytes29","bytes30","bytes31","bytes32","fixed","fixed0x8","fixed0x16","fixed0x24","fixed0x32","fixed0x40","fixed0x48","fixed0x56","fixed0x64","fixed0x72","fixed0x80","fixed0x88","fixed0x96","fixed0x104","fixed0x112","fixed0x120","fixed0x128","fixed0x136","fixed0x144","fixed0x152","fixed0x160","fixed0x168","fixed0x176","fixed0x184","fixed0x192","fixed0x200","fixed0x208","fixed0x216","fixed0x224","fixed0x232","fixed0x240","fixed0x248","fixed0x256","fixed8x8","fixed8x16","fixed8x24","fixed8x32","fixed8x40","fixed8x48","fixed8x56","fixed8x64","fixed8x72","fixed8x80","fixed8x88","fixed8x96","fixed8x104","fixed8x112","fixed8x120","fixed8x128","fixed8x136","fixed8x144","fixed8x152","fixed8x160","fixed8x168","fixed8x176","fixed8x184","fixed8x192","fixed8x200","fixed8x208","fixed8x216","fixed8x224","fixed8x232","fixed8x240","fixed8x248","fixed16x8","fixed16x16","fixed16x24","fixed16x32","fixed16x40","fixed16x48","fixed16x56","fixed16x64","fixed16x72","fixed16x80","fixed16x88","fixed16x96","fixed16x104","fixed16x112","fixed16x120","fixed16x128","fixed16x136","fixed16x144","fixed16x152","fixed16x160","fixed16x168","fixed16x176","fixed16x184","fixed16x192","fixed16x200","fixed16x208","fixed16x216","fixed16x224","fixed16x232","fixed16x240","fixed24x8","fixed24x16","fixed24x24","fixed24x32","fixed24x40","fixed24x48","fixed24x56","fixed24x64","fixed24x72","fixed24x80","fixed24x88","fixed24x96","fixed24x104","fixed24x112","fixed24x120","fixed24x128","fixed24x136","fixed24x144","fixed24x152","fixed24x160","fixed24x168","fixed24x176","fixed24x184","fixed24x192","fixed24x200","fixed24x208","fixed24x216","fixed24x224","fixed24x232","fixed32x8","fixed32x16","fixed32x24","fixed32x32","fixed32x40","fixed32x48","fixed32x56","fixed32x64","fixed32x72","fixed32x80","fixed32x88","fixed32x96","fixed32x104","fixed32x112","fixed32x120","fixed32x128","fixed32x136","fixed32x144","fixed32x152","fixed32x160","fixed32x168","fixed32x176","fixed32x184","fixed32x192","fixed32x200","fixed32x208","fixed32x216","fixed32x224","fixed40x8","fixed40x16","fixed40x24","fixed40x32","fixed40x40","fixed40x48","fixed40x56","fixed40x64","fixed40x72","fixed40x80","fixed40x88","fixed40x96","fixed40x104","fixed40x112","fixed40x120","fixed40x128","fixed40x136","fixed40x144","fixed40x152","fixed40x160","fixed40x168","fixed40x176","fixed40x184","fixed40x192","fixed40x200","fixed40x208","fixed40x216","fixed48x8","fixed48x16","fixed48x24","fixed48x32","fixed48x40","fixed48x48","fixed48x56","fixed48x64","fixed48x72","fixed48x80","fixed48x88","fixed48x96","fixed48x104","fixed48x112","fixed48x120","fixed48x128","fixed48x136","fixed48x144","fixed48x152","fixed48x160","fixed48x168","fixed48x176","fixed48x184","fixed48x192","fixed48x200","fixed48x208","fixed56x8","fixed56x16","fixed56x24","fixed56x32","fixed56x40","fixed56x48","fixed56x56","fixed56x64","fixed56x72","fixed56x80","fixed56x88","fixed56x96","fixed56x104","fixed56x112","fixed56x120","fixed56x128","fixed56x136","fixed56x144","fixed56x152","fixed56x160","fixed56x168","fixed56x176","fixed56x184","fixed56x192","fixed56x200","fixed64x8","fixed64x16","fixed64x24","fixed64x32","fixed64x40","fixed64x48","fixed64x56","fixed64x64","fixed64x72","fixed64x80","fixed64x88","fixed64x96","fixed64x104","fixed64x112","fixed64x120","fixed64x128","fixed64x136","fixed64x144","fixed64x152","fixed64x160","fixed64x168","fixed64x176","fixed64x184","fixed64x192","fixed72x8","fixed72x16","fixed72x24","fixed72x32","fixed72x40","fixed72x48","fixed72x56","fixed72x64","fixed72x72","fixed72x80","fixed72x88","fixed72x96","fixed72x104","fixed72x112","fixed72x120","fixed72x128","fixed72x136","fixed72x144","fixed72x152","fixed72x160","fixed72x168","fixed72x176","fixed72x184","fixed80x8","fixed80x16","fixed80x24","fixed80x32","fixed80x40","fixed80x48","fixed80x56","fixed80x64","fixed80x72","fixed80x80","fixed80x88","fixed80x96","fixed80x104","fixed80x112","fixed80x120","fixed80x128","fixed80x136","fixed80x144","fixed80x152","fixed80x160","fixed80x168","fixed80x176","fixed88x8","fixed88x16","fixed88x24","fixed88x32","fixed88x40","fixed88x48","fixed88x56","fixed88x64","fixed88x72","fixed88x80","fixed88x88","fixed88x96","fixed88x104","fixed88x112","fixed88x120","fixed88x128","fixed88x136","fixed88x144","fixed88x152","fixed88x160","fixed88x168","fixed96x8","fixed96x16","fixed96x24","fixed96x32","fixed96x40","fixed96x48","fixed96x56","fixed96x64","fixed96x72","fixed96x80","fixed96x88","fixed96x96","fixed96x104","fixed96x112","fixed96x120","fixed96x128","fixed96x136","fixed96x144","fixed96x152","fixed96x160","fixed104x8","fixed104x16","fixed104x24","fixed104x32","fixed104x40","fixed104x48","fixed104x56","fixed104x64","fixed104x72","fixed104x80","fixed104x88","fixed104x96","fixed104x104","fixed104x112","fixed104x120","fixed104x128","fixed104x136","fixed104x144","fixed104x152","fixed112x8","fixed112x16","fixed112x24","fixed112x32","fixed112x40","fixed112x48","fixed112x56","fixed112x64","fixed112x72","fixed112x80","fixed112x88","fixed112x96","fixed112x104","fixed112x112","fixed112x120","fixed112x128","fixed112x136","fixed112x144","fixed120x8","fixed120x16","fixed120x24","fixed120x32","fixed120x40","fixed120x48","fixed120x56","fixed120x64","fixed120x72","fixed120x80","fixed120x88","fixed120x96","fixed120x104","fixed120x112","fixed120x120","fixed120x128","fixed120x136","fixed128x8","fixed128x16","fixed128x24","fixed128x32","fixed128x40","fixed128x48","fixed128x56","fixed128x64","fixed128x72","fixed128x80","fixed128x88","fixed128x96","fixed128x104","fixed128x112","fixed128x120","fixed128x128","fixed136x8","fixed136x16","fixed136x24","fixed136x32","fixed136x40","fixed136x48","fixed136x56","fixed136x64","fixed136x72","fixed136x80","fixed136x88","fixed136x96","fixed136x104","fixed136x112","fixed136x120","fixed144x8","fixed144x16","fixed144x24","fixed144x32","fixed144x40","fixed144x48","fixed144x56","fixed144x64","fixed144x72","fixed144x80","fixed144x88","fixed144x96","fixed144x104","fixed144x112","fixed152x8","fixed152x16","fixed152x24","fixed152x32","fixed152x40","fixed152x48","fixed152x56","fixed152x64","fixed152x72","fixed152x80","fixed152x88","fixed152x96","fixed152x104","fixed160x8","fixed160x16","fixed160x24","fixed160x32","fixed160x40","fixed160x48","fixed160x56","fixed160x64","fixed160x72","fixed160x80","fixed160x88","fixed160x96","fixed168x8","fixed168x16","fixed168x24","fixed168x32","fixed168x40","fixed168x48","fixed168x56","fixed168x64","fixed168x72","fixed168x80","fixed168x88","fixed176x8","fixed176x16","fixed176x24","fixed176x32","fixed176x40","fixed176x48","fixed176x56","fixed176x64","fixed176x72","fixed176x80","fixed184x8","fixed184x16","fixed184x24","fixed184x32","fixed184x40","fixed184x48","fixed184x56","fixed184x64","fixed184x72","fixed192x8","fixed192x16","fixed192x24","fixed192x32","fixed192x40","fixed192x48","fixed192x56","fixed192x64","fixed200x8","fixed200x16","fixed200x24","fixed200x32","fixed200x40","fixed200x48","fixed200x56","fixed208x8","fixed208x16","fixed208x24","fixed208x32","fixed208x40","fixed208x48","fixed216x8","fixed216x16","fixed216x24","fixed216x32","fixed216x40","fixed224x8","fixed224x16","fixed224x24","fixed224x32","fixed232x8","fixed232x16","fixed232x24","fixed240x8","fixed240x16","fixed248x8","ufixed","ufixed0x8","ufixed0x16","ufixed0x24","ufixed0x32","ufixed0x40","ufixed0x48","ufixed0x56","ufixed0x64","ufixed0x72","ufixed0x80","ufixed0x88","ufixed0x96","ufixed0x104","ufixed0x112","ufixed0x120","ufixed0x128","ufixed0x136","ufixed0x144","ufixed0x152","ufixed0x160","ufixed0x168","ufixed0x176","ufixed0x184","ufixed0x192","ufixed0x200","ufixed0x208","ufixed0x216","ufixed0x224","ufixed0x232","ufixed0x240","ufixed0x248","ufixed0x256","ufixed8x8","ufixed8x16","ufixed8x24","ufixed8x32","ufixed8x40","ufixed8x48","ufixed8x56","ufixed8x64","ufixed8x72","ufixed8x80","ufixed8x88","ufixed8x96","ufixed8x104","ufixed8x112","ufixed8x120","ufixed8x128","ufixed8x136","ufixed8x144","ufixed8x152","ufixed8x160","ufixed8x168","ufixed8x176","ufixed8x184","ufixed8x192","ufixed8x200","ufixed8x208","ufixed8x216","ufixed8x224","ufixed8x232","ufixed8x240","ufixed8x248","ufixed16x8","ufixed16x16","ufixed16x24","ufixed16x32","ufixed16x40","ufixed16x48","ufixed16x56","ufixed16x64","ufixed16x72","ufixed16x80","ufixed16x88","ufixed16x96","ufixed16x104","ufixed16x112","ufixed16x120","ufixed16x128","ufixed16x136","ufixed16x144","ufixed16x152","ufixed16x160","ufixed16x168","ufixed16x176","ufixed16x184","ufixed16x192","ufixed16x200","ufixed16x208","ufixed16x216","ufixed16x224","ufixed16x232","ufixed16x240","ufixed24x8","ufixed24x16","ufixed24x24","ufixed24x32","ufixed24x40","ufixed24x48","ufixed24x56","ufixed24x64","ufixed24x72","ufixed24x80","ufixed24x88","ufixed24x96","ufixed24x104","ufixed24x112","ufixed24x120","ufixed24x128","ufixed24x136","ufixed24x144","ufixed24x152","ufixed24x160","ufixed24x168","ufixed24x176","ufixed24x184","ufixed24x192","ufixed24x200","ufixed24x208","ufixed24x216","ufixed24x224","ufixed24x232","ufixed32x8","ufixed32x16","ufixed32x24","ufixed32x32","ufixed32x40","ufixed32x48","ufixed32x56","ufixed32x64","ufixed32x72","ufixed32x80","ufixed32x88","ufixed32x96","ufixed32x104","ufixed32x112","ufixed32x120","ufixed32x128","ufixed32x136","ufixed32x144","ufixed32x152","ufixed32x160","ufixed32x168","ufixed32x176","ufixed32x184","ufixed32x192","ufixed32x200","ufixed32x208","ufixed32x216","ufixed32x224","ufixed40x8","ufixed40x16","ufixed40x24","ufixed40x32","ufixed40x40","ufixed40x48","ufixed40x56","ufixed40x64","ufixed40x72","ufixed40x80","ufixed40x88","ufixed40x96","ufixed40x104","ufixed40x112","ufixed40x120","ufixed40x128","ufixed40x136","ufixed40x144","ufixed40x152","ufixed40x160","ufixed40x168","ufixed40x176","ufixed40x184","ufixed40x192","ufixed40x200","ufixed40x208","ufixed40x216","ufixed48x8","ufixed48x16","ufixed48x24","ufixed48x32","ufixed48x40","ufixed48x48","ufixed48x56","ufixed48x64","ufixed48x72","ufixed48x80","ufixed48x88","ufixed48x96","ufixed48x104","ufixed48x112","ufixed48x120","ufixed48x128","ufixed48x136","ufixed48x144","ufixed48x152","ufixed48x160","ufixed48x168","ufixed48x176","ufixed48x184","ufixed48x192","ufixed48x200","ufixed48x208","ufixed56x8","ufixed56x16","ufixed56x24","ufixed56x32","ufixed56x40","ufixed56x48","ufixed56x56","ufixed56x64","ufixed56x72","ufixed56x80","ufixed56x88","ufixed56x96","ufixed56x104","ufixed56x112","ufixed56x120","ufixed56x128","ufixed56x136","ufixed56x144","ufixed56x152","ufixed56x160","ufixed56x168","ufixed56x176","ufixed56x184","ufixed56x192","ufixed56x200","ufixed64x8","ufixed64x16","ufixed64x24","ufixed64x32","ufixed64x40","ufixed64x48","ufixed64x56","ufixed64x64","ufixed64x72","ufixed64x80","ufixed64x88","ufixed64x96","ufixed64x104","ufixed64x112","ufixed64x120","ufixed64x128","ufixed64x136","ufixed64x144","ufixed64x152","ufixed64x160","ufixed64x168","ufixed64x176","ufixed64x184","ufixed64x192","ufixed72x8","ufixed72x16","ufixed72x24","ufixed72x32","ufixed72x40","ufixed72x48","ufixed72x56","ufixed72x64","ufixed72x72","ufixed72x80","ufixed72x88","ufixed72x96","ufixed72x104","ufixed72x112","ufixed72x120","ufixed72x128","ufixed72x136","ufixed72x144","ufixed72x152","ufixed72x160","ufixed72x168","ufixed72x176","ufixed72x184","ufixed80x8","ufixed80x16","ufixed80x24","ufixed80x32","ufixed80x40","ufixed80x48","ufixed80x56","ufixed80x64","ufixed80x72","ufixed80x80","ufixed80x88","ufixed80x96","ufixed80x104","ufixed80x112","ufixed80x120","ufixed80x128","ufixed80x136","ufixed80x144","ufixed80x152","ufixed80x160","ufixed80x168","ufixed80x176","ufixed88x8","ufixed88x16","ufixed88x24","ufixed88x32","ufixed88x40","ufixed88x48","ufixed88x56","ufixed88x64","ufixed88x72","ufixed88x80","ufixed88x88","ufixed88x96","ufixed88x104","ufixed88x112","ufixed88x120","ufixed88x128","ufixed88x136","ufixed88x144","ufixed88x152","ufixed88x160","ufixed88x168","ufixed96x8","ufixed96x16","ufixed96x24","ufixed96x32","ufixed96x40","ufixed96x48","ufixed96x56","ufixed96x64","ufixed96x72","ufixed96x80","ufixed96x88","ufixed96x96","ufixed96x104","ufixed96x112","ufixed96x120","ufixed96x128","ufixed96x136","ufixed96x144","ufixed96x152","ufixed96x160","ufixed104x8","ufixed104x16","ufixed104x24","ufixed104x32","ufixed104x40","ufixed104x48","ufixed104x56","ufixed104x64","ufixed104x72","ufixed104x80","ufixed104x88","ufixed104x96","ufixed104x104","ufixed104x112","ufixed104x120","ufixed104x128","ufixed104x136","ufixed104x144","ufixed104x152","ufixed112x8","ufixed112x16","ufixed112x24","ufixed112x32","ufixed112x40","ufixed112x48","ufixed112x56","ufixed112x64","ufixed112x72","ufixed112x80","ufixed112x88","ufixed112x96","ufixed112x104","ufixed112x112","ufixed112x120","ufixed112x128","ufixed112x136","ufixed112x144","ufixed120x8","ufixed120x16","ufixed120x24","ufixed120x32","ufixed120x40","ufixed120x48","ufixed120x56","ufixed120x64","ufixed120x72","ufixed120x80","ufixed120x88","ufixed120x96","ufixed120x104","ufixed120x112","ufixed120x120","ufixed120x128","ufixed120x136","ufixed128x8","ufixed128x16","ufixed128x24","ufixed128x32","ufixed128x40","ufixed128x48","ufixed128x56","ufixed128x64","ufixed128x72","ufixed128x80","ufixed128x88","ufixed128x96","ufixed128x104","ufixed128x112","ufixed128x120","ufixed128x128","ufixed136x8","ufixed136x16","ufixed136x24","ufixed136x32","ufixed136x40","ufixed136x48","ufixed136x56","ufixed136x64","ufixed136x72","ufixed136x80","ufixed136x88","ufixed136x96","ufixed136x104","ufixed136x112","ufixed136x120","ufixed144x8","ufixed144x16","ufixed144x24","ufixed144x32","ufixed144x40","ufixed144x48","ufixed144x56","ufixed144x64","ufixed144x72","ufixed144x80","ufixed144x88","ufixed144x96","ufixed144x104","ufixed144x112","ufixed152x8","ufixed152x16","ufixed152x24","ufixed152x32","ufixed152x40","ufixed152x48","ufixed152x56","ufixed152x64","ufixed152x72","ufixed152x80","ufixed152x88","ufixed152x96","ufixed152x104","ufixed160x8","ufixed160x16","ufixed160x24","ufixed160x32","ufixed160x40","ufixed160x48","ufixed160x56","ufixed160x64","ufixed160x72","ufixed160x80","ufixed160x88","ufixed160x96","ufixed168x8","ufixed168x16","ufixed168x24","ufixed168x32","ufixed168x40","ufixed168x48","ufixed168x56","ufixed168x64","ufixed168x72","ufixed168x80","ufixed168x88","ufixed176x8","ufixed176x16","ufixed176x24","ufixed176x32","ufixed176x40","ufixed176x48","ufixed176x56","ufixed176x64","ufixed176x72","ufixed176x80","ufixed184x8","ufixed184x16","ufixed184x24","ufixed184x32","ufixed184x40","ufixed184x48","ufixed184x56","ufixed184x64","ufixed184x72","ufixed192x8","ufixed192x16","ufixed192x24","ufixed192x32","ufixed192x40","ufixed192x48","ufixed192x56","ufixed192x64","ufixed200x8","ufixed200x16","ufixed200x24","ufixed200x32","ufixed200x40","ufixed200x48","ufixed200x56","ufixed208x8","ufixed208x16","ufixed208x24","ufixed208x32","ufixed208x40","ufixed208x48","ufixed216x8","ufixed216x16","ufixed216x24","ufixed216x32","ufixed216x40","ufixed224x8","ufixed224x16","ufixed224x24","ufixed224x32","ufixed232x8","ufixed232x16","ufixed232x24","ufixed240x8","ufixed240x16","ufixed248x8","event","enum","let","mapping","private","public","external","inherited","payable","true","false","var","import","constant","if","else","for","else","for","while","do","break","continue","throw","returns","return","suicide","new","is","this","super"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sophia/sophia.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sophia/sophia.js new file mode 100755 index 00000000..4f71bc53 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sophia/sophia.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/sophia/sophia",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}]},t.language={defaultToken:"",tokenPostfix:".aes",brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"},{token:"delimiter.angle",open:"<",close:">"}],keywords:["contract","library","entrypoint","function","stateful","state","hash","signature","tuple","list","address","string","bool","int","record","datatype","type","option","oracle","oracle_query","Call","Bits","Bytes","Oracle","String","Crypto","Address","Auth","Chain","None","Some","bits","bytes","event","let","map","private","public","true","false","var","if","else","throw"],operators:["=",">","<","!","~","?","::",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,"number.hex"],[/0[0-7']*[0-7](@integersuffix)/,"number.octal"],[/0[bB][0-1']*[0-1](@integersuffix)/,"number.binary"],[/\d[\d']*\d(@integersuffix)/,"number"],[/\d(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sql/sql.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sql/sql.js new file mode 100755 index 00000000..370024d2 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/sql/sql.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/sql/sql",["require","exports"],(function(E,T){"use strict";Object.defineProperty(T,"__esModule",{value:!0}),T.conf={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},T.language={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT_AFTER_WAIT","ABSENT","ABSOLUTE","ACCENT_SENSITIVITY","ACTION","ACTIVATION","ACTIVE","ADD","ADDRESS","ADMIN","AES","AES_128","AES_192","AES_256","AFFINITY","AFTER","AGGREGATE","ALGORITHM","ALL_CONSTRAINTS","ALL_ERRORMSGS","ALL_INDEXES","ALL_LEVELS","ALL_SPARSE_COLUMNS","ALLOW_CONNECTIONS","ALLOW_MULTIPLE_EVENT_LOSS","ALLOW_PAGE_LOCKS","ALLOW_ROW_LOCKS","ALLOW_SINGLE_EVENT_LOSS","ALLOW_SNAPSHOT_ISOLATION","ALLOWED","ALTER","ANONYMOUS","ANSI_DEFAULTS","ANSI_NULL_DEFAULT","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_NULLS","ANSI_PADDING","ANSI_WARNINGS","APPEND","APPLICATION","APPLICATION_LOG","ARITHABORT","ARITHIGNORE","AS","ASC","ASSEMBLY","ASYMMETRIC","ASYNCHRONOUS_COMMIT","AT","ATOMIC","ATTACH","ATTACH_REBUILD_LOG","AUDIT","AUDIT_GUID","AUTHENTICATION","AUTHORIZATION","AUTO","AUTO_CLEANUP","AUTO_CLOSE","AUTO_CREATE_STATISTICS","AUTO_SHRINK","AUTO_UPDATE_STATISTICS","AUTO_UPDATE_STATISTICS_ASYNC","AUTOMATED_BACKUP_PREFERENCE","AUTOMATIC","AVAILABILITY","AVAILABILITY_MODE","BACKUP","BACKUP_PRIORITY","BASE64","BATCHSIZE","BEGIN","BEGIN_DIALOG","BIGINT","BINARY","BINDING","BIT","BLOCKERS","BLOCKSIZE","BOUNDING_BOX","BREAK","BROKER","BROKER_INSTANCE","BROWSE","BUCKET_COUNT","BUFFER","BUFFERCOUNT","BULK","BULK_LOGGED","BY","CACHE","CALL","CALLED","CALLER","CAP_CPU_PERCENT","CASCADE","CASE","CATALOG","CATCH","CELLS_PER_OBJECT","CERTIFICATE","CHANGE_RETENTION","CHANGE_TRACKING","CHANGES","CHAR","CHARACTER","CHECK","CHECK_CONSTRAINTS","CHECK_EXPIRATION","CHECK_POLICY","CHECKALLOC","CHECKCATALOG","CHECKCONSTRAINTS","CHECKDB","CHECKFILEGROUP","CHECKIDENT","CHECKPOINT","CHECKTABLE","CLASSIFIER_FUNCTION","CLEANTABLE","CLEANUP","CLEAR","CLOSE","CLUSTER","CLUSTERED","CODEPAGE","COLLATE","COLLECTION","COLUMN","COLUMN_SET","COLUMNS","COLUMNSTORE","COLUMNSTORE_ARCHIVE","COMMIT","COMMITTED","COMPATIBILITY_LEVEL","COMPRESSION","COMPUTE","CONCAT","CONCAT_NULL_YIELDS_NULL","CONFIGURATION","CONNECT","CONSTRAINT","CONTAINMENT","CONTENT","CONTEXT","CONTINUE","CONTINUE_AFTER_ERROR","CONTRACT","CONTRACT_NAME","CONTROL","CONVERSATION","COOKIE","COPY_ONLY","COUNTER","CPU","CREATE","CREATE_NEW","CREATION_DISPOSITION","CREDENTIAL","CRYPTOGRAPHIC","CUBE","CURRENT","CURRENT_DATE","CURSOR","CURSOR_CLOSE_ON_COMMIT","CURSOR_DEFAULT","CYCLE","DATA","DATA_COMPRESSION","DATA_PURITY","DATABASE","DATABASE_DEFAULT","DATABASE_MIRRORING","DATABASE_SNAPSHOT","DATAFILETYPE","DATE","DATE_CORRELATION_OPTIMIZATION","DATEFIRST","DATEFORMAT","DATETIME","DATETIME2","DATETIMEOFFSET","DAY","DAYOFYEAR","DAYS","DB_CHAINING","DBCC","DBREINDEX","DDL_DATABASE_LEVEL_EVENTS","DEADLOCK_PRIORITY","DEALLOCATE","DEC","DECIMAL","DECLARE","DECRYPTION","DEFAULT","DEFAULT_DATABASE","DEFAULT_FULLTEXT_LANGUAGE","DEFAULT_LANGUAGE","DEFAULT_SCHEMA","DEFINITION","DELAY","DELAYED_DURABILITY","DELETE","DELETED","DENSITY_VECTOR","DENY","DEPENDENTS","DES","DESC","DESCRIPTION","DESX","DHCP","DIAGNOSTICS","DIALOG","DIFFERENTIAL","DIRECTORY_NAME","DISABLE","DISABLE_BROKER","DISABLED","DISK","DISTINCT","DISTRIBUTED","DOCUMENT","DOUBLE","DROP","DROP_EXISTING","DROPCLEANBUFFERS","DUMP","DURABILITY","DYNAMIC","EDITION","ELEMENTS","ELSE","EMERGENCY","EMPTY","EMPTYFILE","ENABLE","ENABLE_BROKER","ENABLED","ENCRYPTION","END","ENDPOINT","ENDPOINT_URL","ERRLVL","ERROR","ERROR_BROKER_CONVERSATIONS","ERRORFILE","ESCAPE","ESTIMATEONLY","EVENT","EVENT_RETENTION_MODE","EXEC","EXECUTABLE","EXECUTE","EXIT","EXPAND","EXPIREDATE","EXPIRY_DATE","EXPLICIT","EXTENDED_LOGICAL_CHECKS","EXTENSION","EXTERNAL","EXTERNAL_ACCESS","FAIL_OPERATION","FAILOVER","FAILOVER_MODE","FAILURE_CONDITION_LEVEL","FALSE","FAN_IN","FAST","FAST_FORWARD","FETCH","FIELDTERMINATOR","FILE","FILEGROUP","FILEGROWTH","FILELISTONLY","FILENAME","FILEPATH","FILESTREAM","FILESTREAM_ON","FILETABLE_COLLATE_FILENAME","FILETABLE_DIRECTORY","FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME","FILETABLE_NAMESPACE","FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME","FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME","FILLFACTOR","FILTERING","FIRE_TRIGGERS","FIRST","FIRSTROW","FLOAT","FMTONLY","FOLLOWING","FOR","FORCE","FORCE_FAILOVER_ALLOW_DATA_LOSS","FORCE_SERVICE_ALLOW_DATA_LOSS","FORCED","FORCEPLAN","FORCESCAN","FORCESEEK","FOREIGN","FORMATFILE","FORMSOF","FORWARD_ONLY","FREE","FREEPROCCACHE","FREESESSIONCACHE","FREESYSTEMCACHE","FROM","FULL","FULLSCAN","FULLTEXT","FUNCTION","GB","GEOGRAPHY_AUTO_GRID","GEOGRAPHY_GRID","GEOMETRY_AUTO_GRID","GEOMETRY_GRID","GET","GLOBAL","GO","GOTO","GOVERNOR","GRANT","GRIDS","GROUP","GROUP_MAX_REQUESTS","HADR","HASH","HASHED","HAVING","HEADERONLY","HEALTH_CHECK_TIMEOUT","HELP","HIERARCHYID","HIGH","HINT","HISTOGRAM","HOLDLOCK","HONOR_BROKER_PRIORITY","HOUR","HOURS","IDENTITY","IDENTITY_INSERT","IDENTITY_VALUE","IDENTITYCOL","IF","IGNORE_CONSTRAINTS","IGNORE_DUP_KEY","IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX","IGNORE_TRIGGERS","IMAGE","IMMEDIATE","IMPERSONATE","IMPLICIT_TRANSACTIONS","IMPORTANCE","INCLUDE","INCREMENT","INCREMENTAL","INDEX","INDEXDEFRAG","INFINITE","INFLECTIONAL","INIT","INITIATOR","INPUT","INPUTBUFFER","INSENSITIVE","INSERT","INSERTED","INSTEAD","INT","INTEGER","INTO","IO","IP","ISABOUT","ISOLATION","JOB","KB","KEEP","KEEP_CDC","KEEP_NULLS","KEEP_REPLICATION","KEEPDEFAULTS","KEEPFIXED","KEEPIDENTITY","KEEPNULLS","KERBEROS","KEY","KEY_SOURCE","KEYS","KEYSET","KILL","KILOBYTES_PER_BATCH","LABELONLY","LANGUAGE","LAST","LASTROW","LEVEL","LEVEL_1","LEVEL_2","LEVEL_3","LEVEL_4","LIFETIME","LIMIT","LINENO","LIST","LISTENER","LISTENER_IP","LISTENER_PORT","LOAD","LOADHISTORY","LOB_COMPACTION","LOCAL","LOCAL_SERVICE_NAME","LOCK_ESCALATION","LOCK_TIMEOUT","LOGIN","LOGSPACE","LOOP","LOW","MANUAL","MARK","MARK_IN_USE_FOR_REMOVAL","MASTER","MAX_CPU_PERCENT","MAX_DISPATCH_LATENCY","MAX_DOP","MAX_DURATION","MAX_EVENT_SIZE","MAX_FILES","MAX_IOPS_PER_VOLUME","MAX_MEMORY","MAX_MEMORY_PERCENT","MAX_QUEUE_READERS","MAX_ROLLOVER_FILES","MAX_SIZE","MAXDOP","MAXERRORS","MAXLENGTH","MAXRECURSION","MAXSIZE","MAXTRANSFERSIZE","MAXVALUE","MB","MEDIADESCRIPTION","MEDIANAME","MEDIAPASSWORD","MEDIUM","MEMBER","MEMORY_OPTIMIZED","MEMORY_OPTIMIZED_DATA","MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT","MEMORY_PARTITION_MODE","MERGE","MESSAGE","MESSAGE_FORWARD_SIZE","MESSAGE_FORWARDING","MICROSECOND","MILLISECOND","MIN_CPU_PERCENT","MIN_IOPS_PER_VOLUME","MIN_MEMORY_PERCENT","MINUTE","MINUTES","MINVALUE","MIRROR","MIRROR_ADDRESS","MODIFY","MONEY","MONTH","MOVE","MULTI_USER","MUST_CHANGE","NAME","NANOSECOND","NATIONAL","NATIVE_COMPILATION","NCHAR","NEGOTIATE","NESTED_TRIGGERS","NEW_ACCOUNT","NEW_BROKER","NEW_PASSWORD","NEWNAME","NEXT","NO","NO_BROWSETABLE","NO_CHECKSUM","NO_COMPRESSION","NO_EVENT_LOSS","NO_INFOMSGS","NO_TRUNCATE","NO_WAIT","NOCHECK","NOCOUNT","NOEXEC","NOEXPAND","NOFORMAT","NOINDEX","NOINIT","NOLOCK","NON","NON_TRANSACTED_ACCESS","NONCLUSTERED","NONE","NORECOMPUTE","NORECOVERY","NORESEED","NORESET","NOREWIND","NORMAL","NOSKIP","NOTIFICATION","NOTRUNCATE","NOUNLOAD","NOWAIT","NTEXT","NTLM","NUMANODE","NUMERIC","NUMERIC_ROUNDABORT","NVARCHAR","OBJECT","OF","OFF","OFFLINE","OFFSET","OFFSETS","OLD_ACCOUNT","OLD_PASSWORD","ON","ON_FAILURE","ONLINE","ONLY","OPEN","OPEN_EXISTING","OPENTRAN","OPTIMISTIC","OPTIMIZE","OPTION","ORDER","OUT","OUTPUT","OUTPUTBUFFER","OVER","OVERRIDE","OWNER","OWNERSHIP","PAD_INDEX","PAGE","PAGE_VERIFY","PAGECOUNT","PAGLOCK","PARAMETERIZATION","PARSEONLY","PARTIAL","PARTITION","PARTITIONS","PARTNER","PASSWORD","PATH","PER_CPU","PER_NODE","PERCENT","PERMISSION_SET","PERSISTED","PHYSICAL_ONLY","PLAN","POISON_MESSAGE_HANDLING","POOL","POPULATION","PORT","PRECEDING","PRECISION","PRIMARY","PRIMARY_ROLE","PRINT","PRIOR","PRIORITY","PRIORITY_LEVEL","PRIVATE","PRIVILEGES","PROC","PROCCACHE","PROCEDURE","PROCEDURE_NAME","PROCESS","PROFILE","PROPERTY","PROPERTY_DESCRIPTION","PROPERTY_INT_ID","PROPERTY_SET_GUID","PROVIDER","PROVIDER_KEY_NAME","PUBLIC","PUT","QUARTER","QUERY","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUEUE_DELAY","QUOTED_IDENTIFIER","RAISERROR","RANGE","RAW","RC2","RC4","RC4_128","READ","READ_COMMITTED_SNAPSHOT","READ_ONLY","READ_ONLY_ROUTING_LIST","READ_ONLY_ROUTING_URL","READ_WRITE","READ_WRITE_FILEGROUPS","READCOMMITTED","READCOMMITTEDLOCK","READONLY","READPAST","READTEXT","READUNCOMMITTED","READWRITE","REAL","REBUILD","RECEIVE","RECOMPILE","RECONFIGURE","RECOVERY","RECURSIVE","RECURSIVE_TRIGGERS","REFERENCES","REGENERATE","RELATED_CONVERSATION","RELATED_CONVERSATION_GROUP","RELATIVE","REMOTE","REMOTE_PROC_TRANSACTIONS","REMOTE_SERVICE_NAME","REMOVE","REORGANIZE","REPAIR_ALLOW_DATA_LOSS","REPAIR_FAST","REPAIR_REBUILD","REPEATABLE","REPEATABLEREAD","REPLICA","REPLICATION","REQUEST_MAX_CPU_TIME_SEC","REQUEST_MAX_MEMORY_GRANT_PERCENT","REQUEST_MEMORY_GRANT_TIMEOUT_SEC","REQUIRED","RESAMPLE","RESEED","RESERVE_DISK_SPACE","RESET","RESOURCE","RESTART","RESTORE","RESTRICT","RESTRICTED_USER","RESULT","RESUME","RETAINDAYS","RETENTION","RETURN","RETURNS","REVERT","REVOKE","REWIND","REWINDONLY","ROBUST","ROLE","ROLLBACK","ROLLUP","ROOT","ROUTE","ROW","ROWCOUNT","ROWGUIDCOL","ROWLOCK","ROWS","ROWS_PER_BATCH","ROWTERMINATOR","ROWVERSION","RSA_1024","RSA_2048","RSA_512","RULE","SAFE","SAFETY","SAMPLE","SAVE","SCHEDULER","SCHEMA","SCHEMA_AND_DATA","SCHEMA_ONLY","SCHEMABINDING","SCHEME","SCROLL","SCROLL_LOCKS","SEARCH","SECOND","SECONDARY","SECONDARY_ONLY","SECONDARY_ROLE","SECONDS","SECRET","SECURITY_LOG","SECURITYAUDIT","SELECT","SELECTIVE","SELF","SEND","SENT","SEQUENCE","SERIALIZABLE","SERVER","SERVICE","SERVICE_BROKER","SERVICE_NAME","SESSION","SESSION_TIMEOUT","SET","SETS","SETUSER","SHOW_STATISTICS","SHOWCONTIG","SHOWPLAN","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SHRINKDATABASE","SHRINKFILE","SHUTDOWN","SID","SIGNATURE","SIMPLE","SINGLE_BLOB","SINGLE_CLOB","SINGLE_NCLOB","SINGLE_USER","SINGLETON","SIZE","SKIP","SMALLDATETIME","SMALLINT","SMALLMONEY","SNAPSHOT","SORT_IN_TEMPDB","SOURCE","SPARSE","SPATIAL","SPATIAL_WINDOW_MAX_CELLS","SPECIFICATION","SPLIT","SQL","SQL_VARIANT","SQLPERF","STANDBY","START","START_DATE","STARTED","STARTUP_STATE","STAT_HEADER","STATE","STATEMENT","STATIC","STATISTICAL_SEMANTICS","STATISTICS","STATISTICS_INCREMENTAL","STATISTICS_NORECOMPUTE","STATS","STATS_STREAM","STATUS","STATUSONLY","STOP","STOP_ON_ERROR","STOPAT","STOPATMARK","STOPBEFOREMARK","STOPLIST","STOPPED","SUBJECT","SUBSCRIPTION","SUPPORTED","SUSPEND","SWITCH","SYMMETRIC","SYNCHRONOUS_COMMIT","SYNONYM","SYSNAME","SYSTEM","TABLE","TABLERESULTS","TABLESAMPLE","TABLOCK","TABLOCKX","TAKE","TAPE","TARGET","TARGET_RECOVERY_TIME","TB","TCP","TEXT","TEXTIMAGE_ON","TEXTSIZE","THEN","THESAURUS","THROW","TIES","TIME","TIMEOUT","TIMER","TIMESTAMP","TINYINT","TO","TOP","TORN_PAGE_DETECTION","TRACEOFF","TRACEON","TRACESTATUS","TRACK_CAUSALITY","TRACK_COLUMNS_UPDATED","TRAN","TRANSACTION","TRANSFER","TRANSFORM_NOISE_WORDS","TRIGGER","TRIPLE_DES","TRIPLE_DES_3KEY","TRUE","TRUNCATE","TRUNCATEONLY","TRUSTWORTHY","TRY","TSQL","TWO_DIGIT_YEAR_CUTOFF","TYPE","TYPE_WARNING","UNBOUNDED","UNCHECKED","UNCOMMITTED","UNDEFINED","UNIQUE","UNIQUEIDENTIFIER","UNKNOWN","UNLIMITED","UNLOAD","UNSAFE","UPDATE","UPDATETEXT","UPDATEUSAGE","UPDLOCK","URL","USE","USED","USER","USEROPTIONS","USING","VALID_XML","VALIDATION","VALUE","VALUES","VARBINARY","VARCHAR","VARYING","VERIFYONLY","VERSION","VIEW","VIEW_METADATA","VIEWS","VISIBILITY","WAIT_AT_LOW_PRIORITY","WAITFOR","WEEK","WEIGHT","WELL_FORMED_XML","WHEN","WHERE","WHILE","WINDOWS","WITH","WITHIN","WITHOUT","WITNESS","WORK","WORKLOAD","WRITETEXT","XACT_ABORT","XLOCK","XMAX","XMIN","XML","XMLDATA","XMLNAMESPACES","XMLSCHEMA","XQUERY","XSINIL","YEAR","YMAX","YMIN"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/st/st.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/st/st.js new file mode 100755 index 00000000..28c4c887 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/st/st.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/st/st",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["var","end_var"],["var_input","end_var"],["var_output","end_var"],["var_in_out","end_var"],["var_temp","end_var"],["var_global","end_var"],["var_access","end_var"],["var_external","end_var"],["type","end_type"],["struct","end_struct"],["program","end_program"],["function","end_function"],["function_block","end_function_block"],["action","end_action"],["step","end_step"],["initial_step","end_step"],["transaction","end_transaction"],["configuration","end_configuration"],["tcp","end_tcp"],["recource","end_recource"],["channel","end_channel"],["library","end_library"],["folder","end_folder"],["binaries","end_binaries"],["includes","end_includes"],["sources","end_sources"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"/*",close:"*/"},{open:"'",close:"'",notIn:["string_sq"]},{open:'"',close:'"',notIn:["string_dq"]},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"var",close:"end_var"},{open:"var_input",close:"end_var"},{open:"var_output",close:"end_var"},{open:"var_in_out",close:"end_var"},{open:"var_temp",close:"end_var"},{open:"var_global",close:"end_var"},{open:"var_access",close:"end_var"},{open:"var_external",close:"end_var"},{open:"type",close:"end_type"},{open:"struct",close:"end_struct"},{open:"program",close:"end_program"},{open:"function",close:"end_function"},{open:"function_block",close:"end_function_block"},{open:"action",close:"end_action"},{open:"step",close:"end_step"},{open:"initial_step",close:"end_step"},{open:"transaction",close:"end_transaction"},{open:"configuration",close:"end_configuration"},{open:"tcp",close:"end_tcp"},{open:"recource",close:"end_recource"},{open:"channel",close:"end_channel"},{open:"library",close:"end_library"},{open:"folder",close:"end_folder"},{open:"binaries",close:"end_binaries"},{open:"includes",close:"end_includes"},{open:"sources",close:"end_sources"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},n.language={defaultToken:"",tokenPostfix:".st",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["if","end_if","elsif","else","case","of","to","__try","__catch","__finally","do","with","by","while","repeat","end_while","end_repeat","end_case","for","end_for","task","retain","non_retain","constant","with","at","exit","return","interval","priority","address","port","on_channel","then","iec","file","uses","version","packagetype","displayname","copyright","summary","vendor","common_source","from","extends"],constant:["false","true","null"],defineKeywords:["var","var_input","var_output","var_in_out","var_temp","var_global","var_access","var_external","end_var","type","end_type","struct","end_struct","program","end_program","function","end_function","function_block","end_function_block","interface","end_interface","method","end_method","property","end_property","namespace","end_namespace","configuration","end_configuration","tcp","end_tcp","resource","end_resource","channel","end_channel","library","end_library","folder","end_folder","binaries","end_binaries","includes","end_includes","sources","end_sources","action","end_action","step","initial_step","end_step","transaction","end_transaction"],typeKeywords:["int","sint","dint","lint","usint","uint","udint","ulint","real","lreal","time","date","time_of_day","date_and_time","string","bool","byte","word","dword","array","pointer","lword"],operators:["=",">","<",":",":=","<=",">=","<>","&","+","-","*","**","MOD","^","or","and","not","xor","abs","acos","asin","atan","cos","exp","expt","ln","log","sin","sqrt","tan","sel","max","min","limit","mux","shl","shr","rol","ror","indexof","sizeof","adr","adrinst","bitadr","is_valid","ref","ref_to"],builtinVariables:[],builtinFunctions:["sr","rs","tp","ton","tof","eq","ge","le","lt","ne","round","trunc","ctd","сtu","ctud","r_trig","f_trig","move","concat","delete","find","insert","left","len","replace","right","rtc"],symbols:/[=>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/\@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/tcl/tcl.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/tcl/tcl.js new file mode 100755 index 00000000..0c419bb8 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/tcl/tcl.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/tcl/tcl",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.conf={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t.language={tokenPostfix:".tcl",specialFunctions:["set","unset","rename","variable","proc","coroutine","foreach","incr","append","lappend","linsert","lreplace"],mainFunctions:["if","then","elseif","else","case","switch","while","for","break","continue","return","package","namespace","catch","exit","eval","expr","uplevel","upvar"],builtinFunctions:["file","info","concat","join","lindex","list","llength","lrange","lsearch","lsort","split","array","parray","binary","format","regexp","regsub","scan","string","subst","dict","cd","clock","exec","glob","pid","pwd","close","eof","fblocked","fconfigure","fcopy","fileevent","flush","gets","open","puts","read","seek","socket","tell","interp","after","auto_execok","auto_load","auto_mkindex","auto_reset","bgerror","error","global","history","load","source","time","trace","unknown","unset","update","vwait","winfo","wm","bind","event","pack","place","grid","font","bell","clipboard","destroy","focus","grab","lower","option","raise","selection","send","tk","tkwait","tk_bisque","tk_focusNext","tk_focusPrev","tk_focusFollowsMouse","tk_popup","tk_setPalette"],symbols:/[=>\/\s]+)/g,comments:{blockComment:["{#","#}"]},brackets:[["{#","#}"],["{%","%}"],["{{","}}"],["(",")"],["[","]"],["\x3c!--","--\x3e"],["<",">"]],autoClosingPairs:[{open:"{# ",close:" #}"},{open:"{% ",close:" %}"},{open:"{{ ",close:" }}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},e.language={defaultToken:"",tokenPostfix:"",ignoreCase:!0,keywords:["apply","autoescape","block","deprecated","do","embed","extends","flush","for","from","if","import","include","macro","sandbox","set","use","verbatim","with","endapply","endautoescape","endblock","endembed","endfor","endif","endmacro","endsandbox","endset","endwith","true","false"],tokenizer:{root:[[/\s+/],[/{#/,"comment.twig","@commentState"],[/{%[-~]?/,"delimiter.twig","@blockState"],[/{{[-~]?/,"delimiter.twig","@variableState"],[/)/,["delimiter.html","tag.html","","delimiter.html"]],[/(<)(script)/,["delimiter.html",{token:"tag.html",next:"@script"}]],[/(<)(style)/,["delimiter.html",{token:"tag.html",next:"@style"}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,["delimiter.html",{token:"tag.html",next:"@otherTag"}]],[/|>=|<=/,"operators.twig"],[/(starts with|ends with|matches)(\s+)/,["operators.twig",""]],[/(in)(\s+)/,["operators.twig",""]],[/(is)(\s+)/,["operators.twig",""]],[/\||~|:|\.{1,2}|\?{1,2}/,"operators.twig"],[/[^\W\d][\w]*/,{cases:{"@keywords":"keyword.twig","@default":"variable.twig"}}],[/\d+(\.\d+)?/,"number.twig"],[/\(|\)|\[|\]|{|}|,/,"delimiter.twig"],[/"([^#"\\]*(?:\\.[^#"\\]*)*)"|\'([^\'\\]*(?:\\.[^\'\\]*)*)\'/,"string.twig"],[/"/,"string.twig","@stringState"],[/=>/,"operators.twig"],[/=/,"operators.twig"]],doctype:[[/[^>]+/,"metatag.content.html"],[/>/,"metatag.html","@pop"]],comment:[[/-->/,"comment.html","@pop"],[/[^-]+/,"comment.content.html"],[/./,"comment.content.html"]],otherTag:[[/\/?>/,"delimiter.html","@pop"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name.html","@scriptAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter.html","@scriptAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter.html",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name.html","@styleAfterType"],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter.html","tag.html",{token:"delimiter.html",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter.html","@styleAfterTypeEquals"],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value.html",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter.html",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter.html",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value.html"],[/'([^']*)'/,"attribute.value.html"],[/[\w\-]+/,"attribute.name.html"],[/=/,"delimiter.html"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/typescript/typescript.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/typescript/typescript.js new file mode 100755 index 00000000..a0ee7a9f --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/typescript/typescript.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/typescript/typescript",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="undefined"==typeof monaco?self.monaco:monaco;t.conf={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:n.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:n.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:n.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:n.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},t.language={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}})); \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/vb/vb.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/vb/vb.js new file mode 100755 index 00000000..32a8a7ad --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/basic-languages/vb/vb.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-languages version: 1.9.2(48bed9874ad53f221d1b60976b2ab3b964852472) + * Released under the MIT license + * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/basic-languages/vb/vb",["require","exports"],(function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.conf={comments:{lineComment:"'",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"],["addhandler","end addhandler"],["class","end class"],["enum","end enum"],["event","end event"],["function","end function"],["get","end get"],["if","end if"],["interface","end interface"],["module","end module"],["namespace","end namespace"],["operator","end operator"],["property","end property"],["raiseevent","end raiseevent"],["removehandler","end removehandler"],["select","end select"],["set","end set"],["structure","end structure"],["sub","end sub"],["synclock","end synclock"],["try","end try"],["while","end while"],["with","end with"],["using","end using"],["do","loop"],["for","next"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"<",close:">",notIn:["string","comment"]}],folding:{markers:{start:new RegExp("^\\s*#Region\\b"),end:new RegExp("^\\s*#End Region\\b")}}},n.language={defaultToken:"",tokenPostfix:".vb",ignoreCase:!0,brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.angle",open:"<",close:">"},{token:"keyword.tag-addhandler",open:"addhandler",close:"end addhandler"},{token:"keyword.tag-class",open:"class",close:"end class"},{token:"keyword.tag-enum",open:"enum",close:"end enum"},{token:"keyword.tag-event",open:"event",close:"end event"},{token:"keyword.tag-function",open:"function",close:"end function"},{token:"keyword.tag-get",open:"get",close:"end get"},{token:"keyword.tag-if",open:"if",close:"end if"},{token:"keyword.tag-interface",open:"interface",close:"end interface"},{token:"keyword.tag-module",open:"module",close:"end module"},{token:"keyword.tag-namespace",open:"namespace",close:"end namespace"},{token:"keyword.tag-operator",open:"operator",close:"end operator"},{token:"keyword.tag-property",open:"property",close:"end property"},{token:"keyword.tag-raiseevent",open:"raiseevent",close:"end raiseevent"},{token:"keyword.tag-removehandler",open:"removehandler",close:"end removehandler"},{token:"keyword.tag-select",open:"select",close:"end select"},{token:"keyword.tag-set",open:"set",close:"end set"},{token:"keyword.tag-structure",open:"structure",close:"end structure"},{token:"keyword.tag-sub",open:"sub",close:"end sub"},{token:"keyword.tag-synclock",open:"synclock",close:"end synclock"},{token:"keyword.tag-try",open:"try",close:"end try"},{token:"keyword.tag-while",open:"while",close:"end while"},{token:"keyword.tag-with",open:"with",close:"end with"},{token:"keyword.tag-using",open:"using",close:"end using"},{token:"keyword.tag-do",open:"do",close:"loop"},{token:"keyword.tag-for",open:"for",close:"next"}],keywords:["AddHandler","AddressOf","Alias","And","AndAlso","As","Async","Boolean","ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar","CDate","CDbl","CDec","Char","CInt","Class","CLng","CObj","Const","Continue","CSByte","CShort","CSng","CStr","CType","CUInt","CULng","CUShort","Date","Decimal","Declare","Default","Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End","EndIf","Enum","Erase","Error","Event","Exit","False","Finally","For","Friend","Function","Get","GetType","GetXMLNamespace","Global","GoSub","GoTo","Handles","If","Implements","Imports","In","Inherits","Integer","Interface","Is","IsNot","Let","Lib","Like","Long","Loop","Me","Mod","Module","MustInherit","MustOverride","MyBase","MyClass","NameOf","Namespace","Narrowing","New","Next","Not","Nothing","NotInheritable","NotOverridable","Object","Of","On","Operator","Option","Optional","Or","OrElse","Out","Overloads","Overridable","Overrides","ParamArray","Partial","Private","Property","Protected","Public","RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return","SByte","Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop","String","Structure","Sub","SyncLock","Then","Throw","To","True","Try","TryCast","TypeOf","UInteger","ULong","UShort","Using","Variant","Wend","When","While","Widening","With","WithEvents","WriteOnly","Xor"],tagwords:["If","Sub","Select","Try","Class","Enum","Function","Get","Interface","Module","Namespace","Operator","Set","Structure","Using","While","With","Do","Loop","For","Next","Property","Continue","AddHandler","RemoveHandler","Event","RaiseEvent","SyncLock"],symbols:/[=>"]],autoClosingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],surroundingPairs:[{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}]},t.language={defaultToken:"",tokenPostfix:".xml",ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,""],{include:"@whitespace"},[/(<)(@qualifiedName)/,[{token:"delimiter"},{token:"tag",next:"@tag"}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:"delimiter"},{token:"tag"},"",{token:"delimiter"}]],[/(<\?)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/(<\!)(@qualifiedName)/,[{token:"delimiter"},{token:"metatag",next:"@tag"}]],[/<\!\[CDATA\[/,{token:"delimiter.cdata",next:"@cdata"}],[/&\w+;/,"string.escape"]],cdata:[[/[^\]]+/,""],[/\]\]>/,{token:"delimiter.cdata",next:"@pop"}],[/\]/,""]],tag:[[/[ \t\r\n]+/,""],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,["attribute.name","","attribute.value"]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,["attribute.name","","attribute.value"]],[/@qualifiedName/,"attribute.name"],[/\?>/,{token:"delimiter",next:"@pop"}],[/(\/)(>)/,[{token:"tag"},{token:"delimiter",next:"@pop"}]],[/>/,{token:"delimiter",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,t.html=h(t.html,"i").replace("comment",t._comment).replace("tag",t._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t.paragraph=h(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag",t._tag).getRegex(),t.blockquote=h(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=v({},t),t.gfm=v({},t.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=h(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=v({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=v({},t.normal,{ +html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",t._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),n.rules=t,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},n.prototype.token=function(e,n){var i,o,r,s,a,l,u,d,c,h,p,f,g,m,v,C;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:y(r,"\n") +});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2]?r[2].trim():r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if((r=this.rules.nptable.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),p=0;p ?/gm,""),this.token(r,n),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),u={type:"list_start",ordered:m=(s=r[2]).length>1,start:m?+s:"",loose:!1},this.tokens.push(u),d=[],i=!1,g=(r=r[0].match(this.rules.item)).length,p=0;p1?1===a.length:a.length>1||this.options.smartLists&&a!==s)&&(e=r.slice(p+1).join("\n")+e,p=g-1)),o=i||/\n\n(?!\s*$)/.test(l),p!==g-1&&(i="\n"===l.charAt(l.length-1),o||(o=i)),o&&(u.loose=!0),C=void 0,(v=/^\[[ xX]\] /.test(l))&&(C=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),c={type:"list_item_start",task:v,checked:C,loose:o},d.push(c),this.tokens.push(c),this.token(l,!1),this.tokens.push({type:"list_item_end"});if(u.loose)for(g=d.length,p=0;p?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, +strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",i.em=h(i.em).replace(/punctuation/g,i._punctuation).getRegex(),i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=h(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=h(i.tag).replace("comment",t._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/, +i._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=h(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=h(i.reflink).replace("label",i._label).getRegex(),i.normal=v({},i),i.pedantic=v({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=v({},i.normal,{escape:h(i.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/, +text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(s[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(s[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(s[0])&&(this.inRawBlock=!1),e=e.substring(s[0].length), +l+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):d(s[0]):s[0];else if(s=this.rules.link.exec(e)){var u=C(s[2],"()");if(u>-1){var c=s[0].length-(s[2].length-u)-(s[3]||"").length;s[2]=s[2].substring(0,u),s[0]=s[0].substring(0,c).trim(),s[3]=""}e=e.substring(s[0].length),this.inLink=!0,i=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i))?(i=t[1],r=t[3]):r="":r=s[3]?s[3].slice(1,-1):"",i=i.trim().replace(/^<([\s\S]*)>$/,"$1"),l+=this.outputLink(s,{href:o.escapes(i),title:o.escapes(r)}),this.inLink=!1}else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){l+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,l+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),l+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length), +l+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),l+=this.renderer.codespan(d(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),l+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),l+=this.renderer.del(this.output(s[1]));else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),i="@"===s[2]?"mailto:"+(n=d(this.mangle(s[1]))):n=d(s[1]),l+=this.renderer.link(i,null,n);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.text.exec(e))e=e.substring(s[0].length),this.inRawBlock?l+=this.renderer.text(s[0]):l+=this.renderer.text(d(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===s[2])i="mailto:"+(n=d(s[0]));else{do{a=s[0],s[0]=this.rules._backpedal.exec(s[0])[0]}while(a!==s[0]);n=d(s[0]),i="www."===s[1]?"http://"+n:n}e=e.substring(s[0].length),l+=this.renderer.link(i,null,n)}return l}, +o.escapes=function(e){return e?e.replace(o.rules._escapes,"$1"):e},o.prototype.outputLink=function(e,t){var n=t.href,i=t.title?d(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,i,this.output(e[1])):this.renderer.image(n,i,d(e[1]))},o.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},o.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",i=e.length,o=0;o.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},r.prototype.code=function(e,t,n){var i=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,i);null!=o&&o!==e&&(n=!0,e=o)}return i?'
'+(n?e:d(e,!0))+"
\n":"
"+(n?e:d(e,!0))+"
"},r.prototype.blockquote=function(e){ +return"
\n"+e+"
\n"},r.prototype.html=function(e){return e},r.prototype.heading=function(e,t,n,i){return this.options.headerIds?"'+e+"\n":""+e+"\n"},r.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},r.prototype.list=function(e,t,n){var i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},r.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},r.prototype.checkbox=function(e){return" "},r.prototype.paragraph=function(e){return"

    "+e+"

    \n"},r.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},r.prototype.tablerow=function(e){return"\n"+e+"\n"},r.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"}, +r.prototype.strong=function(e){return""+e+""},r.prototype.em=function(e){return""+e+""},r.prototype.codespan=function(e){return""+e+""},r.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},r.prototype.del=function(e){return""+e+""},r.prototype.link=function(e,t,n){if(null===(e=p(this.options.sanitize,this.options.baseUrl,e)))return n;var i='
    "},r.prototype.image=function(e,t,n){if(null===(e=p(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">"},r.prototype.text=function(e){return e},s.prototype.strong=s.prototype.em=s.prototype.codespan=s.prototype.del=s.prototype.text=function(e){return e},s.prototype.link=s.prototype.image=function(e,t,n){return""+n},s.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){ +this.inline=new o(e.links,this.options),this.inlineText=new o(e.links,v({},this.options,{renderer:new s})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,i,o="",r="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},d.escapeTest=/[&<>"']/,d.escapeReplace=/[&<>"']/g,d.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},d.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,d.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var f={},g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function v(e){for(var t,n,i=1;i=0&&"\\"===n[o];)i=!i;return i?"|":" |"})).split(/ \|/),i=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+d(e.message+"",!0)+"
    ";throw e}}m.exec=m,b.options=b.setOptions=function(e){return v(b.defaults,e),b},b.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new r,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},b.defaults=b.getDefaults(),b.Parser=a,b.parser=a.parse,b.Renderer=r,b.TextRenderer=s,b.Lexer=n,b.lexer=n.lex,b.InlineLexer=o,b.inlineLexer=o.output,b.Slugger=l,b.parse=b,u=b}.call(this),define("vs/base/common/marked/marked",(function(){return u})),define(n[128],i([0,1]),(function(e,t){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0}),t.clamp=function(e,t,n){return Math.min(Math.max(e,t),n)}})),define(n[16],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=!1,i=!1,o=!1,r=!1,s=!1,a=!1,l=void 0,u="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.electron&&"renderer"===process.type;if("object"!=typeof navigator||u){if("object"==typeof process){n="win32"===process.platform,i="darwin"===process.platform,o="linux"===process.platform,"en","en";var d=process.env.VSCODE_NLS_CONFIG;if(d)try{var c=JSON.parse(d),h=c.availableLanguages["*"];c.locale,h||"en",c._translationsConfigFile}catch(e){}r=!0}}else n=(l=navigator.userAgent).indexOf("Windows")>=0,i=l.indexOf("Macintosh")>=0,a=l.indexOf("Macintosh")>=0&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,o=l.indexOf("Linux")>=0,s=!0,navigator.language;t.isWindows=n,t.isMacintosh=i,t.isLinux=o,t.isNative=r,t.isWeb=s,t.isIOS=a +;var p="object"==typeof self?self:"object"==typeof global?global:{};t.globals=p,t.setImmediate=function(){if(t.globals.setImmediate)return t.globals.setImmediate.bind(t.globals);if("function"==typeof t.globals.postMessage&&!t.globals.importScripts){var e=[];t.globals.addEventListener("message",(function(t){if(t.data&&t.data.vscodeSetImmediateId)for(var n=0,i=e.length;n=12&&t<=16)return!1}return!0}()},keyboard:i.isNative||n.isStandalone?0:navigator.keyboard||n.isSafari?1:2,touch:"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0,pointerEvents:window.PointerEvent&&("ontouchstart"in window||window.navigator.maxTouchPoints>0||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0)}})),define(n[56],i([0,1,25,35,16]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=new Array(230),s=new Array(112);!function(){for(var e=0;e=i&&e<=s||e>=o&&e<=a}function m(e,t,n,i){for(var o,r="",s=0,a=-1,d=0,c=0;c<=e.length;++c){if(c2){var h=r.lastIndexOf(n);-1===h?(r="",s=0):s=(r=r.slice(0,h)).length-1-r.lastIndexOf(n),a=c,d=0;continue}if(2===r.length||1===r.length){r="",s=0,a=c,d=0;continue}}t&&(r.length>0?r+=n+"..":r="..",s=2)}else r.length>0?r+=n+e.slice(a+1,c):r=e.slice(a+1,c),s=c-a-1;a=c,d=0}else o===l&&-1!==d?++d:d=-1}return r}function v(e,t){var n=t.dir||t.root,i=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+i:n+e+i:i}t.win32={resolve:function(){for(var e=[],t=0;t=-1;s--){var a=void 0 +;if(s>=0?a=e[s]:i?void 0!==(a=n.env["="+i]||n.cwd())&&a.slice(0,3).toLowerCase()===i.toLowerCase()+"\\"||(a=i+"\\"):a=n.cwd(),h(a,"path"),0!==a.length){var l=a.length,u=0,d="",c=!1,f=a.charCodeAt(0);if(l>1)if(p(f))if(c=!0,p(a.charCodeAt(1))){for(var v=2,_=v;v2&&p(a.charCodeAt(2))&&(c=!0,u=3));else p(f)&&(u=1,c=!0);if(!(d.length>0&&i.length>0&&d.toLowerCase()!==i.toLowerCase())&&(0===i.length&&d.length>0&&(i=d),r||(o=a.slice(u)+"\\"+o,r=c),i.length>0&&r))break}}return i+(r?"\\":"")+(o=m(o,!r,"\\",p))||"."},normalize:function(e){h(e,"path");var t=e.length;if(0===t)return".";var n,i,o=0,r=!1,s=e.charCodeAt(0);if(t>1)if(p(s))if(r=!0,p(e.charCodeAt(1))){for(var a=2,l=a;a2&&p(e.charCodeAt(2))&&(r=!0,o=3));else if(p(s))return"\\";return 0!==(i=o0&&p(e.charCodeAt(t-1))&&(i+="\\"),void 0===n?r?i.length>0?"\\"+i:"\\":i.length>0?i:"":r?i.length>0?n+"\\"+i:n+"\\":i.length>0?n+i:n},isAbsolute:function(e){h(e,"path");var t=e.length;if(0===t)return!1;var n=e.charCodeAt(0);return!!p(n)||!!(g(n)&&t>2&&58===e.charCodeAt(1)&&p(e.charCodeAt(2)))},join:function(){for(var e,n,i=[],o=0;o0&&(void 0===e?e=n=s:e+="\\"+s)}if(void 0===e)return".";var a=!0,l=0;if("string"==typeof n&&p(n.charCodeAt(0))){++l;var u=n.length;u>1&&p(n.charCodeAt(1))&&(++l, +u>2&&(p(n.charCodeAt(2))?++l:a=!1))}if(a){for(;l=2&&(e="\\"+e.slice(l))}return t.win32.normalize(e)},relative:function(e,n){if(h(e,"from"),h(n,"to"),e===n)return"";var i=t.win32.resolve(e),o=t.win32.resolve(n);if(i===o)return"";if((e=i.toLowerCase())===(n=o.toLowerCase()))return"";for(var r=0;rr&&e.charCodeAt(s-1)===d;--s);for(var a=s-r,l=0;ll&&n.charCodeAt(u-1)===d;--u);for(var c=u-l,p=ap){if(n.charCodeAt(l+g)===d)return o.slice(l+g+1);if(2===g)return o.slice(l+g)}a>p&&(e.charCodeAt(r+g)===d?f=g:2===g&&(f=3));break}var m=e.charCodeAt(r+g);if(m!==n.charCodeAt(l+g))break;m===d&&(f=g)}if(g!==p&&-1===f)return o;var v="";for(-1===f&&(f=0),g=r+f+1;g<=s;++g)g!==s&&e.charCodeAt(g)!==d||(0===v.length?v+="..":v+="\\..");return v.length>0?v+o.slice(l+f,u):(l+=f,o.charCodeAt(l)===d&&++l,o.slice(l,u))}, +toNamespacedPath:function(e){if("string"!=typeof e)return e;if(0===e.length)return"";var n=t.win32.resolve(e);if(n.length>=3)if(n.charCodeAt(0)===d){if(n.charCodeAt(1)===d){var i=n.charCodeAt(2);if(63!==i&&i!==l)return"\\\\?\\UNC\\"+n.slice(2)}}else if(g(n.charCodeAt(0))&&58===n.charCodeAt(1)&&n.charCodeAt(2)===d)return"\\\\?\\"+n;return e},dirname:function(e){h(e,"path");var t=e.length;if(0===t)return".";var n=-1,i=-1,o=!0,r=0,s=e.charCodeAt(0);if(t>1)if(p(s)){if(n=r=1,p(e.charCodeAt(1))){for(var a=2,l=a;a2&&p(e.charCodeAt(2))&&(n=r=3));else if(p(s))return e;for(var u=t-1;u>=r;--u)if(p(e.charCodeAt(u))){if(!o){i=u;break}}else o=!1;if(-1===i){if(-1===n)return".";i=n}return e.slice(0,i)},basename:function(e,t){void 0!==t&&h(t,"ext"),h(e,"path");var n,i=0,o=-1,r=!0 +;e.length>=2&&(g(e.charCodeAt(0))&&58===e.charCodeAt(1)&&(i=2));if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=i;--n){var l=e.charCodeAt(n);if(p(l)){if(!r){i=n+1;break}}else-1===a&&(r=!1,a=n+1),s>=0&&(l===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=a))}return i===o?o=a:-1===o&&(o=e.length),e.slice(i,o)}for(n=e.length-1;n>=i;--n)if(p(e.charCodeAt(n))){if(!r){i=n+1;break}}else-1===o&&(r=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){h(e,"path");var t=0,n=-1,i=0,o=-1,r=!0,s=0;e.length>=2&&58===e.charCodeAt(1)&&g(e.charCodeAt(0))&&(t=i=2);for(var a=e.length-1;a>=t;--a){var u=e.charCodeAt(a);if(p(u)){if(!r){i=a+1;break}}else-1===o&&(r=!1,o=a+1),u===l?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===o||0===s||1===s&&n===o-1&&n===i+1?"":e.slice(n,o)},format:function(e){if(null===e||"object"!=typeof e)throw new c("pathObject","Object",e);return v("\\",e)},parse:function(e){h(e,"path");var t={root:"",dir:"",base:"", +ext:"",name:""};if(0===e.length)return t;var n=e.length,i=0,o=e.charCodeAt(0);if(n>1){if(p(o)){if(i=1,p(e.charCodeAt(1))){for(var r=2,s=r;r2))return t.root=t.dir=e,t;if(p(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;i=3}}}else if(p(o))return t.root=t.dir=e,t;i>0&&(t.root=e.slice(0,i));for(var a=-1,u=i,d=-1,c=!0,f=e.length-1,m=0;f>=i;--f)if(p(o=e.charCodeAt(f))){if(!c){u=f+1;break}}else-1===d&&(c=!1,d=f+1),o===l?-1===a?a=f:1!==m&&(m=1):-1!==a&&(m=-1);return-1===a||-1===d||0===m||1===m&&a===d-1&&a===u+1?-1!==d&&(t.base=t.name=e.slice(u,d)):(t.name=e.slice(u,a),t.base=e.slice(u,d),t.ext=e.slice(a,d)),t.dir=u>0&&u!==i?e.slice(0,u-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},t.posix={resolve:function(){for(var e=[],t=0;t=-1&&!o;r--){var s=void 0;h(s=r>=0?e[r]:n.cwd(),"path"),0!==s.length&&(i=s+"/"+i,o=s.charCodeAt(0)===u)}return i=m(i,!o,"/",f),o?i.length>0?"/"+i:"/":i.length>0?i:"."},normalize:function(e){if(h(e,"path"),0===e.length)return".";var t=e.charCodeAt(0)===u,n=e.charCodeAt(e.length-1)===u;return 0!==(e=m(e,!t,"/",f)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return h(e,"path"),e.length>0&&e.charCodeAt(0)===u},join:function(){for(var e,n=[],i=0;i0&&(void 0===e?e=r:e+="/"+r)}return void 0===e?".":t.posix.normalize(e)},relative:function(e,n){if(h(e,"from"),h(n,"to"),e===n)return"";if((e=t.posix.resolve(e))===(n=t.posix.resolve(n)))return"";for(var i=1;il){if(n.charCodeAt(s+c)===u)return n.slice(s+c+1);if(0===c)return n.slice(s+c)}else r>l&&(e.charCodeAt(i+c)===u?d=c:0===c&&(d=0));break}var p=e.charCodeAt(i+c);if(p!==n.charCodeAt(s+c))break;p===u&&(d=c)}var f="";for(c=i+d+1;c<=o;++c)c!==o&&e.charCodeAt(c)!==u||(0===f.length?f+="..":f+="/..");return f.length>0?f+n.slice(s+d):(s+=d,n.charCodeAt(s)===u&&++s,n.slice(s))},toNamespacedPath:function(e){return e},dirname:function(e){if(h(e,"path"),0===e.length)return".";for(var t=e.charCodeAt(0)===u,n=-1,i=!0,o=e.length-1;o>=1;--o)if(e.charCodeAt(o)===u){if(!i){n=o;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename:function(e,t){void 0!==t&&h(t,"ext"),h(e,"path");var n,i=0,o=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(l===u){if(!r){i=n+1;break}}else-1===a&&(r=!1,a=n+1),s>=0&&(l===t.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=a))}return i===o?o=a:-1===o&&(o=e.length), +e.slice(i,o)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===u){if(!r){i=n+1;break}}else-1===o&&(r=!1,o=n+1);return-1===o?"":e.slice(i,o)},extname:function(e){h(e,"path");for(var t=-1,n=0,i=-1,o=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(a!==u)-1===i&&(o=!1,i=s+1),a===l?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!o){n=s+1;break}}return-1===t||-1===i||0===r||1===r&&t===i-1&&t===n+1?"":e.slice(t,i)},format:function(e){if(null===e||"object"!=typeof e)throw new c("pathObject","Object",e);return v("/",e)},parse:function(e){h(e,"path");var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,i=e.charCodeAt(0)===u;i?(t.root="/",n=1):n=0;for(var o=-1,r=0,s=-1,a=!0,d=e.length-1,c=0;d>=n;--d){var p=e.charCodeAt(d);if(p!==u)-1===s&&(a=!1,s=d+1),p===l?-1===o?o=d:1!==c&&(c=1):-1!==o&&(c=-1);else if(!a){r=d+1;break}}return-1===o||-1===s||0===c||1===c&&o===s-1&&o===r+1?-1!==s&&(t.base=t.name=0===r&&i?e.slice(1,s):e.slice(r,s)):(0===r&&i?(t.name=e.slice(1,o), +t.base=e.slice(1,s)):(t.name=e.slice(r,o),t.base=e.slice(r,s)),t.ext=e.slice(o,s)),r>0?t.dir=e.slice(0,r-1):i&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null},t.posix.win32=t.win32.win32=t.win32,t.posix.posix=t.win32.posix=t.posix,t.normalize="win32"===n.platform?t.win32.normalize:t.posix.normalize,t.join="win32"===n.platform?t.win32.join:t.posix.join,t.relative="win32"===n.platform?t.win32.relative:t.posix.relative,t.dirname="win32"===n.platform?t.win32.dirname:t.posix.dirname,t.basename="win32"===n.platform?t.win32.basename:t.posix.basename,t.extname="win32"===n.platform?t.win32.extname:t.posix.extname,t.sep="win32"===n.platform?t.win32.sep:t.posix.sep})),define(n[100],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){function t(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var n=Math.max(e.start,t.start),i=Math.min(e.end,t.end);return i-n<=0?{start:0,end:0}:{start:n,end:i}}function n(e){return e.end-e.start<=0}e.intersect=t, +e.isEmpty=n,e.intersects=function(e,i){return!n(t(e,i))},e.relativeComplement=function(e,t){var i=[],o={start:e.start,end:Math.min(t.start,e.end)},r={start:Math.max(t.end,e.start),end:e.end};return n(o)||i.push(o),n(r)||i.push(r),i}}(t.Range||(t.Range={}))})),define(n[244],i([0,1,100]),(function(e,t,n){"use strict";function i(e,t){for(var i=[],o=0,r=t;o=s.range.end)){if(e.end(t|=0)&&(n=t-e),n<0&&(n=0),(i|=0)<0&&(i=0),(r|=0)+i>(o|=0)&&(r=o-i),r<0&&(r=0),this.width=e,this.scrollWidth=t,this.scrollLeft=n,this.height=i,this.scrollHeight=o,this.scrollTop=r}return e.prototype.equals=function(e){return this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop},e.prototype.withScrollDimensions=function(t){ +return new e(void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,this.scrollTop)},e.prototype.withScrollPosition=function(t){return new e(this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.scrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.scrollTop)},e.prototype.createScrollEvent=function(e){var t=this.width!==e.width,n=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:t,scrollWidthChanged:n,scrollLeftChanged:i,heightChanged:o,scrollHeightChanged:r,scrollTopChanged:s}},e}();t.ScrollState=o;var s=function(e){function t(t,i){ +var r=e.call(this)||this;return r._onScroll=r._register(new n.Emitter),r.onScroll=r._onScroll.event,r._smoothScrollDuration=t,r._scheduleAtNextAnimationFrame=i,r._state=new o(0,0,0,0,0,0),r._smoothScrolling=null,r}return r(t,e),t.prototype.dispose=function(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),e.prototype.dispose.call(this)},t.prototype.setSmoothScrollDuration=function(e){this._smoothScrollDuration=e},t.prototype.validateScrollPosition=function(e){return this._state.withScrollPosition(e)},t.prototype.getScrollDimensions=function(){return this._state},t.prototype.setScrollDimensions=function(e){var t=this._state.withScrollDimensions(e);this._setState(t),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)},t.prototype.getFutureScrollPosition=function(){return this._smoothScrolling?this._smoothScrolling.to:this._state},t.prototype.getCurrentScrollPosition=function(){return this._state},t.prototype.setScrollPositionNow=function(e){ +var t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t)},t.prototype.setScrollPositionSmooth=function(e){var t=this;if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};var n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;var i=this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=i}else{n=this._state.withScrollPosition(e);this._smoothScrolling=u.start(this._state,n,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null, +t._performSmoothScrolling())}))},t.prototype._performSmoothScrolling=function(){var e=this;if(this._smoothScrolling){var t=this._smoothScrolling.tick(),n=this._state.withScrollPosition(t);if(this._setState(n),t.isDone)return this._smoothScrolling.dispose(),void(this._smoothScrolling=null);this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((function(){e._smoothScrolling&&(e._smoothScrolling.animationFrameDisposable=null,e._performSmoothScrolling())}))}},t.prototype._setState=function(e){var t=this._state;t.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(t)))},t}(i.Disposable);t.Scrollable=s;var a=function(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n};function l(e,t){var n=t-e;return function(t){return e+n*(1-function(e){return Math.pow(e,3)}(1-t))}}t.SmoothScrollingUpdate=a;var u=function(){function e(e,t,n,i){this.from=e,this.to=t,this.duration=i,this._startTime=n,this.animationFrameDisposable=null,this._initAnimations()} +return e.prototype._initAnimations=function(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)},e.prototype._initAnimation=function(e,t,n){var i,o,r;if(Math.abs(e-t)>2.5*n){var s=void 0,a=void 0;return et?1:0}function a(e){return e>=97&&e<=122}function l(e){return e>=65&&e<=90}function u(e){return a(e)||l(e)}function d(e,t,n){void 0===n&&(n=e.length);for(var i=0;i1){var i=e.charCodeAt(t-2);if(c(i))return n-56320+(i-55296<<10)+65536}return n}function g(e,t){var n=b.getInstance(),i=e.length,o=t,r=p(e,i,t),s=n.getGraphemeBreakType(r);t+=r>=65536?2:1;for(var a=s;t=65536?2:1,a=u}var d=t;for(t=o,a=s;t>0;){var c=f(e,t),h=n.getGraphemeBreakType(c);if(C(h,a))break;t-=c>=65536?2:1,a=h}return[t,d]}t.format=function(e){for(var t=[],i=1;i=t.length?e:t[i]}))},t.escape=function(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}}))},t.escapeRegExpCharacters=i,t.trim=function(e,t){return void 0===t&&(t=" "),r(o(e,t),t)},t.ltrim=o,t.rtrim=r, +t.convertSimple2RegExpPattern=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.startsWith=function(e,t){if(e.length0?e.indexOf(t,n)===n:0===n&&e===t},t.createRegExp=function(e,t,n){if(void 0===n&&(n={}),!e)throw new Error("Cannot create regex from empty string");t||(e=i(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var o="";return n.global&&(o+="g"),n.matchCase||(o+="i"),n.multiline&&(o+="m"),n.unicode&&(o+="u"),new RegExp(e,o)},t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&!(!e.exec("")||0!==e.lastIndex)},t.regExpFlags=function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")},t.firstNonWhitespaceIndex=function(e){ +for(var t=0,n=e.length;t=0;n--){var i=e.charCodeAt(n);if(32!==i&&9!==i)return n}return-1},t.compare=s,t.compareIgnoreCase=function(e,t){for(var n=Math.min(e.length,t.length),i=0;it.length?1:0},t.isLowerAsciiLetter=a,t.isUpperAsciiLetter=l,t.equalsIgnoreCase=function(e,t){return e.length===t.length&&d(e,t)},t.startsWithIgnoreCase=function(e,t){var n=t.length;return!(t.length>e.length)&&d(e,t,n)},t.commonPrefixLength=function(e,t){var n,i=Math.min(e.length,t.length) +;for(n=0;n=65536?2:1;for(var s=n.getGraphemeBreakType(r);t=65536?2:1,s=l}return t-i},t.prevCharLength=function(e,t){var n=b.getInstance(),i=t,o=f(e,t);t-=o>=65536?2:1;for(var r=n.getGraphemeBreakType(o);t>0;){var s=f(e,t),a=n.getGraphemeBreakType(s);if(C(a,r))break;t-=s>=65536?2:1,r=a}return i-t},t.getCharContainingOffset=function(e,t){return t>0&&h(e.charCodeAt(t))?g(e,t-1):g(e,t)} +;var m=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;t.containsRTL=function(e){return m.test(e)};var v=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDE73\uDE78-\uDE82\uDE90-\uDE95])/;t.containsEmoji=function(e){return v.test(e)};var _=/^[\t\n\r\x20-\x7E]*$/;function y(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function C(e,t){ +return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}t.isBasicASCII=function(e){return _.test(e)},t.containsFullWidthCharacter=function(e){for(var t=0,n=e.length;t=127462&&e<=127487||e>=9728&&e<=10175||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129003||e>=129280&&e<=129535||e>=129648&&e<=129651||e>=129656&&e<=129666||e>=129680&&e<=129685},t.UTF8_BOM_CHARACTER=String.fromCharCode(65279),t.startsWithUTF8BOM=function(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))},t.safeBtoa=function(e){return btoa(encodeURIComponent(e))},t.repeat=function(e,t){for(var n="",i=0;it[3*i+1]))return t[3*i+2];i=2*i+1}return 0},e._INSTANCE=null,e}()})),define(n[177],i([0,1,5,76]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toSlashes=function(e){return e.replace(/[\\/]/g,i.posix.sep)},t.isEqualOrParent=function(e,t,o,r){if(void 0===r&&(r=i.sep),e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(o){if(!n.startsWithIgnoreCase(e,t))return!1;if(t.length===e.length)return!0;var s=t.length;return t.charAt(t.length-1)===r&&s--,e.charAt(s)===r}return t.charAt(t.length-1)!==r&&(t+=r),0===e.indexOf(t)},t.isWindowsDriveLetter=function(e){return e>=65&&e<=90||e>=97&&e<=122}})),define(n[61],i([0,1,41,5]),(function(e,t,n,i){"use strict";function o(){ +for(var e=[],t=0;t0?[{start:0,end:t.length}]:[]}.bind(void 0,!0),t.matchesContiguousSubString=r,t.matchesSubString=s,t.isUpper=l;var c=new Set;function h(e){return a(e)||l(e)||u(e)} +function p(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function f(e,t){for(var n=t;n0&&!h(e.charCodeAt(n-1)))return n}return e.length}function g(e,t,n,i){if(n===e.length)return[];if(i===t.length)return null;if(e[n]!==t[i].toLowerCase())return null;var o=null,r=i+1;for(o=g(e,t,n+1,i+1);!o&&(r=f(t,r))60)return null;var n=function(e){for(var t=0,n=0,i=0,o=0,r=0,s=0;s.2&&t<.8&&i>.6&&o<.2}(n)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(n))return null;t=t.toLowerCase()}var i=null,o=0;for(e=e.toLowerCase();o/?".split("").forEach((function(e){return c.add(e.charCodeAt(0))})),t.matchesCamelCase=m;var v=o(t.matchesPrefix,m,r),_=o(t.matchesPrefix,m,s),y=new n.LRUCache(1e4);t.matchesFuzzy=function(e,t,n){if(void 0===n&&(n=!1),"string"!=typeof e||"string"!=typeof t)return null;var o=y.get(e);o||(o=new RegExp(i.convertSimple2RegExpPattern(e),"i"),y.set(e,o));var r=o.exec(t);return r?[{start:r.index,end:r.index+r[0].length}]:n?_(e,t):v(e,t)},t.anyScore=function(e,t,n,i,o,r){var s=M(e,t,0,i,o,0,!0);if(s)return s;for(var a=0,l=0,u=r,d=0;d=0)l+=1,a+=Math.pow(2,c),u=c+1;else if(0!==a)break}return[l,a,r]},t.createMatches=function(e){ +if(void 0===e)return[];for(var t=e[1].toString(2),n=[],i=e[2];i=e.length)return!1;switch(e.charCodeAt(t)){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:return!0;default:return!1}}function x(e,t,n){return t[e]!==n[e]}function I(e,t,n,i,o,r){for(;tC?C:e.length,l=i.length>C?C:i.length +;if(!(n>=a||r>=l||a-n>l-r)&&I(t,n,a,o,r,l)){var u=1,d=1,c=n,h=r;for(u=1,c=n;c1?1:p),g=S[u-1][d]+-1,m=S[u][d-1]+-1;m>=g?m>f?(S[u][d]=m,E[u][d]=4):m===f?(S[u][d]=m,E[u][d]=6):(S[u][d]=f,E[u][d]=2):g>f?(S[u][d]=g,E[u][d]=1):g===f?(S[u][d]=g,E[u][d]=3):(S[u][d]=f,E[u][d]=2)}if(L&&function(e,t,n,i){e=e.substr(t),n=n.substr(i),console.log(D(S,e,e.length,n,n.length)),console.log(D(E,e,e.length,n,n.length)),console.log(D(w,e,e.length,n,n.length))}(e,n,i,r),T=0,O=-100,P=r,A=s,function e(t,n,i,o,r){if(T>=10||i<-25)return;var s=0;for(;t>0&&n>0;){var a=w[t][n],l=E[t][n];if(4===l)n-=1,r?i-=5:0!==o&&(i-=1),r=!1,s=0;else{if(!(2&l))return;if(4&l&&e(t,n-1,0!==o?i-1:i,o,r),i+=a,t-=1,n-=1,r=!0,o+=Math.pow(2,n+P),1===a){if(s+=1,0===t&&!A)return}else i+=1+s*(a-1),s=0}}i-=n>=3?9:3*n;T+=1;i>O&&(O=i,R=o)}(u-1,d-1,a===l?1:0,0,!1),0!==T)return[O,R,r]}}function k(e,t,n,i,o,r,s){ +return t[n]!==r[s]?-1:s===n-i?e[n]===o[s]?7:5:!x(s,o,r)||0!==s&&x(s-1,o,r)?!N(r,s)||0!==s&&N(r,s-1)?N(r,s-1)||function(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}(r,s-1)?5:1:5:e[n]===o[s]?7:5}t.isPatternInWord=I,function(e){e.Default=Object.freeze([-100,0,0]),e.isDefault=function(e){return!e||-100===e[0]&&0===e[1]&&0===e[2]}}(t.FuzzyScore||(t.FuzzyScore={})),t.fuzzyScore=M;var T=0,R=0,O=0,P=0,A=!1;function F(e,t){if(!(t+1>=e.length)){var n=e[t],i=e[t+1];if(n!==i)return e.slice(0,t)+i+n+e.slice(t+2)}}t.fuzzyScoreGracefulAggressive=function(e,t,n,i,o,r,s){return function(e,t,n,i,o,r,s,a){var l=M(e,t,n,i,o,r,a);if(l&&!s)return l;if(e.length>=3)for(var u=Math.min(7,e.length-1),d=n+1;dl[0])&&(l=h))}}return l}(e,t,n,i,o,r,!0,s)}})),define(n[178],i([0,1,19,5,177,76,41,15]),(function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}) +;var l="**",u="/",d="[/\\\\]",c="[^/\\\\]",h=/\//g;function p(e){switch(e){case 0:return"";case 1:return c+"*?";default:return"(?:"+d+"|"+c+"+"+d+"|"+d+c+"+)*?"}}function f(e,t){if(!e)return[];for(var n=[],i=!1,o=!1,r="",s=0,a=e;s0;n--){var r=e.charCodeAt(n-1);if(47===r||92===r)break}t=e.substr(n)}var s=o.indexOf(t);return-1!==s?i[s]:null};a.basenames=o,a.patterns=i,a.allBasenames=o;var l=e.filter((function(e){return!e.basenames}));return l.push(a),l}t.match=function(e,t,n){return!(!e||"string"!=typeof t)&&x(e)(t,void 0,n)},t.parse=x,t.isRelativePattern=I})),define(n[245],i([0,1,5]),(function(e,t,n){"use strict";function i(e,t){if(e&&""!==e[0]){var i=o(e,t,"-"),s=o(e,t,"_");return i&&!s?r(e,t,"-"):!i&&s?r(e,t,"_"):e[0].toUpperCase()===e[0]?t.toUpperCase():e[0].toLowerCase()===e[0]?t.toLowerCase():n.containsUppercaseCharacter(e[0][0])?t[0].toUpperCase()+t.substr(1):t}return t}function o(e,t,n){return-1!==e[0].indexOf(n)&&-1!==t.indexOf(n)&&e[0].split(n).length===t.split(n).length}function r(e,t,n){var o=t.split(n),r=e[0].split(n),s="";return o.forEach((function(e,t){s+=i([r[t]],e)+n})),s.slice(0,-1)} +Object.defineProperty(t,"__esModule",{value:!0}),t.buildReplaceStringWithCasePreserved=i})),define(n[22],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};function i(e){return typeof e===n.string||e instanceof String}function o(e){return!(typeof e!==n.object||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function r(e){return typeof e===n.undefined}function s(e){return r(e)||null===e}t.isArray=function(e){return Array.isArray?Array.isArray(e):!(!e||typeof e.length!==n.number||e.constructor!==Array)},t.isString=i,t.isObject=o,t.isNumber=function(e){return(typeof e===n.number||e instanceof Number)&&!isNaN(e)},t.isBoolean=function(e){return!0===e||!1===e},t.isUndefined=r,t.isUndefinedOrNull=s,t.assertType=function(e,t){if(!e)throw new Error(t?"Unexpected type, expected '"+t+"'":"Unexpected type")};var a=Object.prototype.hasOwnProperty;function l(e){ +return typeof e===n.function}function u(e,t){if(i(t)){if(typeof e!==t)throw new Error("argument does not match constraint: typeof "+t)}else if(l(t)){try{if(e instanceof t)return}catch(e){}if(!s(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function d(e){for(var t=[],n=Object.getPrototypeOf(e);Object.prototype!==n;)t=t.concat(Object.getOwnPropertyNames(n)),n=Object.getPrototypeOf(n);return t}t.isEmptyObject=function(e){if(!o(e))return!1;for(var t in e)if(a.call(e,t))return!1;return!0},t.isFunction=l,t.validateConstraints=function(e,t){for(var n=Math.min(e.length,t.length),i=0;i0;){var n=t.shift();for(var o in Object.freeze(n),n)if(i.call(n,o)){var r=n[o];"object"!=typeof r||Object.isFrozen(r)||t.push(r)}}return e};var i=Object.prototype.hasOwnProperty;t.cloneAndChange=function(e,t){return function e(t,o,r){if(n.isUndefinedOrNull(t))return t;var s=o(t);if(void 0!==s)return s;if(n.isArray(t)){ +for(var a=[],l=0,u=t;l4294967295?4294967295:0|e}Object.defineProperty(t,"__esModule",{value:!0}),t.toUint8=function(e){return e<0?0:e>255?255:0|e},t.toUint32=n,t.toUint32Array=function(e){for(var t=e.length,i=new Uint32Array(t),o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==i&&(n+=encodeURIComponent(e.substring(i,o)),i=-1),void 0!==n&&(n+=e.charAt(o));else{void 0===n&&(n=e.substr(0,o));var s=f[r];void 0!==s?(-1!==i&&(n+=encodeURIComponent(e.substring(i,o)),i=-1),n+=s):-1===i&&(i=o)}}return-1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function m(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,n.isWindows&&(t=t.replace(/\//g,"\\")),t}function _(e,t){var n=t?m:g,i="",o=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(o&&(i+=o,i+=":"),(r||"file"===o)&&(i+=u,i+=u),r){var d=r.indexOf("@");if(-1!==d){var c=r.substr(0,d);r=r.substr(d+1),-1===(d=c.indexOf(":"))?i+=n(c,!1):(i+=n(c.substr(0,d),!1),i+=":",i+=n(c.substr(d+1),!1)),i+="@"}-1===(d=(r=r.toLowerCase()).indexOf(":"))?i+=n(r,!1):(i+=n(r.substr(0,d),!1),i+=r.substr(d))}if(s){ +if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/"+String.fromCharCode(h+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s=String.fromCharCode(h+32)+":"+s.substr(2))}i+=n(s,!0)}return a&&(i+="?",i+=n(a,!1)),l&&(i+="#",i+=t?l:g(l,!1)),i}var y=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(e){return e.match(y)?e.replace(y,(function(e){return function e(t){try{return decodeURIComponent(t)}catch(n){return t.length>3?t.substr(0,3)+e(t.substr(3)):t}}(e)})):e}})),define(n[179],i([0,1,24]),(function(e,t,n){"use strict";function i(e,t){if(void 0===t&&(t=0),!e||t>200)return e;if("object"==typeof e){switch(e.$mid){case 1:return n.URI.revive(e);case 2:return new RegExp(e.source,e.flags)}for(var o in e)Object.hasOwnProperty.call(e,o)&&(e[o]=i(e[o],t+1))}return e}Object.defineProperty(t,"__esModule",{value:!0}),t.parse=function(e){var t=JSON.parse(e);return t=i(t)},t.revive=i})),define(n[45],i([0,1,24,16]),(function(e,t,n,i){ +"use strict";var o;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data",e.command="command",e.vscodeRemote="vscode-remote",e.vscodeRemoteResource="vscode-remote-resource",e.userData="vscode-userdata"}(o=t.Schemas||(t.Schemas={}));var r=function(){function e(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null}return e.prototype.setPreferredWebSchema=function(e){this._preferredWebSchema=e},e.prototype.rewrite=function(e){if(this._delegate)return this._delegate(e);var t=e.authority,r=this._hosts[t];r&&-1!==r.indexOf(":")&&(r="["+r+"]");var s=this._ports[t],a=this._connectionTokens[t],l="path="+encodeURIComponent(e.path) +;return"string"==typeof a&&(l+="&tkn="+encodeURIComponent(a)),n.URI.from({scheme:i.isWeb?this._preferredWebSchema:o.vscodeRemoteResource,authority:r+":"+s,path:"/vscode-remote-resource",query:l})},e}();t.RemoteAuthorities=new r}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t=0;){if(r=s+o,(0===s||32===n.charCodeAt(s-1))&&32===n.charCodeAt(r))return this._lastStart=s,void(this._lastEnd=r+1);if(s>0&&32===n.charCodeAt(s-1)&&r===i)return this._lastStart=s-1,void(this._lastEnd=r);if(0===s&&r===i)return this._lastStart=0,void(this._lastEnd=r)}this._lastStart=-1}else this._lastStart=-1}else this._lastStart=-1},e.prototype.hasClass=function(e,t){return this._findClassName(e,t),-1!==this._lastStart},e.prototype.addClasses=function(e){for(var t=this,n=[],i=1;i0;)D.sort(M.sort),D.shift().execute();x=!1},t.scheduleAtNextAnimationFrame=function(e,t){void 0===t&&(t=0);var n,i=new M(e,t);return L.push(i),N||(N=!0,n=I,E||(E=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout((function(){return e((new Date).getTime())}),0)}),E.call(self,n)),i},t.runAtThisOrScheduleAtNextAnimationFrame=function(e,n){if(x){var i=new M(e,n);return D.push(i),i}return t.scheduleAtNextAnimationFrame(e,n)};var k=16,T=function(e,t){return t},R=function(e){function t(t,n,i,o,r){ +void 0===o&&(o=T),void 0===r&&(r=k);var s=e.call(this)||this,a=null,l=0,d=s._register(new u.TimeoutTimer),c=function(){l=(new Date).getTime(),i(a),a=null};return s._register(b(t,n,(function(e){a=o(a,e);var t=(new Date).getTime()-l;t>=r?(d.cancel(),c()):d.setIfNotSet(c,r-t)}))),s}return r(t,e),t}(h.Disposable);function O(e){return document.defaultView.getComputedStyle(e,null)}t.addDisposableThrottledListener=function(e,t,n,i,o){return new R(e,t,n,i,o)},t.getComputedStyle=O;var P=function(){function e(){}return e.convertToPixels=function(e,t){return parseFloat(t)||0},e.getDimension=function(t,n,i){var o=O(t),r="0";return o&&(r=o.getPropertyValue?o.getPropertyValue(n):o.getAttribute(i)),e.convertToPixels(t,r)},e.getBorderLeftWidth=function(t){return e.getDimension(t,"border-left-width","borderLeftWidth")},e.getBorderRightWidth=function(t){return e.getDimension(t,"border-right-width","borderRightWidth")},e.getBorderTopWidth=function(t){return e.getDimension(t,"border-top-width","borderTopWidth")}, +e.getBorderBottomWidth=function(t){return e.getDimension(t,"border-bottom-width","borderBottomWidth")},e.getPaddingLeft=function(t){return e.getDimension(t,"padding-left","paddingLeft")},e.getPaddingRight=function(t){return e.getDimension(t,"padding-right","paddingRight")},e.getPaddingTop=function(t){return e.getDimension(t,"padding-top","paddingTop")},e.getPaddingBottom=function(t){return e.getDimension(t,"padding-bottom","paddingBottom")},e.getMarginLeft=function(t){return e.getDimension(t,"margin-left","marginLeft")},e.getMarginTop=function(t){return e.getDimension(t,"margin-top","marginTop")},e.getMarginRight=function(t){return e.getDimension(t,"margin-right","marginRight")},e.getMarginBottom=function(t){return e.getDimension(t,"margin-bottom","marginBottom")},e}(),A=function(e,t){this.width=e,this.height=t};function F(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function W(e){void 0===e&&(e=document.getElementsByTagName("head")[0]);var t=document.createElement("style") +;return t.type="text/css",t.media="screen",e.appendChild(t),t}t.Dimension=A,t.getTopLeftOffset=function(e){for(var t=e.offsetParent,n=e.offsetTop,i=e.offsetLeft;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){n-=e.scrollTop;var o=O(e);o&&(i-="rtl"!==o.direction?e.scrollLeft:-e.scrollLeft),e===t&&(i+=P.getBorderLeftWidth(e),n+=P.getBorderTopWidth(e),n+=e.offsetTop,i+=e.offsetLeft,t=e.offsetParent)}return{left:i,top:n}},t.getDomNodePagePosition=function(e){var n=e.getBoundingClientRect();return{left:n.left+t.StandardWindow.scrollX,top:n.top+t.StandardWindow.scrollY,width:n.width,height:n.height}},t.StandardWindow=new(function(){function e(){}return Object.defineProperty(e.prototype,"scrollX",{get:function(){return"number"==typeof window.scrollX?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollY",{get:function(){ +return"number"==typeof window.scrollY?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop},enumerable:!0,configurable:!0}),e}()),t.getTotalWidth=function(e){var t=P.getMarginLeft(e)+P.getMarginRight(e);return e.offsetWidth+t},t.getContentWidth=function(e){var t=P.getBorderLeftWidth(e)+P.getBorderRightWidth(e),n=P.getPaddingLeft(e)+P.getPaddingRight(e);return e.offsetWidth-t-n},t.getContentHeight=function(e){var t=P.getBorderTopWidth(e)+P.getBorderBottomWidth(e),n=P.getPaddingTop(e)+P.getPaddingBottom(e);return e.offsetHeight-t-n},t.getTotalHeight=function(e){var t=P.getMarginTop(e)+P.getMarginBottom(e);return e.offsetHeight+t},t.isAncestor=F,t.findParentWithClass=function(e,n,i){for(;e;){if(t.hasClass(e,n))return e;if(i)if("string"==typeof i){if(t.hasClass(e,i))return null}else if(e===i)return null;e=e.parentNode}return null},t.createStyleSheet=W;var V=null;function B(){return V||(V=W()),V}t.createCSSRule=function(e,t,n){void 0===n&&(n=B()),n&&t&&n.sheet.insertRule(e+"{"+t+"}",0)}, +t.removeCSSRulesContainingSelector=function(e,t){if(void 0===t&&(t=B()),t){for(var n=function(e){return e&&e.sheet&&e.sheet.rules?e.sheet.rules:e&&e.sheet&&e.sheet.cssRules?e.sheet.cssRules:[]}(t),i=[],o=0;o=0;o--)t.sheet.deleteRule(i[o])}},t.isHTMLElement=function(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName},t.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange", +WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:n.isWebKit?"webkitAnimationStart":"animationstart",ANIMATION_END:n.isWebKit?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:n.isWebKit?"webkitAnimationIteration":"animationiteration"},t.EventHelper={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}},t.saveParentsScrollTop=function(e){for(var t=[],n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t},t.restoreParentsScrollTop=function(e,t){for(var n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode};var z=function(e){function n(n){var o=e.call(this)||this +;o._onDidFocus=o._register(new c.Emitter),o.onDidFocus=o._onDidFocus.event,o._onDidBlur=o._register(new c.Emitter),o.onDidBlur=o._onDidBlur.event;var r=F(document.activeElement,n),s=!1,a=function(){s=!1,r||(r=!0,o._onDidFocus.fire())},l=function(){r&&(s=!0,window.setTimeout((function(){s&&(s=!1,r=!1,o._onDidBlur.fire())}),0))};return o._refreshStateHandler=function(){F(document.activeElement,n)!==r&&(r?l():a())},o._register(i.domEvent(n,t.EventType.FOCUS,!0)(a)),o._register(i.domEvent(n,t.EventType.BLUR,!0)(l)),o}return r(n,e),n}(h.Disposable);t.trackFocus=function(e){return new z(e)},t.append=function(e){for(var t=[],n=1;n=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function r(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}})),define(n[77],i([0,1,8,16,174,44,2,87]),(function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.standardMouseMoveMerger=function(e,t){var n=new r.StandardMouseEvent(t);return n.preventDefault(),{leftButton:n.leftButton,posx:n.posx,posy:n.posy}};var l=function(){function e(){this.hooks=new s.DisposableStore,this.mouseMoveEventMerger=null,this.mouseMoveCallback=null,this.onStopCallback=null} +return e.prototype.dispose=function(){this.stopMonitoring(!1),this.hooks.dispose()},e.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks.clear(),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t&&t()}},e.prototype.isMonitoring=function(){return!!this.mouseMoveEventMerger},e.prototype.startMonitoring=function(e,t,s){var l=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=s;for(var u=o.IframeUtils.getSameOriginWindowChain(),d=i.isIOS&&a.BrowserFeatures.pointerEvents?"pointermove":"mousemove",c=i.isIOS&&a.BrowserFeatures.pointerEvents?"pointerup":"mouseup",h=0,p=u;h"},y.link=function(t,n,i){return t===i&&(i=r.removeMarkdownEscapes(i)),t=v(t,!1),n=r.removeMarkdownEscapes(n),!(t=r.removeMarkdownEscapes(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted||t.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)?i:'
    /g,">").replace(/"/g,""").replace(/'/g,"'"))+'" title="'+(n||t)+'">'+i+""},y.paragraph=function(e){return"

    "+e+"

    "}, +t.codeBlockRenderer&&(y.code=function(e,n){var i=t.codeBlockRenderer(n,e),o=s.defaultGenerator.nextId(),r=Promise.all([i,_]).then((function(e){var t=e[0],n=g.querySelector('div[data-code="'+o+'"]');n&&(n.innerHTML=t)})).catch((function(e){}));return t.codeBlockRenderCallback&&r.then(t.codeBlockRenderCallback),'
    '+c.escape(e)+"
    "});var C=t.actionHandler;C&&C.disposeables.add(n.addStandardDisposableListener(g,"click",(function(e){var t=e.target;if("A"===t.tagName||(t=t.parentElement)&&"A"===t.tagName)try{var n=t.dataset.href;n&&C.callback(n,e)}catch(e){o.onUnexpectedError(e)}finally{e.preventDefault()}})));var b={sanitize:!0,renderer:y},S=[p.Schemas.http,p.Schemas.https,p.Schemas.mailto,p.Schemas.data,p.Schemas.file,p.Schemas.vscodeRemote,p.Schemas.vscodeRemoteResource];e.isTrusted&&S.push(p.Schemas.command);var w=a.parse(e.value,b);return g.innerHTML=l.insane(w,{allowedSchemes:S,allowedAttributes:{a:["href","name","target","data-href"], +iframe:["allowfullscreen","frameborder","src"],img:["src","title","alt","width","height"],div:["class","data-code"],span:["class"]}}),f(),g}}));var h=this&&this.__decorate||function(e,t,n,i){var o,r=arguments.length,s=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,n,s):o(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};define(n[57],i([0,1,19,2,8,98]),(function(e,t,n,i,o,s){"use strict";var a;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(a=t.EventType||(t.EventType={}));var l=function(e){function t(){var t=e.call(this)||this;return t.dispatched=!1,t.activeTouches={},t.handle=null,t.targets=[],t.ignoreTargets=[],t._lastSetTapCountTime=0, +t._register(o.addDisposableListener(document,"touchstart",(function(e){return t.onTouchStart(e)}))),t._register(o.addDisposableListener(document,"touchend",(function(e){return t.onTouchEnd(e)}))),t._register(o.addDisposableListener(document,"touchmove",(function(e){return t.onTouchMove(e)}))),t}return r(t,e),t.addTarget=function(e){return t.isTouchDevice()?(t.INSTANCE||(t.INSTANCE=new t),t.INSTANCE.targets.push(e),{dispose:function(){t.INSTANCE.targets=t.INSTANCE.targets.filter((function(t){return t!==e}))}}):i.Disposable.None},t.ignoreTarget=function(e){return t.isTouchDevice()?(t.INSTANCE||(t.INSTANCE=new t),t.INSTANCE.ignoreTargets.push(e),{dispose:function(){t.INSTANCE.ignoreTargets=t.INSTANCE.ignoreTargets.filter((function(t){return t!==e}))}}):i.Disposable.None},t.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},t.prototype.dispose=function(){this.handle&&(this.handle.dispose(),this.handle=null),e.prototype.dispose.call(this)}, +t.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var n=0,i=e.targetTouches.length;n=t.HOLD_DELAY&&Math.abs(d.initialPageX-n.tail(d.rollingPageX))<30&&Math.abs(d.initialPageY-n.tail(d.rollingPageY))<30){var h;(h=s.newGestureEvent(a.Contextmenu,d.initialTarget)).pageX=n.tail(d.rollingPageX),h.pageY=n.tail(d.rollingPageY),s.dispatchEvent(h)}else if(1===o){var p=n.tail(d.rollingPageX),f=n.tail(d.rollingPageY),g=n.tail(d.rollingTimestamps)-d.rollingTimestamps[0],m=p-d.rollingPageX[0],v=f-d.rollingPageY[0],_=s.targets.filter((function(e){return d.initialTarget instanceof Node&&e.contains(d.initialTarget)}));s.inertia(_,i,Math.abs(m)/g,m>0?1:-1,p,Math.abs(v)/g,v>0?1:-1,f)}s.dispatchEvent(s.newGestureEvent(a.End,d.initialTarget)),delete s.activeTouches[u.identifier]},s=this,l=0,u=e.changedTouches.length;lt.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=i,e.tapCount=o}else e.type!==a.Change&&e.type!==a.Contextmenu||(this._lastSetTapCountTime=0);for(var r=0;r0&&(g=!1,p=r*i*h),l>0&&(g=!1,f=u*l*h) +;var m=c.newGestureEvent(a.Change);m.translationX=p,m.translationY=f,e.forEach((function(e){return e.dispatchEvent(m)})),g||c.inertia(e,o,i,r,s+p,l,u,d+f)}))},t.prototype.onTouchMove=function(e){for(var t=Date.now(),i=0,o=e.changedTouches.length;i3&&(s.rollingPageX.shift(),s.rollingPageY.shift(),s.rollingTimestamps.shift()),s.rollingPageX.push(r.pageX),s.rollingPageY.push(r.pageY),s.rollingTimestamps.push(t)}else console.warn("end of an UNKNOWN touch",r)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},t.SCROLL_FRICTION=-.005,t.HOLD_DELAY=700,t.CLEAR_TAP_COUNT_TIME=400,h([s.memoize],t,"isTouchDevice",null),t}(i.Disposable) +;t.Gesture=l})),define(n[247],i([0,1,8]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e){this.renderers=e,this.cache=new Map}return e.prototype.alloc=function(e){var t=this.getTemplateCache(e).pop();if(!t){var i=n.$(".monaco-list-row");t={domNode:i,templateId:e,templateData:this.getRenderer(e).renderTemplate(i)}}return t},e.prototype.release=function(e){e&&this.releaseRow(e)},e.prototype.releaseRow=function(e){var t=e.domNode,i=e.templateId;t&&(n.removeClass(t,"scrolling"),function(e){try{e.parentElement&&e.parentElement.removeChild(e)}catch(e){}}(t)),this.getTemplateCache(i).push(e)},e.prototype.getTemplateCache=function(e){var t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t},e.prototype.dispose=function(){var e=this;this.cache.forEach((function(t,n){for(var i=0,o=t;i140)n._setDesiredScrollPositionNow(s.getScrollPosition());else{var a=n._sliderMousePosition(e)-i;n._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(a))}}),(function(){ +n.slider.toggleClassName("active",!1),n._host.onDragEnd(),t()})),this._host.onDragStart()},t.prototype._setDesiredScrollPositionNow=function(e){var t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)},t}(l.Widget);t.AbstractScrollbar=d})),define(n[248],i([0,1,44,180,132,175]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,i,r){var a=e.call(this,{lazyRender:i.lazyRender,host:r,scrollbarState:new s.ScrollbarState(i.horizontalHasArrows?i.arrowSize:0,2===i.horizontal?0:i.horizontalScrollbarSize,2===i.vertical?0:i.verticalScrollbarSize),visibility:i.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(i.horizontalHasArrows){var l=(i.arrowSize-o.ARROW_IMG_SIZE)/2,u=(i.horizontalScrollbarSize-o.ARROW_IMG_SIZE)/2;a._createArrow({className:"left-arrow",top:u,left:l,bottom:void 0,right:void 0,bgWidth:i.arrowSize,bgHeight:i.horizontalScrollbarSize,onActivate:function(){ +return a._host.onMouseWheel(new n.StandardWheelEvent(null,1,0))}}),a._createArrow({className:"right-arrow",top:u,left:void 0,bottom:void 0,right:l,bgWidth:i.arrowSize,bgHeight:i.horizontalScrollbarSize,onActivate:function(){return a._host.onMouseWheel(new n.StandardWheelEvent(null,-1,0))}})}return a._createSlider(Math.floor((i.horizontalScrollbarSize-i.horizontalSliderSize)/2),0,void 0,i.horizontalSliderSize),a}return r(t,e),t.prototype._updateSlider=function(e,t){this.slider.setWidth(e),this.slider.setLeft(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return e}, +t.prototype._sliderMousePosition=function(e){return e.posx},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posy},t.prototype.writeScrollPosition=function(e,t){e.scrollLeft=t},t}(i.AbstractScrollbar);t.HorizontalScrollbar=a})),define(n[249],i([0,1,44,180,132,175]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,i,r){var a=e.call(this,{lazyRender:i.lazyRender,host:r,scrollbarState:new s.ScrollbarState(i.verticalHasArrows?i.arrowSize:0,2===i.vertical?0:i.verticalScrollbarSize,0),visibility:i.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(i.verticalHasArrows){var l=(i.arrowSize-o.ARROW_IMG_SIZE)/2,u=(i.verticalScrollbarSize-o.ARROW_IMG_SIZE)/2;a._createArrow({className:"up-arrow",top:l,left:u,bottom:void 0,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:function(){return a._host.onMouseWheel(new n.StandardWheelEvent(null,0,1))}}),a._createArrow({className:"down-arrow",top:void 0, +left:u,bottom:l,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:function(){return a._host.onMouseWheel(new n.StandardWheelEvent(null,0,-1))}})}return a._createSlider(0,Math.floor((i.verticalScrollbarSize-i.verticalSliderSize)/2),i.verticalSliderSize,void 0),a}return r(t,e),t.prototype._updateSlider=function(e,t){this.slider.setHeight(e),this.slider.setTop(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return t},t.prototype._sliderMousePosition=function(e){return e.posy},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posx}, +t.prototype.writeScrollPosition=function(e,t){e.scrollTop=t},t}(i.AbstractScrollbar);t.VerticalScrollbar=a}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t1&&e.scheme===s.Schemas.file?"//"+e.authority+i:l.isWindows&&47===i.charCodeAt(0)&&n.isWindowsDriveLetter(i.charCodeAt(1))&&58===i.charCodeAt(2)?i.substr(1):i,l.isWindows&&(t=t.replace(/\//g,"\\")),t}Object.defineProperty(t,"__esModule",{value:!0}),t.hasToIgnoreCase=u,t.basenameOrAuthority=function(e){return c(e)||e.authority},t.isEqualAuthority=d,t.isEqual=function(e,t,n){if(void 0===n&&(n=u(e)), +e===t)return!0;if(!e||!t)return!1;if(e.scheme!==t.scheme||!d(e.authority,t.authority))return!1;var i=e.path||"/",o=t.path||"/";return i===o||n&&r.equalsIgnoreCase(i||"/",o||"/")},t.basename=c,t.dirname=function(e){if(0===e.path.length)return e;if(e.scheme===s.Schemas.file)return o.URI.file(i.dirname(h(e)));var t=i.posix.dirname(e.path);return e.authority&&t.length&&47!==t.charCodeAt(0)&&(console.error('dirname("'+e.toString+")) resulted in a relative path"),t="/"),e.with({path:t})},t.joinPath=function(e){for(var t,n,r=[],l=1;l1,p=void 0;if(p=a.isEqual(d.uri,e)?"":a.relativePath(d.uri,e),h){var f=d.name?d.name:a.basename(d.uri);p=p?f+" • "+p:f}return p}}if(e.scheme!==r.Schemas.file&&e.scheme!==r.Schemas.untitled)return e.with({query:null,fragment:null}).toString(!0);if(l(e.fsPath))return i.normalize(u(e.fsPath));var g=i.normalize(e.fsPath);return!s.isWindows&&t&&(g=c(g,t.userHome)),g},t.getBaseLabel=function(e){if(e){"string"==typeof e&&(e=n.URI.file(e));var t=a.basename(e)||(e.scheme===r.Schemas.file?e.fsPath:e.path);return l(t)?u(t):t}},t.normalizeDriveLetter=u;var d=Object.create(null);function c(e,t){if(s.isWindows||!e||!t)return e;var n=d.original===t?d.normalized:void 0;return n||(n=""+o.rtrim(t,i.posix.sep)+i.posix.sep,d={original:t,normalized:n}),(s.isLinux?o.startsWith(e,n):o.startsWithIgnoreCase(e,n))&&(e="~/"+e.substr(n.length)),e}t.tildify=c})), +define(n[250],i([0,1,76,5,178,45,37]),(function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MIME_TEXT="text/plain",t.MIME_UNKNOWN="application/unknown";var a=[],l=[],u=[];function d(e,t,n){for(var r=null,s=null,a=null,l=n.length-1;l>=0;l--){var u=n[l];if(t===u.filenameLowercase){r=u;break}if(u.filepattern&&(!s||u.filepattern.length>s.filepattern.length)){var d=u.filepatternOnPath?e:t;o.match(u.filepatternLowercase,d)&&(s=u)}u.extension&&(!a||u.extension.length>a.extension.length)&&i.endsWith(t,u.extensionLowercase)&&(a=u)}return r?r.mime:s?s.mime:a?a.mime:null}t.registerTextMime=function(e,t){void 0===t&&(t=!1);var i=function(e){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:e.userConfigured,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?e.filepattern.toLowerCase():void 0, +filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(n.posix.sep)>=0}}(e);a.push(i),i.userConfigured?u.push(i):l.push(i),t&&!i.userConfigured&&a.forEach((function(e){e.mime===i.mime||e.userConfigured||(i.extension&&e.extension===i.extension&&console.warn("Overwriting extension <<"+i.extension+">> to now point to mime <<"+i.mime+">>"),i.filename&&e.filename===i.filename&&console.warn("Overwriting filename <<"+i.filename+">> to now point to mime <<"+i.mime+">>"),i.filepattern&&e.filepattern===i.filepattern&&console.warn("Overwriting filepattern <<"+i.filepattern+">> to now point to mime <<"+i.mime+">>"),i.firstline&&e.firstline===i.firstline&&console.warn("Overwriting firstline <<"+i.firstline+">> to now point to mime <<"+i.mime+">>"))}))},t.guessMimeTypes=function(e,o){var c;if(e)switch(e.scheme){case r.Schemas.file:c=e.fsPath;break;case r.Schemas.data:c=s.DataUri.parseMetaData(e).get(s.DataUri.META_DATA_LABEL);break;default:c=e.path}if(!c)return[t.MIME_UNKNOWN];c=c.toLowerCase() +;var h=n.basename(c),p=d(c,h,u);if(p)return[p,t.MIME_TEXT];var f=d(c,h,l);if(f)return[f,t.MIME_TEXT];if(o){var g=function(e){i.startsWithUTF8BOM(e)&&(e=e.substr(1));if(e.length>0)for(var t=a.length-1;t>=0;t--){var n=a[t];if(n.firstline){var o=e.match(n.firstline);if(o&&o.length>0)return n.mime}}return null}(o);if(g)return[g,t.MIME_TEXT]}return[t.MIME_UNKNOWN]}})),define(n[181],i([0,1,10,2,16,22]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a="$initialize",l=!1;t.logOnceWebWorkerWarning=function(e){o.isWeb&&(l||(l=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq")),console.warn(e.message))};var u=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){ +var n=this,i=String(++this._lastSentReq);return new Promise((function(o,r){n._pendingReplies[i]={resolve:o,reject:r},n._send({vsWorker:n._workerId,req:i,method:e,args:t})}))},e.prototype.handleMessage=function(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var i=e;if(!this._pendingReplies[i.seq])return void console.warn("Got reply to unknown seq");var o=this._pendingReplies[i.seq];if(delete this._pendingReplies[i.seq],i.err){var r=i.err;return i.err.$isError&&((r=new Error).name=i.err.name,r.message=i.err.message,r.stack=i.err.stack),void o.reject(r)}o.resolve(i.res)}else{var s=e,a=s.req;this._handler.handleMessage(s.method,s.args).then((function(e){t._send({vsWorker:t._workerId,seq:a,res:e,err:void 0})}),(function(e){e.detail instanceof Error&&(e.detail=n.transformErrorForSerialization(e.detail)),t._send({vsWorker:t._workerId,seq:a,res:void 0,err:n.transformErrorForSerialization(e)})}))}}, +e.prototype._send=function(e){var t=[];if(e.req)for(var n=e,i=0;i0)},e.prototype.getChildren=function(e,t){var n=this.modelProvider.getModel();return Promise.resolve(n===t?n.entries:[])},e.prototype.getParent=function(e,t){return Promise.resolve(null)},e}();t.DataSource=i;var o=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var n=this.modelProvider.getModel();return n.accessibilityProvider?n.accessibilityProvider.getAriaLabel(t):null},e.prototype.getPosInSet=function(e,t){var n=this.modelProvider.getModel(),i=0 +;if(n.filter)for(var o=0,r=n.entries;o=0;t--){var n=this._arr[t];if(e.toChord().equals(n.keybinding))return n.callback}return null},e}();t.KeybindingDispatcher=s;var a=function(){function e(e){var t=this;void 0===e&&(e={clickBehavior:0,keyboardSupport:!0,openMode:0}),this.options=e,this.downKeyBindingDispatcher=new s,this.upKeyBindingDispatcher=new s, +("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,(function(e,n){return t.onUp(e,n)})),this.downKeyBindingDispatcher.set(18,(function(e,n){return t.onDown(e,n)})),this.downKeyBindingDispatcher.set(15,(function(e,n){return t.onLeft(e,n)})),this.downKeyBindingDispatcher.set(17,(function(e,n){return t.onRight(e,n)})),n.isMacintosh&&(this.downKeyBindingDispatcher.set(2064,(function(e,n){return t.onLeft(e,n)})),this.downKeyBindingDispatcher.set(300,(function(e,n){return t.onDown(e,n)})),this.downKeyBindingDispatcher.set(302,(function(e,n){return t.onUp(e,n)}))),this.downKeyBindingDispatcher.set(11,(function(e,n){return t.onPageUp(e,n)})),this.downKeyBindingDispatcher.set(12,(function(e,n){return t.onPageDown(e,n)})),this.downKeyBindingDispatcher.set(14,(function(e,n){return t.onHome(e,n)})),this.downKeyBindingDispatcher.set(13,(function(e,n){return t.onEnd(e,n)})),this.downKeyBindingDispatcher.set(10,(function(e,n){return t.onSpace(e,n)})), +this.downKeyBindingDispatcher.set(9,(function(e,n){return t.onEscape(e,n)})),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,n,i){if(void 0===i&&(i="mouse"),0===this.options.clickBehavior&&(n.leftButton||n.middleButton)){if(n.target){if(n.target.tagName&&"input"===n.target.tagName.toLowerCase())return!1;if(o.findParentWithClass(n.target,"scrollbar","monaco-tree"))return!1;if(o.findParentWithClass(n.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,n,i)}return!1},e.prototype.onClick=function(e,t,i){return n.isMacintosh&&i.ctrlKey?(i.preventDefault(),i.stopPropagation(),!1):(!i.target||!i.target.tagName||"input"!==i.target.tagName.toLowerCase())&&((0!==this.options.clickBehavior||!i.leftButton&&!i.middleButton)&&this.onLeftClick(e,t,i))},e.prototype.onLeftClick=function(e,t,n,o){void 0===o&&(o="mouse");var r=n,s={origin:o,originalEvent:n, +didClickOnTwistie:this.isClickOnTwistie(r)};e.getInput()===t?(e.clearFocus(s),e.clearSelection(s)):(n&&r.browserEvent&&"mousedown"===r.browserEvent.type&&1===r.browserEvent.detail||n.preventDefault(),n.stopPropagation(),e.domFocus(),e.setSelection([t],s),e.setFocus(t,s),this.shouldToggleExpansion(t,r,o)&&(e.isExpanded(t)?e.collapse(t).then(void 0,i.onUnexpectedError):e.expand(t).then(void 0,i.onUnexpectedError)));return!0},e.prototype.shouldToggleExpansion=function(e,t,n){var i="mouse"===n&&2===t.detail;return this.openOnSingleClick||i||this.isClickOnTwistie(t)},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return 0===this.options.openMode},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!o.hasClass(t,"content"))return!1;var n=window.getComputedStyle(t,":before");if("none"===n.backgroundImage||"none"===n.display)return!1;var i=parseInt(n.width)+parseInt(n.paddingRight);return e.browserEvent.offsetX<=i}, +e.prototype.onContextMenu=function(e,t,n){return(!n.target||!n.target.tagName||"input"!==n.target.tagName.toLowerCase())&&(n&&(n.preventDefault(),n.stopPropagation()),!1)},e.prototype.onTap=function(e,t,n){var i=n.initialTarget;return(!i||!i.tagName||"input"!==i.tagName.toLowerCase())&&this.onLeftClick(e,t,n,"touch")},e.prototype.onKeyDown=function(e,t){return this.onKey(this.downKeyBindingDispatcher,e,t)},e.prototype.onKeyUp=function(e,t){return this.onKey(this.upKeyBindingDispatcher,e,t)},e.prototype.onKey=function(e,t,n){var i=e.dispatch(n.toKeybinding());return!(!i||!i(t,n))&&(n.preventDefault(),n.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPrevious(1,n),e.reveal(e.getFocus()).then(void 0,i.onUnexpectedError)),!0},e.prototype.onPageUp=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusPreviousPage(n), +e.reveal(e.getFocus()).then(void 0,i.onUnexpectedError)),!0},e.prototype.onDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNext(1,n),e.reveal(e.getFocus()).then(void 0,i.onUnexpectedError)),!0},e.prototype.onPageDown=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusNextPage(n),e.reveal(e.getFocus()).then(void 0,i.onUnexpectedError)),!0},e.prototype.onHome=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusFirst(n),e.reveal(e.getFocus()).then(void 0,i.onUnexpectedError)),!0},e.prototype.onEnd=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(n):(e.focusLast(n),e.reveal(e.getFocus()).then(void 0,i.onUnexpectedError)),!0},e.prototype.onLeft=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var o=e.getFocus() +;e.collapse(o).then((function(t){if(o&&!t)return e.focusParent(n),e.reveal(e.getFocus())})).then(void 0,i.onUnexpectedError)}return!0},e.prototype.onRight=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(n);else{var o=e.getFocus();e.expand(o).then((function(t){if(o&&!t)return e.focusFirstChild(n),e.reveal(e.getFocus())})).then(void 0,i.onUnexpectedError)}return!0},e.prototype.onEnter=function(e,t){var n={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var i=e.getFocus();return i&&e.setSelection([i],n),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.toggleExpansion(n),!0},e.prototype.onEscape=function(e,t){var n={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(n),!0):e.getSelection().length?(e.clearSelection(n),!0):!!e.getFocus()&&(e.clearFocus(n),!0)},e}();t.DefaultController=a;var l=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null}, +e.prototype.onDragStart=function(e,t,n){},e.prototype.onDragOver=function(e,t,n,i){return null},e.prototype.drop=function(e,t,n,i){},e}();t.DefaultDragAndDrop=l;var u=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}();t.DefaultFilter=u;var d=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}();t.DefaultAccessibilityProvider=d;var c=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",n=[];e.listFocusBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"), +e.listActiveSelectionBackground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&n.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&n.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: "+e.listFocusAndSelectionBackground+"; }\n\t\t\t"),e.listFocusAndSelectionForeground&&n.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: "+e.listFocusAndSelectionForeground+"; }\n\t\t\t"), +e.listInactiveSelectionBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&n.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&n.push("\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: "+e.listDropBackground+" !important; color: inherit !important; }\n\t\t\t"), +e.listFocusOutline&&n.push("\n\t\t\t\t.monaco-tree-drag-image\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; background: #000; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row \t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid transparent; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \t\t\t\t\t\t{ border: 1px dotted "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) \t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t") +;var i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i)},e}();t.DefaultTreestyler=c})),define(n[253],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}();t.ElementsDragAndDropData=n;var i=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e.prototype.getData=function(){return this.elements},e}();t.ExternalElementsDragAndDropData=i;var o=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){e.types&&(this.types=[],Array.prototype.push.apply(this.types,e.types)),e.files&&(this.files=[],Array.prototype.push.apply(this.files,e.files),this.files=this.files.filter((function(e){return e.size||e.type})))},e.prototype.getData=function(){return{types:this.types,files:this.files}},e}();t.DesktopDragAndDropData=o})), +define(n[254],i([0,1,121,10,2,4]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e){this._onDispose=new s.Emitter,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=void 0)},e}();t.LockData=a;var l=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var n=this,i=this.getLock(e);return i?new Promise((function(o,r){s.Event.once(i.onDispose)((function(){return n.run(e,t).then(o,r)}))})):new Promise((function(i,o){if(e.isDisposed())return o(new Error("Item is disposed."));var r=n.locks[e.id]=new a(e);return t().then((function(t){return delete n.locks[e.id],r.dispose(),t})).then(i,o)}))},e.prototype.getLock=function(e){var t +;for(t in this.locks){var n=this.locks[t];if(e.intersects(n.item))return n}return null},e}();t.Lock=l;var u=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new s.EventMultiplexer,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new s.EventMultiplexer,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new s.EventMultiplexer,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new s.EventMultiplexer,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new s.EventMultiplexer,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new s.EventMultiplexer,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new s.EventMultiplexer,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new s.EventMultiplexer,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new s.EventMultiplexer, +this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new s.EventMultiplexer,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new s.EventMultiplexer,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){n.ok(!this.isRegistered(e.id),"item already registered: "+e.id);var t=o.combinedDisposable(this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose));this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){ +n.ok(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items={},this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}();t.ItemRegistry=u;var d=function(){function e(e,t,n,i,o){this._onDidCreate=new s.Emitter,this._onDidReveal=new s.Emitter,this.onDidReveal=this._onDidReveal.event,this._onExpand=new s.Emitter,this.onExpand=this._onExpand.event,this._onDidExpand=new s.Emitter, +this.onDidExpand=this._onDidExpand.event,this._onCollapse=new s.Emitter,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new s.Emitter,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new s.Emitter,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new s.Emitter,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new s.Emitter,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new s.Emitter,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new s.Emitter,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new s.Emitter,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=n,this.lock=i,this.element=o,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={}, +this.depth=0,this.expanded=!(!this.context.dataSource.shouldAutoexpand||!this.context.dataSource.shouldAutoexpand(this.context.tree,o)),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,(function(){if(e.isExpanded()||!e.doesHaveChildren)return Promise.resolve(!1);var t={item:e} +;return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):Promise.resolve(null)).then((function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0}))})).then((function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then((function(){return!0})):t)}))},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var n=Promise.resolve(null);return this.forEachChild((function(e){n=n.then((function(){return e.collapse(!0)}))})),n.then((function(){return t.collapse(!1)}))}return!this.isExpanded()||this.lock.isLocked(this)?Promise.resolve(!1):this.lock.run(this,(function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),Promise.resolve(!0)}))},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e} +;delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,n,o){var r=this;if(void 0===n&&(n=!1),void 0===o&&(o=!1),!o&&!this.isExpanded()){var s=function(e){e.needsChildrenRefresh=!0,e.forEachChild(s)};return s(this),Promise.resolve(this)}this.needsChildrenRefresh=!1;var a=function(){var o={item:r,isNested:n};return r._onRefreshChildren.fire(o),(r.doesHaveChildren?r.context.dataSource.getChildren(r.context.tree,r.element):Promise.resolve([])).then((function(n){if(r.isDisposed()||r.registry.isDisposed())return Promise.resolve(null);if(!Array.isArray(n))return Promise.reject(new Error("Please return an array of children."));n=n?n.slice(0):[],n=r.sort(n);for(var i={};null!==r.firstChild;)i[r.firstChild.id]=r.firstChild, +r.removeChild(r.firstChild);for(var o=0,s=n.length;o=0;o--)this.onInsertItem(u[o]);for(o=this.heightMap.length-1;o>=i;o--)this.onRefreshItem(this.heightMap[o]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,n=null,i=null,o=0,r=0;n=e.next();){if(o=this.indexes[n],!(t=this.heightMap[o]))return void console.error("view item doesnt exist");r-=t.height,delete this.indexes[n],this.onRemoveItem(t),null===i&&(i=o)}if(0!==r&&null!==i)for(this.heightMap.splice(i,o-i+1), +o=i;o=n.top+n.height))return t;if(i===t)break;i=t}return this.heightMap.length},e.prototype.indexAfter=function(e){ +return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error("not implemented")},e.prototype.dispose=function(){this.heightMap=[],this.indexes={}},e}();t.HeightMap=i})),define(n[256],i([0,1,16,181]),(function(e,t,n,i){"use strict";function o(t,n){if(/^(http:)|(https:)|(file:)/.test(t)){var i=String(window.location),o=i.substr(0,i.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(t.substring(0,o.length)!==o){var r="vs/base/worker/defaultWorkerFactory.js",s=e.toUrl(r).slice(0,-r.length);return"data:text/javascript;charset=utf-8,"+encodeURIComponent("/*"+n+"*/self.MonacoEnvironment={baseUrl: '"+s+"'};importScripts('"+t+"');/*"+n+"*/")}}return t+"#"+n}Object.defineProperty(t,"__esModule",{value:!0}),t.getWorkerBootstrapUrl=o;var r=function(){ +function t(t,i,r,s,a){this.id=i;var l=function(t,i){if(n.globals.MonacoEnvironment){if("function"==typeof n.globals.MonacoEnvironment.getWorker)return n.globals.MonacoEnvironment.getWorker(t,i);if("function"==typeof n.globals.MonacoEnvironment.getWorkerUrl)return new Worker(n.globals.MonacoEnvironment.getWorkerUrl(t,i))}if("function"==typeof e){var r=o(e.toUrl("./"+t),i);return new Worker(r,{name:i})}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}("workerMain.js",r);"function"==typeof l.then?this.worker=l:this.worker=Promise.resolve(l),this.postMessage(t,[]),this.worker.then((function(e){e.onmessage=function(e){s(e.data)},e.onmessageerror=a,"function"==typeof e.addEventListener&&e.addEventListener("error",a)}))}return t.prototype.getId=function(){return this.id},t.prototype.postMessage=function(e,t){this.worker&&this.worker.then((function(n){return n.postMessage(e,t)}))},t.prototype.dispose=function(){this.worker&&this.worker.then((function(e){ +return e.terminate()})),this.worker=null},t}(),s=function(){function e(e){this._label=e,this._webWorkerFailedBeforeError=!1}return e.prototype.create=function(t,n,o){var s=this,a=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new r(t,a,this._label||"anonymous"+a,n,(function(e){i.logOnceWebWorkerWarning(e),s._webWorkerFailedBeforeError=e,o(e)}))},e.LAST_WORKER_ID=0,e}();t.DefaultWorkerFactory=s})),define(n[257],i([9]),{}),define(n[258],i([9]),{}),define(n[259],i([9]),{}),define(n[135],i([0,1,8,46,27,4,30,259]),(function(e,t,n,i,o,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={inputActiveOptionBorder:o.Color.fromHex("#007ACC00"),inputActiveOptionBackground:o.Color.fromHex("#0E639C50")},u=function(e){function t(t){var n=e.call(this)||this;return n._onChange=n._register(new s.Emitter),n.onChange=n._onChange.event,n._onKeyDown=n._register(new s.Emitter),n.onKeyDown=n._onKeyDown.event,n._opts=a.deepClone(t),a.mixin(n._opts,l,!1), +n._checked=n._opts.isChecked,n.domNode=document.createElement("div"),n.domNode.title=n._opts.title,n.domNode.className="monaco-custom-checkbox codicon "+(n._opts.actionClassName||"")+" "+(n._checked?"checked":"unchecked"),n.domNode.tabIndex=0,n.domNode.setAttribute("role","checkbox"),n.domNode.setAttribute("aria-checked",String(n._checked)),n.domNode.setAttribute("aria-label",n._opts.title),n.applyStyles(),n.onclick(n.domNode,(function(e){n.checked=!n._checked,n._onChange.fire(!1),e.preventDefault()})),n.ignoreGesture(n.domNode),n.onkeydown(n.domNode,(function(e){if(10===e.keyCode||3===e.keyCode)return n.checked=!n._checked,n._onChange.fire(!0),void e.preventDefault();n._onKeyDown.fire(e)})),n}return r(t,e),Object.defineProperty(t.prototype,"enabled",{get:function(){return"true"!==this.domNode.getAttribute("aria-disabled")},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.domNode.focus()},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){ +this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this._checked?this.domNode.classList.add("checked"):this.domNode.classList.remove("checked"),this.applyStyles()},enumerable:!0,configurable:!0}),t.prototype.width=function(){return 22},t.prototype.style=function(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),e.inputActiveOptionBackground&&(this._opts.inputActiveOptionBackground=e.inputActiveOptionBackground),this.applyStyles()},t.prototype.applyStyles=function(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"transparent",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground?this._opts.inputActiveOptionBackground.toString():"transparent")},t.prototype.enable=function(){this.domNode.tabIndex=0,this.domNode.setAttribute("aria-disabled",String(!1))},t.prototype.disable=function(){ +n.removeTabIndexAndUpdateFocus(this.domNode),this.domNode.setAttribute("aria-disabled",String(!0))},t}(i.Widget);t.Checkbox=u})),define(n[260],i([9]),{}),define(n[261],i([9]),{}),define(n[101],i([0,1,5,260,261]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.renderCodicons=function(e){return n.escape(e).replace(/\$\((([a-z0-9\-]+?)(~([a-z0-9\-]*?))?)\)/gi,(function(e,t,n,i,o){return''}))}})),define(n[136],i([0,1,30,101,5]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){this.supportCodicons=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.domNode=document.createElement("span"),this.domNode.className="monaco-highlighted-label",e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(t,i,o,r){ +void 0===i&&(i=[]),void 0===o&&(o=""),t||(t=""),r&&(t=e.escapeNewLines(t,i)),this.didEverRender&&this.text===t&&this.title===o&&n.equals(this.highlights,i)||(Array.isArray(i)||(i=[]),this.text=t,this.title=o,this.highlights=i,this.render())},e.prototype.render=function(){for(var e="",t=0,n=0,r=this.highlights;n";var a=this.text.substring(t,s.start);e+=this.supportCodicons?i.renderCodicons(a):o.escape(a),e+="",t=s.end}e+='';var l=this.text.substring(s.start,s.end);e+=this.supportCodicons?i.renderCodicons(l):o.escape(l),e+="",t=s.end}}if(t";l=this.text.substring(t);e+=this.supportCodicons?i.renderCodicons(l):o.escape(l),e+=""}this.domNode.innerHTML=e,this.title?this.domNode.title=this.title:this.domNode.removeAttribute("title"),this.didEverRender=!0},e.escapeNewLines=function(e,t){var n=0,i=0;return e.replace(/\r\n|\r|\n/g,(function(e,o){i="\r\n"===e?-1:0,o+=n +;for(var r=0,s=t;r=o&&(a.start+=i),a.end>=o&&(a.end+=i))}return n+=i,"⏎"}))},e}();t.HighlightedLabel=r})),define(n[262],i([9]),{}),define(n[263],i([0,1,8,16,2,100,87,262]),(function(e,t,n,i,o,s,a){"use strict";function l(e,t,n){var i=n.offset+n.size;return 0===n.position?t<=e-i?i:t<=n.offset?n.offset-t:Math.max(e-t,0):t<=n.offset?n.offset-t:t<=e-i?i:0}Object.defineProperty(t,"__esModule",{value:!0}),t.layout=l;var u=function(e){function t(t){var i=e.call(this)||this;return i.container=null,i.delegate=null,i.toDisposeOnClean=o.Disposable.None,i.toDisposeOnSetContainer=o.Disposable.None,i.view=n.$(".context-view"),n.hide(i.view),i.setContainer(t),i._register(o.toDisposable((function(){return i.setContainer(null)}))),i}return r(t,e),t.prototype.setContainer=function(e){var i=this;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.container.removeChild(this.view),this.container=null),e){this.container=e,this.container.appendChild(this.view) +;var r=new o.DisposableStore;t.BUBBLE_UP_EVENTS.forEach((function(e){r.add(n.addStandardDisposableListener(i.container,e,(function(e){i.onDOMEvent(e,!1)})))})),t.BUBBLE_DOWN_EVENTS.forEach((function(e){r.add(n.addStandardDisposableListener(i.container,e,(function(e){i.onDOMEvent(e,!0)}),!0))})),this.toDisposeOnSetContainer=r}},t.prototype.show=function(e){this.isVisible()&&this.hide(),n.clearNode(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",n.show(this.view),this.toDisposeOnClean=e.render(this.view)||o.Disposable.None,this.delegate=e,this.doLayout(),this.delegate.focus&&this.delegate.focus()},t.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout||i.isIOS&&a.BrowserFeatures.pointerEvents?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},t.prototype.doLayout=function(){if(this.isVisible()){var e,t=this.delegate.getAnchor();if(n.isHTMLElement(t)){var i=n.getDomNodePagePosition(t);e={top:i.top,left:i.left, +width:i.width,height:i.height}}else e={top:t.y,left:t.x,width:t.width||1,height:t.height||2};var o,r=n.getTotalWidth(this.view),a=n.getTotalHeight(this.view),u=this.delegate.anchorPosition||0,d=this.delegate.anchorAlignment||0,c={offset:e.top-window.pageYOffset,size:e.height,position:0===u?0:1};o=0===d?{offset:e.left,size:0,position:0}:{offset:e.left+e.width,size:0,position:1};var h=l(window.innerHeight,a,c)+window.pageYOffset;s.Range.intersects({start:h,end:h+a},{start:c.offset,end:c.offset+c.size})&&(o.size=e.width,1===d&&(o.offset=e.left));var p=l(window.innerWidth,r,o);n.removeClasses(this.view,"top","bottom","left","right"),n.addClass(this.view,0===u?"bottom":"top"),n.addClass(this.view,0===d?"left":"right");var f=n.getDomNodePagePosition(this.container);this.view.style.top=h-f.top+"px",this.view.style.left=p-f.left+"px",this.view.style.width="initial"}},t.prototype.hide=function(e){var t,i=this.delegate;this.delegate=null,(null===(t=i)||void 0===t?void 0:t.onHide)&&i.onHide(e), +this.toDisposeOnClean.dispose(),n.hide(this.view)},t.prototype.isVisible=function(){return!!this.delegate},t.prototype.onDOMEvent=function(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):t&&!n.isAncestor(e.target,this.container)&&this.hide())},t.prototype.dispose=function(){this.hide(),e.prototype.dispose.call(this)},t.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],t.BUBBLE_DOWN_EVENTS=["click"],t}(o.Disposable);t.ContextView=u})),define(n[264],i([9]),{}),define(n[265],i([0,1,8,5,27,30,264]),(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s={badgeBackground:o.Color.fromHex("#4D4D4D"),badgeForeground:o.Color.fromHex("#FFFFFF")},a=function(){function e(e,t){this.count=0,this.options=t||Object.create(null),r.mixin(this.options,s,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder, +this.element=n.append(e,n.$(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=i.format(this.countFormat,this.count),this.element.title=i.format(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():"",t=this.badgeForeground?this.badgeForeground.toString():"",n=this.badgeBorder?this.badgeBorder.toString():"";this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=n?"1px":"", +this.element.style.borderStyle=n?"solid":"",this.element.style.borderColor=n}},e}();t.CountBadge=a})),define(n[182],i([9]),{}),define(n[266],i([9]),{}),define(n[137],i([0,1,8,136,2,100,30,266]),(function(e,t,n,i,o,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute("title"))},enumerable:!0,configurable:!0 +}),Object.defineProperty(e.prototype,"empty",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),u=function(e){function t(t,o){var r,s,a=e.call(this)||this;a.domNode=a._register(new l(n.append(t,n.$(".monaco-icon-label"))));var u=n.append(a.domNode.element,n.$(".monaco-icon-label-container")),h=n.append(u,n.$("span.monaco-icon-name-container"));return a.descriptionContainer=a._register(new l(n.append(u,n.$("span.monaco-icon-description-container")))),(null===(r=o)||void 0===r?void 0:r.supportHighlights)?a.nameNode=new c(h,!!o.supportCodicons):a.nameNode=new d(h),(null===(s=o)||void 0===s?void 0:s.supportDescriptionHighlights)?a.descriptionNodeFactory=function(){return new i.HighlightedLabel(n.append(a.descriptionContainer.element,n.$("span.label-description")),!!o.supportCodicons)}:a.descriptionNodeFactory=function(){ +return a._register(new l(n.append(a.descriptionContainer.element,n.$("span.label-description"))))},a}return r(t,e),t.prototype.setLabel=function(e,t,n){var o,r,s,a=["monaco-icon-label"];n&&(n.extraClasses&&a.push.apply(a,n.extraClasses),n.italic&&a.push("italic")),this.domNode.className=a.join(" "),this.domNode.title=(null===(o=n)||void 0===o?void 0:o.title)||"",this.nameNode.setLabel(e,n),(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof i.HighlightedLabel?(this.descriptionNode.set(t||"",n?n.descriptionMatches:void 0),(null===(r=n)||void 0===r?void 0:r.descriptionTitle)?this.descriptionNode.element.title=n.descriptionTitle:this.descriptionNode.element.removeAttribute("title")):(this.descriptionNode.textContent=t||"",this.descriptionNode.title=(null===(s=n)||void 0===s?void 0:s.descriptionTitle)||"",this.descriptionNode.empty=!t))},t}(o.Disposable);t.IconLabel=u;var d=function(){function e(e){this.container=e, +this.label=void 0,this.singleLabel=void 0}return e.prototype.setLabel=function(e,t){var i,o,r,s;if(this.label!==e||!a.equals(this.options,t))if(this.label=e,this.options=t,"string"==typeof e)this.singleLabel||(this.container.innerHTML="",n.removeClass(this.container,"multiple"),this.singleLabel=n.append(this.container,n.$("a.label-name",{id:null===(i=t)||void 0===i?void 0:i.domId}))),this.singleLabel.textContent=e;else{this.container.innerHTML="",n.addClass(this.container,"multiple"),this.singleLabel=void 0;for(var l=0;l=this.el.clientHeight-4)return this.orthogonalEndSash}else{if(e.offsetX<=4)return this.orthogonalStartSash;if(e.offsetX>=this.el.clientWidth-4)return this.orthogonalEndSash}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.el.remove()},t}(n.Disposable);t.Sash=f})),define(n[274],i([9]),{}),define(n[52],i([0,1,25,8,28,44,248,249,46,15,4,2,16,176,274]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var g=function(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0 +},m=function(){function e(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}return e.prototype.isPhysicalMouseWheel=function(){if(-1===this._front&&-1===this._rear)return!1;for(var e=1,t=0,n=1,i=this._rear;;){var o=i===this._front?e:Math.pow(2,-n);if(e-=o,t+=this._memory[i].score*o,i===this._front)break;i=(this._capacity+i-1)%this._capacity,n++}return t<=.5},e.prototype.accept=function(e,t,n){var i=new g(e,t,n);i.score=this._computeScore(i),-1===this._front&&-1===this._rear?(this._memory[0]=i,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=i)},e.prototype._computeScore=function(e){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;var t=.5;-1===this._front&&-1===this._rear||this._memory[this._rear];return(Math.abs(e.deltaX-Math.round(e.deltaX))>0||Math.abs(e.deltaY-Math.round(e.deltaY))>0)&&(t+=.25),Math.min(Math.max(t,0),1)},e.INSTANCE=new e,e}();t.MouseWheelClassifier=m +;var v=function(e){function t(t,n,i){var r=e.call(this)||this;r._onScroll=r._register(new c.Emitter),r.onScroll=r._onScroll.event,t.style.overflow="hidden",r._options=b(n),r._scrollable=i,r._register(r._scrollable.onScroll((function(e){r._onDidScroll(e),r._onScroll.fire(e)})));var s={onMouseWheel:function(e){return r._onMouseWheel(e)},onDragStart:function(){return r._onDragStart()},onDragEnd:function(){return r._onDragEnd()}};return r._verticalScrollbar=r._register(new l.VerticalScrollbar(r._scrollable,r._options,s)),r._horizontalScrollbar=r._register(new a.HorizontalScrollbar(r._scrollable,r._options,s)),r._domNode=document.createElement("div"),r._domNode.className="monaco-scrollable-element "+r._options.className,r._domNode.setAttribute("role","presentation"),r._domNode.style.position="relative",r._domNode.style.overflow="hidden",r._domNode.appendChild(t),r._domNode.appendChild(r._horizontalScrollbar.domNode.domNode),r._domNode.appendChild(r._verticalScrollbar.domNode.domNode), +r._options.useShadows?(r._leftShadowDomNode=o.createFastDomNode(document.createElement("div")),r._leftShadowDomNode.setClassName("shadow"),r._domNode.appendChild(r._leftShadowDomNode.domNode),r._topShadowDomNode=o.createFastDomNode(document.createElement("div")),r._topShadowDomNode.setClassName("shadow"),r._domNode.appendChild(r._topShadowDomNode.domNode),r._topLeftShadowDomNode=o.createFastDomNode(document.createElement("div")),r._topLeftShadowDomNode.setClassName("shadow top-left-corner"),r._domNode.appendChild(r._topLeftShadowDomNode.domNode)):(r._leftShadowDomNode=null,r._topShadowDomNode=null,r._topLeftShadowDomNode=null),r._listenOnDomNode=r._options.listenOnDomNode||r._domNode,r._mouseWheelToDispose=[],r._setListeningToMouseWheel(r._options.handleMouseWheel),r.onmouseover(r._listenOnDomNode,(function(e){return r._onMouseOver(e)})),r.onnonbubblingmouseout(r._listenOnDomNode,(function(e){return r._onMouseOut(e)})),r._hideTimeout=r._register(new d.TimeoutTimer),r._isDragging=!1,r._mouseIsOver=!1, +r._shouldRender=!0,r._revealOnScroll=!0,r}return r(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=h.dispose(this._mouseWheelToDispose),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getOverviewRulerLayoutInfo=function(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._verticalScrollbar.delegateMouseDown(e)},t.prototype.getScrollDimensions=function(){return this._scrollable.getScrollDimensions()},t.prototype.setScrollDimensions=function(e){this._scrollable.setScrollDimensions(e)},t.prototype.updateClassName=function(e){this._options.className=e,p.isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=b(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity, +this._options.fastScrollSensitivity=t.fastScrollSensitivity,this._setListeningToMouseWheel(this._options.handleMouseWheel),this._options.lazyRender||this._render()},t.prototype._setListeningToMouseWheel=function(e){var t=this;if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=h.dispose(this._mouseWheelToDispose),e)){this._mouseWheelToDispose.push(i.addDisposableListener(this._listenOnDomNode,n.isEdgeOrIE?"mousewheel":"wheel",(function(e){t._onMouseWheel(new s.StandardWheelEvent(e))}),{passive:!1}))}},t.prototype._onMouseWheel=function(e){var t,n=m.INSTANCE;if(n.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var i=e.deltaY*this._options.mouseWheelScrollSensitivity,o=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(i=(t=[o,i])[0],o=t[1]);var r=!p.isMacintosh&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!r||o||(o=i,i=0),e.browserEvent&&e.browserEvent.altKey&&(o*=this._options.fastScrollSensitivity, +i*=this._options.fastScrollSensitivity);var s=this._scrollable.getFutureScrollPosition(),a={};if(i){var l=s.scrollTop-50*i;this._verticalScrollbar.writeScrollPosition(a,l)}if(o){var u=s.scrollLeft-50*o;this._horizontalScrollbar.writeScrollPosition(a,u)}if(a=this._scrollable.validateScrollPosition(a),s.scrollLeft!==a.scrollLeft||s.scrollTop!==a.scrollTop)this._options.mouseWheelSmoothScroll&&n.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(a):this._scrollable.setScrollPositionNow(a),this._shouldRender=!0}(this._options.alwaysConsumeMouseWheel||this._shouldRender)&&(e.preventDefault(),e.stopPropagation())},t.prototype._onDidScroll=function(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()},t.prototype.renderNow=function(){ +if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()},t.prototype._render=function(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){var e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(n?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(n?" left":""))}},t.prototype._onDragStart=function(){this._isDragging=!0,this._reveal()},t.prototype._onDragEnd=function(){this._isDragging=!1,this._hide()},t.prototype._onMouseOut=function(e){this._mouseIsOver=!1,this._hide()},t.prototype._onMouseOver=function(e){this._mouseIsOver=!0,this._reveal()},t.prototype._reveal=function(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}, +t.prototype._hide=function(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())},t.prototype._scheduleHide=function(){var e=this;this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((function(){return e._hide()}),500)},t}(u.Widget);t.AbstractScrollableElement=v;var _=function(e){function t(t,n){var o=this;(n=n||{}).mouseWheelSmoothScroll=!1;var r=new f.Scrollable(0,(function(e){return i.scheduleAtNextAnimationFrame(e)}));return(o=e.call(this,t,n,r)||this)._register(r),o}return r(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(v);t.ScrollableElement=_;var y=function(e){function t(t,n,i){return e.call(this,t,n,i)||this}return r(t,e),t}(v);t.SmoothScrollableElement=y;var C=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i._element=t,i.onScroll((function(e){ +e.scrollTopChanged&&(i._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(i._element.scrollLeft=e.scrollLeft)})),i.scanDomNode(),i}return r(t,e),t.prototype.scanDomNode=function(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})},t}(_);function b(e){var t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1, +fastScrollSensitivity:void 0!==e.fastScrollSensitivity?e.fastScrollSensitivity:5,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:1,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:1,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize, +t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,p.isMacintosh&&(t.className+=" mac"),t}t.DomScrollableElement=C}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t=this.items.length?(this.rangeMap=new d.RangeMap,this.rangeMap.splice(0,0,v),this.items=v,h=[]):(this.rangeMap.splice(e,t,v), +h=(o=this.items).splice.apply(o,a([e,t],v)));var _=n.length-t,y=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),C=d.shift(g,_),b=f.Range.intersect(y,C);for(c=b.start;c=-1&&en&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-n))))}},e.prototype.teardownDragAndDropScrollTopAnimation=function(){this.dragOverAnimationStopDisposable.dispose(), +this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},e.prototype.getItemIndexFromEventTarget=function(e){for(var t=e;t instanceof HTMLElement&&t!==this.rowsContainer;){var n=t.getAttribute("data-index");if(n){var i=Number(n);if(!isNaN(i))return i}t=t.parentElement}},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype._rerender=function(e,t){var n,i,o=this.getRenderRange(e,t);e===this.elementTop(o.start)?(n=o.start,i=0):o.end-o.start>1&&(n=o.start+1,i=this.elementTop(n)-e);for(var r=0;;){for(var s=this.getRenderRange(e,t),a=!1,l=s.start;l=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(l))-1,s=this.indexAt(a);r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(u));r1e3,d=[],c=!1;if(!u)c=(d=new a.LcsDiff({getElements:function(){return o}},{getElements:function(){return r.map((function(e){return e.id}))}},null).ComputeDiff(!1).changes).some((function(e){if(e.modifiedLength>0)for(var n=e.modifiedStart,i=e.modifiedStart+e.modifiedLength;n0&&this.onRemoveItems(new p.ArrayIterator(o,g.originalStart,g.originalStart+g.originalLength)),g.modifiedLength>0){var m=r[g.modifiedStart-1]||n +;m=m.getDepth()>0?m:null,this.onInsertItems(new p.ArrayIterator(r,g.modifiedStart,g.modifiedStart+g.modifiedLength),m?m.id:null)}}else(u||d.length)&&(this.onRemoveItems(new p.ArrayIterator(o)),this.onInsertItems(new p.ArrayIterator(r),n.getDepth()>0?n.id:null));(u||d.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter((function(e){return t.items.hasOwnProperty(e.id)}))),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,n=this.items[t.id];if(n){n.expanded=!0;var i=this.onInsertItems(t.getNavigator(),t.id)||0,o=this.scrollTop;n.top+n.height<=this.scrollTop&&(o+=i),this.onRowsChanged(o)}},t.prototype.onItemCollapsing=function(e){var t=e.item,n=this.items[t.id];n&&(n.expanded=!1,this.onRemoveItems(new p.MappedIterator(t.getNavigator(),(function(e){return e&&e.id}))), +this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,n=e.relativeTop,i=this.items[t.id];if(i)if(null!==n){n=(n=n<0?0:n)>1?1:n;var o=i.height-this.viewHeight;this.scrollTop=o*n+i.top}else{var r=i.top+i.height,s=this.scrollTop+this.viewHeight;i.top=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.addClass(n),"highlighted"===n&&(s.addClass(this.domNode,n),i&&(this.highlightedItemWasDraggable=!!i.draggable,i.draggable&&(i.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,n=e.trait,i=this.items[t.id];i&&i.removeClass(n),"highlighted"===n&&(s.removeClass(this.domNode,n),this.highlightedItemWasDraggable&&(i.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();s.toggleClass(this.domNode,"no-focused-item",!e), +e?this.domNode.setAttribute("aria-activedescendant",u.safeBtoa(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(n){t.onDragStart(e,n)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new d.StandardMouseEvent(e),n=this.getItemAround(t.target);n&&(i.isIE&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,n.model.getElement(),t))}}, +t.prototype.onMouseMiddleClick=function(e){if(this.context.controller.onMouseMiddleClick){var t=new d.StandardMouseEvent(e),n=this.getItemAround(t.target);n&&this.context.controller.onMouseMiddleClick(this.context.tree,n.model.getElement(),t)}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new d.StandardMouseEvent(e);if(!(t.ctrlKey&&n.isNative&&n.isMacintosh)){var i=this.getItemAround(t.target);i&&this.context.controller.onMouseDown(this.context.tree,i.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new d.StandardMouseEvent(e);if(!(t.ctrlKey&&n.isNative&&n.isMacintosh)){var i=this.getItemAround(t.target);i&&this.context.controller.onMouseUp(this.context.tree,i.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget) +;t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,n;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var i=new c.StandardKeyboardEvent(e),o=void 0;if(n=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,n),a=this.items[r];o=s.getDomNodePagePosition(a.element)}else n=this.model.getInput(),o=s.getDomNodePagePosition(this.inputItem.element);t=new m.KeyboardContextMenuEvent(o.left+o.width,o.top,i)}else{var l=new d.StandardMouseEvent(e),u=this.getItemAround(l.target);if(!u)return;n=u.model.getElement(),t=new m.MouseContextMenuEvent(l)}this.context.controller.onContextMenu(this.context.tree,n,t)},t.prototype.onKeyDown=function(e){var t=new c.StandardKeyboardEvent(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode, +t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||(this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),this.context.controller.onKeyDown(this.context.tree,t))},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new c.StandardKeyboardEvent(e))},t.prototype.onDragStart=function(e,t){if(!this.model.getHighlight()){var n,i=e.model.getElement(),o=this.model.getSelection();if(n=o.indexOf(i)>-1?o:[i],t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setData(_.DataTransfers.RESOURCES,JSON.stringify([e.uri])),t.dataTransfer.setDragImage){var r=void 0;r=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var s=document.createElement("div");s.className="monaco-tree-drag-image",s.textContent=r,document.body.appendChild(s),t.dataTransfer.setDragImage(s,-10,-10),setTimeout((function(){ +return document.body.removeChild(s)}),0)}this.currentDragAndDropData=new h.ElementsDragAndDropData(n),_.StaticDND.CurrentDragAndDropData=new h.ExternalElementsDragAndDropData(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new d.DragMouseEvent(t))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=s.getTopLeftOffset(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(null!==e.dragAndDropMouseY){var n=e.dragAndDropMouseY-t,i=0,o=e.viewHeight-35;n<35?i=Math.max(-14,.2*(n-35)):n>o&&(i=Math.min(14,.2*(n-o))),e.scrollTop+=i}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null), +this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var t=this;e.preventDefault();var n,i=new d.DragMouseEvent(e),r=this.getItemAround(i.target);if(!r||0===i.posx&&0===i.posy&&i.browserEvent.type===s.EventType.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=i.posy,!this.currentDragAndDropData)if(_.StaticDND.CurrentDragAndDropData)this.currentDragAndDropData=_.StaticDND.CurrentDragAndDropData;else{if(!i.dataTransfer.types)return!1;this.currentDragAndDropData=new h.DesktopDragAndDropData} +this.currentDragAndDropData.update(i.browserEvent.dataTransfer);var a,l=r.model;do{if(n=l?l.getElement():this.model.getInput(),!(a=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,n,i))||1!==a.bubble)break;l=l&&l.parent}while(l);if(!l)return this.currentDropElement=null,!1;var u=a&&a.accept;u?(this.currentDropElement=l.getElement(),i.preventDefault(),i.dataTransfer.dropEffect=0===a.effect?"copy":"move"):this.currentDropElement=null;var c,p,f=l.id===this.inputItem.id?this.inputItem:this.items[l.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==f||(c=this.currentDropElementReaction,p=a,!(!c&&!p||c&&p&&c.accept===p.accept&&c.bubble===p.bubble&&c.effect===p.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropDisposable.dispose()),this.currentDropTarget=f,this.currentDropElementReaction=a,u)){ +if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),0===a.bubble)for(var g=l.getNavigator(),m=void 0;m=g.next();)(r=this.items[m.id])&&(r.dropTarget=!0,this.currentDropTargets.push(r));if(a.autoExpand){var v=C.timeout(500);this.currentDropDisposable=o.toDisposable((function(){return v.cancel()})),v.then((function(){return t.context.tree.expand(t.currentDropElement)})).then((function(){return t.shouldInvalidateDropReaction=!0}))}}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new d.DragMouseEvent(e);t.preventDefault(),this.currentDragAndDropData.update(t.browserEvent.dataTransfer),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[]), +this.currentDropDisposable.dispose(),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,_.StaticDND.CurrentDragAndDropData=void 0,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||s.addClass(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||s.removeClass(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){ +e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,n=this.itemAfter(e);n&&n.element&&(t=n.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.topthis.lastRenderTop},t.prototype.getItemAround=function(e){var n=this.inputItem,i=e;do{if(i[t.BINDING]&&(n=i[t.BINDING]),i===this.wrapper||i===this.domNode)return n;if(i===this.scrollableElement.getDomNode()||i===document.body)return}while(i=i.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=o.dispose(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.viewListeners=o.dispose(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(), +this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.items&&Object.keys(this.items).forEach((function(e){return t.items[e].removeFromDOM()})),this.context.cache&&this.context.cache.dispose(),this.gestureDisposable.dispose(),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t}(g.HeightMap);t.TreeView=E})),define(n[276],i([9]),{});var p;a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0&&(this.proportions=this.viewItems.map((function(t){return t.size/e.contentSize})))},t.prototype.onSashStart=function(e){for(var t=this,i=e.sash,o=e.start,r=e.alt,s=0,a=this.viewItems;s=this.viewItems.length||(t="number"==typeof t?t:e.size,t=l.clamp(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&n>0?(this.resize(n-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([n],void 0)))},t.prototype.resizeView=function(e,t){var n=this;if(this.state!==p.Idle)throw new Error("Cant modify splitview");if(this.state=p.Busy,!(e<0||e>=this.viewItems.length)){var i=u.range(this.viewItems.length).filter((function(t){return t!==e})),o=a(i.filter((function(e){return 1===n.viewItems[e].priority})),[e]),r=i.filter((function(e){return 2===n.viewItems[e].priority})),s=this.viewItems[e];t=Math.round(t),t=l.clamp(t,s.minimumSize,Math.min(s.maximumSize,this.size)),s.size=t,this.relayout(o,r),this.state=p.Idle}},t.prototype.distributeViewSizes=function(){for(var e=this,t=[],n=0,i=0,o=this.viewItems;i0&&(t.push(d),n+=d.size)}for(var r=Math.floor(n/t.length),s=0,a=t;s=this.viewItems.length?-1:this.viewItems[e].size},t.prototype.doAddView=function(e,t,o,r){var a=this;if(void 0===o&&(o=this.viewItems.length),this.state!==p.Idle)throw new Error("Cant modify splitview");this.state=p.Busy;var l=s.$(".split-view-view");o===this.viewItems.length?this.viewContainer.appendChild(l):this.viewContainer.insertBefore(l,this.viewContainer.children.item(o));var c,h=e.onDidChange((function(e){return a.onViewChange(y,e)})),f=n.toDisposable((function(){return a.viewContainer.removeChild(l)})),g=n.combinedDisposable(h,f);c="number"==typeof t?t:"split"===t.type?this.getViewSize(t.index)/2:"invisible"===t.type?{cachedVisibleSize:t.cachedVisibleSize}:e.minimumSize +;var _,y=0===this.orientation?new m(l,e,c,g):new v(l,e,c,g);if(this.viewItems.splice(o,0,y),this.viewItems.length>1){var C=0===this.orientation?1:0,b=0===this.orientation?{getHorizontalSashTop:function(e){return a.getSashPosition(e)}}:{getVerticalSashLeft:function(e){return a.getSashPosition(e)}},S=new d.Sash(this.sashContainer,b,{orientation:C,orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash}),w=0===this.orientation?function(e){return{sash:S,start:e.startY,current:e.currentY,alt:e.altKey}}:function(e){return{sash:S,start:e.startX,current:e.currentX,alt:e.altKey}},E=i.Event.map(S.onDidStart,w)(this.onSashStart,this),L=i.Event.map(S.onDidChange,w)(this.onSashChange,this),D=i.Event.map(S.onDidEnd,(function(){return u.firstIndex(a.sashItems,(function(e){return e.sash===S}))}))(this.onSashEnd,this),N=S.onDidReset((function(){var e=u.firstIndex(a.sashItems,(function(e){return e.sash===S +})),t=u.range(e,-1),n=u.range(e+1,a.viewItems.length),i=a.findFirstSnapIndex(t),o=a.findFirstSnapIndex(n);("number"!=typeof i||a.viewItems[i].visible)&&("number"!=typeof o||a.viewItems[o].visible)&&a._onDidSashReset.fire(e)})),x=n.combinedDisposable(E,L,D,N,S),I={sash:S,disposable:x};this.sashItems.splice(o-1,0,I)}l.appendChild(e.element),"number"!=typeof t&&"split"===t.type&&(_=[t.index]),r||this.relayout([o],_),this.state=p.Idle,r||"number"==typeof t||"distribute"!==t.type||this.distributeViewSizes()},t.prototype.relayout=function(e,t){var n=this.viewItems.reduce((function(e,t){return e+t.size}),0);this.resize(this.viewItems.length-1,this.size-n,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()},t.prototype.resize=function(e,t,n,i,o,r,s,a,d){var c=this;if(void 0===n&&(n=this.viewItems.map((function(e){return e.size}))),void 0===r&&(r=Number.NEGATIVE_INFINITY),void 0===s&&(s=Number.POSITIVE_INFINITY),e<0||e>=this.viewItems.length)return 0 +;var h=u.range(e,-1),p=u.range(e+1,this.viewItems.length);if(o)for(var f=0,g=o;f=a.limitDelta)!==k.visible,k.setVisible(T,a.size)}if(!M&&d){var T;k=this.viewItems[d.index];M=(T=t0||e}));e=!1;var n=this.viewItems.map((function(t){return e=t.maximumSize-t.size>0||e})),i=a(this.viewItems).reverse();e=!1;var o=i.map((function(t){return e=t.size-t.minimumSize>0||e})).reverse();e=!1;for(var r=i.map((function(t){return e=t.maximumSize-t.size>0||e})).reverse(),s=0,l=0;l0||this.startSnappingEnabled)?d.state=1:_&&t[l]&&(s0)return;if(!s.visible&&s.snap)return i}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.viewItems.forEach((function(e){return e.dispose()})),this.viewItems=[],this.sashItems.forEach((function(e){return e.disposable.dispose()})),this.sashItems=[]},t}(n.Disposable);t.SplitView=_})),define(n[278],i([9]),{}),define(n[279],i([9]),{}),define(n[280],i([9]),{}),define(n[281],i([0,1,134,254,275,4,27,30,280]),(function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(e,t,i){if(void 0===i&&(i={}), +this.tree=e,this.configuration=t,this.options=i,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new n.DefaultController({clickBehavior:1,keyboardSupport:"boolean"!=typeof i.keyboardSupport||i.keyboardSupport}),this.dnd=t.dnd||new n.DefaultDragAndDrop,this.filter=t.filter||new n.DefaultFilter,this.sorter=t.sorter,this.accessibilityProvider=t.accessibilityProvider||new n.DefaultAccessibilityProvider,this.styler=t.styler};t.TreeContext=l;var u={listFocusBackground:s.Color.fromHex("#073655"),listActiveSelectionBackground:s.Color.fromHex("#0E639C"),listActiveSelectionForeground:s.Color.fromHex("#FFFFFF"),listFocusAndSelectionBackground:s.Color.fromHex("#094771"),listFocusAndSelectionForeground:s.Color.fromHex("#FFFFFF"),listInactiveSelectionBackground:s.Color.fromHex("#3F3F46"),listHoverBackground:s.Color.fromHex("#2A2D2E"),listDropBackground:s.Color.fromHex("#383B3D")},d=function(){function e(e,t,n){ +void 0===n&&(n={}),this._onDidChangeFocus=new r.Relay,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new r.Relay,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new r.Relay,this._onDidExpandItem=new r.Relay,this._onDidCollapseItem=new r.Relay,this._onDispose=new r.Emitter,this.onDidDispose=this._onDispose.event,this.container=e,a.mixin(n,u,!1),n.twistiePixels="number"==typeof n.twistiePixels?n.twistiePixels:32,n.showTwistie=!1!==n.showTwistie,n.indentPixels="number"==typeof n.indentPixels?n.indentPixels:12,n.alwaysFocused=!0===n.alwaysFocused,n.useShadows=!1!==n.useShadows,n.paddingOnRow=!1!==n.paddingOnRow,n.showLoading=!1!==n.showLoading,this.context=new l(this,t,n),this.model=new i.TreeModel(this.context),this.view=new o.TreeView(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect, +this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view.onDOMFocus},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t) +},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)}, +e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.dispose=function(){this._onDispose.fire(),this.model.dispose(),this.view.dispose(),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}();t.Tree=d})),define(n[282],i([9]),{}),define(n[283],i([9]),{}),define(n[284],i([9]),{}),define(n[285],i([9]),{}),define(n[286],i([9]),{}),define(n[287],i([9]),{}),define(n[288],i([9]),{}),define(n[289],i([9]),{}),define(n[290],i([9]),{}),define(n[291],i([9]),{}),define(n[292],i([9]),{}),define(n[293],i([9]),{}),define(n[294],i([9]),{}),define(n[295],i([9]),{}),define(n[296],i([9]),{}),define(n[297],i([9]),{}),define(n[298],i([9]),{}), +define(n[299],i([9]),{}),define(n[300],i([9]),{}),define(n[301],i([9]),{}),define(n[302],i([9]),{}),define(n[303],i([9]),{}),define(n[304],i([9]),{}),define(n[305],i([9]),{}),define(n[306],i([9]),{}),define(n[307],i([9]),{}),define(n[308],i([9]),{}),define(n[309],i([9]),{}),define(n[310],i([9]),{}),define(n[311],i([9]),{}),define(n[312],i([9]),{}),define(n[313],i([9]),{}),define(n[314],i([9]),{}),define(n[315],i([9]),{}),define(n[316],i([9]),{}),define(n[317],i([9]),{}),define(n[318],i([9]),{}),define(n[319],i([9]),{}),define(n[320],i([9]),{}),define(n[321],i([9]),{}),define(n[322],i([9]),{}),define(n[323],i([9]),{}),define(n[324],i([9]),{}),define(n[325],i([9]),{}),define(n[326],i([9]),{}),define(n[327],i([9]),{}),define(n[328],i([9]),{}),define(n[329],i([9]),{}),define(n[330],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}();t.CharWidthRequest=n +;var i=function(){function e(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}return e.prototype.read=function(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null},e.prototype._createDomElements=function(){var t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";var n=document.createElement("div");n.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),n.style.fontWeight=this._bareFontInfo.fontWeight,n.style.fontSize=this._bareFontInfo.fontSize+"px",n.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,n.style.lineHeight=this._bareFontInfo.lineHeight+"px",n.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(n);var i=document.createElement("div");i.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),i.style.fontWeight="bold", +i.style.fontSize=this._bareFontInfo.fontSize+"px",i.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,i.style.lineHeight=this._bareFontInfo.lineHeight+"px",i.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(i);var o=document.createElement("div");o.style.fontFamily=this._bareFontInfo.getMassagedFontFamily(),o.style.fontWeight=this._bareFontInfo.fontWeight,o.style.fontSize=this._bareFontInfo.fontSize+"px",o.style.fontFeatureSettings=this._bareFontInfo.fontFeatureSettings,o.style.lineHeight=this._bareFontInfo.lineHeight+"px",o.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",o.style.fontStyle="italic",t.appendChild(o);for(var r=[],s=0,a=this._requests;s96?t<=2?(e+96)%96:95:e}})),define(n[333],i([0,1,183]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(t,n){this.scale=n,this.charDataNormal=e.soften(t,.8),this.charDataLight=e.soften(t,50/60)}return e.soften=function(e,t){for(var n=new Uint8ClampedArray(e.length),i=0,o=e.length;ie.width||i+d>e.height)console.warn("bad render request outside image data");else for(var c=l?this.charDataLight:this.charDataNormal,h=n.getCharIndex(o,a),p=4*e.width,f=s.r,g=s.g,m=s.b,v=r.r-f,_=r.g-g,y=r.b-m,C=e.data,b=h*u*d,S=i*p+4*t,w=0;we.width||n+a>e.height)console.warn("bad render request outside image data");else for(var l=4*e.width,u=o.r,d=o.g,c=o.b,h=u+.5*(i.r-u),p=d+.5*(i.g-d),f=c+.5*(i.b-c),g=e.data,m=n*l+4*t,v=0;v>1]=i[e[n]]<<4|15&i[e[n+1]] +;return t};t.prebakedMiniMaps={1:n.once((function(){return o("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")})),2:n.once((function(){ +return o("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126") +}))}})),define(n[335],i([0,1,333,183,334]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){}return e.create=function(t,i){return this.lastCreated&&t===this.lastCreated.scale&&i===this.lastFontFamily?this.lastCreated:(r=o.prebakedMiniMaps[t]?new n.MinimapCharRenderer(o.prebakedMiniMaps[t](),t):e.createFromSampleData(e.createSampleData(i).data,t),this.lastFontFamily=i,this.lastCreated=r,r);var r},e.createSampleData=function(e){var t=document.createElement("canvas"),n=t.getContext("2d");t.style.height="16px",t.height=16,t.width=960,t.style.width="960px",n.fillStyle="#ffffff",n.font="bold 16px "+e,n.textBaseline="middle";for(var o=0,r=0,s=i.allCharCodes;r0)for(var u=255/a,d=0;d=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}();t.CharacterClassifier=i;var o=function(){function e(){this._actual=new i(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}();t.CharacterSet=o})),define(n[88],i([0,1,78]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,o,s=function(e){function t(t){for(var n=e.call(this,0)||this,i=0,o=t.length;in||e===n&&t>i?(this.startLineNumber=n,this.startColumn=i,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=i)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){ +return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))},e.prototype.strictContainsRange=function(t){return e.strictContainsRange(this,t)},e.strictContainsRange=function(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)))}, +e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,n){var i,o,r,s;return n.startLineNumbert.endLineNumber?(r=n.endLineNumber,s=n.endColumn):n.endLineNumber===t.endLineNumber?(r=n.endLineNumber,s=Math.max(n.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(i,o,r,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,n){var i=t.startLineNumber,o=t.startColumn,r=t.endLineNumber,s=t.endColumn,a=n.startLineNumber,l=n.startColumn,u=n.endLineNumber,d=n.endColumn;return iu?(r=u,s=d):r===u&&(s=Math.min(s,d)),i>r?null:i===r&&o>s?null:new e(i,o,r,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){ +return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new n.Position(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.Position(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,n){return new e(this.startLineNumber,this.startColumn,t,n)},e.prototype.setStartPosition=function(t,n){return new e(t,n,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,n){return void 0===n&&(n=t),new e(t.lineNumber,t.column,n.lineNumber,n.column)},e.lift=function(t){ +return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumbere.startLineNumber},e}();t.Range=i})),define(n[184],i([0,1,5,13,3]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,i,o){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=i,this.selectionEndPosition=o}return e.prototype.toString=function(){return"[ <"+this.value+">, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"},e.readFromTextArea=function(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd(),null,null)},e.prototype.collapseSelection=function(){return new e(this.value,this.value.length,this.value.length,null,null)}, +e.prototype.writeToTextArea=function(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)},e.prototype.deduceEditorPosition=function(e){if(e<=this.selectionStart){var t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}var n=this.value.substring(this.selectionStart,e);if(-1===n.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,n,1);var i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,i,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,n){for(var i=0,o=-1;-1!==(o=t.indexOf("\n",o+1));)i++;return[e,n*t.length,i]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,i,o){if(!e)return{text:"",replaceCharCnt:0 +};var r=e.value,s=e.selectionStart,a=e.selectionEnd,l=t.value,u=t.selectionStart,d=t.selectionEnd;o&&r.length>0&&s===a&&u===d&&!n.startsWith(l,r)&&n.endsWith(l,r)&&(s=0,a=0);var c=r.substring(a),h=l.substring(d),p=n.commonSuffixLength(c,h);l=l.substring(0,l.length-p);var f=(r=r.substring(0,r.length-p)).substring(0,s),g=l.substring(0,u),m=n.commonPrefixLength(f,g);if(l=l.substring(m),r=r.substring(m),u-=m,s-=m,d-=m,a-=m,i&&u===d&&r.length>0){var v=null;if(u===l.length?n.startsWith(l,r)&&(v=l.substring(r.length)):n.endsWith(l,r)&&(v=l.substring(0,l.length-r.length)),null!==v&&v.length>0&&(/\uFE0F/.test(v)||n.containsEmoji(v)))return{text:v,replaceCharCnt:0}}return u===d?r===l&&0===s&&a===r.length&&u===l.length&&-1===l.indexOf("\n")&&n.containsFullWidthCharacter(l)?{text:"",replaceCharCnt:0}:{text:l,replaceCharCnt:f.length-m}:{text:l,replaceCharCnt:a-s}},e.EMPTY=new e("",0,0,null,null),e}();t.TextAreaState=r;var s=function(){function e(){}return e._getPageOfLine=function(e,t){return Math.floor((e-1)/t)}, +e._getRangeForPage=function(e,t){var n=e*t,i=n+1,r=n+t;return new o.Range(i,1,r+1,1)},e.fromEditorSelection=function(t,n,s,a,l){var u,d=e._getPageOfLine(s.startLineNumber,a),c=e._getRangeForPage(d,a),h=e._getPageOfLine(s.endLineNumber,a),p=e._getRangeForPage(h,a),f=c.intersectRanges(new o.Range(1,1,s.startLineNumber,s.startColumn)),g=n.getValueInRange(f,1),m=n.getLineCount(),v=n.getLineMaxColumn(m),_=p.intersectRanges(new o.Range(s.endLineNumber,s.endColumn,m,v)),y=n.getValueInRange(_,1);if(d===h||d+1===h)u=n.getValueInRange(s,1);else{var C=c.intersectRanges(s),b=p.intersectRanges(s);u=n.getValueInRange(C,1)+String.fromCharCode(8230)+n.getValueInRange(b,1)}if(l){g.length>500&&(g=g.substring(g.length-500,g.length)),y.length>500&&(y=y.substring(0,500)),u.length>1e3&&(u=u.substring(0,500)+String.fromCharCode(8230)+u.substring(u.length-500,u.length))}return new r(g+u+y,g.length,g.length+u.length,new i.Position(s.startLineNumber,s.startColumn),new i.Position(s.endLineNumber,s.endColumn))},e}() +;t.PagedScreenReaderStrategy=s})),define(n[185],i([0,1,121,4,2,30,3]),(function(e,t,n,i,o,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(e){function t(t,n){void 0===n&&(n={});var o=e.call(this)||this;return o._onDidUpdate=o._register(new i.Emitter),o._editor=t,o._options=s.mixin(n,l,!1),o.disposed=!1,o.nextIdx=-1,o.ranges=[],o.ignoreSelectionChange=!1,o.revealFirst=Boolean(o._options.alwaysRevealFirst),o._register(o._editor.onDidDispose((function(){return o.dispose()}))),o._register(o._editor.onDidUpdateDiff((function(){return o._onDiffUpdated()}))),o._options.followsCaret&&o._register(o._editor.getModifiedEditor().onDidChangeCursorPosition((function(e){o.ignoreSelectionChange||(o.nextIdx=-1)}))),o._options.alwaysRevealFirst&&o._register(o._editor.getModifiedEditor().onDidChangeModel((function(e){o.revealFirst=!0}))),o._init(),o}return r(t,e),t.prototype._init=function(){this._editor.getLineChanges()}, +t.prototype._onDiffUpdated=function(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))},t.prototype._compute=function(e){var t=this;this.ranges=[],e&&e.forEach((function(e){!t._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach((function(e){t.ranges.push({rhs:!0,range:new a.Range(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})})):t.ranges.push({rhs:!0,range:new a.Range(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})})),this.ranges.sort((function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0})),this._onDidUpdate.fire(this)},t.prototype._initIdx=function(e){var t=!1,n=this._editor.getPosition();if(n){for(var i=0,o=this.ranges.length;i=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var i=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var o=i.range.getStartPosition();this._editor.setPosition(o),this._editor.revealPositionInCenter(o,t)}finally{this.ignoreSelectionChange=!1}}},t.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},t.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},t.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.ranges=[],this.disposed=!0},t}(o.Disposable) +;t.DiffNavigator=u})),define(n[58],i([0,1,3]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){}return e.insert=function(e,t){return{range:new n.Range(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}},e.delete=function(e){return{range:e,text:null}},e.replace=function(e,t){return{range:e,text:t}},e.replaceMove=function(e,t){return{range:e,text:t,forceMoveMarkers:!0}},e}();t.EditOperation=i})),define(n[336],i([0,1,5,58,3]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){this._selection=e,this._cursors=t,this._selectionId=null}return e.prototype.getEditOperations=function(e,t){for(var n=s(e,this._cursors),i=0,o=n.length;i=0;r--)t[r].lineNumber===t[r+1].lineNumber&&t.splice(r,1);for(var s=[],a=0,l=0,u=t.length,d=1,c=e.getLineCount();d<=c;d++){var h=e.getLineContent(d),p=h.length+1,f=0;if(!(l255?255:0|e},e.Empty=new e(0,0,0,0),e}();t.RGBA8=n})),define(n[21],i([0,1,13,3]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){ +function t(t,n,i,o){var r=e.call(this,t,n,i,o)||this;return r.selectionStartLineNumber=t,r.selectionStartColumn=n,r.positionLineNumber=i,r.positionColumn=o,r}return r(t,e),t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1},t.prototype.setEndPosition=function(e,n){return 0===this.getDirection()?new t(this.startLineNumber,this.startColumn,e,n):new t(e,n,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){ +return new n.Position(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,n){return 0===this.getDirection()?new t(e,n,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,n)},t.fromPositions=function(e,n){return void 0===n&&(n=e),new t(e.lineNumber,e.column,n.lineNumber,n.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var n=0,i=e.length;n=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var n=0;n=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[t]},e.prototype.onLinesDeleted=function(e,t){if(0===this.getCount())return null;var n=this.getStartLineNumber(),i=this.getEndLineNumber();if(ti)return null +;for(var r=0,s=0,a=n;a<=i;a++){var l=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(r=l,s=1):s++)}if(e=n&&r<=i&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),o=!0);return o},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var n=t-e+1,i=this.getStartLineNumber(),o=this.getEndLineNumber();if(e<=i)return this._rendLineNumberStart+=n,null;if(e>o)return null;if(n+e>o)return this._lines.splice(e-this._rendLineNumberStart,o-e+1);for(var r=[],s=0;sn))for(var a=Math.max(t,s.fromLineNumber),l=Math.min(n,s.toLineNumber),u=a;u<=l;u++){var d=u-this._rendLineNumberStart;this._lines[d].onTokensChanged(),i=!0}}return i},e}();t.RenderedLinesCollection=o;var r=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new o((function(){return t._host.createVisibleLine()}))}return e.prototype._createDomNode=function(){var e=n.createFastDomNode(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e},e.prototype.onConfigurationChanged=function(e){return!!e.hasChanged(103)},e.prototype.onFlushed=function(e){return this._linesCollection.flush(),!0},e.prototype.onLinesChanged=function(e){ +return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){var t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(var n=0,i=t.length;nt)(l=t)<=(s=Math.min(n,o.rendLineNumberStart-1))&&(this._insertLinesBefore(o,l,s,i,t),o.linesLength+=s-l+1);else if(o.rendLineNumberStart0&&(this._removeLinesBefore(o,a),o.linesLength-=a)}if(o.rendLineNumberStart=t,o.rendLineNumberStart+o.linesLength-1n){var s,a,l=Math.max(0,n-o.rendLineNumberStart+1);(a=(s=o.linesLength-1)-l+1)>0&&(this._removeLinesAfter(o,a),o.linesLength-=a)}return this._finishRendering(o,!1,i),o},e.prototype._renderUntouchedLines=function(e,t,n,i,o){for(var r=e.rendLineNumberStart,s=e.lines,a=t;a<=n;a++){var l=r+a;s[a].layoutLine(l,i[l-o])}},e.prototype._insertLinesBefore=function(e,t,n,i,o){for(var r=[],s=0,a=t;a<=n;a++)r[s++]=this.host.createVisibleLine();e.lines=r.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var n=0;n=0;s--){var a=e.lines[s];i[s]&&(a.setDomNode(r),r=r.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,n){var i=document.createElement("div");i.innerHTML=t;for(var o=0;o0&&n.originalLength<20&&n.modifiedLength>0&&n.modifiedLength<20&&a()){var m=i.createCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),v=s.createCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1),_=r(m,v,a,!0).changes;d&&(_=function(e){if(e.length<=1)return e;for(var t=[e[0]],n=t[0],i=1,r=e.length;i1&&C>1;){if(v.charCodeAt(y-2)!==_.charCodeAt(C-2))break;y--,C--}(y>1||C>1)&&this._pushTrimWhitespaceCharChange(a,l+1,1,y,d+1,1,C);for(var b=h(v,1),S=h(_,1),w=v.length+1,E=_.length+1;b=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return n.onUnexpectedError(e),this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.canUndo=function(){return this.past.length>0||null!==this.currentOpenStackElement},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop() +;try{e.redo(this.model)}catch(e){return n.onUnexpectedError(e),this.clear(),null}return this.past.push(e),{selections:e.afterCursorState,recordedVersionId:e.afterVersionId}}return null},e.prototype.canRedo=function(){return this.future.length>0},e}();t.EditStack=s})),define(n[341],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){this.spacesDiff=0,this.looksLikeAlignment=!1};function i(e,t,n,i,o){var r;for(o.spacesDiff=0,o.looksLikeAlignment=!1,r=0;r0&&a>0||u>0&&d>0)){var c=Math.abs(a-d),h=Math.abs(s-u);if(0===c)return o.spacesDiff=h,void(h>0&&0<=u-1&&u-10?s++:_>1&&a++,i(l,u,f,v,c),!c.looksLikeAlignment||o&&t===c.spacesDiff)){var w=c.spacesDiff;w<=8&&d[w]++,l=f,u=v}}var E=o;s!==a&&(E=sD&&(D=t,L=e)})),4===L&&d[4]>0&&d[2]>0&&d[2]>=d[4]/2&&(L=2)}return{insertSpaces:E,tabSize:L}}})),define(n[342],i([0,1]),(function(e,t){"use strict";function n(e){return(1&e.metadata)>>>0}function i(e,t){e.metadata=254&e.metadata|t<<0}function o(e){return(2&e.metadata)>>>1==1}function r(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function s(e){return(4&e.metadata)>>>2==1}function a(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function l(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function u(e,t){ +e.metadata=207&e.metadata|t<<4}function d(e,t){e.metadata=191&e.metadata|(t?1:0)<<6}Object.defineProperty(t,"__esModule",{value:!0}),t.getNodeColor=n,t.getNodeIsInOverviewRuler=function(e){return(8&e.metadata)>>>3==1};var c=function(){function e(e,t,n){this.metadata=0,this.parent=this,this.left=this,this.right=this,i(this,1),this.start=t,this.end=n,this.delta=0,this.maxEnd=n,this.id=e,this.ownerId=0,this.options=null,a(this,!1),u(this,1),l(this,!1),d(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=null,r(this,!1)}return e.prototype.reset=function(e,t,n,i){this.start=t,this.end=n,this.maxEnd=n,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=n,this.range=i},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;a(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),u(this,this.options.stickiness),l(this,!(!this.options.overviewRuler||!this.options.overviewRuler.color)), +d(this,this.options.collapseOnReplaceEdit)},e.prototype.setCachedOffsets=function(e,t,n){this.cachedVersionId!==n&&(this.range=null),this.cachedVersionId=n,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}();t.IntervalNode=c,t.SENTINEL=new c(null,0,0),t.SENTINEL.parent=t.SENTINEL,t.SENTINEL.left=t.SENTINEL,t.SENTINEL.right=t.SENTINEL,i(t.SENTINEL,0);var h=function(){function e(){this.root=t.SENTINEL,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,n,i,a,l){return this.root===t.SENTINEL?[]:function(e,n,i,a,l,u){var d=e.root,c=0,h=0,p=0,f=[],g=0;for(;d!==t.SENTINEL;)if(o(d))r(d.left,!1),r(d.right,!1),d===d.parent.right&&(c-=d.parent.delta),d=d.parent;else{if(!o(d.left)){if(c+d.maxEndi)r(d,!0);else{if((p=c+d.end)>=n){d.setCachedOffsets(h,p,u);var m=!0;a&&d.ownerId&&d.ownerId!==a&&(m=!1),l&&s(d)&&(m=!1),m&&(f[g++]=d)} +r(d,!0),d.right===t.SENTINEL||o(d.right)||(c+=d.delta,d=d.right)}}return r(e.root,!1),f}(this,e,n,i,a,l)},e.prototype.search=function(e,n,i){return this.root===t.SENTINEL?[]:function(e,n,i,a){var l=e.root,u=0,d=0,c=0,h=[],p=0;for(;l!==t.SENTINEL;)if(o(l))r(l.left,!1),r(l.right,!1),l===l.parent.right&&(u-=l.parent.delta),l=l.parent;else if(l.left===t.SENTINEL||o(l.left)){d=u+l.start,c=u+l.end,l.setCachedOffsets(d,c,a);var f=!0;n&&l.ownerId&&l.ownerId!==n&&(f=!1),i&&s(l)&&(f=!1),f&&(h[p++]=l),r(l,!0),l.right===t.SENTINEL||o(l.right)||(u+=l.delta,l=l.right)}else l=l.left;return r(e.root,!1),h}(this,e,n,i)},e.prototype.collectNodesFromOwner=function(e){return function(e,n){var i=e.root,s=[],a=0;for(;i!==t.SENTINEL;)o(i)?(r(i.left,!1),r(i.right,!1),i=i.parent):i.left===t.SENTINEL||o(i.left)?(i.ownerId===n&&(s[a++]=i),r(i,!0),i.right===t.SENTINEL||o(i.right)||(i=i.right)):i=i.left;return r(e.root,!1),s}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var n=e.root,i=[],s=0 +;for(;n!==t.SENTINEL;)o(n)?(r(n.left,!1),r(n.right,!1),n=n.parent):n.left===t.SENTINEL||o(n.left)?n.right===t.SENTINEL||o(n.right)?(i[s++]=n,r(n,!0)):n=n.right:n=n.left;return r(e.root,!1),i}(this)},e.prototype.insert=function(e){g(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){m(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var n=e,i=0;e!==this.root;)e===e.parent.right&&(i+=e.parent.delta),e=e.parent;var o=n.start+i,r=n.end+i;n.setCachedOffsets(o,r,t)},e.prototype.acceptReplace=function(e,n,i,s){for(var a=function(e,n,i){var s=e.root,a=0,l=0,u=0,d=[],c=0;for(;s!==t.SENTINEL;)if(o(s))r(s.left,!1),r(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!o(s.left)){if(a+s.maxEndi?r(s,!0):((u=a+s.end)>=n&&(s.setCachedOffsets(l,u,0),d[c++]=s),r(s,!0),s.right===t.SENTINEL||o(s.right)||(a+=s.delta,s=s.right))}return r(e.root,!1),d +}(this,e,e+n),l=0,u=a.length;li?(a.start+=u,a.end+=u,a.delta+=u,(a.delta<-1073741824||a.delta>1073741824)&&(e.requestNormalizeDelta=!0),r(a,!0)):(r(a,!0),a.right===t.SENTINEL||o(a.right)||(l+=a.delta,a=a.right))}r(e.root,!1)}(this,e,e+n,i),this._normalizeDeltaIfNecessary();for(l=0,u=a.length;ln)&&(1!==i&&(2===i||t))}function f(e,t,n,i,o){var r=function(e){return(48&e.metadata)>>>4}(e),s=0===r||2===r,a=1===r||2===r,l=n-t,u=i,d=Math.min(l,u),c=e.start,h=!1,f=e.end,g=!1;t<=c&&f<=n&&function(e){return(64&e.metadata)>>>6==1}(e)&&(e.start=t,h=!0,e.end=t,g=!0);var m=o?1:l>0?2:0;if(!h&&p(c,s,t,m)&&(h=!0),!g&&p(f,a,t,m)&&(g=!0),d>0&&!o){m=l>u?2:0;!h&&p(c,s,t+d,m)&&(h=!0),!g&&p(f,a,t+d,m)&&(g=!0)}m=o?1:0;!h&&p(c,s,n,m)&&(e.start=t+u,h=!0),!g&&p(f,a,n,m)&&(e.end=t+u,g=!0);var v=u-l;h||(e.start=Math.max(0,c+v)),g||(e.end=Math.max(0,f+v)),e.start>e.end&&(e.end=e.start)}function g(e,o){if(e.root===t.SENTINEL)return o.parent=t.SENTINEL,o.left=t.SENTINEL,o.right=t.SENTINEL,i(o,0),e.root=o,e.root;!function(e,n){var o=0,r=e.root,s=n.start,a=n.end;for(;;){if(w(s,a,r.start+o,r.end+o)<0){if(r.left===t.SENTINEL){n.start-=o, +n.end-=o,n.maxEnd-=o,r.left=n;break}r=r.left}else{if(r.right===t.SENTINEL){n.start-=o+r.delta,n.end-=o+r.delta,n.maxEnd-=o+r.delta,r.right=n;break}o+=r.delta,r=r.right}}n.parent=r,n.left=t.SENTINEL,n.right=t.SENTINEL,i(n,1)}(e,o),S(o.parent);for(var r=o;r!==e.root&&1===n(r.parent);){var s;if(r.parent===r.parent.parent.left)1===n(s=r.parent.parent.right)?(i(r.parent,0),i(s,0),i(r.parent.parent,1),r=r.parent.parent):(r===r.parent.right&&_(e,r=r.parent),i(r.parent,0),i(r.parent.parent,1),y(e,r.parent.parent));else 1===n(s=r.parent.parent.left)?(i(r.parent,0),i(s,0),i(r.parent.parent,1),r=r.parent.parent):(r===r.parent.left&&y(e,r=r.parent),i(r.parent,0),i(r.parent.parent,1),_(e,r.parent.parent))}return i(e.root,0),o}function m(e,o){var r,s;if(o.left===t.SENTINEL?(s=o,(r=o.right).delta+=o.delta,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),r.start+=o.delta,r.end+=o.delta):o.right===t.SENTINEL?(r=o.left,s=o):((r=(s=function(e){for(;e.left!==t.SENTINEL;)e=e.left;return e +}(o.right)).right).start+=s.delta,r.end+=s.delta,r.delta+=s.delta,(r.delta<-1073741824||r.delta>1073741824)&&(e.requestNormalizeDelta=!0),s.start+=o.delta,s.end+=o.delta,s.delta=o.delta,(s.delta<-1073741824||s.delta>1073741824)&&(e.requestNormalizeDelta=!0)),s===e.root)return e.root=r,i(r,0),o.detach(),v(),b(r),void(e.root.parent=t.SENTINEL);var a,l=1===n(s);if(s===s.parent.left?s.parent.left=r:s.parent.right=r,s===o?r.parent=s.parent:(s.parent===o?r.parent=s:r.parent=s.parent,s.left=o.left,s.right=o.right,s.parent=o.parent,i(s,n(o)),o===e.root?e.root=s:o===o.parent.left?o.parent.left=s:o.parent.right=s,s.left!==t.SENTINEL&&(s.left.parent=s),s.right!==t.SENTINEL&&(s.right.parent=s)),o.detach(),l)return S(r.parent),s!==o&&(S(s),S(s.parent)),void v();for(S(r),S(r.parent),s!==o&&(S(s),S(s.parent));r!==e.root&&0===n(r);)r===r.parent.left?(1===n(a=r.parent.right)&&(i(a,0),i(r.parent,1),_(e,r.parent),a=r.parent.right),0===n(a.left)&&0===n(a.right)?(i(a,1),r=r.parent):(0===n(a.right)&&(i(a.left,0),i(a,1),y(e,a), +a=r.parent.right),i(a,n(r.parent)),i(r.parent,0),i(a.right,0),_(e,r.parent),r=e.root)):(1===n(a=r.parent.left)&&(i(a,0),i(r.parent,1),y(e,r.parent),a=r.parent.left),0===n(a.left)&&0===n(a.right)?(i(a,1),r=r.parent):(0===n(a.left)&&(i(a.right,0),i(a,1),_(e,a),a=r.parent.left),i(a,n(r.parent)),i(r.parent,0),i(a.left,0),y(e,r.parent),r=e.root));i(r,0),v()}function v(){t.SENTINEL.parent=t.SENTINEL,t.SENTINEL.delta=0,t.SENTINEL.start=0,t.SENTINEL.end=0}function _(e,n){var i=n.right;i.delta+=n.delta,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),i.start+=n.delta,i.end+=n.delta,n.right=i.left,i.left!==t.SENTINEL&&(i.left.parent=n),i.parent=n.parent,n.parent===t.SENTINEL?e.root=i:n===n.parent.left?n.parent.left=i:n.parent.right=i,i.left=n,n.parent=i,b(n),b(i)}function y(e,n){var i=n.left;n.delta-=i.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start-=i.delta,n.end-=i.delta,n.left=i.right,i.right!==t.SENTINEL&&(i.right.parent=n),i.parent=n.parent, +n.parent===t.SENTINEL?e.root=i:n===n.parent.right?n.parent.right=i:n.parent.left=i,i.right=n,n.parent=i,b(n),b(i)}function C(e){var n=e.end;if(e.left!==t.SENTINEL){var i=e.left.maxEnd;i>n&&(n=i)}if(e.right!==t.SENTINEL){var o=e.right.maxEnd+e.delta;o>n&&(n=o)}return n}function b(e){e.maxEnd=C(e)}function S(e){for(;e!==t.SENTINEL;){var n=C(e);if(e.maxEnd===n)return;e.maxEnd=n,e=e.parent}}function w(e,t,n,i){return e===n?t-i:e-n}t.IntervalTree=h,t.nodeAcceptEdit=f,t.recomputeMaxEnd=b,t.intervalCompare=w})),define(n[343],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}return e.prototype.next=function(){if(this.right!==t.SENTINEL)return i(this.right);for(var e=this;e.parent!==t.SENTINEL&&e.parent.left!==e;)e=e.parent;return e.parent===t.SENTINEL?t.SENTINEL:e.parent},e.prototype.prev=function(){if(this.left!==t.SENTINEL)return o(this.left) +;for(var e=this;e.parent!==t.SENTINEL&&e.parent.right!==e;)e=e.parent;return e.parent===t.SENTINEL?t.SENTINEL:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}();function i(e){for(;e.left!==t.SENTINEL;)e=e.left;return e}function o(e){for(;e.right!==t.SENTINEL;)e=e.right;return e}function r(e){return e===t.SENTINEL?0:e.size_left+e.piece.length+r(e.right)}function s(e){return e===t.SENTINEL?0:e.lf_left+e.piece.lineFeedCnt+s(e.right)}function a(){t.SENTINEL.parent=t.SENTINEL}function l(e,n){var i=n.right;i.size_left+=n.size_left+(n.piece?n.piece.length:0),i.lf_left+=n.lf_left+(n.piece?n.piece.lineFeedCnt:0),n.right=i.left,i.left!==t.SENTINEL&&(i.left.parent=n),i.parent=n.parent,n.parent===t.SENTINEL?e.root=i:n.parent.left===n?n.parent.left=i:n.parent.right=i,i.left=n,n.parent=i}function u(e,n){var i=n.left;n.left=i.right,i.right!==t.SENTINEL&&(i.right.parent=n),i.parent=n.parent,n.size_left-=i.size_left+(i.piece?i.piece.length:0), +n.lf_left-=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),n.parent===t.SENTINEL?e.root=i:n===n.parent.right?n.parent.right=i:n.parent.left=i,i.right=n,n.parent=i}function d(e,n,i,o){for(;n!==e.root&&n!==t.SENTINEL;)n.parent.left===n&&(n.parent.size_left+=i,n.parent.lf_left+=o),n=n.parent}function c(e,t){var n=0,i=0;if(t!==e.root){if(0===n){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;n=r((t=t.parent).left)-t.size_left,i=s(t.left)-t.lf_left,t.size_left+=n,t.lf_left+=i}for(;t!==e.root&&(0!==n||0!==i);)t.parent.left===t&&(t.parent.size_left+=n,t.parent.lf_left+=i),t=t.parent}}t.TreeNode=n,t.SENTINEL=new n(null,0),t.SENTINEL.parent=t.SENTINEL,t.SENTINEL.left=t.SENTINEL,t.SENTINEL.right=t.SENTINEL,t.SENTINEL.color=0,t.leftest=i,t.righttest=o,t.calculateSize=r,t.calculateLF=s,t.resetSentinel=a,t.leftRotate=l,t.rightRotate=u,t.rbDelete=function(e,n){var o,h;if(o=n.left===t.SENTINEL?(h=n).right:n.right===t.SENTINEL?(h=n).left:(h=i(n.right)).right,h===e.root)return e.root=o,o.color=0,n.detach(),a(), +void(e.root.parent=t.SENTINEL);var p=1===h.color;if(h===h.parent.left?h.parent.left=o:h.parent.right=o,h===n?(o.parent=h.parent,c(e,o)):(h.parent===n?o.parent=h:o.parent=h.parent,c(e,o),h.left=n.left,h.right=n.right,h.parent=n.parent,h.color=n.color,n===e.root?e.root=h:n===n.parent.left?n.parent.left=h:n.parent.right=h,h.left!==t.SENTINEL&&(h.left.parent=h),h.right!==t.SENTINEL&&(h.right.parent=h),h.size_left=n.size_left,h.lf_left=n.lf_left,c(e,h)),n.detach(),o.parent.left===o){var f=r(o),g=s(o);if(f!==o.parent.size_left||g!==o.parent.lf_left){var m=f-o.parent.size_left,v=g-o.parent.lf_left;o.parent.size_left=f,o.parent.lf_left=g,d(e,o.parent,m,v)}}if(c(e,o.parent),p)a();else{for(var _;o!==e.root&&0===o.color;)o===o.parent.left?(1===(_=o.parent.right).color&&(_.color=0,o.parent.color=1,l(e,o.parent),_=o.parent.right),0===_.left.color&&0===_.right.color?(_.color=1,o=o.parent):(0===_.right.color&&(_.left.color=0,_.color=1,u(e,_),_=o.parent.right),_.color=o.parent.color,o.parent.color=0,_.right.color=0, +l(e,o.parent),o=e.root)):(1===(_=o.parent.left).color&&(_.color=0,o.parent.color=1,u(e,o.parent),_=o.parent.left),0===_.left.color&&0===_.right.color?(_.color=1,o=o.parent):(0===_.left.color&&(_.right.color=0,_.color=1,l(e,_),_=o.parent.left),_.color=o.parent.color,o.parent.color=0,_.left.color=0,u(e,o.parent),o=e.root));o.color=0,a()}},t.fixInsert=function(e,t){for(c(e,t);t!==e.root&&1===t.parent.color;){var n;if(t.parent===t.parent.parent.left)1===(n=t.parent.parent.right).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&l(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,u(e,t.parent.parent));else 1===(n=t.parent.parent.left).color?(t.parent.color=0,n.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&u(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,l(e,t.parent.parent))}e.root.color=0},t.updateTreeMetadata=d,t.recomputeTreeMetadata=c})),define(n[344],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{ +value:!0});var n=function(){this.changeType=1};t.ModelRawFlush=n;var i=function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t};t.ModelRawLineChanged=i;var o=function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t};t.ModelRawLinesDeleted=o;var r=function(e,t,n){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=n};t.ModelRawLinesInserted=r;var s=function(){this.changeType=5};t.ModelRawEOLChanged=s;var a=function(){function e(e,t,n,i){this.changes=e,this.versionId=t,this.isUndoing=n,this.isRedoing=i}return e.prototype.containsEvent=function(e){for(var t=0,n=this.changes.length;t=0;var t=null;try{t=n.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(e){return null}if(!t)return null;var o=!this.isRegex&&!e +;return o&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(o=this.matchCase),new u(t,this.wordSeparators?i.getMapForWordSeparators(this.wordSeparators):null,o?this.searchString:null)},e}();function l(e){if(!e||0===e.length)return!1;for(var t=0,n=e.length;t=n)break;var i=e.charCodeAt(t);if(110===i||114===i||87===i||119===i)return!0}}return!1}t.SearchParams=a,t.isMultilineRegexSource=l;var u=function(e,t,n){this.regex=e,this.wordSeparators=t,this.simpleSearch=n};function d(e,t,n){if(!n)return new s.FindMatch(e,null);for(var i=[],o=0,r=t.length;o>0) +;t[o]>=e?i=o-1:t[o+1]>=e?(n=o,i=o):n=o+1}return n+1},e}(),h=function(){function e(){}return e.findMatches=function(e,t,n,i,o){var r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,n,new f(r.wordSeparators,r.regex),i,o):this._doFindMatchesLineByLine(e,n,r,i,o):[]},e._getMultilineMatchRange=function(e,t,n,i,o,s){var a,l,u=0;if(a=i?t+o+(u=i.findLineFeedCountBeforeOffset(o)):t+o,i){var d=i.findLineFeedCountBeforeOffset(o+s.length)-u;l=a+s.length+d}else l=a+s.length;var c=e.getPositionAt(a),h=e.getPositionAt(l);return new r.Range(c.lineNumber,c.column,h.lineNumber,h.column)},e._doFindMatchesMultiline=function(e,t,n,i,o){var r,s=e.getOffsetAt(t.getStartPosition()),a=e.getValueInRange(t,1),l="\r\n"===e.getEOL()?new c(a):null,u=[],h=0;for(n.reset(0);r=n.next(a);)if(u[h++]=d(this._getMultilineMatchRange(e,s,a,l,r.index,r[0]),r,i),h>=o)return u;return u},e._doFindMatchesLineByLine=function(e,t,n,i,o){var r=[],s=0;if(t.startLineNumber===t.endLineNumber){ +var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(n,a,t.startLineNumber,t.startColumn-1,s,r,i,o),r}var l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(n,l,t.startLineNumber,t.startColumn-1,s,r,i,o);for(var u=t.startLineNumber+1;u=u))return o;return o}var _,y=new f(e.wordSeparators,e.regex);y.reset(0);do{if((_=y.next(t))&&(a[o++]=d(new r.Range(n,_.index+1+i,n,_.index+1+_[0].length+i),_,l),o>=u))return o}while(_);return o}, +e.findNextMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindNextMatchMultiline(e,n,r,i):this._doFindNextMatchLineByLine(e,n,r,i)},e._doFindNextMatchMultiline=function(e,t,n,i){var s=new o.Position(t.lineNumber,1),a=e.getOffsetAt(s),l=e.getLineCount(),u=e.getValueInRange(new r.Range(s.lineNumber,s.column,l,e.getLineMaxColumn(l)),1),h="\r\n"===e.getEOL()?new c(u):null;n.reset(t.column-1);var p=n.next(u);return p?d(this._getMultilineMatchRange(e,a,u,h,p.index,p[0]),p,i):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new o.Position(1,1),n,i):null},e._doFindNextMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(n,s,r,t.column,i);if(a)return a;for(var l=1;l<=o;l++){var u=(r+l-1)%o,d=e.getLineContent(u+1),c=this._findFirstMatchInLine(n,d,u+1,1,i);if(c)return c}return null},e._findFirstMatchInLine=function(e,t,n,i,o){e.reset(i-1) +;var s=e.next(t);return s?d(new r.Range(n,s.index+1,n,s.index+1+s[0].length),s,o):null},e.findPreviousMatch=function(e,t,n,i){var o=t.parseSearchRequest();if(!o)return null;var r=new f(o.wordSeparators,o.regex);return o.regex.multiline?this._doFindPreviousMatchMultiline(e,n,r,i):this._doFindPreviousMatchLineByLine(e,n,r,i)},e._doFindPreviousMatchMultiline=function(e,t,n,i){var s=this._doFindMatchesMultiline(e,new r.Range(1,1,t.lineNumber,t.column),n,i,9990);if(s.length>0)return s[s.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new o.Position(a,e.getLineMaxColumn(a)),n,i):null},e._doFindPreviousMatchLineByLine=function(e,t,n,i){var o=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(n,s,r,i);if(a)return a;for(var l=1;l<=o;l++){var u=(o+r-l-1)%o,d=e.getLineContent(u+1),c=this._findLastMatchInLine(n,d,u+1,i);if(c)return c}return null},e._findLastMatchInLine=function(e,t,n,i){ +var o,s=null;for(e.reset(0);o=e.next(t);)s=d(new r.Range(n,o.index+1,n,o.index+1+o[0].length),o,i);return s},e}();function p(e,t,n,i,o){return function(e,t,n,i,o){if(0===i)return!0;var r=t.charCodeAt(i-1);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(o>0){var s=t.charCodeAt(i);if(0!==e.get(s))return!0}return!1}(e,t,0,i,o)&&function(e,t,n,i,o){if(i+o===n)return!0;var r=t.charCodeAt(i+o);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(o>0){var s=t.charCodeAt(i+o-1);if(0!==e.get(s))return!0}return!1}(e,t,n,i,o)}t.TextModelSearch=h,t.isValidMatch=p;var f=function(){function e(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}return e.prototype.reset=function(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0},e.prototype.next=function(e){var t,n=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===n)return null;if(!(t=this._searchRegex.exec(e)))return null;var i=t.index,o=t[0].length +;if(i===this._prevMatchStartIndex&&o===this._prevMatchLength){if(0===o){this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=i,this._prevMatchLength=o,!this._wordSeparators||p(this._wordSeparators,e,n,i,o))return t}while(t);return null},e}();t.Searcher=f})),define(n[188],i([0,1,13,3,47,343,143]),(function(e,t,n,i,o,r,s){"use strict";function a(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}Object.defineProperty(t,"__esModule",{value:!0}),t.AverageBufferSize=65535,t.createUintArray=a;var l=function(e,t,n,i,o){this.lineStarts=e,this.cr=t,this.lf=n,this.crlf=i,this.isBasicASCII=o};function u(e,t){void 0===t&&(t=!0);for(var n=[0],i=1,o=0,r=e.length;o126)&&(s=!1)}var h=new l(a(e),i,o,r,s);return e.length=0,h};var d=function(e,t,n,i,o){this.bufferIndex=e,this.start=t,this.end=n,this.lineFeedCnt=i,this.length=o};t.Piece=d;var c=function(e,t){this.buffer=e,this.lineStarts=t};t.StringBuffer=c;var h=function(){function e(e){this._limit=e,this._cache=[]}return e.prototype.get=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartOffset<=e&&n.nodeStartOffset+n.node.piece.length>=e)return n}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var n=this._cache[t];if(n.nodeStartLineNumber&&n.nodeStartLineNumber=e)return n}return null},e.prototype.set=function(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)},e.prototype.valdiate=function(e){for(var t=!1,n=this._cache,i=0;i=e)&&(n[i]=null,t=!0)}if(t){for(var r=[],s=0,a=n;s0){e[o].lineStarts||(e[o].lineStarts=u(e[o].buffer));var a=new d(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),i=this.rbInsertRight(i,a)}this._searchCache=new h(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var n=this,i=t.AverageBufferSize,o=i-Math.floor(i/3),r=2*o,s="",a=0,l=[] +;if(this.iterate(this.root,(function(t){var i=n.getNodeContent(t),d=i.length;if(a<=o||a+d0){var d=s.replace(/\r\n|\r|\n/g,e);l.push(new c(d,u(d)))}this.create(l,e,!0)},e.prototype.getEOL=function(){return this._EOL},e.prototype.setEOL=function(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)},e.prototype.getOffsetAt=function(e,t){for(var n=0,i=this.root;i!==r.SENTINEL;)if(i.left!==r.SENTINEL&&i.lf_left+1>=e)i=i.left;else{if(i.lf_left+i.piece.lineFeedCnt+1>=e)return(n+=i.size_left)+(this.getAccumulatedValue(i,e-i.lf_left-2)+t-1);e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right}return n},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,i=0,o=e;t!==r.SENTINEL;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var s=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+s.index,0===s.index){ +var a=o-this.getOffsetAt(i+1,1);return new n.Position(i+1,a+1)}return new n.Position(i+1,s.remainder+1)}if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===r.SENTINEL){a=o-e-this.getOffsetAt(i+1,1);return new n.Position(i+1,a+1)}t=t.right}return new n.Position(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var n=this.nodeAt2(e.startLineNumber,e.startColumn),i=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(n,i);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var n=e.node,i=this._buffers[n.piece.bufferIndex].buffer,o=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.substring(o+e.remainder,o+t.remainder)} +var s=e.node,a=this._buffers[s.piece.bufferIndex].buffer,l=this.offsetInBuffer(s.piece.bufferIndex,s.piece.start),u=a.substring(l+e.remainder,l+s.piece.length);for(s=s.next();s!==r.SENTINEL;){var d=this._buffers[s.piece.bufferIndex].buffer,c=this.offsetInBuffer(s.piece.bufferIndex,s.piece.start);if(s===t.node){u+=d.substring(c,c+t.remainder);break}u+=d.substr(c,s.piece.length),s=s.next()}return u},e.prototype.getLinesContent=function(){return this.getContentOfSubTree(this.root).split(/\r\n|\r|\n/)},e.prototype.getLength=function(){return this._length},e.prototype.getLineCount=function(){return this._lineCnt},e.prototype.getLineContent=function(e){return this._lastVisitedLine.lineNumber===e?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,""), +this._lastVisitedLine.value)},e.prototype.getLineCharCode=function(e,t){var n=this.nodeAt2(e,t+1);if(n.remainder===n.node.piece.length){var i=n.node.next();if(!i)return 0;var o=this._buffers[i.piece.bufferIndex],r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return o.buffer.charCodeAt(r)}o=this._buffers[n.node.piece.bufferIndex];var s=(r=this.offsetInBuffer(n.node.piece.bufferIndex,n.node.piece.start))+n.remainder;return o.buffer.charCodeAt(s)},e.prototype.getLineLength=function(e){if(e===this.getLineCount()){var t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength},e.prototype.findMatchesInNode=function(e,t,n,o,r,a,l,u,d,c,h){var p,f,g,m=this._buffers[e.piece.bufferIndex],v=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),_=this.offsetInBuffer(e.piece.bufferIndex,r),y=this.offsetInBuffer(e.piece.bufferIndex,a),C={line:0,column:0};t._wordSeparators?(f=m.buffer.substring(_,y),g=function(e){return e+_},t.reset(-1)):(f=m.buffer, +g=function(e){return e},t.reset(_));do{if(p=t.next(f)){if(g(p.index)>=y)return c;this.positionInBuffer(e,g(p.index)-v,C);var b=this.getLineFeedCnt(e.piece.bufferIndex,r,C),S=C.line===r.line?C.column-r.column+o:C.column+1,w=S+p[0].length;if(h[c++]=s.createFindMatch(new i.Range(n+b,S,n+b,w),p,u),g(p.index)+p[0].length>=y)return c;if(c>=d)return c}}while(p);return c},e.prototype.findMatchesLineByLine=function(e,t,n,i){var o=[],r=0,a=new s.Searcher(t.wordSeparators,t.regex),l=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===l)return[];var u=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===u)return[];var d=this.positionInBuffer(l.node,l.remainder),c=this.positionInBuffer(u.node,u.remainder);if(l.node===u.node)return this.findMatchesInNode(l.node,a,e.startLineNumber,e.startColumn,d,c,t,n,i,r,o),o;for(var h=e.startLineNumber,p=l.node;p!==u.node;){var f=this.getLineFeedCnt(p.piece.bufferIndex,d,p.piece.end);if(f>=1){ +var g=this._buffers[p.piece.bufferIndex].lineStarts,m=this.offsetInBuffer(p.piece.bufferIndex,p.piece.start),v=g[d.line+f],_=h===e.startLineNumber?e.startColumn:1;if((r=this.findMatchesInNode(p,a,h,_,d,this.positionInBuffer(p,v-m),t,n,i,r,o))>=i)return o;h+=f}var y=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){var C=this.getLineContent(h).substring(y,e.endColumn-1);return r=this._findMatchesInLine(t,a,C,e.endLineNumber,y,r,o,n,i),o}if((r=this._findMatchesInLine(t,a,this.getLineContent(h).substr(y),h,y,r,o,n,i))>=i)return o;h++,p=(l=this.nodeAt2(h,1)).node,d=this.positionInBuffer(l.node,l.remainder)}if(h===e.endLineNumber){var b=h===e.startLineNumber?e.startColumn-1:0;C=this.getLineContent(h).substring(b,e.endColumn-1);return r=this._findMatchesInLine(t,a,C,e.endLineNumber,b,r,o,n,i),o}var S=h===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(u.node,a,h,S,d,c,t,n,i,r,o),o},e.prototype._findMatchesInLine=function(e,t,n,r,a,l,u,d,c){var h,p=e.wordSeparators +;if(!d&&e.simpleSearch){for(var f=e.simpleSearch,g=f.length,m=n.length,v=-g;-1!==(v=n.indexOf(f,v+g));)if((!p||s.isValidMatch(p,n,m,v,g))&&(u[l++]=new o.FindMatch(new i.Range(r,v+1+a,r,v+1+g+a),null),l>=c))return l;return l}t.reset(0);do{if((h=t.next(n))&&(u[l++]=s.createFindMatch(new i.Range(r,h.index+1+a,r,h.index+1+h[0].length+a),h,d),l>=c))return l}while(h);return l},e.prototype.insert=function(e,n,i){if(void 0===i&&(i=!1),this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==r.SENTINEL){var o=this.nodeAt(e),s=o.node,a=o.remainder,l=o.nodeStartOffset,u=s.piece,c=u.bufferIndex,h=this.positionInBuffer(s,a);if(0===s.piece.bufferIndex&&u.end.line===this._lastChangeBufferPos.line&&u.end.column===this._lastChangeBufferPos.column&&l+u.length===e&&n.lengthe){ +var p=[],f=new d(u.bufferIndex,h,u.end,this.getLineFeedCnt(u.bufferIndex,h,u.end),this.offsetInBuffer(c,u.end)-this.offsetInBuffer(c,h));if(this.shouldCheckCRLF()&&this.endWithCR(n))if(10===this.nodeCharCodeAt(s,a)){var g={line:f.start.line+1,column:0};f=new d(f.bufferIndex,g,f.end,this.getLineFeedCnt(f.bufferIndex,g,f.end),f.length-1),n+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(n))if(13===this.nodeCharCodeAt(s,a-1)){var m=this.positionInBuffer(s,a-1);this.deleteNodeTail(s,m),n="\r"+n,0===s.piece.length&&p.push(s)}else this.deleteNodeTail(s,h);else this.deleteNodeTail(s,h);var v=this.createNewPieces(n);f.length>0&&this.rbInsertRight(s,f);for(var _=s,y=0;y=0;u--)l=this.rbInsertLeft(l,a[u]);this.validateCRLFWithPrevNode(l),this.deleteNodes(n)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var n=this.createNewPieces(e),i=this.rbInsertRight(t,n[0]),o=i,r=1;r=d))break;a=u+1}return n?(n.line=u,n.column=s-c,null):{line:u,column:s-c}},e.prototype.getLineFeedCnt=function(e,t,n){if(0===n.column)return n.line-t.line;var i=this._buffers[e].lineStarts;if(n.line===i.length-1)return n.line-t.line;var o=i[n.line+1],r=i[n.line]+n.column;if(o>r+1)return n.line-t.line;var s=r-1;return 13===this._buffers[e].buffer.charCodeAt(s)?n.line-t.line+1:n.line-t.line},e.prototype.offsetInBuffer=function(e,t){return this._buffers[e].lineStarts[t.line]+t.column},e.prototype.deleteNodes=function(e){for(var t=0;tt.AverageBufferSize){for(var n=[];e.length>t.AverageBufferSize;){var i=e.charCodeAt(t.AverageBufferSize-1),o=void 0;13===i||i>=55296&&i<=56319?(o=e.substring(0,t.AverageBufferSize-1), +e=e.substring(t.AverageBufferSize-1)):(o=e.substring(0,t.AverageBufferSize),e=e.substring(t.AverageBufferSize));var r=u(o);n.push(new d(this._buffers.length,{line:0,column:0},{line:r.length-1,column:o.length-r[r.length-1]},r.length-1,o.length)),this._buffers.push(new c(o,r))}var s=u(e);return n.push(new d(this._buffers.length,{line:0,column:0},{line:s.length-1,column:e.length-s[s.length-1]},s.length-1,e.length)),this._buffers.push(new c(e,s)),n}var a=this._buffers[0].buffer.length,l=u(e,!1),h=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===a&&0!==a&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},h=this._lastChangeBufferPos;for(var p=0;p=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){s=this.getAccumulatedValue(n,e-n.lf_left-2),u=this.getAccumulatedValue(n,e-n.lf_left-1), +a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return d+=n.size_left,this._searchCache.set({node:n,nodeStartOffset:d,nodeStartLineNumber:c-(e-1-n.lf_left)}),a.substring(l+s,l+u-t)}if(n.lf_left+n.piece.lineFeedCnt===e-1){s=this.getAccumulatedValue(n,e-n.lf_left-2),a=this._buffers[n.piece.bufferIndex].buffer,l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i=a.substring(l+s,l+n.piece.length);break}e-=n.lf_left+n.piece.lineFeedCnt,d+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==r.SENTINEL;){a=this._buffers[n.piece.bufferIndex].buffer;if(n.piece.lineFeedCnt>0){u=this.getAccumulatedValue(n,0),l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i+=a.substring(l,l+u-t)}l=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);i+=a.substr(l,n.piece.length),n=n.next()}return i},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,n=0;e!==r.SENTINEL;)t+=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length, +e=e.right;this._lineCnt=t,this._length=n,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var n=e.piece,i=this.positionInBuffer(e,t),o=i.line-n.start.line;if(this.offsetInBuffer(n.bufferIndex,n.end)-this.offsetInBuffer(n.bufferIndex,n.start)===t){var r=this.getLineFeedCnt(e.piece.bufferIndex,n.start,i);if(r!==o)return{index:r,remainder:0}}return{index:o,remainder:i.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var n=e.piece,i=this._buffers[n.bufferIndex].lineStarts,o=n.start.line+t+1;return o>n.end.line?i[n.end.line]+n.end.column-i[n.start.line]-n.start.column:i[o]-i[n.start.line]-n.start.column},e.prototype.deleteNodeTail=function(e,t){var n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.end),s=t,a=this.offsetInBuffer(n.bufferIndex,s),l=this.getLineFeedCnt(n.bufferIndex,n.start,s),u=l-i,c=a-o,h=n.length+c;e.piece=new d(n.bufferIndex,n.start,s,l,h),r.updateTreeMetadata(this,e,c,u)},e.prototype.deleteNodeHead=function(e,t){ +var n=e.piece,i=n.lineFeedCnt,o=this.offsetInBuffer(n.bufferIndex,n.start),s=t,a=this.getLineFeedCnt(n.bufferIndex,s,n.end),l=a-i,u=o-this.offsetInBuffer(n.bufferIndex,s),c=n.length+u;e.piece=new d(n.bufferIndex,s,n.end,a,c),r.updateTreeMetadata(this,e,u,l)},e.prototype.shrinkNode=function(e,t,n){var i=e.piece,o=i.start,s=i.end,a=i.length,l=i.lineFeedCnt,u=t,c=this.getLineFeedCnt(i.bufferIndex,i.start,u),h=this.offsetInBuffer(i.bufferIndex,t)-this.offsetInBuffer(i.bufferIndex,o);e.piece=new d(i.bufferIndex,i.start,u,c,h),r.updateTreeMetadata(this,e,h-a,c-l);var p=new d(i.bufferIndex,n,s,this.getLineFeedCnt(i.bufferIndex,n,s),this.offsetInBuffer(i.bufferIndex,s)-this.offsetInBuffer(i.bufferIndex,n)),f=this.rbInsertRight(e,p);this.validateCRLFWithPrevNode(f)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var n=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),i=this._buffers[0].buffer.length;this._buffers[0].buffer+=t +;for(var o=u(t,!1),s=0;se)t=t.left;else{if(t.size_left+t.piece.length>=e){i+=t.size_left;var o={node:t,remainder:e-t.size_left,nodeStartOffset:i};return this._searchCache.set(o),o} +e-=t.size_left+t.piece.length,i+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var n=this.root,i=0;n!==r.SENTINEL;)if(n.left!==r.SENTINEL&&n.lf_left>=e-1)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt>e-1){var o=this.getAccumulatedValue(n,e-n.lf_left-2),s=this.getAccumulatedValue(n,e-n.lf_left-1);return i+=n.size_left,{node:n,remainder:Math.min(o+t-1,s),nodeStartOffset:i}}if(n.lf_left+n.piece.lineFeedCnt===e-1){if((o=this.getAccumulatedValue(n,e-n.lf_left-2))+t-1<=n.piece.length)return{node:n,remainder:o+t-1,nodeStartOffset:i};t-=n.piece.length-o;break}e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}for(n=n.next();n!==r.SENTINEL;){if(n.piece.lineFeedCnt>0){s=this.getAccumulatedValue(n,0);var a=this.offsetOfNode(n);return{node:n,remainder:Math.min(t-1,s),nodeStartOffset:a}}if(n.piece.length>=t-1)return{node:n,remainder:t-1,nodeStartOffset:this.offsetOfNode(n)};t-=n.piece.length,n=n.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){ +if(e.piece.lineFeedCnt<1)return-1;var n=this._buffers[e.piece.bufferIndex],i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return n.buffer.charCodeAt(i)},e.prototype.offsetOfNode=function(e){if(!e)return 0;for(var t=e.size_left;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t},e.prototype.shouldCheckCRLF=function(){return!(this._EOLNormalized&&"\n"===this._EOL)},e.prototype.startWithLF=function(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===r.SENTINEL||0===e.piece.lineFeedCnt)return!1;var t=e.piece,n=this._buffers[t.bufferIndex].lineStarts,i=t.start.line,o=n[i]+t.start.column;return i!==n.length-1&&(!(n[i+1]>o+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(o))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==r.SENTINEL&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)},e.prototype.validateCRLFWithPrevNode=function(e){ +if(this.shouldCheckCRLF()&&this.startWithLF(e)){var t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}},e.prototype.validateCRLFWithNextNode=function(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}},e.prototype.fixCRLF=function(e,t){var n,i=[],o=this._buffers[e.piece.bufferIndex].lineStarts;n=0===e.piece.end.column?{line:e.piece.end.line-1,column:o[e.piece.end.line]-o[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};var s=e.piece.length-1,a=e.piece.lineFeedCnt-1;e.piece=new d(e.piece.bufferIndex,e.piece.start,n,a,s),r.updateTreeMetadata(this,e,-1,-1),0===e.piece.length&&i.push(e);var l={line:t.piece.start.line+1,column:0},u=t.piece.length-1,c=this.getLineFeedCnt(t.piece.bufferIndex,l,t.piece.end);t.piece=new d(t.piece.bufferIndex,l,t.piece.end,c,u),r.updateTreeMetadata(this,t,-1,-1),0===t.piece.length&&i.push(t);var h=this.createNewPieces("\r\n");this.rbInsertRight(e,h[0]);for(var p=0;p0){v.sort((function(e,t){return t.lineNumber-e.lineNumber})),w=[];u=0;for(var E=v.length;u0&&v[u-1].lineNumber===y)){var L=v[u].oldContent,D=this.getLineContent(y) +;0!==D.length&&D!==L&&-1===n.firstNonWhitespaceIndex(D)&&w.push(y)}}}return new o.ApplyEditsResult(b,S,w)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,n=e[0].range,o=e[e.length-1].range,r=new i.Range(n.startLineNumber,n.startColumn,o.endLineNumber,o.endColumn),s=n.startLineNumber,a=n.startColumn,l=[],u=0,d=e.length;u0){var h=l.lines.length,p=l.lines[0],f=l.lines[h-1];c=1===h?new i.Range(u,d,u,d+p.length):new i.Range(u,d,u+h-1,f.length+1)}else c=new i.Range(u,d,u,d);n=c.endLineNumber,o=c.endColumn,t.push(c),r=l}return t},e._sortOpsAscending=function(e,t){var n=i.Range.compareRangesUsingEnds(e.range,t.range);return 0===n?e.sortIndex-t.sortIndex:n},e._sortOpsDescending=function(e,t){var n=i.Range.compareRangesUsingEnds(e.range,t.range);return 0===n?t.sortIndex-e.sortIndex:-n},e}();t.PieceTreeTextBuffer=s})),define(n[346],i([0,1,5,188,345]),(function(e,t,n,i,o){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,i,o,r,s,a){this._chunks=e,this._bom=t,this._cr=n,this._lf=i,this._crlf=o,this._containsRTL=r,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,n=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":n>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),n=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var r=0,s=n.length;r=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}},e.prototype._acceptChunk1=function(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))},e.prototype._acceptChunk2=function(e){var t=i.createLineStarts(this._tmpLineStarts,e);this.chunks.push(new i.StringBuffer(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,this.isBasicASCII&&(this.isBasicASCII=t.isBasicASCII),this.isBasicASCII||this.containsRTL||(this.containsRTL=n.containsRTL(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new r(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.isBasicASCII,e) +},e.prototype._finish=function(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;var e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);var t=i.createLineStartsFast(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}();t.PieceTreeTextBufferBuilder=s})),define(n[106],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",t.DEFAULT_WORD_REGEXP=function(e){void 0===e&&(e="");for(var n="(-?\\d*\\.\\d\\w*)|([^",i=0,o=t.USUAL_WORD_SEPARATORS;i=0||(n+="\\"+r)}return n+="\\s]+)",new RegExp(n,"g")}(),t.ensureValidWordDefinition=function(e){var n=t.DEFAULT_WORD_REGEXP;if(e&&e instanceof RegExp)if(e.global)n=e;else{var i="g";e.ignoreCase&&(i+="i"),e.multiline&&(i+="m"),e.unicode&&(i+="u"),n=new RegExp(e.source,i)}return n.lastIndex=0,n},t.getWordAtText=function(e,t,n,i){t.lastIndex=0 +;var o=t.exec(n);if(!o)return null;var r=o[0].indexOf(" ")>=0?function(e,t,n,i){var o,r=e-1-i;for(t.lastIndex=0;o=t.exec(n);){var s=o.index||0;if(s>r)return null;if(t.lastIndex>=r)return{word:o[0],startColumn:i+1+s,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i):function(e,t,n,i){var o,r=e-1-i,s=n.lastIndexOf(" ",r-1)+1;for(t.lastIndex=s;o=t.exec(n);){var a=o.index||0;if(a<=r&&t.lastIndex>=r)return{word:o[0],startColumn:i+1+a,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i);return t.lastIndex=0,r}})),define(n[347],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this._languageIdentifier=e}return e.prototype.getId=function(){return this._languageIdentifier.language},e}();t.FrankensteinMode=n})),define(n[89],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(t.IndentAction||(t.IndentAction={})) +;var n=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,n=e.notIn.length;ts&&(s=u)}return s}if("string"==typeof t)return r?"*"===t?5:t===o?10:0:0;if(t){var d=t.language,c=t.pattern,h=t.scheme,p=t.hasAccessToAllModels;if(!r&&!p)return 0;s=0;if(h)if(h===i.scheme)s=10;else{if("*"!==h)return 0;s=5}if(d)if(d===o)s=10;else{if("*"!==d)return 0;s=Math.max(s,5)}if(c){if(c!==i.fsPath&&!n.match(c,i.fsPath))return 0;s=10}return s}return 0} +})),define(n[349],i([0,1,78]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,n){for(var i=new Uint8Array(e*t),o=0,r=e*t;ot&&(t=d),a>n&&(n=a),(c=s[2])>n&&(n=c)}var l=new i(++n,++t,0);for(o=0,r=e.length;o=this._maxCharCode?0:this._states.get(e,t)},e}();t.StateMachine=o;var r=null;var s=null;var a=function(){function e(){}return e._createLink=function(e,t,n,i,o){var r=o-1;do{var s=t.charCodeAt(r);if(2!==e.get(s))break;r--}while(r>i);if(i>0){var a=t.charCodeAt(i-1),l=t.charCodeAt(r) +;(40===a&&41===l||91===a&&93===l||123===a&&125===l)&&r--}return{range:{startLineNumber:n,startColumn:i+1,endLineNumber:n,endColumn:r+2},url:t.substring(i,r+1)}},e.computeLinks=function(t,i){void 0===i&&(null===r&&(r=new o([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),i=r);for(var a=function(){if(null===s){s=new n.CharacterClassifier(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)s.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)s.set(".,;".charCodeAt(e),2)}return s}(),l=[],u=1,d=t.getLineCount();u<=d;u++){for(var c=t.getLineContent(u),h=c.length,p=0,f=0,g=0,m=1,v=!1,_=!1,y=!1;p0&&e.getLanguageId(a-1)===r;)a--;return new n(e,r,a,s+1,e.getStartOffset(a),e.getEndOffset(s))};var n=function(){function e(e,t,n,i,o,r){this._actual=e,this.languageId=t, +this._firstTokenIndex=n,this._lastTokenIndex=i,this.firstCharOffset=o,this._lastCharOffset=r}return e.prototype.getLineContent=function(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)},e.prototype.getTokenCount=function(){return this._lastTokenIndex-this._firstTokenIndex},e.prototype.findTokenIndexAtOffset=function(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex},e.prototype.getStandardTokenType=function(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)},e}();t.ScopedLineTokens=n,t.ignoreBracketsInToken=function(e){return 0!=(7&e)}})),define(n[350],i([0,1,89]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map((function(e){return new n.StandardAutoClosingPairConditional(e)})):t.brackets?this._autoClosingPairs=t.brackets.map((function(e){ +return new n.StandardAutoClosingPairConditional({open:e[0],close:e[1]})})):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){var i=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new n.StandardAutoClosingPairConditional({open:i.open,close:i.close||""}))}this._autoCloseBefore="string"==typeof t.autoCloseBefore?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.getAutoCloseBeforeSet=function(){return this._autoCloseBefore},e.shouldAutoClosePair=function(e,t,n){if(0===t.getTokenCount())return!0;var i=t.findTokenIndexAtOffset(n-2),o=t.getStandardTokenType(i);return e.isOK(o)},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED=";:.,=}])> \n\t",e}();t.CharacterPairSupport=i})),define(n[351],i([0,1]),(function(e,t){ +"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this._indentationRules=e}return e.prototype.shouldIncrease=function(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(e))},e.prototype.shouldDecrease=function(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(e))},e.prototype.shouldIndentNextLine=function(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(e))},e.prototype.shouldIgnore=function(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&this._indentationRules.unIndentedLinePattern.test(e))},e.prototype.getIndentMetadata=function(e){var t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t},e}() +;t.IndentRulesSupport=n})),define(n[352],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}return e.prototype.navigateValueSet=function(e,t,n,i,o){var r;if(e&&t&&(r=this.doNavigateValueSet(t,o)))return{range:e,value:r};if(n&&i&&(r=this.doNavigateValueSet(i,o)))return{range:n,value:r};return null},e.prototype.doNavigateValueSet=function(e,t){var n=this.numberReplace(e,t);return null!==n?n:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){var n=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),i=Number(e),o=parseFloat(e);return isNaN(i)||isNaN(o)||i!==o?null:0!==i||t?(i=Math.floor(i*n),i+=t?n:-n,String(i/n)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,n){ +for(var i=null,o=0,r=e.length;null===i&&o=0?((i+=n?1:-1)<0?i=e.length-1:i%=e.length,e[i]):null},e.INSTANCE=new e,e}();t.BasicInplaceReplace=n})),define(n[353],i([0,1,10,5,89]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(t){var n=this;(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],t.brackets.forEach((function(t){var i=e._createOpenBracketRegExp(t[0]),o=e._createCloseBracketRegExp(t[1]);i&&o&&n._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:o})})),this._regExpRules=t.onEnterRules||[]}return e.prototype.onEnter=function(e,t,n,i){if(e>=3)for(var r=0,s=this._regExpRules.length;r=2&&n.length>0&&i.length>0)for(r=0,s=this._brackets.length;r=2&&n.length>0)for(r=0,s=this._brackets.length;r0&&l.push({open:d,close:c})}return l}(t);this.brackets=n.map((function(t,i){return new o(e,i,t.open,t.close,function(e,t,n,i){var o=[];o=(o=o.concat(e)).concat(t) +;for(var r=0,u=o.length;r=0&&i.push(u)}for(var d=0,c=s.close;d=0&&i.push(h)}}}function a(e,t){return e.length-t.length}function l(e){if(e.length<=1)return e;for(var t=[],n=new Set,i=0,o=e;i=0;n--)t+=e.charAt(n);return t}(c=e)),h}),f=function(){function e(){} +return e._findPrevBracketInText=function(e,t,n,o){var r=n.match(e);if(!r)return null;var s=n.length-(r.index||0),a=r[0].length,l=o+s;return new i.Range(t,l-a+1,t,l+1)},e.findPrevBracketInRange=function(e,t,n,i,o){var r=p(n).substring(n.length-o,n.length-i);return this._findPrevBracketInText(e,t,r,i)},e.findNextBracketInText=function(e,t,n,o){var r=n.match(e);if(!r)return null;var s=r.index||0,a=r[0].length;if(0===a)return null;var l=o+s;return new i.Range(t,l+1,t,l+1+a)},e.findNextBracketInRange=function(e,t,n,i,o){var r=n.substring(i,o);return this.findNextBracketInText(e,t,r,i)},e}();t.BracketsUtils=f})),define(n[354],i([0,1,144,145]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e){this._richEditBrackets=e}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,n=this._richEditBrackets.brackets;t1){var o=void 0,r=-1;for(o=t-1;o>=1;o--){if(e.getLanguageIdAtPosition(o,0)!==i)return r;var s=e.getLineContent(o);if(!n.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return o;r=o}}return-1},e.prototype.getInheritIndentForLine=function(e,t,n,i){if(void 0===i&&(i=!0),e<4)return null;var r=this.getIndentRulesSupport(t.getLanguageIdentifier().id);if(!r)return null;if(n<=1)return{indentation:"",action:null};var a=this.getPrecedingValidLine(t,n,r);if(a<0)return null;if(a<1)return{indentation:"",action:null};var l=t.getLineContent(a) +;if(r.shouldIncrease(l)||r.shouldIndentNextLine(l))return{indentation:o.getLeadingWhitespace(l),action:s.IndentAction.Indent,line:a};if(r.shouldDecrease(l))return{indentation:o.getLeadingWhitespace(l),action:null,line:a};if(1===a)return{indentation:o.getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};var u=a-1,d=r.getIndentMetadata(t.getLineContent(u));if(!(3&d)&&4&d){for(var c=0,h=u-1;h>0;h--)if(!r.shouldIndentNextLine(t.getLineContent(h))){c=h;break}return{indentation:o.getLeadingWhitespace(t.getLineContent(c+1)),action:null,line:c+1}}if(i)return{indentation:o.getLeadingWhitespace(t.getLineContent(a)),action:null,line:a};for(h=a;h>0;h--){var p=t.getLineContent(h);if(r.shouldIncrease(p))return{indentation:o.getLeadingWhitespace(p),action:s.IndentAction.Indent,line:h};if(r.shouldIndentNextLine(p)){c=0;for(var f=h-1;f>0;f--)if(!r.shouldIndentNextLine(t.getLineContent(h))){c=f;break}return{indentation:o.getLeadingWhitespace(t.getLineContent(c+1)),action:null,line:c+1}}if(r.shouldDecrease(p))return{ +indentation:o.getLeadingWhitespace(p),action:null,line:h}}return{indentation:o.getLeadingWhitespace(t.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,n,i,r){if(e<4)return null;var a=this._getRichEditSupport(n);if(!a)return null;var l=this.getIndentRulesSupport(n);if(!l)return null;var u=this.getInheritIndentForLine(e,t,i),d=t.getLineContent(i);if(u){var c=u.line;if(void 0!==c){var h=a.onEnter(e,"",t.getLineContent(c),"");if(h){var p=o.getLeadingWhitespace(t.getLineContent(c));return h.removeText&&(p=p.substring(0,p.length-h.removeText)),h.indentAction===s.IndentAction.Indent||h.indentAction===s.IndentAction.IndentOutdent?p=r.shiftIndent(p):h.indentAction===s.IndentAction.Outdent&&(p=r.unshiftIndent(p)),l.shouldDecrease(d)&&(p=r.unshiftIndent(p)),h.appendText&&(p+=h.appendText),o.getLeadingWhitespace(p)}} +return l.shouldDecrease(d)?u.action===s.IndentAction.Indent?u.indentation:r.unshiftIndent(u.indentation):u.action===s.IndentAction.Indent?r.shiftIndent(u.indentation):u.indentation}return null},e.prototype.getIndentForEnter=function(e,t,n,i){if(e<4)return null;t.forceTokenization(n.startLineNumber);var r,l,u=t.getLineTokens(n.startLineNumber),d=a.createScopedLineTokens(u,n.startColumn-1),c=d.getLineContent(),h=!1;(d.firstCharOffset>0&&u.getLanguageId(0)!==d.languageId?(h=!0,r=c.substr(0,n.startColumn-1-d.firstCharOffset)):r=u.getLineContent().substring(0,n.startColumn-1),n.isEmpty())?l=c.substr(n.startColumn-1-d.firstCharOffset):l=this.getScopedLineTokens(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-d.firstCharOffset);var p=this.getIndentRulesSupport(d.languageId);if(!p)return null;var f=r,g=o.getLeadingWhitespace(r),m={getLineTokens:function(e){return t.getLineTokens(e)},getLanguageIdentifier:function(){return t.getLanguageIdentifier()},getLanguageIdAtPosition:function(e,n){ +return t.getLanguageIdAtPosition(e,n)},getLineContent:function(e){return e===n.startLineNumber?f:t.getLineContent(e)}},v=o.getLeadingWhitespace(u.getLineContent()),_=this.getInheritIndentForLine(e,m,n.startLineNumber+1);if(!_){var y=h?v:g;return{beforeEnter:y,afterEnter:y}}var C=h?v:_.indentation;return _.action===s.IndentAction.Indent&&(C=i.shiftIndent(C)),p.shouldDecrease(l)&&(C=i.unshiftIndent(C)),{beforeEnter:h?v:g,afterEnter:C}},e.prototype.getIndentActionForType=function(e,t,n,i,o){if(e<4)return null;var r=this.getScopedLineTokens(t,n.startLineNumber,n.startColumn),a=this.getIndentRulesSupport(r.languageId);if(!a)return null;var l,u=r.getLineContent(),d=u.substr(0,n.startColumn-1-r.firstCharOffset);n.isEmpty()?l=u.substr(n.startColumn-1-r.firstCharOffset):l=this.getScopedLineTokens(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-r.firstCharOffset);if(!a.shouldDecrease(d+l)&&a.shouldDecrease(d+i+l)){var c=this.getInheritIndentForLine(e,t,n.startLineNumber,!1);if(!c)return null +;var h=c.indentation;return c.action!==s.IndentAction.Indent&&(h=o.unshiftIndent(h)),h}return null},e.prototype.getIndentMetadata=function(e,t){var n=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return n?t<1||t>e.getLineCount()?null:n.getIndentMetadata(e.getLineContent(t)):null},e.prototype.getEnterAction=function(e,t,n){var i=this.getScopedLineTokens(t,n.startLineNumber,n.startColumn),o=this._getRichEditSupport(i.languageId);if(!o)return null;var r,a=i.getLineContent(),l=a.substr(0,n.startColumn-1-i.firstCharOffset);n.isEmpty()?r=a.substr(n.startColumn-1-i.firstCharOffset):r=this.getScopedLineTokens(t,n.endLineNumber,n.endColumn).getLineContent().substr(n.endColumn-1-i.firstCharOffset);var u="";if(n.startLineNumber>1&&0===i.firstCharOffset){var d=this.getScopedLineTokens(t,n.startLineNumber-1);d.languageId===i.languageId&&(u=d.getLineContent())}var c=o.onEnter(e,u,l,r);if(!c)return null;var h=c.indentAction,p=c.appendText,f=c.removeText||0 +;p||(p=h===s.IndentAction.Indent||h===s.IndentAction.IndentOutdent?"\t":"");var g=this.getIndentationAtPosition(t,n.startLineNumber,n.startColumn);return f&&(g=g.substring(0,g.length-f)),{indentAction:h,appendText:p,removeText:f,indentation:g}},e.prototype.getIndentationAtPosition=function(e,t,n){var i=e.getLineContent(t),r=o.getLeadingWhitespace(i);return r.length>n-1&&(r=r.substring(0,n-1)),r},e.prototype.getScopedLineTokens=function(e,t,n){e.forceTokenization(t);var i=e.getLineTokens(t),o=void 0===n?e.getLineMaxColumn(t)-1:n-1;return a.createScopedLineTokens(i,o)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}();t.LanguageConfigurationRegistryImpl=g,t.LanguageConfigurationRegistry=new g})),define(n[355],i([0,1,27]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(e,t,n,i,o){this.token=e,this.index=t,this.fontStyle=n,this.foreground=i,this.background=o};function o(e){if(!e||!Array.isArray(e))return[] +;for(var t=[],n=0,o=0,r=e.length;o=1&&""===e[0].token;){var r=e.shift();-1!==r.fontStyle&&(n=r.fontStyle),null!==r.foreground&&(i=r.foreground),null!==r.background&&(o=r.background)}for(var s=new a,u=0,d=t;u>>0,this._cache.set(t,n)} +return(n|e<<0)>>>0},e}();t.TokenTheme=l;var u=/\b(comment|string|regex|regexp)\b/;function d(e){var t=e.match(u);if(!t)return 0;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":case"regexp":return 4}throw new Error("Unexpected match for standard token type!")}function c(e,t){return et?1:0}t.toStandardTokenType=d,t.strcmp=c;var h=function(){function e(e,t,n){this._fontStyle=e,this._foreground=t,this._background=n,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}return e.prototype.clone=function(){return new e(this._fontStyle,this._foreground,this._background)},e.prototype.acceptOverwrite=function(e,t,n){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==n&&(this._background=n),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}();t.ThemeTrieElementRule=h;var p=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule +;var t,n,i=e.indexOf(".");-1===i?(t=e,n=""):(t=e.substring(0,i),n=e.substring(i+1));var o=this._children.get(t);return void 0!==o?o.match(n):this._mainRule},e.prototype.insert=function(t,n,i,o){if(""!==t){var r,s,a=t.indexOf(".");-1===a?(r=t,s=""):(r=t.substring(0,a),s=t.substring(a+1));var l=this._children.get(r);void 0===l&&(l=new e(this._mainRule.clone()),this._children.set(r,l)),l.insert(s,n,i,o)}else this._mainRule.acceptOverwrite(n,i,o)},e}();t.ThemeTrieElement=p,t.generateTokensCSSForColorMap=function(e){for(var t=[],n=1,i=e.length;n2?this._colorMap[2]:null},e}();t.TokenizationRegistryImpl=s})), +/*! +Copyright (c) 2014 Taylor Hakes +Copyright (c) 2014 Forbes Lindesay + */ +p=function(){"use strict";function e(e){var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){return t.reject(n)}))}))}var t=setTimeout;function n(){}function i(e){if(!(this instanceof i))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],u(e,this)}function o(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,i._immediateFn((function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var i;try{i=n(e._value)}catch(e){return void s(t.promise,e)}r(t.promise,i)}else(1===e._state?r:s)(t.promise,e._value)}))):e._deferreds.push(t)}function r(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof i)return e._state=3,e._value=t,void a(e) +;if("function"==typeof n)return void u((o=n,r=t,function(){o.apply(r,arguments)}),e)}e._state=1,e._value=t,a(e)}catch(t){s(e,t)}var o,r}function s(e,t){e._state=2,e._value=t,a(e)}function a(e){2===e._state&&0===e._deferreds.length&&i._immediateFn((function(){e._handled||i._unhandledRejectionFn(e._value)}));for(var t=0,n=e._deferreds.length;ti&&(p=i-f);var g=u.color,m=this._color2Id[g];m||(m=++this._lastAssignedId,this._color2Id[g]=m,this._id2Color[m]=g);var v=new n(p-f,p+f,m);u.setColorZone(v),s.push(v)}return this._colorZonesInvalid=!1,s.sort(n.compare),s},e}();t.OverviewZoneManager=o})),define(n[90],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;var n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height} +return e.prototype.getScrolledTopFromAbsoluteTop=function(e){return e-this.scrollTop},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.getDecorationsInViewport=function(){return this.viewportData.getDecorationsInViewport()},e}();t.RestrictedRenderingContext=n;var i=function(e){function t(t,n,i){var o=e.call(this,t,n)||this;return o._viewLines=i,o}return r(t,e),t.prototype.linesVisibleRangesForRange=function(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)},t.prototype.visibleRangeForPosition=function(e){return this._viewLines.visibleRangeForPosition(e)},t}(n);t.RenderingContext=i;var o=function(e,t,n){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=n};t.LineVisibleRanges=o;var s=function(){function e(e,t){this.left=Math.round(e),this.width=Math.round(t)}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e}();t.HorizontalRange=s;var a=function(e,t){this.outsideRenderedLine=e, +this.left=Math.round(t)};t.HorizontalPosition=a;var l=function(e,t){this.outsideRenderedLine=e,this.ranges=t};t.VisibleRanges=l})),define(n[357],i([0,1,90]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this.left=e,this.width=t}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e.compare=function(e,t){return e.left-t.left},e}(),o=function(){function e(){}return e._createRange=function(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange},e._detachRange=function(e,t){e.selectNodeContents(t)},e._readClientRects=function(e,t,n,i,o){var r=this._createRange();try{return r.setStart(e,t),r.setEnd(n,i),r.getClientRects()}catch(e){return null}finally{this._detachRange(r,o)}},e._mergeAdjacentRanges=function(e){if(1===e.length)return[new n.HorizontalRange(e[0].left,e[0].width)];e.sort(i.compare);for(var t=[],o=0,r=e[0].left,s=e[0].width,a=1,l=e.length;a=d?s=Math.max(s,d+c-r):(t[o++]=new n.HorizontalRange(r,s),r=d,s=c)}return t[o++]=new n.HorizontalRange(r,s),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var n=[],o=0,r=e.length;oa)return null;(t=Math.min(a,Math.max(0,t)))!==(i=Math.min(a,Math.max(0,i)))&&i>0&&0===o&&(i--,o=1073741824);var l=e.children[t].firstChild,u=e.children[i].firstChild;if(l&&u||(!l&&0===n&&t>0&&(l=e.children[t-1].firstChild,n=1073741824),!u&&0===o&&i>0&&(u=e.children[i-1].firstChild,o=1073741824)),!l||!u)return null;n=Math.min(l.textContent.length,Math.max(0,n)),o=Math.min(u.textContent.length,Math.max(0,o));var d=this._readClientRects(l,n,u,o,s);return this._createHorizontalRangesFromClientRects(d,r)},e}();t.RangeUtil=o})),define(n[358],i([0,1]),(function(e,t){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t,n,i){this.configuration=e,this.theme=t,this.model=n,this.viewLayout=n.viewLayout,this.privateViewEventBus=i}return e.prototype.addEventHandler=function(e){this.privateViewEventBus.addEventHandler(e)},e.prototype.removeEventHandler=function(e){this.privateViewEventBus.removeEventHandler(e)},e}();t.ViewContext=n})),define(n[359],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this._eventHandlerGateKeeper=e,this._eventHandlers=[],this._eventQueue=null,this._isConsumingQueue=!1}return e.prototype.addEventHandler=function(e){for(var t=0,n=this._eventHandlers.length;t0&&this._emit(e)}},t.prototype._emit=function(e){ +for(var t=this._listeners.slice(0),n=0,i=t.length;nn)&&(!d.isEmpty()||0!==u.type&&3!==u.type)){var c=d.startLineNumber===n?d.startColumn:i,h=d.endLineNumber===n?d.endColumn:o;r[s++]=new e(c,h,u.inlineClassName,u.type)}}return r},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.classNamet.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}();t.LineDecoration=i;var o=function(e,t,n){this.startOffset=e,this.endOffset=t,this.className=n};t.DecorationSegment=o;var r=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,n){for(;this.count>0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(n,0,e),this.classNames.splice(n,0,t);break}this.count++},e}(),s=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var i=[],o=new r,s=0,a=0,l=t.length;a1){var p=e.charCodeAt(d-2);n.isHighSurrogate(p)&&d--}if(c>1){p=e.charCodeAt(c-2);n.isHighSurrogate(p)&&c--}var f=d-1,g=c-2;s=o.consumeLowerThan(f,s,i),0===o.count&&(s=f),o.insert(g,h)}return o.consumeLowerThan(1073741824,s,i),i},e}();t.LineDecorationsNormalizer=s})), +define(n[360],i([0,1,5]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}return e.prototype.insert=function(e){this._hasPending=!0,this._inserts.push(e)},e.prototype.change=function(e){this._hasPending=!0,this._changes.push(e)},e.prototype.remove=function(e){this._hasPending=!0,this._removes.push(e)},e.prototype.mustCommit=function(){return this._hasPending},e.prototype.commit=function(e){if(this._hasPending){var t=this._inserts,n=this._changes,i=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,i)}},e}(),o=function(e,t,n,i,o){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=i,this.minWidth=o,this.prefixSum=0};t.EditorWhitespace=o;var r=function(){function e(t,o){this._instanceId=n.singleLetterHash(++e.INSTANCE_COUNT),this._pendingChanges=new i,this._lastWhitespaceId=0,this._arr=[], +this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._lineHeight=o}return e.findInsertionIndex=function(e,t,n){for(var i=0,o=e.length;i>>1;t===e[r].afterLineNumber?n0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){ +for(var i=0,o=e;it&&(this._arr[n].afterLineNumber-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(var n=0,i=this._arr.length;n=t.length||t[o+1].afterLineNumber>=e)return o;n=o+1|0}else i=o-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t1?this._lineHeight*(e-1):0)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceMinWidth=function(){if(this._checkPendingChanges(), +-1===this._minWidth){for(var e=0,t=0,n=this._arr.length;tthis.getLinesTotalHeight()},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e){if(this._checkPendingChanges(),(e|=0)<0)return 1;for(var t=0|this._lineCount,n=this._lineHeight,i=1,o=t;i=s+n)i=r+1;else{if(e>=s)return r;o=r}}return i>t?t:i},e.prototype.getLinesViewportData=function(e,t){this._checkPendingChanges(),e|=0,t|=0;var n,i,o=this._lineHeight,r=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(r),a=0|this._lineCount,l=0|this.getFirstWhitespaceIndexAfterLineNumber(r),u=0|this.getWhitespacesCount();-1===l?(l=u,i=a+1,n=0):(i=0|this.getAfterLineNumberForWhitespaceIndex(l),n=0|this.getHeightForWhitespaceIndex(l));var d=s,c=d,h=0;s>=5e5&&(h=5e5*Math.floor(s/5e5),c-=h=Math.floor(h/o)*o) +;for(var p=[],f=e+(t-e)/2,g=-1,m=r;m<=a;m++){if(-1===g){(d<=f&&ff)&&(g=m)}for(d+=o,p[m-r]=c,c+=o;i===m;)c+=n,d+=n,++l>=u?i=a+1:(i=0|this.getAfterLineNumberForWhitespaceIndex(l),n=0|this.getHeightForWhitespaceIndex(l));if(d>=t){a=m;break}}-1===g&&(g=a);var v=0|this.getVerticalOffsetForLineNumber(a),_=r,y=a;return _t&&y--,{bigNumbersDelta:h,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:p,centeredLineNumber:g,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:y}},e.prototype.getVerticalOffsetForWhitespaceIndex=function(e){this._checkPendingChanges(),e|=0;var t=this.getAfterLineNumberForWhitespaceIndex(e);return(t>=1?this._lineHeight*t:0)+(e>0?this.getWhitespacesAccumulatedHeight(e-1):0)},e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset=function(e){this._checkPendingChanges(),e|=0;var t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(n)+this.getHeightForWhitespaceIndex(n))return-1;for(;t=o+this.getHeightForWhitespaceIndex(i))t=i+1;else{if(e>=o)return i;n=i}}return t},e.prototype.getWhitespaceAtVerticalOffset=function(e){this._checkPendingChanges(),e|=0;var t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this.getWhitespacesCount())return null;var n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;var i=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:i}},e.prototype.getWhitespaceViewportData=function(e,t){this._checkPendingChanges(),e|=0,t|=0;var n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),i=this.getWhitespacesCount()-1;if(n<0)return[];for(var o=[],r=n;r<=i;r++){var s=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(s>=t)break;o.push({id:this.getIdForWhitespaceIndex(r), +afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:s,height:a})}return o},e.prototype.getWhitespaces=function(){return this._checkPendingChanges(),this._arr.slice(0)},e.prototype.getWhitespacesCount=function(){return this._checkPendingChanges(),this._arr.length},e.prototype.getIdForWhitespaceIndex=function(e){return this._checkPendingChanges(),e|=0,this._arr[e].id},e.prototype.getAfterLineNumberForWhitespaceIndex=function(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber},e.prototype.getHeightForWhitespaceIndex=function(e){return this._checkPendingChanges(),e|=0,this._arr[e].height},e.INSTANCE_COUNT=0,e}();t.LinesLayout=r})),define(n[107],i([0,1,5,141,147]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(e,t){this.endIndex=e,this.type=t},s=function(){function e(e,t){this.startOffset=e,this.endOffset=t}return e.prototype.equals=function(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset},e}() +;t.LineRange=s;var a=function(){function e(e,t,n,i,o,r,s,a,l,u,d,c,h,p,f,g){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=i,this.isBasicASCII=o,this.containsRTL=r,this.fauxIndentLength=s,this.lineTokens=a,this.lineDecorations=l,this.tabSize=u,this.spaceWidth=d,this.stopRenderingLineAfter=c,this.renderWhitespace="all"===h?3:"boundary"===h?1:"selection"===h?2:0,this.renderControlCharacters=p,this.fontLigatures=f,this.selectionsOnLine=g&&g.sort((function(e,t){return e.startOffset>>16},e.getCharIndex=function(e){return(65535&e)>>>0}, +e.prototype.setPartData=function(e,t,n,i){var o=(t<<16|n<<0)>>>0;this._data[e]=o,this._absoluteOffsets[e]=i+n},e.prototype.getAbsoluteOffsets=function(){return this._absoluteOffsets},e.prototype.charOffsetToPartData=function(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]},e.prototype.partDataToCharOffset=function(t,n,i){if(0===this.length)return 0;for(var o=(t<<16|i<<0)>>>0,r=0,s=this.length-1;r+1>>1,l=this._data[a];if(l===o)return a;l>o?s=a:r=a}if(r===s)return r;var u=this._data[r],d=this._data[s];if(u===o)return r;if(d===o)return s;var c=e.getPartIndex(u);return i-e.getCharIndex(u)<=(c!==e.getPartIndex(d)?n:e.getCharIndex(d))-i?r:s},e}();t.CharacterMapping=l;var u=function(e,t,n){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n};function d(e,t){if(0===e.lineContent.length){var i=0,s=" ";if(e.lineDecorations.length>0){for(var a=[],d=0,c=e.lineDecorations.length;d')}return t.appendASCIIString(s),new u(new l(0,0),!1,i)}return function(e,t){var i=e.fontIsMonospace,o=e.canUseHalfwidthRightwardsArrow,r=e.containsForeignElements,s=e.lineContent,a=e.len,d=e.isOverflowing,c=e.parts,h=e.tabSize,p=e.containsRTL,f=e.spaceWidth,g=e.renderWhitespace,m=e.renderControlCharacters,v=new l(a+1,c.length),_=0,y=0,C=0,b=0,S=0;t.appendASCIIString("");for(var w=0,E=c.length;w=0;if(C=0,t.appendASCIIString('0&&(!o||R>1?t.write1(8594):t.write1(65515),R--);R>0;)t.write1(160),R--;else t.write1(183);C++}b=I}else{I=0;for(p&&t.appendASCIIString(' dir="ltr"'),t.appendASCII(62);_0;)t.write1(160),I++,R--;break;case 32:t.write1(160),I++;break;case 60:t.appendASCIIString("<"),I++;break;case 62:t.appendASCIIString(">"),I++;break;case 38:t.appendASCIIString("&"),I++;break;case 0:t.appendASCIIString("�"),I++;break;case 65279:case 8232:t.write1(65533),I++;break;default:n.isFullWidthCharacter(T)&&y++,m&&T<32?(t.write1(9216+T),I++):(t.write1(T),I++)}C++}b=I}t.appendASCIIString("")}v.setPartData(a,c.length-1,C,S),d&&t.appendASCIIString("");return t.appendASCIIString(""),new u(v,p,r)}(function(e){var t,i,s=e.useMonospaceOptimizations,a=e.lineContent +;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter0&&(i[o++]=new r(t,""));for(var s=0,a=e.getCount();s=n){i[o++]=new r(n,u);break}i[o++]=new r(l,u)}}return i}(e.lineTokens,e.fauxIndentLength,i);(3===e.renderWhitespace||1===e.renderWhitespace||2===e.renderWhitespace&&e.selectionsOnLine)&&(l=function(e,t,i,o,s,a,l,u,d){var c,h=[],p=0,f=0,g=o[f].type,m=o[f].endIndex,v=o.length,_=n.firstNonWhitespaceIndex(e);-1===_?(_=t,c=t):c=n.lastNonWhitespaceIndex(e);for(var y=0,C=0;C=w.endOffset&&(S++,w=u&&u[S]);var L=void 0;if(C<_||C>c)L=!0;else if(9===E)L=!0;else if(32===E)if(d)if(b)L=!0;else{var D=C+1C), +b?(!L||!l&&y>=a)&&(h[p++]=new r(C,"vs-whitespace"),y%=a):(C===m||L&&C>s)&&(h[p++]=new r(C,g),y%=a),9===E?y=a:n.isFullWidthCharacter(E)?y+=2:y++,b=L,C===m&&++f0?e.charCodeAt(t-1):0,I=t>1?e.charCodeAt(t-2):0;32===x&&32!==I&&9!==I||(N=!0)}else N=!0;return h[p++]=new r(t,N?"vs-whitespace":g),h}(a,i,e.continuesWithWrappedLine,l,e.fauxIndentLength,e.tabSize,s,e.selectionsOnLine,1===e.renderWhitespace));var u=0;if(e.lineDecorations.length>0){for(var d=0,c=e.lineDecorations.length;dc&&(c=v.startOffset,u[d++]=new r(c,m)),!(v.endOffset+1<=g)){c=g,u[d++]=new r(c,m+" "+v.className);break}c=v.endOffset+1, +u[d++]=new r(c,m+" "+v.className),l++}g>c&&(c=g,u[d++]=new r(c,m))}var _=n[n.length-1].endIndex;if(l=50&&(o[s++]=new r(c+1,d),h=c+1,c=-1);h!==u&&(o[s++]=new r(u,d))}else o[s++]=f;i=u}else for(a=0,l=t.length;a50){d=f.type;var m=Math.ceil(g/50);for(p=1;p=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=n.toUint32(e),t=n.toUint32(t),this.values[e]!==t&&(this.values[e]=t,e-1=i.length)return!1;var r=i.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(o.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){ +return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=n.toUint32(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t=0,n=this.values.length-1,o=0,r=0,s=0;t<=n;)if(o=t+(n-t)/2|0,e<(s=(r=this.prefixSum[o])-this.values[o]))n=o-1;else{if(!(e>=r))break;t=o+1}return new i(o,e-s)},e}();t.PrefixSumComputer=o;var r=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new o(e),this._bustCache()}return e.prototype._bustCache=function(){ +this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t=i._lines.length?o.FIN:(n=i._lines[r],a=i._wordenize(n,e),s=0,r+=1,l())};return{next:l}},t.prototype.getLineWords=function(e,t){for(var n=this._lines[e-1],i=[],o=0,r=this._wordenize(n,t);othis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,i=!0;else{var o=this._lines[t-1].length+1;n<1?(n=1,i=!0):n>o&&(n=o,i=!0)}return i?{lineNumber:t,column:n}:e},t}(p.MirrorTextModel),C=function(){function t(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}return t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach((function(n){return t.push(e._models[n])})),t}, +t.prototype.acceptNewModel=function(e){this._models[e.url]=new y(a.URI.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t.prototype.computeDiff=function(e,t,n,i){return d(this,void 0,void 0,(function(){var o,r,s,a,l,u,d;return c(this,(function(c){return o=this._getModel(e),r=this._getModel(t),o&&r?(s=o.getLinesContent(),a=r.getLinesContent(),l=new h.DiffComputer(s,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:i}),u=l.computeDiff(),d=!(u.changes.length>0)&&this._modelsAreIdentical(o,r),[2,{quitEarly:u.quitEarly,identical:d,changes:u.changes}]):[2,null]}))}))},t.prototype._modelsAreIdentical=function(e,t){var n=e.getLineCount();if(n!==t.getLineCount())return!1;for(var i=1;i<=n;i++){if(e.getLineContent(i)!==t.getLineContent(i))return!1}return!0}, +t.prototype.computeMoreMinimalEdits=function(e,o){return d(this,void 0,void 0,(function(){var r,s,a,l,d,h,p,f,g,m,v,_,y,C,b,S,w,E;return c(this,(function(c){if(!(r=this._getModel(e)))return[2,o];for(s=[],a=void 0,o=n.mergeSort(o,(function(e,t){return e.range&&t.range?u.Range.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)})),l=0,d=o;lt._diffLimit)s.push({range:p,text:f});else for(v=i.stringDiff(m,f,!1),_=r.offsetAt(u.Range.lift(p).getStartPosition()),y=0,C=v;y=i,d=a,c=o.viewportHeight-a>=i,h=e.left,p=t.left;return h+n>o.scrollLeft+o.viewportWidth&&(h=o.scrollLeft+o.viewportWidth-n), +p+n>o.scrollLeft+o.viewportWidth&&(p=o.scrollLeft+o.viewportWidth-n),h=22,C=g+o<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;m+i+20>_&&(m-=s=m-(_-i-20),c-=s);v+i+20>_&&(v-=s=v-(_-i-20),h-=s);m<0&&(m-=s=m,c-=s);v<0&&(v-=s=v,h-=s);return this._fixedOverflowWidgets&&(u=f,d=g,c=m,h=v),{fitsAbove:y,aboveTop:Math.max(u,22),aboveLeft:c,fitsBelow:C,belowTop:d,belowLeft:h}}, +e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new s(e.top,e.left+this._contentLeft)},e.prototype._getTopAndBottomLeft=function(e){if(!this._viewPosition)return[null,null];var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return[null,null];var n=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop,i=new s(n,t.left),o=this._viewPosition.lineNumber,r=t.left;if(this._viewRange){var a=e.linesVisibleRangesForRange(this._viewRange,!1);if(a&&a.length>0)for(var l=a.length-1;l>=0;l--){var u=a[l];if(u.lineNumber>=o){u.lineNumber>o&&(o=u.lineNumber,r=1073741824);for(var d=0,c=u.ranges.length;de.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){this._renderData=this._prepareRenderWidget(e)},e.prototype.render=function(e){ +this._renderData?(this.allowEditorOverflow?(this.domNode.setTop(this._renderData.top),this.domNode.setLeft(this._renderData.left)):(this.domNode.setTop(this._renderData.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0)):this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden"))},e}()})),define(n[365],i([0,1,81,3,90,284]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(t){var n=e.call(this)||this;n._context=t;var i=n._context.configuration.options;return n._lineHeight=i.get(47),n._typicalHalfwidthCharacterWidth=i.get(32).typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return r(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this), +this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options;return this._lineHeight=t.get(47),this._typicalHalfwidthCharacterWidth=t.get(32).typicalHalfwidthCharacterWidth,!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){for(var t=e.getDecorationsInViewport(),n=[],o=0,r=0,s=t.length;rt.options.zIndex)return 1;var n=e.options.className,o=t.options.className +;return no?1:i.Range.compareRangesUsingStarts(e.range,t.range)}));for(var l=e.visibleRange.startLineNumber,u=e.visibleRange.endLineNumber,d=[],c=l;c<=u;c++){d[c-l]=""}this._renderWholeLineDecorations(e,n,d),this._renderNormalDecorations(e,n,d),this._renderResult=d},t.prototype._renderWholeLineDecorations=function(e,t,n){for(var i=String(this._lineHeight),o=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s=0,a=t.length;s
    ',d=Math.max(l.range.startLineNumber,o),c=Math.min(l.range.endLineNumber,r),h=d;h<=c;h++){n[h-o]+=u}}},t.prototype._renderNormalDecorations=function(e,t,n){for(var o=String(this._lineHeight),r=e.visibleRange.startLineNumber,s=null,a=!1,l=null,u=0,d=t.length;u';a[h]+=v}}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e +;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(n.DynamicViewOverlay);t.DecorationsOverlay=s})),define(n[149],i([0,1,81,285]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(e,t,n){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)};t.DecorationToRender=i;var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._render=function(e,t,n){for(var i=[],o=e;o<=t;o++){i[o-e]=[]}if(0===n.length)return i;n.sort((function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className',s=[],a=t;a<=n;a++){var l=a-t,u=i[l];0===u.length?s[l]="":s[l]='
    =this._renderResult.length?"":this._renderResult[n]},t}(o);t.GlyphMarginOverlay=s})),define(n[366],i([0,1,149,289]),(function(e,t,n){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t){var n=e.call(this)||this;n._context=t;var i=n._context.configuration.options.get(103);return n._decorationsLeft=i.decorationsLeft,n._decorationsWidth=i.decorationsWidth,n._renderResult=null,n._context.addEventHandler(n),n}return r(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options.get(103);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0}, +t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),i=[],o=0,r=0,s=t.length;r
    ',r=[],s=t;s<=n;s++){for(var a=s-t,l=i[a],u="",d=0,c=l.length;d';o[s]=l}this._renderResult=o}, +t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(n.DedupOverlay);t.MarginViewLineDecorationsOverlay=i})),define(n[368],i([0,1,28,36,292]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var o=e.call(this,t)||this,r=o._context.configuration.options.get(103);return o._widgets={},o._verticalScrollbarWidth=r.verticalScrollbarWidth,o._minimapWidth=r.minimapWidth,o._horizontalScrollbarHeight=r.horizontalScrollbarHeight,o._editorHeight=r.height,o._editorWidth=r.width,o._domNode=n.createFastDomNode(document.createElement("div")),i.PartFingerprints.write(o._domNode,4),o._domNode.setClassName("overlayWidgets"),o}return r(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets={}},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options.get(103) +;return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0},t.prototype.addWidget=function(e){var t=n.createFastDomNode(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),this._domNode.appendChild(t),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t){var n=this._widgets[e.getId()];return n.preference!==t&&(n.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var n=this._widgets[t].domNode.domNode;delete this._widgets[t],n.parentNode.removeChild(n),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(0===e.preference)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(1===e.preference){ +var n=t.domNode.clientHeight;t.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else 2===e.preference&&(t.setTop(0),t.domNode.style.right="50%");else t.unsetTop()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._editorWidth);for(var t=Object.keys(this._widgets),n=0,i=t.length;n0&&this._renderOneLane(o,n,i,e),!0},t.prototype._renderOneLane=function(e,t,n,i){for(var o=0,r=0,s=0,a=0,l=t;a=c?s=Math.max(s,h):(e.fillRect(0,r,i,s-r),r=c,s=h)}e.fillRect(0,r,i,s-r)},t}(o.ViewEventHandler);t.OverviewRuler=s})),define(n[370],i([0,1,28,10,36,13]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){throw new Error("Invalid change accessor")},l=function(e){function t(t){var i=e.call(this,t)||this,o=i._context.configuration.options,r=o.get(103);return i._lineHeight=o.get(47),i._contentWidth=r.contentWidth,i._contentLeft=r.contentLeft,i.domNode=n.createFastDomNode(document.createElement("div")), +i.domNode.setClassName("view-zones"),i.domNode.setPosition("absolute"),i.domNode.setAttribute("role","presentation"),i.domNode.setAttribute("aria-hidden","true"),i.marginDomNode=n.createFastDomNode(document.createElement("div")),i.marginDomNode.setClassName("margin-view-zones"),i.marginDomNode.setPosition("absolute"),i.marginDomNode.setAttribute("role","presentation"),i.marginDomNode.setAttribute("aria-hidden","true"),i._zones={},i}return r(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._zones={}},t.prototype._recomputeWhitespacesProps=function(){for(var e=this,t=this._context.viewLayout.getWhitespaces(),n=new Map,i=0,o=t;i=t?0:n.horizontalScrollbarSize},t.prototype._getTotalHeight=function(e,t,n){var i=this._configuration.options,o=this._linesLayout.getLinesTotalHeight();return i.get(76)?o+=t-i.get(47):o+=this._getHorizontalScrollbarHeight(e,n),Math.max(t,o)},t.prototype._updateHeight=function(){var e=this.scrollable.getScrollDimensions(),t=e.width,n=e.height,i=e.scrollWidth,o=this._getTotalHeight(t,n,i);this.scrollable.setScrollDimensions({scrollHeight:o})},t.prototype.getCurrentViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getCurrentScrollPosition() +;return new s.Viewport(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new s.Viewport(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,t){var n=this._configuration.options;if(!n.get(104).isViewportWrapping){var i=n.get(75)*n.get(32).typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+i,t,o)}return Math.max(e,t)},t.prototype.onMaxLineWidthChanged=function(e){var t=this._computeScrollWidth(e,this.getCurrentViewport().width);this.scrollable.setScrollDimensions({scrollWidth:t}),this._updateHeight()},t.prototype.saveState=function(){var e=this.scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}, +t.prototype.changeWhitespace=function(e){return this._linesLayout.changeWhitespace(e)},t.prototype.getVerticalOffsetForLineNumber=function(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)},t.prototype.isAfterLines=function(e){return this._linesLayout.isAfterLines(e)},t.prototype.getLineNumberAtVerticalOffset=function(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)},t.prototype.getWhitespaceAtVerticalOffset=function(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)},t.prototype.getLinesViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)},t.prototype.getLinesViewportDataAtScrollTop=function(e){var t=this.scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)},t.prototype.getWhitespaceViewportData=function(){var e=this.getCurrentViewport() +;return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)},t.prototype.getWhitespaces=function(){return this._linesLayout.getWhitespaces()},t.prototype.getScrollWidth=function(){return this.scrollable.getScrollDimensions().scrollWidth},t.prototype.getScrollHeight=function(){return this.scrollable.getScrollDimensions().scrollHeight},t.prototype.getCurrentScrollLeft=function(){return this.scrollable.getCurrentScrollPosition().scrollLeft},t.prototype.getCurrentScrollTop=function(){return this.scrollable.getCurrentScrollPosition().scrollTop},t.prototype.validateScrollPosition=function(e){return this.scrollable.validateScrollPosition(e)},t.prototype.setScrollPositionNow=function(e){this.scrollable.setScrollPositionNow(e)},t.prototype.setScrollPositionSmooth=function(e){this.scrollable.setScrollPositionSmooth(e)},t.prototype.deltaScrollNow=function(e,t){var n=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})},t +}(n.Disposable);t.ViewLayout=a})),define(n[372],i([0,1,13,3,69]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,i,o){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=i,this._coordinatesConverter=o,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}return e.prototype._clearCachedModelDecorationsResolver=function(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null},e.prototype.dispose=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.reset=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onModelDecorationsChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onLineMappingChanged=function(){ +this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype._getOrCreateViewModelDecoration=function(e){var t=e.id,r=this._decorationsCache[t];if(!r){var s=e.range,a=e.options,l=void 0;if(a.isWholeLine){var u=this._coordinatesConverter.convertModelPositionToViewPosition(new n.Position(s.startLineNumber,1)),d=this._coordinatesConverter.convertModelPositionToViewPosition(new n.Position(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber)));l=new i.Range(u.lineNumber,u.column,d.lineNumber,d.column)}else l=this._coordinatesConverter.convertModelRangeToViewRange(s);r=new o.ViewModelDecoration(l,a),this._decorationsCache[t]=r}return r},e.prototype.getDecorationsViewportData=function(e){var t=null!==this._cachedModelDecorationsResolver;return(t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange))||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}, +e.prototype._getDecorationsViewportData=function(e){for(var t=this._linesCollection.getDecorationsInRange(e,this.editorId,this.configuration.options.get(65)),n=e.startLineNumber,r=e.endLineNumber,s=[],a=0,l=[],u=n;u<=r;u++)l[u-n]=[];for(var d=0,c=t.length;de.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var n=0;ne.length)return!1;for(var o=0;o=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,n,i,r,s){var a,l=t.startLineNumber,u=t.startColumn,d=t.endLineNumber,c=t.endColumn,h=r.getLineContent(l),p=r.getLineContent(d),f=h.lastIndexOf(n,u-1+n.length),g=p.indexOf(i,c-1-i.length);if(-1!==f&&-1!==g)if(l===d){h.substring(f+n.length,g).indexOf(i)>=0&&(f=-1,g=-1)}else{var m=h.substring(f+n.length),v=p.substring(0,g);(m.indexOf(i)>=0||v.indexOf(i)>=0)&&(f=-1,g=-1)}-1!==f&&-1!==g?(f+n.length0&&32===p.charCodeAt(g-1)&&(i=" "+i,g-=1), +a=e._createRemoveBlockCommentOperations(new o.Range(l,f+n.length+1,d,g+1),n,i)):(a=e._createAddBlockCommentOperations(t,n,i),this._usedEndToken=1===a.length?i:null);for(var _=0,y=a;_a?r-1:r}},e}();t.LineCommentCommand=u})),define(n[376],i([0,1,21,3]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t,n){this.selection=e,this.targetPosition=t,this.copy=n,this.targetSelection=null}return e.prototype.getEditOperations=function(e,t){var o=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new i.Range(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),o), +!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new n.Selection(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new n.Selection(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumbert&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,i.matchesPosition=!0,r=!0),this._matchesCount!==t&&(this._matchesCount=t,i.matchesCount=!0,r=!0),void 0!==n&&(o.Range.equalsRange(this._currentMatch,n)||(this._currentMatch=n,i.currentMatch=!0,r=!0)),r&&this._onFindReplaceStateChange.fire(i)},t.prototype.change=function(e,t,n){ +void 0===n&&(n=!0);var i={moveCursor:t,updateHistory:n,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},r=!1,s=this.isRegex,a=this.wholeWord,l=this.matchCase,u=this.preserveCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,i.searchString=!0,r=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,i.replaceString=!0,r=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,i.isRevealed=!0,r=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,i.isReplaceRevealed=!0,r=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase), +void 0!==e.preserveCase&&(this._preserveCase=e.preserveCase),void 0!==e.searchScope&&(o.Range.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,i.searchScope=!0,r=!0)),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,this._preserveCaseOverride=void 0!==e.preserveCaseOverride?e.preserveCaseOverride:0,s!==this.isRegex&&(r=!0,i.isRegex=!0),a!==this.wholeWord&&(r=!0,i.wholeWord=!0),l!==this.matchCase&&(r=!0,i.matchCase=!0),u!==this.preserveCase&&(r=!0,i.preserveCase=!0),r&&this._onFindReplaceStateChange.fire(i)},t}(i.Disposable);t.FindReplaceState=a})),define(n[378],i([0,1,3]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t,n){this._editorSelection=e,this._ranges=t,this._replaceStrings=n,this._trackedEditorSelectionId=null} +return e.prototype.getEditOperations=function(e,t){if(this._ranges.length>0){for(var i=[],o=0;o0;){if(e=i)break;if(36===(u=e.charCodeAt(n))){t.emitUnchanged(n-1),t.emitStatic("$",n+1);continue}if(48===u||38===u){t.emitUnchanged(n-1),t.emitMatchIndex(0,n+1);continue}if(49<=u&&u<=57){var s=u-48;if(n+1=i)break;var u;switch(u=e.charCodeAt(n)){case 92:t.emitUnchanged(n-1),t.emitStatic("\\",n+1);break;case 110:t.emitUnchanged(n-1),t.emitStatic("\n",n+1);break;case 116:t.emitUnchanged(n-1),t.emitStatic("\t",n+1)}}}return t.finalize()}})),define(n[150],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_FOLDING_REGIONS=65535,t.MAX_LINE_NUMBER=16777215;var n=function(){function e(e,n,i){ +if(e.length!==n.length||e.length>t.MAX_FOLDING_REGIONS)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=n,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=i,this._parentsComputed=!1}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var n=[],i=function(t,i){var o=n[n.length-1];return e.getStartLineNumber(o)<=t&&e.getEndLineNumber(o)>=i},o=0,r=this._startIndexes.length;ot.MAX_LINE_NUMBER||a>t.MAX_LINE_NUMBER)throw new Error("startLineNumber or endLineNumber must not exceed "+t.MAX_LINE_NUMBER);for(;n.length>0&&!i(s,a);)n.pop();var l=n.length>0?n[n.length-1]:-1;n.push(o),this._startIndexes[o]=s+((255&l)<<24),this._endIndexes[o]=a+((65280&l)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){ +return this._startIndexes[e]&t.MAX_LINE_NUMBER},e.prototype.getEndLineNumber=function(e){return this._endIndexes[e]&t.MAX_LINE_NUMBER},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){var t=e/32|0,n=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return n===t.MAX_FOLDING_REGIONS?-1:n},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,n=this._startIndexes.length;if(0===n)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}();t.FoldingRegion=i})),define(n[380],i([0,1,4,150]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){this._updateEventEmitter=new n.Emitter,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new i.FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}return Object.defineProperty(e.prototype,"regions",{get:function(){return this._regions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textModel",{get:function(){return this._textModel}, +enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInitialized",{get:function(){return this._isInitialized},enumerable:!0,configurable:!0}),e.prototype.toggleCollapseState=function(e){var t=this;if(e.length){var n={};this._decorationProvider.changeDecorations((function(i){for(var o=0,r=e;o=c))break;o(a,d===c),a++}}l=s()}for(;a0)return e}, +e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n=0;){var r=this._regions.toRegion(i);t&&!t(r,o)||n.push(r),o++,i=r.parentIndex}return n},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){var n=[],i=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length)for(var r=[],s=i,a=this._regions.length;s0&&!l.containedBy(r[r.length-1]);)r.pop();r.push(l),t(l,r.length)&&n.push(l) +}else for(s=i,a=this._regions.length;s1){var s=e.getRegionsInside(o,(function(e,n){return e.isCollapsed!==r&&n0)for(var r=0,s=i;r1)){var u=e.getRegionsInside(l,(function(e,i){return e.isCollapsed!==t&&i=0;s--)if(n!==o.isCollapsed(s)){var a=o.getStartLineNumber(s);t.test(i.getLineContent(a))&&r.push(o.toRegion(s))}e.toggleCollapseState(r)},t.setCollapseStateForType=function(e,t,n){for(var i=e.regions,o=[],r=i.length-1;r>=0;r--)n!==i.isCollapsed(r)&&t===i.getType(r)&&o.push(i.toRegion(r));e.toggleCollapseState(o)}})),define(n[381],i([0,1,4,3,19]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){var t=this;this._updateEventEmitter=new n.Emitter,this._foldingModel=e,this._foldingModelListener=e.onDidChange((function(e){ +return t.updateHiddenRanges()})),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],n=0,o=0,r=Number.MAX_VALUE,s=-1,a=this._foldingModel.regions;n0},e.prototype.isHidden=function(e){return null!==s(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,n=!1,i=this._foldingModel.textModel,o=null,r=function(e){return o&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,o)||(o=s(t._hiddenRanges,e)),o?o.startLineNumber-1:null},a=0,l=e.length;a0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function s(e,t){var n=o.findFirstInSorted(e,(function(e){return t=0&&e[n].endLineNumber>=t?e[n]:null}t.HiddenRangeModel=r})),define(n[193],i([0,1,10,150]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=5e3,r={};t.ID_SYNTAX_PROVIDER="syntax";var s=function(){function e(e,n,i){void 0===i&&(i=o),this.editorModel=e,this.providers=n,this.limit=i,this.id=t.ID_SYNTAX_PROVIDER}return e.prototype.compute=function(e){var t=this;return function(e,t,i){var o=null,s=e.map((function(e,s){return Promise.resolve(e.provideFoldingRanges(t,r,i)).then((function(e){if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(o)||(o=[]);for(var n=t.getLineCount(),r=0,a=e;r0&&l.end>l.start&&l.end<=n&&o.push({start:l.start,end:l.end,rank:s,kind:l.kind})}}}),n.onUnexpectedExternalError)}));return Promise.all(s).then((function(e){return o}))}(this.providers,this.editorModel,e).then((function(e){return e?l(e,t.limit):null}))},e.prototype.dispose=function(){},e}();t.SyntaxRangeProvider=s;var a=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,n,o){if(!(e>i.MAX_LINE_NUMBER||t>i.MAX_LINE_NUMBER)){var r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._nestingLevels[r]=o,this._types[r]=n,this._length++,o<30&&(this._nestingLevelCounts[o]=(this._nestingLevelCounts[o]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),n=0;nthis._foldingRangesLimit){r=n;break}o+=s}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var a=[],l=(n=0,0);no.start)if(u.end<=o.end)r.push(o),o=u,i.add(u.start,u.end,u.kind&&u.kind.value,r.length);else{if(u.start>o.end){do{o=r.pop()}while(o&&u.start>o.end);o&&r.push(o),o=u}i.add(u.start,u.end,u.kind&&u.kind.value,r.length)}}else o=u,i.add(u.start,u.end,u.kind&&u.kind.value,r.length)} +return i.toIndentRanges()}t.RangesCollector=a,t.sanitizeRanges=l})),define(n[382],i([0,1,193]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ID_INIT_PROVIDER="init";var i=function(){function e(e,n,i,o){if(this.editorModel=e,this.id=t.ID_INIT_PROVIDER,n.length){this.decorationIds=e.deltaDecorations([],n.map((function(t){return{range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:1}}}))),this.timeout=setTimeout(i,o)}}return e.prototype.dispose=function(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e.prototype.compute=function(e){var t=[];if(this.decorationIds)for(var i=0,o=this.decorationIds;i=r)return null;for(var s=[],a=i;a<=r;a++)s.push(e.getLineContent(a));var l=s.slice(0);return l.sort(o.getCollator().compare),!0===n&&(l=l.reverse()),{startLineNumber:i,endLineNumber:r,before:s,after:l}}t.SortLinesCommand=o})),define(n[198],i([0,1,13,3,75]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){}return e.prototype.provideSelectionRanges=function(t,n){return d(this,void 0,void 0,(function(){var i,o,r,s,a;return c(this,(function(l){switch(l.label){case 0:i=[],o=function(n){var o,r;return c(this,(function(s){switch(s.label){case 0:return o=[],i.push(o),r=new Map,[4,new Promise((function(i){return e._bracketsRightYield(i,0,t,n,r) +}))];case 1:return s.sent(),[4,new Promise((function(i){return e._bracketsLeftYield(i,0,t,n,r,o)}))];case 2:return s.sent(),[2]}}))},r=0,s=n,l.label=1;case 1:return r=e._maxRounds){t();break}if(!r){t();break}var u=i.findNextBracket(r);if(!u){t();break}if(Date.now()-l>e._maxDuration){setTimeout((function(){return e._bracketsRightYield(t,n+1,i,r,s)}));break}var d=u.close[0];if(u.isOpen){var c=a.has(d)?a.get(d):0;a.set(d,c+1)}else{c=a.has(d)?a.get(d):0;if(c-=1,a.set(d,Math.max(0,c)),c<0){var h=s.get(d);h||(h=new o.LinkedList,s.set(d,h)),h.push(u.range)}}r=u.range.getEndPosition()}},e._bracketsLeftYield=function(t,n,o,r,s,a){for(var l=new Map,u=Date.now();;){if(n>=e._maxRounds&&0===s.size){t();break}if(!r){t();break}var d=o.findPrevBracket(r);if(!d){t();break}if(Date.now()-u>e._maxDuration){setTimeout((function(){ +return e._bracketsLeftYield(t,n+1,o,r,s,a)}));break}var c=d.close[0];if(d.isOpen){m=l.has(c)?l.get(c):0;if(m-=1,l.set(c,Math.max(0,m)),m<0){var h=s.get(c);if(h){var p=h.shift();0===h.size&&s.delete(c);var f=i.Range.fromPositions(d.range.getEndPosition(),p.getStartPosition()),g=i.Range.fromPositions(d.range.getStartPosition(),p.getEndPosition());a.push({range:f}),a.push({range:g}),e._addBracketLeading(o,g,a)}}}else{var m=l.has(c)?l.get(c):0;l.set(c,m+1)}r=d.range.getStartPosition()}},e._addBracketLeading=function(e,t,o){if(t.startLineNumber!==t.endLineNumber){var r=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(r);0!==s&&s!==t.startColumn&&(o.push({range:i.Range.fromPositions(new n.Position(r,s),t.getEndPosition())}),o.push({range:i.Range.fromPositions(new n.Position(r,1),t.getEndPosition())}));var a=r-1;if(a>0){var l=e.getLineFirstNonWhitespaceColumn(a);l===t.startColumn&&l!==e.getLineLastNonWhitespaceColumn(a)&&(o.push({range:i.Range.fromPositions(new n.Position(a,l),t.getEndPosition())}),o.push({ +range:i.Range.fromPositions(new n.Position(a,1),t.getEndPosition())}))}}},e._maxDuration=30,e._maxRounds=2,e}();t.BracketSelectionRangeProvider=r})),define(n[387],i([0,1,3,5]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(){}return e.prototype.provideSelectionRanges=function(e,t){for(var n=[],i=0,o=t;i=0;u--){if(95===(h=s.charCodeAt(u))||45===h)break;if(i.isLowerAsciiLetter(h)&&i.isUpperAsciiLetter(c))break;c=h}for(u+=1;d0&&0===t.getLineFirstNonWhitespaceColumn(i.lineNumber)&&0===t.getLineLastNonWhitespaceColumn(i.lineNumber)&&e.push({range:new n.Range(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})},e}();t.WordSelectionRangeProvider=o}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t=48&&e<=57},e.isVariableCharacter=function(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90},e.prototype.text=function(e){this.value=e, +this.pos=0},e.prototype.tokenText=function(e){return this.value.substr(e.pos,e.len)},e.prototype.next=function(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};var t,n=this.pos,i=0,o=this.value.charCodeAt(n);if("number"==typeof(t=e._table[o]))return this.pos+=1,{type:t,pos:n,len:1};if(e.isDigitCharacter(o)){t=8;do{i+=1,o=this.value.charCodeAt(n+i)}while(e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}if(e.isVariableCharacter(o)){t=9;do{o=this.value.charCodeAt(n+ ++i)}while(e.isVariableCharacter(o)||e.isDigitCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}}t=10;do{i+=1,o=this.value.charCodeAt(n+i)}while(!isNaN(o)&&void 0===e._table[o]&&!e.isDigitCharacter(o)&&!e.isVariableCharacter(o));return this.pos+=i,{type:t,pos:n,len:i}},e._table=((n={})[36]=0,n[58]=1,n[44]=2,n[123]=3,n[125]=4,n[92]=5,n[47]=6,n[124]=7,n[43]=11,n[45]=12,n[63]=13,n),e}();t.Scanner=i;var o=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){ +return e instanceof s&&this._children[this._children.length-1]instanceof s?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var n=e.parent,i=n.children.indexOf(e),o=n.children.slice(0);o.splice.apply(o,a([i,1],t)),n._children=o,function e(t,n){for(var i=0,o=t;it.index?1:0},Object.defineProperty(t.prototype,"isFinalTabstop",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"choice",{get:function(){return 1===this._children.length&&this._children[0]instanceof d?this._children[0]:void 0},enumerable:!0,configurable:!0}),t.prototype.clone=function(){var e=new t(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((function(e){return e.clone()})),e},t}(l);t.Placeholder=u;var d=function(e){function t(){ +var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return r(t,e),t.prototype.appendChild=function(e){return e instanceof s&&(e.parent=this,this.options.push(e)),this},t.prototype.toString=function(){return this.options[0].value},t.prototype.len=function(){return this.options[0].len()},t.prototype.clone=function(){var e=new t;return this.options.forEach(e.appendChild,e),e},t}(o);t.Choice=d;var c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.regexp=new RegExp(""),t}return r(t,e),t.prototype.resolve=function(e){var t=this,n=!1,i=e.replace(this.regexp,(function(){return n=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))}));return!n&&this._children.some((function(e){return e instanceof h&&Boolean(e.elseValue)}))&&(i=this._replace([])),i},t.prototype._replace=function(e){for(var t="",n=0,i=this._children;n0;){var i=n.shift();if(!t(i))break;n.unshift.apply(n,i.children)}}t.Variable=p;var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"placeholderInfo",{get:function(){if(!this._placeholders){var e,t=[];this.walk((function(n){return n instanceof u&&(t.push(n),e=!e||e.index0?o.set(e.index,e.children):r.push(e)),!0}));for(var a=0,l=r;a0&&t),!o.has(0)&&n&&i.appendChild(new u(0)),i},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var n=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),n}return!1},e.prototype._backTo=function(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1},e.prototype._until=function(e){ +for(var t=this._token;this._token.type!==e;){if(14===this._token.type)return!1;if(5===this._token.type){var n=this._scanner.next();if(0!==n.type&&4!==n.type&&5!==n.type)return!1}this._token=this._scanner.next()}var i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i},e.prototype._parse=function(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)},e.prototype._parseEscaped=function(e){var t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new s(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,n=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new u(Number(t)):new p(t)),!0):this._backTo(n)},e.prototype._parseComplexPlaceholder=function(e){var t,n=this._token +;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(n);var i=new u(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new s("${"+t+":")),i.children.forEach(e.appendChild,e),!0}else{if(!(i.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(var o=new d;;){if(this._parseChoiceElement(o)){if(this._accept(2))continue;if(this._accept(7)&&(i.appendChild(o),this._accept(4)))return e.appendChild(i),!0}return this._backTo(n),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,n=[];2!==this._token.type&&7!==this._token.type;){var i=void 0;if(!(i=(i=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||i:this._accept(void 0,!0)))return this._backTo(t),!1;n.push(i)}return 0===n.length?(this._backTo(t),!1):(e.appendChild(new s(n.join(""))),!0)}, +e.prototype._parseComplexVariable=function(e){var t,n=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(n);var i=new p(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(i)?(e.appendChild(i),!0):(this._backTo(n),!1):this._accept(4)?(e.appendChild(i),!0):this._backTo(n);for(;;){if(this._accept(4))return e.appendChild(i),!0;if(!this._parse(i))return e.appendChild(new s("${"+t+":")),i.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new c,n="",i="";!this._accept(6);){var o=void 0;if(o=this._accept(5,!0))n+=o=this._accept(6,!0)||o;else{if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}}for(;!this._accept(6);){o=void 0;if(o=this._accept(5,!0))o=this._accept(5,!0)||this._accept(6,!0)||o,t.appendChild(new s(o));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;i+=this._accept(void 0,!0)}try{t.regexp=new RegExp(n,i)}catch(e){ +return!1}return e.transform=t,!0},e.prototype._parseFormatString=function(e){var t=this._token;if(!this._accept(0))return!1;var n=!1;this._accept(3)&&(n=!0);var i=this._accept(8,!0);if(!i)return this._backTo(t),!1;if(!n)return e.appendChild(new h(Number(i))),!0;if(this._accept(4))return e.appendChild(new h(Number(i))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var o=this._accept(9,!0);return o&&this._accept(4)?(e.appendChild(new h(Number(i),o)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(r=this._until(4))return e.appendChild(new h(Number(i),void 0,r,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new h(Number(i),void 0,void 0,s)),!0}else if(this._accept(13)){var r;if(r=this._until(1))if(s=this._until(4))return e.appendChild(new h(Number(i),void 0,r,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new h(Number(i),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){ +return 14!==this._token.type&&(e.appendChild(new s(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}();t.SnippetParser=m})),define(n[388],i([0,1,61,5]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e,t){this.leadingLineContent=e,this.characterCountDelta=t};t.LineContext=o;var r=function(){function e(t,n,i,o,r,s){this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=n,this._wordDistance=o,this._options=r,this._refilterKind=1,this._lineContext=i,"top"===s?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===s&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return Object.defineProperty(e.prototype,"lineContext",{get:function(){return this._lineContext},set:function(e){ +this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta2e3?n.fuzzyScore:n.fuzzyScoreGracefulAggressive,d=0;d=p)c.score=n.FuzzyScore.Default;else if("string"==typeof c.completion.filterText){if(!(m=u(r,s,f,c.completion.filterText,c.filterTextLow,0,!1)))continue +;0===i.compareIgnoreCase(c.completion.filterText,c.completion.label)?c.score=m:(c.score=n.anyScore(r,s,f,c.completion.label,c.labelLow,0),c.score[0]=m[0])}else{var m;if(!(m=u(r,s,f,c.completion.label,c.labelLow,0,!1)))continue;c.score=m}}switch(c.idx=d,c.distance=this._wordDistance.distance(c.position,c.completion),l.push(c),this._stats.suggestionCount++,c.completion.kind){case 25:this._stats.snippetCount++;break;case 18:this._stats.textCount++}}this._filteredItems=l.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,n){if(t.completion.kind!==n.completion.kind){if(25===t.completion.kind)return 1;if(25===n.completion.kind)return-1}return e._compareCompletionItems(t,n)},e._compareCompletionItemsSnippetsUp=function(t,n){if(t.completion.kind!==n.completion.kind){ +if(25===t.completion.kind)return-1;if(25===n.completion.kind)return 1}return e._compareCompletionItems(t,n)},e}();t.CompletionModel=r})),define(n[389],i([0,1,19,2,78]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n){var o=this;this._disposables=new i.DisposableStore,this._disposables.add(t.onDidShow((function(){return o._onItem(t.getFocusedItem())}))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType((function(i){if(o._active&&!t.isFrozen()){var r=i.charCodeAt(i.length-1);o._active.acceptCharacters.has(r)&&e.getOption(0)&&n(o._active.item)}})))}return e.prototype._onItem=function(e){if(e&&n.isNonEmptyArray(e.item.completion.commitCharacters)){if(!this._active||this._active.item.item!==e.item){for(var t=new o.CharacterSet,i=0,r=e.item.completion.commitCharacters;i0&&t.add(s.charCodeAt(0))}this._active={ +acceptCharacters:t,item:e}}}else this.reset()},e.prototype.reset=function(){this._active=void 0},e.prototype.dispose=function(){this._disposables.dispose()},e}();t.CommitCharacterController=r})),define(n[390],i([0,1,2,3,4,51]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e){var t=this;this._controller=e,this._disposables=new n.DisposableStore,this._decorations=[],this._disposables.add(e.model.onDidSuggest((function(e){if(!e.shy){var n=t._controller.widget.getValue(),i=n.getFocusedItem();i&&t._highlight(i.item),t._widgetListener||(t._widgetListener=n.onDidFocus((function(e){return t._highlight(e.item)})))}}))),this._disposables.add(e.model.onDidCancel((function(){t._reset()})))}return e.prototype.dispose=function(){this._reset(),this._disposables.dispose(),n.dispose(this._widgetListener),n.dispose(this._shiftKeyListener)},e.prototype._reset=function(){this._decorations=this._controller.editor.deltaDecorations(this._decorations,[]), +this._shiftKeyListener&&(this._shiftKeyListener.dispose(),this._shiftKeyListener=void 0)},e.prototype._highlight=function(e){var t,n=this;this._currentItem=e;var o=this._controller.editor.getOption(85),r=[];if(o.insertHighlight){this._shiftKeyListener||(this._shiftKeyListener=l.event((function(){return n._highlight(n._currentItem)})));var s=this._controller.getOverwriteInfo(e,l.isPressed),a=this._controller.editor.getPosition();if("insert"===o.insertMode&&s.overwriteAfter>0)r=[{range:new i.Range(a.lineNumber,a.column,a.lineNumber,a.column+s.overwriteAfter),options:{inlineClassName:"suggest-insert-unexpected"}}];else if("replace"===o.insertMode&&0===s.overwriteAfter){var u=null===(t=this._controller.editor.getModel())||void 0===t?void 0:t.getWordAtPosition(a);u&&u.endColumn>a.column&&(r=[{range:new i.Range(a.lineNumber,a.column,a.lineNumber,u.endColumn),options:{inlineClassName:"suggest-insert-unexpected"}}])}}this._decorations=this._controller.editor.deltaDecorations(this._decorations,r)},e}() +;t.SuggestRangeHighlighter=a;var l=new(function(e){function t(){var t=e.call(this)||this;return t._subscriptions=new n.DisposableStore,t._isPressed=!1,t._subscriptions.add(s.domEvent(document.body,"keydown")((function(e){return t.isPressed=e.shiftKey}))),t._subscriptions.add(s.domEvent(document.body,"keyup")((function(){return t.isPressed=!1}))),t._subscriptions.add(s.domEvent(document.body,"mouseleave")((function(){return t.isPressed=!1}))),t._subscriptions.add(s.domEvent(document.body,"blur")((function(){return t.isPressed=!1}))),t}return r(t,e),Object.defineProperty(t.prototype,"isPressed",{get:function(){return this._isPressed},set:function(e){this._isPressed!==e&&(this._isPressed=e,this.fire(e))},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){this._subscriptions.dispose(),e.prototype.dispose.call(this)},t}(o.Emitter))})),define(n[391],i([0,1,19,3,198]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(){} +return e.create=function(t,s){return d(this,void 0,void 0,(function(){var a,l,u,d;return c(this,(function(c){switch(c.label){case 0:return s.getOption(85).localityBonus&&s.hasModel()?(a=s.getModel(),l=s.getPosition(),t.canComputeWordRanges(a.uri)?[4,(new o.BracketSelectionRangeProvider).provideSelectionRanges(a,[l])]:[2,e.None]):[2,e.None];case 1:return(u=c.sent())&&0!==u.length&&0!==u[0].length?[4,t.computeWordRanges(a.uri,u[0][0].range)]:[2,e.None];case 2:return d=c.sent(),[2,new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.distance=function(e,t){if(!d||!l.equals(s.getPosition()))return 0;if(17===t.kind)return 2<<20;var o=t.label,r=d[o];if(n.isFalsyOrEmpty(r))return 2<<20;for(var a=n.binarySearch(r,i.Range.fromPositions(e),i.Range.compareRangesUsingStarts),c=a>=0?r[a]:r[Math.max(0,~a-1)],h=u.length,p=0,f=u[0];p'"_]/g,"-")},t.log=function(e,t){console.log(e.languageId+": "+t)},t.createError=function(e,t){return new Error(e.languageId+": "+t)},t.substituteMatches=function(e,t,n,i,s){var a=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,l,u,d,c,h,p,f,g){return o(u)?o(d)?!o(c)&&c0;){var i=e.tokenizer[n];if(i)return i;var o=n.lastIndexOf(".");n=o<0?null:n.substr(0,o)}return null},t.stateExists=function(e,t){for(var n=t;n&&n.length>0;){if(e.stateNames[n])return!0;var i=n.lastIndexOf(".");n=i<0?null:n.substr(0,i)}return!1}})),define(n[392],i([0,1,199]),(function(e,t,n){"use strict";function i(e,t){return"boolean"==typeof e?e:t}function o(e,t){return"string"==typeof e?e:t}function r(e,t){void 0===t&&(t=!1),t&&(e=e.map((function(e){return e.toLowerCase()})));var n=function(e){for(var t={},n=0,i=e;n=0&&i<5;)i++,t=t.replace(/@(\w+)/g,(function(i,o){var r="";if("string"==typeof e[o])r=e[o];else{ +if(!(e[o]&&e[o]instanceof RegExp))throw void 0===e[o]?n.createError(e,"language definition does not contain attribute '"+o+"', used at: "+t):n.createError(e,"attribute reference '"+o+"' must be a string, used at: "+t);r=e[o].source}return n.empty(r)?"":"(?:"+r+")"}));return new RegExp(t,e.ignoreCase?"i":"")}function a(e,t,i,o){var a=-1,l=i,u=i.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);u&&(u[3]&&(a=parseInt(u[3]),u[2]&&(a+=100)),l=u[4]);var d,c="~",h=l;if(l&&0!==l.length?/^\w*$/.test(h)?c="==":(u=l.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(c=u[1],h=u[2]):(c="!=",h=""),"~"!==c&&"!~"!==c||!/^(\w|\|)*$/.test(h))if("@"===c||"!@"===c){var p=e[h];if(!p)throw n.createError(e,"the @ match target '"+h+"' is not defined, in rule: "+t);if(!function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(var n=0,i=t;n=100){i-=100;var o=n.split(".");if(o.unshift(n),i0&&"^"===i[0],this.name=this.name+": "+i,this.regex=s(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")")},e.prototype.setAction=function(e,t){this.action=function e(t,i,o){if(o){if("string"==typeof o)return o;if(o.token||""===o.token){if("string"!=typeof o.token)throw n.createError(t,"a 'token' attribute must be of type string, in rule: "+i);var r={token:o.token};if(o.token.indexOf("$")>=0&&(r.tokenSubst=!0),"string"==typeof o.bracket)if("@open"===o.bracket)r.bracket=1;else{if("@close"!==o.bracket)throw n.createError(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+i);r.bracket=-1}if(o.next){if("string"!=typeof o.next)throw n.createError(t,"the next state must be a string value in rule: "+i);var s=o.next +;if(!/^(@pop|@push|@popall)$/.test(s)&&("@"===s[0]&&(s=s.substr(1)),s.indexOf("$")<0&&!n.stateExists(t,n.substituteMatches(t,s,"",[],""))))throw n.createError(t,"the next state '"+o.next+"' is not defined in rule: "+i);r.next=s}return"number"==typeof o.goBack&&(r.goBack=o.goBack),"string"==typeof o.switchTo&&(r.switchTo=o.switchTo),"string"==typeof o.log&&(r.log=o.log),"string"==typeof o.nextEmbedded&&(r.nextEmbedded=o.nextEmbedded,t.usesEmbedded=!0),r}if(Array.isArray(o)){for(var l=[],u=0,d=o.length;u=1&&h.length<=3)if(f.setRegex(s,h[0]),h.length>=3)if("string"==typeof h[1])f.setAction(s,{token:h[1],next:h[2] +});else{if("object"!=typeof h[1])throw n.createError(r,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);var g=h[1];g.next=h[2],f.setAction(s,g)}else f.setAction(s,h[1]);else{if(!h.regex)throw n.createError(r,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);h.name&&"string"==typeof h.name&&(f.name=h.name),h.matchOnlyAtStart&&(f.matchOnlyAtLineStart=i(h.matchOnlyAtLineStart,!1)),f.setRegex(s,h.regex),f.setAction(s,h.action)}o.push(f)}}}if(s.languageId=e,s.ignoreCase=r.ignoreCase,s.noThrow=r.noThrow,s.usesEmbedded=r.usesEmbedded,s.stateNames=t.tokenizer,s.defaultToken=r.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw n.createError(r,"a language definition must define the 'tokenizer' attribute as an object");for(var u in r.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(u)){r.start||(r.start=u);var d=t.tokenizer[u];r.tokenizer[u]=new Array,a("tokenizer."+u,r.tokenizer[u],d)} +if(r.usesEmbedded=s.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw n.createError(r,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];for(var c=[],h=0,p=t.brackets;h=n.actionsList.children.length?(n.actionsList.appendChild(r),n.viewItems.push(i)):(n.actionsList.insertBefore(r,n.actionsList.children[o]),n.viewItems.splice(o,0,i),o++)}))},t.prototype.clear=function(){this.viewItems=o.dispose(this.viewItems),a.clearNode(this.actionsList)},t.prototype.isEmpty=function(){return 0===this.viewItems.length},t.prototype.focus=function(e){var t=!1,n=void 0;void 0===e?t=!0:"number"==typeof e?n=e:"boolean"==typeof e&&(t=e),t&&void 0===this.focusedItem?(this.focusedItem=this.viewItems.length-1,this.focusNext()):(void 0!==n&&(this.focusedItem=n),this.updateFocus())},t.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.viewItems.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled()) +;this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},t.prototype.focusPrevious=function(){void 0===this.focusedItem&&(this.focusedItem=0);var e,t=this.focusedItem;do{this.focusedItem=this.focusedItem-1,this.focusedItem<0&&(this.focusedItem=this.viewItems.length-1),e=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},t.prototype.updateFocus=function(e,t){void 0===this.focusedItem&&this.actionsList.focus({preventScroll:t});for(var n=0;n=0){var n=-1;e.equals(17)?n=(t+1)%_.length:e.equals(15)&&(n=0===t?_.length-1:t-1),e.equals(9)?_[t].blur():n>=0&&_[n].focus(),i.EventHelper.stop(e,!0)}}}));var y=document.createElement("div");return y.className="controls",y.style.display=d._showOptionButtons?"block":"none",y.appendChild(d.caseSensitive.domNode),y.appendChild(d.wholeWords.domNode),y.appendChild(d.regex.domNode),d.domNode.appendChild(y), +t&&t.appendChild(d.domNode),d.onkeydown(d.inputBox.inputElement,(function(e){return d._onKeyDown.fire(e)})),d.onkeyup(d.inputBox.inputElement,(function(e){return d._onKeyUp.fire(e)})),d.oninput(d.inputBox.inputElement,(function(e){return d._onInput.fire()})),d.onmousedown(d.inputBox.inputElement,(function(e){return d._onMouseDown.fire(e)})),d}return r(t,e),t.prototype.enable=function(){i.removeClass(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){i.addClass(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setFocusInputOnOptionClick=function(e){this.fixFocusOnOptionClickEnabled=e},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},t.prototype.getValue=function(){return this.inputBox.value},t.prototype.setValue=function(e){this.inputBox.value!==e&&(this.inputBox.value=e)},t.prototype.style=function(e){ +this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionBackground:this.inputActiveOptionBackground} +;this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getCaseSensitive=function(){return this.caseSensitive.checked},t.prototype.setCaseSensitive=function(e){ +this.caseSensitive.checked=e},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){i.removeClass(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,i.addClass(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.validate=function(){this.inputBox.validate()},t.prototype.clearMessage=function(){this.inputBox.hideMessage()},t}(s.Widget);t.FindInput=d})),define(n[400],i([0,1,397,8,152,46,4,135,182]),(function(e,t,n,i,o,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=n.localize(0,null),d=n.localize(1,null),c=function(e){function t(t){return e.call(this,{ +actionClassName:"codicon-preserve-case",title:d+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionBackground:t.inputActiveOptionBackground})||this}return r(t,e),t}(l.Checkbox);t.PreserveCaseCheckbox=c;var h=function(e){function t(t,n,r,s){var l=e.call(this)||this;l._showOptionButtons=r,l.fixFocusOnOptionClickEnabled=!0,l.cachedOptionsWidth=0,l._onDidOptionChange=l._register(new a.Emitter),l.onDidOptionChange=l._onDidOptionChange.event,l._onKeyDown=l._register(new a.Emitter),l.onKeyDown=l._onKeyDown.event,l._onMouseDown=l._register(new a.Emitter),l._onInput=l._register(new a.Emitter),l._onKeyUp=l._register(new a.Emitter),l._onPreserveCaseKeyDown=l._register(new a.Emitter),l.onPreserveCaseKeyDown=l._onPreserveCaseKeyDown.event,l.contextViewProvider=n,l.placeholder=s.placeholder||"",l.validation=s.validation,l.label=s.label||u,l.inputActiveOptionBorder=s.inputActiveOptionBorder,l.inputActiveOptionBackground=s.inputActiveOptionBackground, +l.inputBackground=s.inputBackground,l.inputForeground=s.inputForeground,l.inputBorder=s.inputBorder,l.inputValidationInfoBorder=s.inputValidationInfoBorder,l.inputValidationInfoBackground=s.inputValidationInfoBackground,l.inputValidationInfoForeground=s.inputValidationInfoForeground,l.inputValidationWarningBorder=s.inputValidationWarningBorder,l.inputValidationWarningBackground=s.inputValidationWarningBackground,l.inputValidationWarningForeground=s.inputValidationWarningForeground,l.inputValidationErrorBorder=s.inputValidationErrorBorder,l.inputValidationErrorBackground=s.inputValidationErrorBackground,l.inputValidationErrorForeground=s.inputValidationErrorForeground;var d=s.history||[],h=!!s.flexibleHeight,p=!!s.flexibleWidth,f=s.flexibleMaxHeight;l.domNode=document.createElement("div"),i.addClass(l.domNode,"monaco-findInput"),l.inputBox=l._register(new o.HistoryInputBox(l.domNode,l.contextViewProvider,{ariaLabel:l.label||"",placeholder:l.placeholder||"",validationOptions:{validation:l.validation}, +inputBackground:l.inputBackground,inputForeground:l.inputForeground,inputBorder:l.inputBorder,inputValidationInfoBackground:l.inputValidationInfoBackground,inputValidationInfoForeground:l.inputValidationInfoForeground,inputValidationInfoBorder:l.inputValidationInfoBorder,inputValidationWarningBackground:l.inputValidationWarningBackground,inputValidationWarningForeground:l.inputValidationWarningForeground,inputValidationWarningBorder:l.inputValidationWarningBorder,inputValidationErrorBackground:l.inputValidationErrorBackground,inputValidationErrorForeground:l.inputValidationErrorForeground,inputValidationErrorBorder:l.inputValidationErrorBorder,history:d,flexibleHeight:h,flexibleWidth:p,flexibleMaxHeight:f})),l.preserveCase=l._register(new c({appendTitle:"",isChecked:!1,inputActiveOptionBorder:l.inputActiveOptionBorder,inputActiveOptionBackground:l.inputActiveOptionBackground})),l._register(l.preserveCase.onChange((function(e){l._onDidOptionChange.fire(e),!e&&l.fixFocusOnOptionClickEnabled&&l.inputBox.focus(), +l.validate()}))),l._register(l.preserveCase.onKeyDown((function(e){l._onPreserveCaseKeyDown.fire(e)}))),l._showOptionButtons?l.cachedOptionsWidth=l.preserveCase.width():l.cachedOptionsWidth=0;var g=[l.preserveCase.domNode];l.onkeydown(l.domNode,(function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=g.indexOf(document.activeElement);if(t>=0){var n=-1;e.equals(17)?n=(t+1)%g.length:e.equals(15)&&(n=0===t?g.length-1:t-1),e.equals(9)?g[t].blur():n>=0&&g[n].focus(),i.EventHelper.stop(e,!0)}}}));var m=document.createElement("div");return m.className="controls",m.style.display=l._showOptionButtons?"block":"none",m.appendChild(l.preserveCase.domNode),l.domNode.appendChild(m),t&&t.appendChild(l.domNode),l.onkeydown(l.inputBox.inputElement,(function(e){return l._onKeyDown.fire(e)})),l.onkeyup(l.inputBox.inputElement,(function(e){return l._onKeyUp.fire(e)})),l.oninput(l.inputBox.inputElement,(function(e){return l._onInput.fire()})),l.onmousedown(l.inputBox.inputElement,(function(e){return l._onMouseDown.fire(e) +})),l}return r(t,e),t.prototype.enable=function(){i.removeClass(this.domNode,"disabled"),this.inputBox.enable(),this.preserveCase.enable()},t.prototype.disable=function(){i.addClass(this.domNode,"disabled"),this.inputBox.disable(),this.preserveCase.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},t.prototype.style=function(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputActiveOptionBackground=e.inputActiveOptionBackground,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoForeground=e.inputValidationInfoForeground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningForeground=e.inputValidationWarningForeground,this.inputValidationWarningBorder=e.inputValidationWarningBorder, +this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorForeground=e.inputValidationErrorForeground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder,inputActiveOptionBackground:this.inputActiveOptionBackground};this.preserveCase.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoForeground:this.inputValidationInfoForeground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningForeground:this.inputValidationWarningForeground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground, +inputValidationErrorForeground:this.inputValidationErrorForeground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getPreserveCase=function(){return this.preserveCase.checked},t.prototype.setPreserveCase=function(e){this.preserveCase.checked=e},t.prototype.focusOnPreserve=function(){this.preserveCase.focus()},t.prototype.validate=function(){this.inputBox&&this.inputBox.validate()},Object.defineProperty(t.prototype,"width",{set:function(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.inputBox.width=e,this.domNode.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(s.Widget);t.ReplaceInput=h})),define(n[401],i([6,7]),(function(e,t){return e.create("vs/base/browser/ui/keybindingLabel/keybindingLabel",t)})),define(n[402],i([6,7]),(function(e,t){ +return e.create("vs/base/browser/ui/list/listWidget",t)}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t=0){var o=this.renderedElements[i];this.trait.unrender(n),o.index=t}else{o={index:t,templateData:n};this.renderedElements.push(o)}this.trait.renderIndex(t,n)}, +e.prototype.splice=function(e,t,n){for(var i=[],o=0,r=this.renderedElements;o=e+t&&i.push({index:s.index+n-t,templateData:s.templateData})}this.renderedElements=i},e.prototype.renderIndexes=function(e){for(var t=0,n=this.renderedElements;t-1&&this.trait.renderIndex(o,r)}},e.prototype.disposeTemplate=function(e){var t=s.firstIndex(this.renderedElements,(function(t){return t.templateData===e}));t<0||this.renderedElements.splice(t,1)},e}(),L=function(){function e(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new g.Emitter,this.onChange=this._onChange.event}return Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new E(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){ +var i=n.length-t,o=e+t,r=a(this.sortedIndexes.filter((function(t){return t=o})).map((function(e){return e+i})));this.renderer.splice(e,t,n.length),this._set(r,r)},e.prototype.renderIndex=function(e,t){d.toggleClass(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){d.removeClass(e,this._trait)},e.prototype.set=function(e,t){return this._set(e,a(e).sort(K),t)},e.prototype._set=function(e,t,n){var i=this.indexes,o=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;var r=H(o,e);return this.renderer.renderIndexes(r),this._onChange.fire({indexes:e,browserEvent:n}),i},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return s.binarySearch(this.sortedIndexes,e,K)>=0},e.prototype.dispose=function(){i.dispose(this._onChange)},h([u.memoize],e.prototype,"renderer",null),e}(),D=function(e){function t(){return e.call(this,"focused")||this} +return r(t,e),t.prototype.renderIndex=function(t,n){e.prototype.renderIndex.call(this,t,n),this.contains(t)?n.setAttribute("aria-selected","true"):n.removeAttribute("aria-selected")},t}(L),N=function(){function e(e,t,n){this.trait=e,this.view=t,this.identityProvider=n}return e.prototype.splice=function(e,t,n){var i=this;if(!this.identityProvider)return this.trait.splice(e,t,n.map((function(){return!1})));var o=this.trait.get().map((function(e){return i.identityProvider.getId(i.view.element(e)).toString()})),r=n.map((function(e){return o.indexOf(i.identityProvider.getId(e).toString())>-1}));this.trait.splice(e,t,r)},e}();function x(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var I,M=function(){function e(e,t,n){this.list=e,this.view=t,this.disposables=new i.DisposableStore;var o=!1!==n.multipleSelectionSupport;this.openController=n.openController||F;var r=g.Event.chain(m.domEvent(t.domNode,"keydown")).filter((function(e){return!x(e.target)})).map((function(e){return new f.StandardKeyboardEvent(e)})) +;r.filter((function(e){return 3===e.keyCode})).on(this.onEnter,this,this.disposables),r.filter((function(e){return 16===e.keyCode})).on(this.onUpArrow,this,this.disposables),r.filter((function(e){return 18===e.keyCode})).on(this.onDownArrow,this,this.disposables),r.filter((function(e){return 11===e.keyCode})).on(this.onPageUpArrow,this,this.disposables),r.filter((function(e){return 12===e.keyCode})).on(this.onPageDownArrow,this,this.disposables),r.filter((function(e){return 9===e.keyCode})).on(this.onEscape,this,this.disposables),o&&r.filter((function(e){return(c.isMacintosh?e.metaKey:e.ctrlKey)&&31===e.keyCode})).on(this.onCtrlA,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent),this.openController.shouldOpen(e.browserEvent)&&this.list.open(this.list.getFocus(),e.browserEvent)},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent), +this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(s.range(this.list.length),e.browserEvent),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables.dispose()},e}();!function(e){ +e[e.Idle=0]="Idle",e[e.Typing=1]="Typing"}(I||(I={})),t.DefaultKeyboardNavigationDelegate=new(function(){function e(){}return e.prototype.mightProducePrintableCharacter=function(e){return!(e.ctrlKey||e.metaKey||e.altKey)&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30||e.keyCode>=93&&e.keyCode<=102||e.keyCode>=80&&e.keyCode<=90)},e}());var k=function(){function e(e,t,n,o){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=n,this.delegate=o,this.enabled=!1,this.state=I.Idle,this.automaticKeyboardNavigation=!0,this.triggered=!1,this.enabledDisposables=new i.DisposableStore,this.disposables=new i.DisposableStore,this.updateOptions(e.options)}return e.prototype.updateOptions=function(e){void 0===e.enableKeyboardNavigation||!!e.enableKeyboardNavigation?this.enable():this.disable(),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation)},e.prototype.enable=function(){var e=this;if(!this.enabled){ +var t=g.Event.chain(m.domEvent(this.view.domNode,"keydown")).filter((function(e){return!x(e.target)})).filter((function(){return e.automaticKeyboardNavigation||e.triggered})).map((function(e){return new f.StandardKeyboardEvent(e)})).filter((function(t){return e.delegate.mightProducePrintableCharacter(t)})).forEach((function(e){e.stopPropagation(),e.preventDefault()})).map((function(e){return e.browserEvent.key})).event,n=g.Event.debounce(t,(function(){return null}),800);g.Event.reduce(g.Event.any(t,n),(function(e,t){return null===t?null:(e||"")+t}))(this.onInput,this,this.enabledDisposables),this.enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)},e.prototype.onInput=function(e){if(!e)return this.state=I.Idle,void(this.triggered=!1);var t=this.list.getFocus(),n=t.length>0?t[0]:0,i=this.state===I.Idle?1:0;this.state=I.Typing;for(var o=0;o=0&&e[o]===t-(n-o);)i.push(e[o--]);i.reverse(),o=n;for(;o=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){i++,o++;continue}e[i]=e.length)n.push(t[o++]);else if(o>=t.length)n.push(e[i++]);else{if(e[i]===t[o]){n.push(e[i]),i++,o++;continue}e[i]-1?t:[e]},e.prototype.getDragURI=function(e){return this.dnd.getDragURI(e)},e.prototype.getDragLabel=function(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)},e.prototype.onDragStart=function(e,t){this.dnd.onDragStart&&this.dnd.onDragStart(e,t)},e.prototype.onDragOver=function(e,t,n,i){return this.dnd.onDragOver(e,t,n,i)}, +e.prototype.onDragEnd=function(e){this.dnd.onDragEnd&&this.dnd.onDragEnd(e)},e.prototype.drop=function(e,t,n,i){this.dnd.drop(e,t,n,i)},e}(),G=function(){function e(e,o,r,s,u){void 0===u&&(u=z),this.user=e,this._options=u,this.eventBufferer=new g.EventBufferer,this.disposables=new i.DisposableStore,this._onDidOpen=new g.Emitter,this.onDidOpen=this._onDidOpen.event,this._onDidPin=new g.Emitter,this.didJustPressContextMenuKey=!1,this._onDidDispose=new g.Emitter,this.onDidDispose=this._onDidDispose.event,this.focus=new D,this.selection=new L("selected"),C.mixin(u,B,!1);var c=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=u.accessibilityProvider,this.accessibilityProvider&&(c.push(new j(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant&&this.accessibilityProvider.onDidChangeActiveDescendant(this.onDidChangeActiveDescendant,this,this.disposables)),s=s.map((function(e){return new U(e.templateId,a(c,[e]))}));var h=l(l({},u),{dnd:u.dnd&&new q(this,u.dnd)}) +;if(this.view=new _.ListView(o,r,s,h),"string"!=typeof u.ariaRole?this.view.domNode.setAttribute("role",v.ListAriaRootRole.TREE):this.view.domNode.setAttribute("role",u.ariaRole),u.styleController)this.styleController=u.styleController(this.view.domId);else{var p=d.createStyleSheet(this.view.domNode);this.styleController=new V(p,this.view.domId)}if(this.spliceable=new b.CombinedSpliceable([new N(this.focus,this.view,u.identityProvider),new N(this.selection,this.view,u.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.onDidFocus=g.Event.map(m.domEvent(this.view.domNode,"focus",!0),(function(){return null})),this.onDidBlur=g.Event.map(m.domEvent(this.view.domNode,"blur",!0),(function(){return null})),this.disposables.add(new T(this,this.view)),"boolean"!=typeof u.keyboardSupport||u.keyboardSupport){var f=new M(this,this.view,u);this.disposables.add(f)} +if(u.keyboardNavigationLabelProvider){var y=u.keyboardNavigationDelegate||t.DefaultKeyboardNavigationDelegate;this.typeLabelController=new k(this,this.view,u.keyboardNavigationLabelProvider,y),this.disposables.add(this.typeLabelController)}this.disposables.add(this.createMouseController(u)),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),u.ariaLabel&&this.view.domNode.setAttribute("aria-label",n.localize(0,null,u.ariaLabel))}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return g.Event.map(this.eventBufferer.wrapEvent(this.focus.onChange),(function(t){return e.toListEvent(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){var e=this;return g.Event.map(this.eventBufferer.wrapEvent(this.selection.onChange),(function(t){return e.toListEvent(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"domId",{get:function(){ +return this.view.domId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseClick",{get:function(){return this.view.onMouseClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){return this.view.onMouseDblClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseMiddleClick",{get:function(){return this.view.onMouseMiddleClick},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){return this.view.onMouseDown},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){return this.view.onTouchStart},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){return this.view.onTap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=g.Event.chain(m.domEvent(this.view.domNode,"keydown")).map((function(e){return new f.StandardKeyboardEvent(e) +})).filter((function(t){return e.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode})).filter((function(e){return e.preventDefault(),e.stopPropagation(),!1})).event,n=g.Event.chain(m.domEvent(this.view.domNode,"keyup")).filter((function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t})).filter((function(){return e.getFocus().length>0&&!!e.view.domElement(e.getFocus()[0])})).map((function(t){var n=e.getFocus()[0];return{index:n,element:e.view.element(n),anchor:e.view.domElement(n),browserEvent:t}})).event,i=g.Event.chain(this.view.onContextMenu).filter((function(){return!e.didJustPressContextMenuKey})).map((function(e){var t=e.element,n=e.index,i=e.browserEvent;return{element:t,index:n,anchor:{x:i.clientX+1,y:i.clientY},browserEvent:i}})).event;return g.Event.any(t,n,i)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onKeyDown",{get:function(){return m.domEvent(this.view.domNode,"keydown")},enumerable:!0,configurable:!0}), +e.prototype.createMouseController=function(e){return new W(this)},e.prototype.updateOptions=function(e){void 0===e&&(e={}),this._options=l(l({},this._options),e),this.typeLabelController&&this.typeLabelController.updateOptions(this._options)},Object.defineProperty(e.prototype,"options",{get:function(){return this._options},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,n){var i=this;if(void 0===n&&(n=[]),e<0||e>this.view.length)throw new v.ListError(this.user,"Invalid start index: "+e);if(t<0)throw new v.ListError(this.user,"Invalid delete count: "+t);0===t&&0===n.length||this.eventBufferer.bufferEvents((function(){return i.spliceable.splice(e,t,n)}))},e.prototype.rerender=function(){this.view.rerender()},e.prototype.element=function(e){return this.view.element(e)},Object.defineProperty(e.prototype,"length",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.view.contentHeight},enumerable:!0, +configurable:!0}),Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.view.getScrollTop()},set:function(e){this.view.setScrollTop(e)},enumerable:!0,configurable:!0}),e.prototype.domFocus=function(){this.view.domNode.focus()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.setSelection=function(e,t){for(var n=0,i=e;n=this.length)throw new v.ListError(this.user,"Invalid index "+o)}this.selection.set(e,t)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.getSelectedElements=function(){var e=this;return this.getSelection().map((function(t){return e.view.element(t)}))},e.prototype.setFocus=function(e,t){for(var n=0,i=e;n=this.length)throw new v.ListError(this.user,"Invalid index "+o)}this.focus.set(e,t)},e.prototype.focusNext=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),r=this.findNextIndex(o.length>0?o[0]+e:0,t,i) +;r>-1&&this.setFocus([r],n)}},e.prototype.focusPrevious=function(e,t,n,i){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),r=this.findPreviousIndex(o.length>0?o[0]-e:0,t,i);r>-1&&this.setFocus([r],n)}},e.prototype.focusNextPage=function(e,t){var n=this,i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=0===i?0:i-1;var o=this.view.element(i),r=this.getFocusedElements()[0];if(r!==o){var s=this.findPreviousIndex(i,!1,t);s>-1&&r!==this.view.element(s)?this.setFocus([s],e):this.setFocus([i],e)}else{var a=this.view.getScrollTop();this.view.setScrollTop(a+this.view.renderHeight-this.view.elementHeight(i)),this.view.getScrollTop()!==a&&setTimeout((function(){return n.focusNextPage(e,t)}),0)}},e.prototype.focusPreviousPage=function(e,t){var n,i=this,o=this.view.getScrollTop();n=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);var r=this.view.element(n),s=this.getFocusedElements()[0];if(s!==r){var a=this.findNextIndex(n,!1,t) +;a>-1&&s!==this.view.element(a)?this.setFocus([a],e):this.setFocus([n],e)}else{var l=o;this.view.setScrollTop(o-this.view.renderHeight),this.view.getScrollTop()!==l&&setTimeout((function(){return i.focusPreviousPage(e,t)}),0)}},e.prototype.focusLast=function(e,t){if(0!==this.length){var n=this.findPreviousIndex(this.length-1,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.focusFirst=function(e,t){if(0!==this.length){var n=this.findNextIndex(0,!1,t);n>-1&&this.setFocus([n],e)}},e.prototype.findNextIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length&&!t)return-1;if(e%=this.length,!n||n(this.element(e)))return e;e++}return-1},e.prototype.findPreviousIndex=function(e,t,n){void 0===t&&(t=!1);for(var i=0;i=this.length)throw new v.ListError(this.user,"Invalid index "+e);var n=this.view.getScrollTop(),i=this.view.elementTop(e),r=this.view.elementHeight(e);if(o.isNumber(t)){var s=r-this.view.renderHeight;this.view.setScrollTop(s*S.clamp(t,0,1)+i)}else{var a=i+r,l=n+this.view.renderHeight;i=l||(i=l&&this.view.setScrollTop(a-this.view.renderHeight))}},e.prototype.getRelativeTop=function(e){if(e<0||e>=this.length)throw new v.ListError(this.user,"Invalid index "+e);var t=this.view.getScrollTop(),n=this.view.elementTop(e),i=this.view.elementHeight(e);if(nt+this.view.renderHeight)return null;var o=i-this.view.renderHeight;return Math.abs((t-n)/o)},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var n=this,i=0,o=e;i=this.length)throw new v.ListError(this.user,"Invalid index "+r)} +this._onDidOpen.fire({indexes:e,elements:e.map((function(e){return n.view.element(e)})),browserEvent:t})},e.prototype.pin=function(e,t){for(var n=this,i=0,o=e;i=this.length)throw new v.ListError(this.user,"Invalid index "+r)}this._onDidPin.fire({indexes:e,elements:e.map((function(e){return n.view.element(e)})),browserEvent:t})},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,n=e.indexes,i=e.browserEvent;return{indexes:n,elements:n.map((function(e){return t.view.element(e)})),browserEvent:i}},e.prototype._onFocusChange=function(){var e=this.focus.get();d.toggleClass(this.view.domNode,"element-focused",e.length>0),this.onDidChangeActiveDescendant()},e.prototype.onDidChangeActiveDescendant=function(){var e,t=this.focus.get();if(t.length>0){var n=void 0;(null===(e=this.accessibilityProvider)||void 0===e?void 0:e.getActiveDescendantId)&&(n=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))), +this.view.domNode.setAttribute("aria-activedescendant",n||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")},e.prototype._onSelectionChange=function(){var e=this.selection.get();d.toggleClass(this.view.domNode,"selection-none",0===e.length),d.toggleClass(this.view.domNode,"selection-single",1===e.length),d.toggleClass(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidOpen.dispose(),this._onDidPin.dispose(),this._onDidDispose.dispose()},h([u.memoize],e.prototype,"onFocusChange",null),h([u.memoize],e.prototype,"onSelectionChange",null),h([u.memoize],e.prototype,"onContextMenu",null),e}();t.List=G})),define(n[403],i([6,7]),(function(e,t){return e.create("vs/base/browser/ui/menu/menu",t)}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t1){var i=n.shift();i&&i.container&&(o.focusItemByElement(i.container),n.push(i)),o.mnemonics.set(t,n)}}}))),p.isLinux&&o._register(l.addDisposableListener(r,l.EventType.KEY_DOWN,(function(e){var t=new u.StandardKeyboardEvent(e);t.equals(14)||t.equals(11)?(o.focusedItem=o.viewItems.length-1,o.focusNext(),l.EventHelper.stop(e,!0)):(t.equals(13)||t.equals(12))&&(o.focusedItem=0, +o.focusPrevious(),l.EventHelper.stop(e,!0))}))),o._register(l.addDisposableListener(o.domNode,l.EventType.MOUSE_OUT,(function(e){var t=e.relatedTarget;l.isAncestor(t,o.domNode)||(o.focusedItem=void 0,o.updateFocus(),e.stopPropagation())}))),o._register(l.addDisposableListener(o.actionsList,l.EventType.MOUSE_OVER,(function(e){var t=e.target;if(t&&l.isAncestor(t,o.actionsList)&&t!==o.actionsList){for(;t.parentElement!==o.actionsList&&null!==t.parentElement;)t=t.parentElement;if(l.hasClass(t,"action-item")){var n=o.focusedItem;o.setFocusedItem(t),n!==o.focusedItem&&o.updateFocus()}}})));var s={parent:o};o.mnemonics=new Map,o.scrollableElement=o._register(new h.DomScrollableElement(r,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));var d=o.scrollableElement.getDomNode();return d.style.position="",o._register(l.addDisposableListener(d,l.EventType.MOUSE_UP,(function(e){e.preventDefault()}))), +r.style.maxHeight=Math.max(10,window.innerHeight-t.getBoundingClientRect().top-30)+"px",o.push(n,{icon:!0,label:!0,isMenu:!0}),t.appendChild(o.scrollableElement.getDomNode()),o.scrollableElement.scanDomNode(),o.viewItems.filter((function(e){return!(e instanceof y)})).forEach((function(e,t,n){e.updatePositionInSet(t+1,n.length)})),o}return r(t,e),t.prototype.style=function(e){var t=this.getContainer(),n=e.foregroundColor?""+e.foregroundColor:"",i=e.backgroundColor?""+e.backgroundColor:"",o=e.borderColor?"1px solid "+e.borderColor:"",r=e.shadowColor?"0 2px 4px "+e.shadowColor:"";t.style.border=o,this.domNode.style.color=n,this.domNode.style.backgroundColor=i,t.style.boxShadow=r,this.viewItems&&this.viewItems.forEach((function(t){(t instanceof v||t instanceof y)&&t.style(e)}))},t.prototype.getContainer=function(){return this.scrollableElement.getDomNode()},Object.defineProperty(t.prototype,"onScroll",{get:function(){return this.scrollableElement.onScroll},enumerable:!0,configurable:!0}), +Object.defineProperty(t.prototype,"scrollOffset",{get:function(){return this.menuElement.scrollTop},enumerable:!0,configurable:!0}),t.prototype.focusItemByElement=function(e){var t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()},t.prototype.setFocusedItem=function(e){for(var t=0;t
    "+e.substr(r.index+r[0].length)),e=e.replace(/&&/g,"&"),this.item&&this.item.setAttribute("aria-keyshortcuts",(o[1]?o[1]:o[3]).toLocaleLowerCase())}else e=e.replace(/&&/g,"&")}this.label&&(this.label.innerHTML=e.trim())}},o.prototype.updateTooltip=function(){var e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=n.localize(0,null,e,this.options.keybinding))),e&&this.item&&(this.item.title=e)}, +o.prototype.updateClass=function(){this.cssClass&&this.item&&l.removeClasses(this.item,this.cssClass),this.options.icon&&this.label?(this.cssClass=this.getAction().class||"",l.addClass(this.label,"icon"),this.cssClass&&l.addClasses(this.label,this.cssClass),this.updateEnabled()):this.label&&l.removeClass(this.label,"icon")},o.prototype.updateEnabled=function(){this.getAction().enabled?(this.element&&l.removeClass(this.element,"disabled"),this.item&&(l.removeClass(this.item,"disabled"),this.item.tabIndex=0)):(this.element&&l.addClass(this.element,"disabled"),this.item&&(l.addClass(this.item,"disabled"),l.removeTabIndexAndUpdateFocus(this.item)))},o.prototype.updateChecked=function(){this.item&&(this.getAction().checked?(l.addClass(this.item,"checked"),this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked","true")):(l.removeClass(this.item,"checked"),this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked","false")))},o.prototype.getMnemonic=function(){ +return this.mnemonic},o.prototype.applyStyle=function(){if(this.menuStyle){var e=this.element&&l.hasClass(this.element,"focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:this.menuStyle.backgroundColor,i=e&&this.menuStyle.selectionBorderColor?"thin solid "+this.menuStyle.selectionBorderColor:"";this.item&&(this.item.style.color=t?""+t:null,this.item.style.backgroundColor=n?""+n:""),this.check&&(this.check.style.backgroundColor=t?""+t:""),this.container&&(this.container.style.border=i)}},o.prototype.style=function(e){this.menuStyle=e,this.applyStyle()},o}(s.BaseActionViewItem),_=function(e){function t(t,n,i,o){var r=e.call(this,t,t,o)||this;return r.submenuActions=n,r.parentData=i,r.submenuOptions=o,r.mysubmenu=null,r.submenuDisposables=r._register(new c.DisposableStore),r.mouseOver=!1, +r.expandDirection=o&&void 0!==o.expandDirection?o.expandDirection:f.Right,r.showScheduler=new d.RunOnceScheduler((function(){r.mouseOver&&(r.cleanupExistingSubmenu(!1),r.createSubmenu(!1))}),250),r.hideScheduler=new d.RunOnceScheduler((function(){r.element&&!l.isAncestor(document.activeElement,r.element)&&r.parentData.submenu===r.mysubmenu&&(r.parentData.parent.focus(!1),r.cleanupExistingSubmenu(!0))}),750),r}return r(t,e),t.prototype.render=function(t){var n=this;e.prototype.render.call(this,t),this.element&&(this.item&&(l.addClass(this.item,"monaco-submenu-item"),this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=l.append(this.item,l.$("span.submenu-indicator")),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(l.addDisposableListener(this.element,l.EventType.KEY_UP,(function(e){var t=new u.StandardKeyboardEvent(e);(t.equals(17)||t.equals(3))&&(l.EventHelper.stop(e,!0),n.createSubmenu(!0))}))), +this._register(l.addDisposableListener(this.element,l.EventType.KEY_DOWN,(function(e){var t=new u.StandardKeyboardEvent(e);document.activeElement===n.item&&(t.equals(17)||t.equals(3))&&l.EventHelper.stop(e,!0)}))),this._register(l.addDisposableListener(this.element,l.EventType.MOUSE_OVER,(function(e){n.mouseOver||(n.mouseOver=!0,n.showScheduler.schedule())}))),this._register(l.addDisposableListener(this.element,l.EventType.MOUSE_LEAVE,(function(e){n.mouseOver=!1}))),this._register(l.addDisposableListener(this.element,l.EventType.FOCUS_OUT,(function(e){n.element&&!l.isAncestor(document.activeElement,n.element)&&n.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((function(){n.parentData.parent.focus(!1),n.cleanupExistingSubmenu(!1)}))))},t.prototype.onClick=function(e){l.EventHelper.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)},t.prototype.cleanupExistingSubmenu=function(e){ +this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)&&(this.parentData.submenu.dispose(),this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0))},t.prototype.createSubmenu=function(e){var t=this;if(void 0===e&&(e=!0),this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=l.append(this.element,l.$("div.monaco-submenu")),l.addClasses(this.submenuContainer,"menubar-menu-items-holder","context-view");var n=getComputedStyle(this.parentData.parent.domNode),i=parseFloat(n.paddingTop||"0")||0;this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset-i+"px",this.parentData.submenu=new m(this.submenuContainer,this.submenuActions,this.submenuOptions),this.menuStyle&&this.parentData.submenu.style(this.menuStyle);var o=this.element.getBoundingClientRect(),r=this.submenuContainer.getBoundingClientRect() +;this.expandDirection===f.Right?window.innerWidth<=o.right+r.width?(this.submenuContainer.style.left="10px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset+o.height+"px"):(this.submenuContainer.style.left=this.element.offsetWidth+"px",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset-i+"px"):this.expandDirection===f.Left&&(this.submenuContainer.style.right=this.element.offsetWidth+"px",this.submenuContainer.style.left="auto",this.submenuContainer.style.top=this.element.offsetTop-this.parentData.parent.scrollOffset-i+"px"),this.submenuDisposables.add(l.addDisposableListener(this.submenuContainer,l.EventType.KEY_UP,(function(e){new u.StandardKeyboardEvent(e).equals(15)&&(l.EventHelper.stop(e,!0),t.parentData.parent.focus(),t.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(l.addDisposableListener(this.submenuContainer,l.EventType.KEY_DOWN,(function(e){new u.StandardKeyboardEvent(e).equals(15)&&l.EventHelper.stop(e,!0) +}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((function(){t.parentData.parent.focus(),t.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}},t.prototype.updateAriaExpanded=function(e){var t;this.item&&(null===(t=this.item)||void 0===t||t.setAttribute("aria-expanded",e))},t.prototype.applyStyle=function(){if(e.prototype.applyStyle.call(this),this.menuStyle){var t=this.element&&l.hasClass(this.element,"focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.backgroundColor=t?""+t:""),this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)},t}(v),y=function(e){function t(){ +return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.style=function(e){this.label&&(this.label.style.borderBottomColor=e.separatorColor?""+e.separatorColor:"")},t}(s.ActionViewItem);function C(e){var n=t.MENU_MNEMONIC_REGEX,i=n.exec(e);if(!i)return e;var o=!i[1];return e.replace(n,o?"$2$3":"").trim()}t.cleanMnemonic=C})),define(n[404],i([0,1,201]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t,n){var i=e.call(this,t,n,"contextsubmenu")||this;return i.entries=n,i}return r(t,e),t}(n.SubmenuAction);t.ContextSubMenu=i})),define(n[405],i([6,7]),(function(e,t){return e.create("vs/base/browser/ui/tree/abstractTree",t)}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0)?(o.addClasses(t.twistie,"codicon","codicon-chevron-down","collapsible"),o.toggleClass(t.twistie,"collapsed",e.collapsed)):o.removeClasses(t.twistie,"codicon","codicon-chevron-down","collapsible","collapsed"), +e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded")},e.prototype.renderIndentGuides=function(e,t){var i=this;if(o.clearNode(t.indent),t.indentGuidesDisposable.dispose(),this.shouldRenderIndentGuides){for(var r=new n.DisposableStore,s=this.modelProvider(),a=e,l=function(){var e=s.getNodeLocation(a),l=s.getParentNodeLocation(e);if(!l)return"break";var d=s.getNode(l),c=o.$(".indent-guide",{style:"width: "+u.indent+"px"});u.activeIndentNodes.has(d)&&o.addClass(c,"active"),0===t.indent.childElementCount?t.indent.appendChild(c):t.indent.insertBefore(c,t.indent.firstElementChild),u.renderedIndentGuides.add(d,c),r.add(n.toDisposable((function(){return i.renderedIndentGuides.delete(d,c)}))),a=d},u=this;;){if("break"===l())break}t.indentGuidesDisposable=r}},e.prototype._onDidChangeActiveNodes=function(e){var t=this;if(this.shouldRenderIndentGuides){var n=new Set,i=this.modelProvider();e.forEach((function(e){var t=i.getNodeLocation(e);try{ +var o=i.getParentNodeLocation(t);e.collapsible&&e.children.length>0&&!e.collapsed?n.add(e):o&&n.add(i.getNode(o))}catch(e){}})),this.activeIndentNodes.forEach((function(e){n.has(e)||t.renderedIndentGuides.forEach(e,(function(e){return o.removeClass(e,"active")}))})),n.forEach((function(e){t.activeIndentNodes.has(e)||t.renderedIndentGuides.forEach(e,(function(e){return o.addClass(e,"active")}))})),this.activeIndentNodes=n}},e.prototype.dispose=function(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),n.dispose(this.disposables)},e.DefaultIndent=8,e}(),I=function(){function e(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new n.DisposableStore,e.onWillRefilter(this.reset,this,this.disposables)}return Object.defineProperty(e.prototype,"totalCount",{get:function(){return this._totalCount},enumerable:!0,configurable:!0}), +Object.defineProperty(e.prototype,"matchCount",{get:function(){return this._matchCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{set:function(e){this._pattern=e,this._lowercasePattern=e.toLowerCase()},enumerable:!0,configurable:!0}),e.prototype.filter=function(e,t){if(this._filter){var n=this._filter.filter(e,t);if(this.tree.options.simpleKeyboardNavigation)return n;if(0===("boolean"==typeof n?n?1:0:g.isFilterResult(n)?g.getVisibleState(n.visibility):n))return!1}if(this._totalCount++,this.tree.options.simpleKeyboardNavigation||!this._pattern)return this._matchCount++,{data:f.FuzzyScore.Default,visibility:!0};var i=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),o=i&&i.toString();if(void 0===o)return{data:f.FuzzyScore.Default,visibility:!0};var r=f.fuzzyScore(this._pattern,this._lowercasePattern,0,o,o.toLowerCase(),0,!0);return r?(this._matchCount++,{data:r,visibility:!0}):this.tree.options.filterOnType?2:{data:f.FuzzyScore.Default,visibility:!0}}, +e.prototype.reset=function(){this._totalCount=0,this._matchCount=0},e.prototype.dispose=function(){n.dispose(this.disposables)},e}(),M=function(){function e(e,t,i,r,a){this.tree=e,this.view=i,this.filter=r,this.keyboardNavigationDelegate=a,this._enabled=!1,this._pattern="",this._empty=!1,this._onDidChangeEmptyState=new s.Emitter,this.positionClassName="ne",this.automaticKeyboardNavigation=!0,this.triggered=!1,this._onDidChangePattern=new s.Emitter,this.enabledDisposables=new n.DisposableStore,this.disposables=new n.DisposableStore,this.domNode=o.$(".monaco-list-type-filter."+this.positionClassName),this.domNode.draggable=!0,p.domEvent(this.domNode,"dragstart")(this.onDragStart,this,this.disposables),this.messageDomNode=o.append(i.getHTMLElement(),o.$(".monaco-list-type-filter-message")),this.labelDomNode=o.append(this.domNode,o.$("span.label"));var l=o.append(this.domNode,o.$(".controls"));this._filterOnType=!!e.options.filterOnType, +this.filterOnTypeDomNode=o.append(l,o.$("input.filter.codicon.codicon-list-selection")),this.filterOnTypeDomNode.type="checkbox",this.filterOnTypeDomNode.checked=this._filterOnType,this.filterOnTypeDomNode.tabIndex=-1,this.updateFilterOnTypeTitle(),p.domEvent(this.filterOnTypeDomNode,"input")(this.onDidChangeFilterOnType,this,this.disposables),this.clearDomNode=o.append(l,o.$("button.clear.codicon.codicon-close")),this.clearDomNode.tabIndex=-1,this.clearDomNode.title=m.localize(0,null),this.keyboardNavigationEventFilter=e.options.keyboardNavigationEventFilter,t.onDidSplice(this.onDidSpliceModel,this,this.disposables),this.updateOptions(e.options)}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pattern",{get:function(){return this._pattern},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterOnType",{get:function(){return this._filterOnType},enumerable:!0,configurable:!0}), +e.prototype.updateOptions=function(e){e.simpleKeyboardNavigation?this.disable():this.enable(),void 0!==e.filterOnType&&(this._filterOnType=!!e.filterOnType,this.filterOnTypeDomNode.checked=this._filterOnType),void 0!==e.automaticKeyboardNavigation&&(this.automaticKeyboardNavigation=e.automaticKeyboardNavigation),this.tree.refilter(),this.render(),this.automaticKeyboardNavigation||this.onEventOrInput("")},e.prototype.enable=function(){var e=this;if(!this._enabled){var t=s.Event.chain(p.domEvent(this.view.getHTMLElement(),"keydown")).filter((function(t){return!k(t.target)||t.target===e.filterOnTypeDomNode})).filter((function(e){return"Dead"!==e.key&&!/^Media/.test(e.key)})).map((function(e){return new u.StandardKeyboardEvent(e)})).filter(this.keyboardNavigationEventFilter||function(){return!0}).filter((function(){return e.automaticKeyboardNavigation||e.triggered})).filter((function(t){ +return e.keyboardNavigationDelegate.mightProducePrintableCharacter(t)||(e.pattern.length>0||e.triggered)&&(9===t.keyCode||1===t.keyCode)&&!t.altKey&&!t.ctrlKey&&!t.metaKey||1===t.keyCode&&(_.isMacintosh?t.altKey&&!t.metaKey:t.ctrlKey)&&!t.shiftKey})).forEach((function(e){e.stopPropagation(),e.preventDefault()})).event,n=p.domEvent(this.clearDomNode,"click");s.Event.chain(s.Event.any(t,n)).event(this.onEventOrInput,this,this.enabledDisposables),this.filter.pattern="",this.tree.refilter(),this.render(),this._enabled=!0,this.triggered=!1}},e.prototype.disable=function(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.clear(),this.tree.refilter(),this.render(),this._enabled=!1,this.triggered=!1)},e.prototype.onEventOrInput=function(e){ +"string"==typeof e?this.onInput(e):e instanceof MouseEvent||9===e.keyCode||1===e.keyCode&&(_.isMacintosh?e.altKey:e.ctrlKey)?this.onInput(""):1===e.keyCode?this.onInput(0===this.pattern.length?"":this.pattern.substr(0,this.pattern.length-1)):this.onInput(this.pattern+e.browserEvent.key)},e.prototype.onInput=function(e){var t=this.view.getHTMLElement();e&&!this.domNode.parentElement?t.append(this.domNode):!e&&this.domNode.parentElement&&(this.domNode.remove(),this.tree.domFocus()),this._pattern=e,this._onDidChangePattern.fire(e),this.filter.pattern=e,this.tree.refilter(),e&&this.tree.focusNext(0,!0,void 0,(function(e){return!f.FuzzyScore.isDefault(e.filterData)}));var n=this.tree.getFocus();if(n.length>0){var i=n[0];null===this.tree.getRelativeTop(i)&&this.tree.reveal(i,.5)}this.render(),e||(this.triggered=!1)},e.prototype.onDragStart=function(){ +var e=this,t=this.view.getHTMLElement(),i=o.getDomNodePagePosition(t).left,r=t.clientWidth,s=r/2,a=this.domNode.clientWidth,l=new n.DisposableStore,u=this.positionClassName,c=function(){switch(u){case"nw":e.domNode.style.top="4px",e.domNode.style.left="4px";break;case"ne":e.domNode.style.top="4px",e.domNode.style.left=r-a-6+"px"}};c(),o.removeClass(this.domNode,u),o.addClass(this.domNode,"dragging"),l.add(n.toDisposable((function(){return o.removeClass(e.domNode,"dragging")}))),p.domEvent(document,"dragover")((function(e){e.preventDefault();var t=e.screenX-i;e.dataTransfer&&(e.dataTransfer.dropEffect="none"),u=t0&&0===this.filter.matchCount;this.pattern&&this.tree.options.filterOnType&&e?(this.messageDomNode.textContent=m.localize(3,null),this._empty=!0):(this.messageDomNode.innerHTML="",this._empty=!1),o.toggleClass(this.domNode,"no-matches",e),this.domNode.title=m.localize(4,null,this.filter.matchCount,this.filter.totalCount),this.labelDomNode.textContent=this.pattern.length>16?"…"+this.pattern.substr(this.pattern.length-16):this.pattern, +this._onDidChangeEmptyState.fire(this._empty)},e.prototype.shouldAllowFocus=function(e){return!(this.enabled&&this.pattern&&!this.filterOnType)||(this.filter.totalCount>0&&this.filter.matchCount<=1||!f.FuzzyScore.isDefault(e.filterData))},e.prototype.dispose=function(){this._enabled&&(this.domNode.remove(),this.enabledDisposables.dispose(),this._enabled=!1,this.triggered=!1),this._onDidChangePattern.dispose(),n.dispose(this.disposables)},e}();function k(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}function T(e){return{elements:e.elements.map((function(e){return e.element})),browserEvent:e.browserEvent}}function R(e,t){t(e),e.children.forEach((function(e){return R(e,t)}))}var O=function(){function e(e){this.identityProvider=e,this.nodes=[],this._onDidChange=new s.Emitter,this.onDidChange=this._onDidChange.event}return Object.defineProperty(e.prototype,"nodeSet",{get:function(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet},enumerable:!0,configurable:!0}), +e.prototype.set=function(e,t){c.equals(this.nodes,e)||this._set(e,!1,t)},e.prototype._set=function(e,t,n){if(this.nodes=a(e),this.elements=void 0,this._nodeSet=void 0,!t){var i=this;this._onDidChange.fire({get elements(){return i.get()},browserEvent:n})}},e.prototype.get=function(){return this.elements||(this.elements=this.nodes.map((function(e){return e.element}))),a(this.elements)},e.prototype.getNodes=function(){return this.nodes},e.prototype.has=function(e){return this.nodeSet.has(e)},e.prototype.onDidModelSplice=function(e){var t=this,n=e.insertedNodes,i=e.deletedNodes;if(!this.identityProvider){var o=this.createNodeSet(),r=function(e){return o.delete(e)};return i.forEach((function(e){return R(e,r)})),void this.set(y.values(o))}var s=new Set,a=function(e){return s.add(t.identityProvider.getId(e.element).toString())};i.forEach((function(e){return R(e,a)}));var l=new Map,u=function(e){return l.set(t.identityProvider.getId(e.element).toString(),e)};n.forEach((function(e){return R(e,u)})) +;for(var d=[],c=0,h=this.nodes;c0&&e.prototype.setFocus.call(this,c.distinctES6(a(e.prototype.getFocus.call(this),r))),s.length>0&&e.prototype.setSelection.call(this,c.distinctES6(a(e.prototype.getSelection.call(this),s)))}},t.prototype.setFocus=function(t,n,i){var o=this;void 0===i&&(i=!1), +e.prototype.setFocus.call(this,t,n),i||this.focusTrait.set(t.map((function(e){return o.element(e)})),n)},t.prototype.setSelection=function(t,n,i){var o=this;void 0===i&&(i=!1),e.prototype.setSelection.call(this,t,n),i||this.selectionTrait.set(t.map((function(e){return o.element(e)})),n)},t}(i.List),F=function(){function e(e,t,r,a,d){var h=this;void 0===d&&(d={}),this._options=d,this.eventBufferer=new s.EventBufferer,this.disposables=new n.DisposableStore,this._onWillRefilter=new s.Emitter,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new s.Emitter;var p,f,g,m=new D(r),v=new s.Relay,_=new s.Relay,y=new N(_.event);this.renderers=a.map((function(e){return new x(e,(function(){return h.model}),v.event,y,d)}));for(var C=0,b=this.renderers;C .indent-guide, .monaco-list"+t+".always .monaco-tl-indent > .indent-guide { border-color: "+e.treeIndentGuidesStroke.transparent(.4)+"; }"),n.push(".monaco-list"+t+" .monaco-tl-indent > .indent-guide.active { border-color: "+e.treeIndentGuidesStroke+"; }"));var i=n.join("\n");i!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=i),this.view.style(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!0,t)},e.prototype.expand=function(e,t){return void 0===t&&(t=!1),this.model.setCollapsed(e,!1,t)},e.prototype.setCollapsible=function(e,t){ +return this.model.setCollapsible(e,t)},e.prototype.isCollapsed=function(e){return this.model.isCollapsed(e)},e.prototype.refilter=function(){this._onWillRefilter.fire(void 0),this.model.refilter()},e.prototype.setSelection=function(e,t){var n=this,i=e.map((function(e){return n.model.getNode(e)}));this.selection.set(i,t);var o=e.map((function(e){return n.model.getListIndex(e)})).filter((function(e){return e>-1}));this.view.setSelection(o,t,!0)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e,t){var n=this,i=e.map((function(e){return n.model.getNode(e)}));this.focus.set(i,t);var o=e.map((function(e){return n.model.getListIndex(e)})).filter((function(e){return e>-1}));this.view.setFocus(o,t,!0)},e.prototype.focusNext=function(e,t,n,i){void 0===e&&(e=1),void 0===t&&(t=!1),void 0===i&&(i=this.focusNavigationFilter),this.view.focusNext(e,t,n,i)},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.reveal=function(e,t){this.model.expandTo(e) +;var n=this.model.getListIndex(e);-1!==n&&this.view.reveal(n,t)},e.prototype.getRelativeTop=function(e){var t=this.model.getListIndex(e);return-1===t?null:this.view.getRelativeTop(t)},e.prototype.onLeftArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!0)){var o=this.model.getParentNodeLocation(i);if(!o)return;var r=this.model.getListIndex(o);this.view.reveal(r),this.view.setFocus([r])}}},e.prototype.onRightArrow=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){var n=t[0],i=this.model.getNodeLocation(n);if(!this.model.setCollapsed(i,!1)){if(!n.children.some((function(e){return e.visible})))return;var o=this.view.getFocus()[0]+1;this.view.reveal(o),this.view.setFocus([o])}}},e.prototype.onSpace=function(e){e.preventDefault(),e.stopPropagation();var t=this.view.getFocusedElements();if(0!==t.length){ +var n=t[0],i=this.model.getNodeLocation(n),o=e.browserEvent.altKey;this.model.setCollapsed(i,void 0,o)}},e.prototype.dispose=function(){n.dispose(this.disposables),this.view.dispose()},e}();t.AbstractTree=F})),define(n[406],i([0,1,154,127]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,n,i,o,r,s){void 0===s&&(s={});var a=e.call(this,t,n,i,o,s)||this;return a.user=t,a.dataSource=r,a.identityProvider=s.identityProvider,a}return r(t,e),t.prototype.createModel=function(e,t,n){return new i.ObjectTreeModel(e,t,n)},t}(n.AbstractTree);t.DataTree=o})),define(n[202],i([0,1,154,127,241,98]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,n,i,o,r){return void 0===r&&(r={}),e.call(this,t,n,i,o,r)||this}return r(t,e),Object.defineProperty(t.prototype,"onDidChangeCollapseState",{get:function(){return this.model.onDidChangeCollapseState},enumerable:!0,configurable:!0}), +t.prototype.setChildren=function(e,t){this.model.setChildren(e,t)},t.prototype.rerender=function(e){void 0!==e?this.model.rerender(e):this.view.rerender()},t.prototype.createModel=function(e,t,n){return new i.ObjectTreeModel(e,t,n)},t}(n.AbstractTree);t.ObjectTree=a;var u=function(){function e(e,t){this._compressedTreeNodeProvider=e,this.renderer=t,this.templateId=t.templateId,t.onDidChangeTwistieState&&(this.onDidChangeTwistieState=t.onDidChangeTwistieState)}return Object.defineProperty(e.prototype,"compressedTreeNodeProvider",{get:function(){return this._compressedTreeNodeProvider()},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}},e.prototype.renderElement=function(e,t,n,i){var o=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element);1===o.element.elements.length?(n.compressedTreeNode=void 0,this.renderer.renderElement(e,t,n.data,i)):(n.compressedTreeNode=o, +this.renderer.renderCompressedElements(o,t,n.data,i))},e.prototype.disposeElement=function(e,t,n,i){n.compressedTreeNode?this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(n.compressedTreeNode,t,n.data,i):this.renderer.disposeElement&&this.renderer.disposeElement(e,t,n.data,i)},e.prototype.disposeTemplate=function(e){this.renderer.disposeTemplate(e.data)},e.prototype.renderTwistie=function(e,t){this.renderer.renderTwistie&&this.renderer.renderTwistie(e,t)},h([s.memoize],e.prototype,"compressedTreeNodeProvider",null),e}();var d=function(e){function t(t,n,i,o,r){void 0===r&&(r={});var s=this,a=function(){return s},d=o.map((function(e){return new u(a,e)}));return s=e.call(this,t,n,i,d,function(e,t){return t&&l(l({},t),{keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel:function(n){var i;try{i=e().getCompressedTreeNode(n)}catch(e){return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(n)} +return 1===i.element.elements.length?t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(n):t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(i.element.elements)}}})}(a,r))||this}return r(t,e),t.prototype.setChildren=function(e,t){this.model.setChildren(e,t)},t.prototype.createModel=function(e,t,n){return new o.CompressibleObjectTreeModel(e,t,n)},t.prototype.updateOptions=function(t){void 0===t&&(t={}),e.prototype.updateOptions.call(this,t),void 0!==t.compressionEnabled&&this.model.setCompressionEnabled(t.compressionEnabled)},t.prototype.getCompressedTreeNode=function(e){return void 0===e&&(e=null),this.model.getCompressedTreeNode(e)},t}(a);t.CompressibleObjectTree=d}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t-1&&i.focus.push(c),i&&i.viewState.selection&&i.viewState.selection.indexOf(u)>-1&&i.selection.push(c),i&&i.viewState.expanded&&i.viewState.expanded.indexOf(u)>-1?p.push(c):o&&r.collapseByDefault&&!r.collapseByDefault(t)&&(c.collapsedByDefault=!1,p.push(c)),c})),g=0,m=v.values(s);g-1)&&e.collapsedByDefault,e.collapsedByDefault=void 0,{element:e,children:e.hasChildren?p.Iterator.map(p.Iterator.fromArray(e.children),(function(e){return i.asTreeElement(e,t)})):[],collapsible:e.hasChildren,collapsed:n})},e.prototype.processChildren=function(e){return this.sorter&&e.sort(this.sorter.compare.bind(this.sorter)),e},e.prototype.dispose=function(){ +this.disposables.dispose()},e}();t.AsyncDataTree=I;var M=function(){function e(e){this.node=e}return Object.defineProperty(e.prototype,"element",{get:function(){return{elements:this.node.element.elements.map((function(e){return e.element})),incompressible:this.node.element.incompressible}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this.node.children.map((function(t){return new e(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"depth",{get:function(){return this.node.depth},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visibleChildrenCount",{get:function(){return this.node.visibleChildrenCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visibleChildIndex",{get:function(){return this.node.visibleChildIndex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"collapsible",{get:function(){return this.node.collapsible},enumerable:!0,configurable:!0}), +Object.defineProperty(e.prototype,"collapsed",{get:function(){return this.node.collapsed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"visible",{get:function(){return this.node.visible},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filterData",{get:function(){return this.node.filterData},enumerable:!0,configurable:!0}),e}(),k=function(){function e(e,t,n,i){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=n,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}return e.prototype.renderTemplate=function(e){return{templateData:this.renderer.renderTemplate(e)}},e.prototype.renderElement=function(e,t,n,i){this.renderer.renderElement(this.nodeMapper.map(e),t,n.templateData,i)},e.prototype.renderCompressedElements=function(e,t,n,i){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,n.templateData,i)},e.prototype.renderTwistie=function(e,t){ +return m.toggleClass(t,"codicon-loading",e.slow),!1},e.prototype.disposeElement=function(e,t,n,i){this.renderer.disposeElement&&this.renderer.disposeElement(this.nodeMapper.map(e),t,n.templateData,i)},e.prototype.disposeCompressedElements=function(e,t,n,i){this.renderer.disposeCompressedElements&&this.renderer.disposeCompressedElements(this.compressibleNodeMapperProvider().map(e),t,n.templateData,i)},e.prototype.disposeTemplate=function(e){this.renderer.disposeTemplate(e.templateData)},e.prototype.dispose=function(){this.renderedNodes.clear(),this.disposables=s.dispose(this.disposables)},e}();var T=function(e){function t(t,n,i,r,s,a,l){void 0===l&&(l={});var u=e.call(this,t,n,i,s,a,l)||this;return u.compressionDelegate=r,u.compressibleNodeMapper=new o.WeakMapper((function(e){return new M(e)})),u.filter=l.filter,u}return r(t,e),t.prototype.createTree=function(e,t,o,r,s){var a=this,u=new n.ComposedTreeDelegate(o),d=r.map((function(e){return new k(e,a.nodeMapper,(function(){return a.compressibleNodeMapper +}),a._onDidChangeNodeSlowState.event)})),c=function(e){var t=e&&N(e);return t&&l(l({},t),{keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&l(l({},t.keyboardNavigationLabelProvider),{getCompressedNodeKeyboardNavigationLabel:function(t){return e.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map((function(e){return e.element})))}})})}(s)||{};return new i.CompressibleObjectTree(e,t,u,d,c)},t.prototype.asTreeElement=function(t,n){return l({incompressible:this.compressionDelegate.isIncompressible(t.element)},e.prototype.asTreeElement.call(this,t,n))},t.prototype.updateOptions=function(e){void 0===e&&(e={}),this.tree.updateOptions(e)},t.prototype.render=function(t,n){var i=this;if(!this.identityProvider)return e.prototype.render.call(this,t,n);var o=function(e){return i.identityProvider.getId(e).toString()},r=function(e){for(var t=new Set,n=0,r=e;n0?n.actionBar.push(o,{icon:!0,label:!1}):n.actionBar.isEmpty()||o&&0!==o.length||n.actionBar.clear(),e instanceof f&&e.getGroupLabel()?l.addClass(n.container,"has-group-label"):l.removeClass(n.container,"has-group-label"),e instanceof f){ +var r=e,s=n;r.showBorder()?(l.addClass(s.container,"results-group-separator"),i.pickerGroupBorder&&(s.container.style.borderTopColor=i.pickerGroupBorder.toString())):(l.removeClass(s.container,"results-group-separator"),s.container.style.borderTopColor="");var a=r.getGroupLabel()||"";s.group&&(s.group.textContent=a,i.pickerGroupForeground&&(s.group.style.color=i.pickerGroupForeground.toString()))}if(e instanceof p){var u=e.getHighlights(),d=u[0],c=u[1],h=u[2],g=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";n.icon.className=g;var m=e.getLabelOptions()||Object.create(null);m.matches=d||[],m.title=e.getTooltip(),m.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),m.descriptionMatches=c||[],n.label.setLabel(e.getLabel()||"",e.getDescription(),m),n.detail.set(e.getDetail(),h),n.keybinding.set(e.getKeybinding())}},e.prototype.disposeTemplate=function(e,t){t.actionBar.dispose(),t.actionBar=null,t.container=null,t.entry=null,t.keybinding=null,t.detail=null,t.group=null,t.icon=null, +t.label.dispose(),t.label=null},e}(),v=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new g),this._entries=e,this._dataSource=this,this._renderer=new m(t),this._filter=this,this._runner=this,this._accessibilityProvider=this}return Object.defineProperty(e.prototype,"entries",{get:function(){return this._entries},set:function(e){this._entries=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dataSource",{get:function(){return this._dataSource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this._renderer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"runner",{get:function(){return this._runner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"accessibilityProvider",{get:function(){return this._accessibilityProvider},enumerable:!0,configurable:!0}),e.prototype.getId=function(e){ +return e.getId()},e.prototype.getLabel=function(e){return i.withUndefinedAsNull(e.getLabel())},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?n.localize(0,null,e.getAriaLabel()):n.localize(1,null)},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,n){return e.run(t,n)},e}();t.QuickOpenModel=v})),define(n[412],i([6,7]),(function(e,t){return e.create("vs/base/parts/quickopen/browser/quickOpenWidget",t)})),define(n[413],i([0,1,412,16,22,251,152,281,272,56,134,8,2,27,30,44,279]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.onContextMenu=function(t,n,o){return i.isMacintosh?this.onLeftClick(t,n,o):e.prototype.onContextMenu.call(this,t,n,o)},t}(c.DefaultController);t.QuickOpenController=v;var _={background:f.Color.fromHex("#1E1E1E"),foreground:f.Color.fromHex("#CCCCCC"), +pickerGroupForeground:f.Color.fromHex("#0097FB"),pickerGroupBorder:f.Color.fromHex("#3F3F46"),widgetShadow:f.Color.fromHex("#000000"),progressBarBackground:f.Color.fromHex("#0E70C0")},y=n.localize(0,null),C=function(e){function t(t,n,i){var o=e.call(this)||this;return o.isDisposed=!1,o.container=t,o.callbacks=n,o.options=i,o.styles=i||Object.create(null),g.mixin(o.styles,_,!1),o.model=null,o}return r(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;this.element=document.createElement("div"),h.addClass(this.element,"monaco-quick-open-widget"),this.container.appendChild(this.element),this._register(h.addDisposableListener(this.element,h.EventType.CONTEXT_MENU,(function(e){return h.EventHelper.stop(e,!0)}))),this._register(h.addDisposableListener(this.element,h.EventType.FOCUS,(function(t){return e.gainingFocus()}),!0)),this._register(h.addDisposableListener(this.element,h.EventType.BLUR,(function(t){return e.loosingFocus(t)}),!0)), +this._register(h.addDisposableListener(this.element,h.EventType.KEY_DOWN,(function(t){var n=new d.StandardKeyboardEvent(t);if(9===n.keyCode)h.EventHelper.stop(t,!0),e.hide(2);else if(2===n.keyCode&&!n.altKey&&!n.ctrlKey&&!n.metaKey){var i=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");n.shiftKey&&n.target===i[0]?(h.EventHelper.stop(t,!0),i[i.length-1].focus()):n.shiftKey||n.target!==i[i.length-1]||(h.EventHelper.stop(t,!0),i[0].focus())}}))),this.progressBar=this._register(new u.ProgressBar(this.element,{progressBarBackground:this.styles.progressBarBackground})),this.progressBar.hide(),this.inputContainer=document.createElement("div"),h.addClass(this.inputContainer,"quick-open-input"),this.element.appendChild(this.inputContainer),this.inputBox=this._register(new a.InputBox(this.inputContainer,void 0,{placeholder:this.options.inputPlaceHolder||"",ariaLabel:y,inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground, +inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder})),this.inputElement=this.inputBox.inputElement,this.inputElement.setAttribute("role","combobox"),this.inputElement.setAttribute("aria-haspopup","false"),this.inputElement.setAttribute("aria-autocomplete","list"),this._register(h.addDisposableListener(this.inputBox.inputElement,h.EventType.INPUT,(function(t){return e.onType()}))), +this._register(h.addDisposableListener(this.inputBox.inputElement,h.EventType.KEY_DOWN,(function(t){var n=new d.StandardKeyboardEvent(t),i=e.shouldOpenInBackground(n);if(2!==n.keyCode)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)h.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===n.keyCode||i){h.EventHelper.stop(t,!0);var o=e.tree.getFocus();o&&e.elementSelected(o,t,i?2:1)}}))),this.resultCount=document.createElement("div"),h.addClass(this.resultCount,"quick-open-result-count"),this.resultCount.setAttribute("aria-live","polite"),this.resultCount.setAttribute("aria-atomic","true"),this.element.appendChild(this.resultCount),this.treeContainer=document.createElement("div"),h.addClass(this.treeContainer,"quick-open-tree"),this.element.appendChild(this.treeContainer);var t=this.options.treeCreator||function(e,t,n){ +return new l.Tree(e,t,n)};return this.tree=this._register(t(this.treeContainer,{dataSource:new s.DataSource(this),controller:new v({clickBehavior:1,keyboardSupport:this.options.keyboardSupport}),renderer:this.renderer=new s.Renderer(this,this.styles),filter:new s.Filter(this),accessibilityProvider:new s.AccessibilityProvider(this)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:3,horizontalScrollMode:2,ariaLabel:n.localize(1,null),keyboardSupport:this.options.keyboardSupport,preventRootFocus:!1})),this.treeElement=this.tree.getHTMLElement(),this._register(this.tree.onDidChangeFocus((function(t){e.elementFocused(t.focus,t)}))),this._register(this.tree.onDidChangeSelection((function(t){if(t.selection&&t.selection.length>0){var n=t.payload&&t.payload.originalEvent instanceof m.StandardMouseEvent?t.payload.originalEvent:void 0,i=!!n&&e.shouldOpenInBackground(n);e.elementSelected(t.selection[0],t,i?2:1)}}))), +this._register(h.addDisposableListener(this.treeContainer,h.EventType.KEY_DOWN,(function(t){var n=new d.StandardKeyboardEvent(t);if(e.quickNavigateConfiguration)if(18===n.keyCode||16===n.keyCode||12===n.keyCode||11===n.keyCode)h.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode);else if(3===n.keyCode){h.EventHelper.stop(t,!0);var i=e.tree.getFocus();i&&e.elementSelected(i,t)}}))),this._register(h.addDisposableListener(this.treeContainer,h.EventType.KEY_UP,(function(t){var n=new d.StandardKeyboardEvent(t),i=n.keyCode;if(e.quickNavigateConfiguration&&e.quickNavigateConfiguration.keybindings.some((function(e){var t=e.getParts(),o=t[0];return!t[1]&&(o.shiftKey&&4===i?!(n.ctrlKey||n.altKey||n.metaKey):!(!o.altKey||6!==i)||(!(!o.ctrlKey||5!==i)||!(!o.metaKey||57!==i)))}))){var o=e.tree.getFocus();o&&e.elementSelected(o,t)}}))),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),this._register(h.addDisposableListener(this.treeContainer,h.EventType.KEY_DOWN,(function(t){ +var n=new d.StandardKeyboardEvent(t);e.quickNavigateConfiguration||18!==n.keyCode&&16!==n.keyCode&&12!==n.keyCode&&11!==n.keyCode||(h.EventHelper.stop(t,!0),e.navigateInTree(n.keyCode,n.shiftKey),e.treeElement.focus())}))),this.element},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():"",n=this.styles.borderColor?this.styles.borderColor.toString():"",i=this.styles.widgetShadow?this.styles.widgetShadow.toString():"";this.element.style.color=e,this.element.style.backgroundColor=t,this.element.style.borderColor=n,this.element.style.borderWidth=n?"1px":"",this.element.style.borderStyle=n?"solid":"",this.element.style.boxShadow=i?"0 5px 8px "+i:""}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({ +inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoForeground:this.styles.inputValidationInfoForeground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningForeground:this.styles.inputValidationWarningForeground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorForeground:this.styles.inputValidationErrorForeground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&!this.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},t.prototype.shouldOpenInBackground=function(e){if(e instanceof d.StandardKeyboardEvent){if(17!==e.keyCode)return!1 +;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},t.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?h.hide(this.helpText):h.show(this.helpText)),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var n=this.tree.getInput(),i=n?n.entries:[],o=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();i.length>1&&o===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){var n=this.treeElement.getAttribute("aria-activedescendant") +;n?this.inputElement.setAttribute("aria-activedescendant",n):this.inputElement.removeAttribute("aria-activedescendant");var i={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,0,i)}},t.prototype.elementSelected=function(e,t,n){var i=!0;if(this.isVisible()){var o=n||1,r={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};i=this.model.runner.run(e,o,r)}i&&this.hide(0)},t.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},t.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(h.hide(this.inputContainer),h.show(this.element), +this.tree.domFocus()):(h.show(this.inputContainer),h.show(this.element),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||o.isString(e)?h.hide(this.helpText):h.show(this.helpText)),o.isString(e)?this.doShowWithPrefix(e):(t&&t.value&&this.restoreLastInput(t.value),this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{})),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},t.prototype.restoreLastInput=function(e){this.inputBox.value=e,this.inputBox.select(),this.callbacks.onType(e)},t.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},t.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},t.prototype.setInputAndLayout=function(e,t){var n=this;this.treeContainer.style.height=this.getHeight(e)+"px",this.tree.setInput(null).then((function(){return n.model=e,n.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),n.tree.setInput(e) +})).then((function(){n.tree.layout();var i=e?e.entries.filter((function(t){return n.isElementVisible(e,t)})):[];n.updateResultCount(i.length),i.length&&n.autoFocus(e,i,t)}))},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,n){if(void 0===n&&(n={}),n.autoFocusPrefixMatch){for(var i=void 0,o=void 0,r=n.autoFocusPrefixMatch,s=r.toLowerCase(),a=0,l=t;an.autoFocusIndex&&(this.tree.focusNth(n.autoFocusIndex),this.tree.reveal(this.tree.getFocus())):n.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):n.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){ +var n=this,i=e.renderer;if(!e){var o=i.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*o:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>t.MAX_ITEMS_HEIGHT)&&(r=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter((function(t){return n.isElementVisible(e,t)})),l=this.options.maxItemsToShow||a.length,u=0;ul.modifiedStartLineNumber?n.localize(0,null):n.localize(1,null),void 0,!0,(function(){return d(p,void 0,void 0,(function(){return c(this,(function(e){ +switch(e.label){case 0:return[4,this._clipboardService.writeText(l.originalContent.join(g)+g)];case 1:return e.sent(),[2]}}))}))})));var v=0,_=void 0;l.originalEndLineNumber>l.modifiedStartLineNumber&&(_=new o.Action("diff.clipboard.copyDeletedLineContent",n.localize(2,null,l.originalStartLineNumber),void 0,!0,(function(){return d(p,void 0,void 0,(function(){return c(this,(function(e){switch(e.label){case 0:return[4,this._clipboardService.writeText(l.originalContent[v])];case 1:return e.sent(),[2]}}))}))})),m.push(_)),s.getOption(65)||m.push(new o.Action("diff.inline.revertChange",n.localize(3,null),void 0,!0,(function(){return d(p,void 0,void 0,(function(){var e;return c(this,(function(t){return 0===l.modifiedEndLineNumber?(e=s.getModel().getLineMaxColumn(l.modifiedStartLineNumber),s.executeEdits("diffEditor",[{range:new a.Range(l.modifiedStartLineNumber,e,l.modifiedStartLineNumber,e),text:g+l.originalContent.join(g)}])):(e=s.getModel().getLineMaxColumn(l.modifiedEndLineNumber),s.executeEdits("diffEditor",[{ +range:new a.Range(l.modifiedStartLineNumber,1,l.modifiedEndLineNumber,e),text:l.originalContent.join(g)}])),[2]}))}))})));var y=function(e,t){p._contextMenuService.showContextMenu({getAnchor:function(){return{x:e,y:t}},getActions:function(){return _&&(_.label=n.localize(4,null,l.originalStartLineNumber+v)),m},autoSelectFirstItem:!0})};return p._register(i.addStandardDisposableListener(p._diffActions,"mousedown",(function(e){var t=i.getDomNodePagePosition(p._diffActions),n=t.top,o=t.height,r=Math.floor(f/3);e.preventDefault(),y(e.posx,n+o+r)}))),p._register(s.onMouseMove((function(e){8===e.target.type||5===e.target.type?e.target.detail.viewZoneId===p._viewZoneId?(p.visibility=!0,v=p._updateLightBulbPosition(p._marginDomNode,e.event.browserEvent.y,f)):p.visibility=!1:p.visibility=!1}))),p._register(s.onMouseDown((function(e){e.event.rightButton&&(8!==e.target.type&&5!==e.target.type||e.target.detail.viewZoneId===p._viewZoneId&&(e.event.preventDefault(), +v=p._updateLightBulbPosition(p._marginDomNode,e.event.browserEvent.y,f),y(e.event.posx,e.event.posy+f)))}))),p}return r(t,e),Object.defineProperty(t.prototype,"visibility",{get:function(){return this._visibility},set:function(e){this._visibility!==e&&(this._visibility=e,this._diffActions.style.visibility=e?"visible":"hidden")},enumerable:!0,configurable:!0}),t.prototype._updateLightBulbPosition=function(e,t,n){var o=t-i.getDomNodePagePosition(e).top,r=Math.floor(o/n),s=r*n;return this._diffActions.style.top=s+"px",r},t}(s.Disposable);t.InlineDiffMargin=l})),define(n[421],i([6,7]),(function(e,t){return e.create("vs/editor/common/config/commonEditorConfig",t)})),define(n[422],i([6,7]),(function(e,t){return e.create("vs/editor/common/config/editorOptions",t)})),define(n[38],i([0,1,422,16,106]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MINIMAP_GUTTER_WIDTH=8;var s=function(){function e(e){this._values=e}return e.prototype.hasChanged=function(e){return this._values[e]},e +}();t.ConfigurationChangedEvent=s;var a=function(){function e(){this._values=[]}return e.prototype._read=function(e){return this._values[e]},e.prototype.get=function(e){return this._values[e]},e.prototype._write=function(e,t){this._values[e]=t},e}();t.ValidatedEditorOptions=a;var u=function(){function e(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}return e.prototype.compute=function(e,t,n){return n},e}(),d=function(){function e(e,t){void 0===t&&(t=null),this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0,this.deps=t}return e.prototype.validate=function(e){return this.defaultValue},e}(),c=function(){function e(e,t,n,i){this.id=e,this.name=t,this.defaultValue=n,this.schema=i}return e.prototype.validate=function(e){return void 0===e?this.defaultValue:e},e.prototype.compute=function(e,t,n){return n},e}(),h=function(e){function t(t,n,i,o){void 0===o&&(o=void 0);return void 0!==o&&(o.type="boolean",o.default=i),e.call(this,t,n,i,o)||this}return r(t,e), +t.boolean=function(e,t){return void 0===e?t:"false"!==e&&Boolean(e)},t.prototype.validate=function(e){return t.boolean(e,this.defaultValue)},t}(c),p=function(e){function t(t,n,i,o,r,s){void 0===s&&(s=void 0);var a=this;return void 0!==s&&(s.type="integer",s.default=i,s.minimum=o,s.maximum=r),(a=e.call(this,t,n,i,s)||this).minimum=o,a.maximum=r,a}return r(t,e),t.clampedInt=function(e,t,n,i){var o;return void 0===e?o=t:(o=parseInt(e,10),isNaN(o)&&(o=t)),o=Math.max(n,o),0|(o=Math.min(i,o))},t.prototype.validate=function(e){return t.clampedInt(e,this.defaultValue,this.minimum,this.maximum)},t}(c),f=function(e){function t(t,n,i,o,r){var s=this;return void 0!==r&&(r.type="number",r.default=i),(s=e.call(this,t,n,i,r)||this).validationFn=o,s}return r(t,e),t.clamp=function(e,t,n){return en?n:e},t.float=function(e,t){if("number"==typeof e)return e;if(void 0===e)return t;var n=parseFloat(e);return isNaN(n)?t:n},t.prototype.validate=function(e){return this.validationFn(t.float(e,this.defaultValue))},t +}(c),g=function(e){function t(t,n,i,o){void 0===o&&(o=void 0);return void 0!==o&&(o.type="string",o.default=i),e.call(this,t,n,i,o)||this}return r(t,e),t.string=function(e,t){return"string"!=typeof e?t:e},t.prototype.validate=function(e){return t.string(e,this.defaultValue)},t}(c),m=function(e){function t(t,n,i,o,r){void 0===r&&(r=void 0);var s=this;return void 0!==r&&(r.type="string",r.enum=o,r.default=i),(s=e.call(this,t,n,i,r)||this)._allowedValues=o,s}return r(t,e),t.stringSet=function(e,t,n){return"string"!=typeof e?t:-1===n.indexOf(e)?t:e},t.prototype.validate=function(e){return t.stringSet(e,this.defaultValue,this._allowedValues)},t}(c),v=function(e){function t(t,n,i,o,r,s,a){void 0===a&&(a=void 0);var l=this;return void 0!==a&&(a.type="string",a.enum=r,a.default=o),(l=e.call(this,t,n,i,a)||this)._allowedValues=r,l._convert=s,l}return r(t,e),t.prototype.validate=function(e){return"string"!=typeof e?this.defaultValue:-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)},t}(u) +;var _,y=function(e){function t(){return e.call(this,2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[n.localize(0,null),n.localize(1,null),n.localize(2,null)],default:"auto",description:n.localize(3,null)})||this}return r(t,e),t.prototype.validate=function(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue},t.prototype.compute=function(e,t,n){return 0===n?e.accessibilitySupport:n},t}(u);!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(_=t.TextEditorCursorStyle||(t.TextEditorCursorStyle={}));var C=function(e){function t(){return e.call(this,100,[53,25])||this}return r(t,e),t.prototype.compute=function(e,t,n){var i="monaco-editor";return t.get(25)&&(i+=" "+t.get(25)),e.extraEditorClassName&&(i+=" "+e.extraEditorClassName), +"default"===t.get(53)?i+=" mouse-default":"copy"===t.get(53)&&(i+=" mouse-copy"),t.get(81)&&(i+=" showUnused"),i},t}(d),b=function(e){function t(){return e.call(this,24,"emptySelectionClipboard",!0,{description:n.localize(4,null)})||this}return r(t,e),t.prototype.compute=function(e,t,n){return n&&e.emptySelectionClipboard},t}(h),S=function(e){function t(){var t={seedSearchStringFromSelection:!0,autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0};return e.call(this,27,"find",t,{"editor.find.seedSearchStringFromSelection":{type:"boolean",default:t.seedSearchStringFromSelection,description:n.localize(5,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[n.localize(6,null),n.localize(7,null),n.localize(8,null)],description:n.localize(9,null)},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:n.localize(10,null),included:i.isMacintosh}, +"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:n.localize(11,null)}})||this}return r(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{seedSearchStringFromSelection:h.boolean(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":m.stringSet(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:h.boolean(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:h.boolean(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop)}},t}(u),w=function(e){function t(){return e.call(this,33,"fontLigatures",t.OFF,{anyOf:[{type:"boolean",description:n.localize(12,null)},{type:"string",description:n.localize(13,null)}],description:n.localize(14,null),default:!1})||this}return r(t,e),t.prototype.validate=function(e){ +return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?t.OFF:"true"===e?t.ON:e:Boolean(e)?t.ON:t.OFF},t.OFF='"liga" off, "calt" off',t.ON='"liga" on, "calt" on',t}(u);t.EditorFontLigatures=w;var E=function(e){function t(){return e.call(this,32)||this}return r(t,e),t.prototype.compute=function(e,t,n){return e.fontInfo},t}(d),L=function(e){function i(){return e.call(this,34,"fontSize",t.EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:t.EDITOR_FONT_DEFAULTS.fontSize,description:n.localize(15,null)})||this}return r(i,e),i.prototype.validate=function(e){var n=f.float(e,this.defaultValue);return 0===n?t.EDITOR_FONT_DEFAULTS.fontSize:f.clamp(n,6,100)},i.prototype.compute=function(e,t,n){return e.fontInfo.fontSize},i}(c),D=function(e){function t(){var t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences", +alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},i={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[n.localize(16,null),n.localize(17,null),n.localize(18,null)]};return e.call(this,39,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:n.localize(19,null)},"editor.gotoLocation.multipleDefinitions":l({description:n.localize(20,null)},i),"editor.gotoLocation.multipleTypeDefinitions":l({description:n.localize(21,null)},i),"editor.gotoLocation.multipleDeclarations":l({description:n.localize(22,null)},i),"editor.gotoLocation.multipleImplementations":l({description:n.localize(23,null)},i),"editor.gotoLocation.multipleReferences":l({description:n.localize(24,null)},i),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,description:n.localize(25,null)}, +"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,description:n.localize(26,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,description:n.localize(27,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,description:n.localize(28,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,description:n.localize(29,null)}})||this}return r(t,e),t.prototype.validate=function(e){var t,n,i,o,r;if("object"!=typeof e)return this.defaultValue;var s=e;return{multiple:m.stringSet(s.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=s.multipleDefinitions,null!=t?t:m.stringSet(s.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"])),multipleTypeDefinitions:(n=s.multipleTypeDefinitions, +null!=n?n:m.stringSet(s.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"])),multipleDeclarations:(i=s.multipleDeclarations,null!=i?i:m.stringSet(s.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"])),multipleImplementations:(o=s.multipleImplementations,null!=o?o:m.stringSet(s.multipleImplementations,"peek",["peek","gotoAndPeek","goto"])),multipleReferences:(r=s.multipleReferences,null!=r?r:m.stringSet(s.multipleReferences,"peek",["peek","gotoAndPeek","goto"])),alternativeDefinitionCommand:g.string(s.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:g.string(s.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:g.string(s.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:g.string(s.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand), +alternativeReferenceCommand:g.string(s.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}},t}(u),N=function(e){function t(){var t={enabled:!0,delay:300,sticky:!0};return e.call(this,42,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:n.localize(30,null)},"editor.hover.delay":{type:"number",default:t.delay,description:n.localize(31,null)},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:n.localize(32,null)}})||this}return r(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:h.boolean(t.enabled,this.defaultValue.enabled),delay:p.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:h.boolean(t.sticky,this.defaultValue.sticky)}},t}(u),x=function(e){function n(){return e.call(this,103,[38,46,29,52,74,48])||this}return r(n,e),n.prototype.compute=function(e,t,i){return n.computeLayout(t,{outerWidth:e.outerWidth,outerHeight:e.outerHeight,lineHeight:e.fontInfo.lineHeight, +lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio})},n.computeLayout=function(e,n){var i,o=0|n.outerWidth,r=0|n.outerHeight,s=0|n.lineHeight,a=0|n.lineNumbersDigitCount,l=n.typicalHalfwidthCharacterWidth,u=n.maxDigitWidth,d=n.pixelRatio,c=e.get(38),h=0!==e.get(48).renderType,f=0|e.get(49),g=e.get(52),m=g.enabled,v=g.side,_=g.renderCharacters,y=d>=2?Math.round(2*g.scale):g.scale,C=0|g.maxColumn,b=e.get(74),S=0|b.verticalScrollbarSize,w=b.verticalHasArrows,E=0|b.arrowSize,L=0|b.horizontalScrollbarSize,D=e.get(46),N=e.get(29);if("string"==typeof D&&/^\d+(\.\d+)?ch$/.test(D)){var x=parseFloat(D.substr(0,D.length-2));i=p.clampedInt(x*l,0,0,1e3)}else i=p.clampedInt(D,0,0,1e3);N&&(i+=16);var I=0;if(h){var M=Math.max(a,f);I=Math.round(M*u)}var k=0;c&&(k=s);var T,R,O,P,A=0,F=A+k,W=F+I,V=W+i,B=o-k-I-i;if(m){var z=y/d;T=_?1:2, +(O=Math.max(0,Math.floor((B-S-2)*z/(l+z)))+t.MINIMAP_GUTTER_WIDTH)/z>C&&(O=Math.floor(C*z)),P=B-O,"left"===v?(R=0,A+=O,F+=O,W+=O,V+=O):R=o-O-S}else R=0,O=0,T=0,P=B;var H=w?E:0;return{width:o,height:r,glyphMarginLeft:A,glyphMarginWidth:k,glyphMarginHeight:r,lineNumbersLeft:F,lineNumbersWidth:I,lineNumbersHeight:r,decorationsLeft:W,decorationsWidth:i,decorationsHeight:r,contentLeft:V,contentWidth:P,contentHeight:r,renderMinimap:T,minimapLeft:R,minimapWidth:O,viewportColumn:Math.max(1,Math.floor((P-S-2)/l)),verticalScrollbarWidth:S,horizontalScrollbarHeight:L,overviewRuler:{top:H,width:S,height:r-2*H,right:0}}},n}(d);t.EditorLayoutInfoComputer=x;var I=function(e){function t(){var t={enabled:!0};return e.call(this,45,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:n.localize(33,null)}})||this}return r(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:h.boolean(t.enabled,this.defaultValue.enabled)}},t +}(u),M=function(e){function i(){return e.call(this,47,"lineHeight",t.EDITOR_FONT_DEFAULTS.lineHeight,0,150,{description:n.localize(34,null)})||this}return r(i,e),i.prototype.compute=function(e,t,n){return e.fontInfo.lineHeight},i}(p),k=function(e){function t(){var t={enabled:!0,side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};return e.call(this,52,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:n.localize(35,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:n.localize(36,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:n.localize(37,null)},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,description:n.localize(38,null)},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:n.localize(39,null)},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn, +description:n.localize(40,null)}})||this}return r(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:h.boolean(t.enabled,this.defaultValue.enabled),side:m.stringSet(t.side,this.defaultValue.side,["right","left"]),showSlider:m.stringSet(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:h.boolean(t.renderCharacters,this.defaultValue.renderCharacters),scale:p.clampedInt(t.scale,1,1,3),maxColumn:p.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}},t}(u);var T=function(e){function t(){var t={enabled:!0,cycle:!1};return e.call(this,62,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:n.localize(41,null)},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:n.localize(42,null)}})||this}return r(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:h.boolean(t.enabled,this.defaultValue.enabled), +cycle:h.boolean(t.cycle,this.defaultValue.cycle)}},t}(u),R=function(e){function t(){return e.call(this,101)||this}return r(t,e),t.prototype.compute=function(e,t,n){return e.pixelRatio},t}(d),O=function(e){function t(){var t=this,i={other:!0,comments:!1,strings:!1};return(t=e.call(this,63,"quickSuggestions",i,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:i.strings,description:n.localize(43,null)},comments:{type:"boolean",default:i.comments,description:n.localize(44,null)},other:{type:"boolean",default:i.other,description:n.localize(45,null)}}}],default:i,description:n.localize(46,null)})||this).defaultValue=i,t}return r(t,e),t.prototype.validate=function(e){if("boolean"==typeof e)return e;if("object"==typeof e){var t=e,n={other:h.boolean(t.other,this.defaultValue.other),comments:h.boolean(t.comments,this.defaultValue.comments),strings:h.boolean(t.strings,this.defaultValue.strings)};return!!(n.other&&n.comments&&n.strings)||!!(n.other||n.comments||n.strings)&&n} +return this.defaultValue},t}(u),P=function(e){function t(){return e.call(this,48,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[n.localize(47,null),n.localize(48,null),n.localize(49,null),n.localize(50,null)],default:"on",description:n.localize(51,null)})||this}return r(t,e),t.prototype.validate=function(e){var t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,n=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:n}},t}(u),A=function(e){function t(){var t=[];return e.call(this,73,"rulers",t,{type:"array",items:{type:"number"},default:t,description:n.localize(52,null)})||this}return r(t,e),t.prototype.validate=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n0?(i=t?(i+1)%o:(i+o-1)%o,n.children[i]):(i=n.parent.groups.indexOf(n),t?(i=(i+1)%r,n.parent.groups[i].children[0]):(i=(i+r-1)%r,n.parent.groups[i].children[n.parent.groups[i].children.length-1]))},e.prototype.nearestReference=function(e,t){var n=this.references.map((function(n,i){return{idx:i,prefixLen:s.commonPrefixLength(n.uri.toString(),e.toString()),offsetDist:100*Math.abs(n.range.startLineNumber-t.lineNumber)+Math.abs(n.range.startColumn-t.column)}})).sort((function(e,t){ +return e.prefixLen>t.prefixLen?-1:e.prefixLent.offsetDist?1:0}))[0];if(n)return this.references[n.idx]},e.prototype.referenceAt=function(e,t){for(var n=0,i=this.references;n=0&&(n._entries.splice(e,1),n._lastCandidate=void 0,n._onDidChange.fire(n._entries.length),o=void 0)}}))},e.prototype.has=function(e){return this.all(e).length>0},e.prototype.all=function(e){if(!e)return[];this._updateScores(e);for(var t=[],n=0,i=this._entries;n0&&t.push(o.provider)}return t},e.prototype.ordered=function(e){var t=[] +;return this._orderedForEach(e,(function(e){return t.push(e.provider)})),t},e.prototype.orderedGroups=function(e){var t,n,i=[];return this._orderedForEach(e,(function(e){t&&n===e._score?t.push(e.provider):(n=e._score,t=[e.provider],i.push(t))})),i},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var n=0,i=this._entries;n0&&t(o)}}},e.prototype._updateScores=function(t){var n={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==n.language||this._lastCandidate.uri!==n.uri){this._lastCandidate=n;for(var i=0,a=this._entries;i0){for(var u=0,d=this._entries;ut._score?-1:e._timet._time?-1:0},e}();t.LanguageFeatureRegistry=a})),define(n[17],i([0,1,22,24,3,479,356]),(function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e,t){this.language=e,this.id=t};t.LanguageIdentifier=a;var l,u=function(){function e(){}return e.getLanguageId=function(e){return(255&e)>>>0},e.getTokenType=function(e){return(1792&e)>>>8},e.getFontStyle=function(e){return(14336&e)>>>11},e.getForeground=function(e){return(8372224&e)>>>14},e.getBackground=function(e){return(4286578688&e)>>>23},e.getClassNameFromMetadata=function(e){var t="mtk"+this.getForeground(e),n=this.getFontStyle(e);return 1&n&&(t+=" mtki"),2&n&&(t+=" mtkb"),4&n&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var n=this.getForeground(e),i=this.getFontStyle(e),o="color: "+t[n]+";";return 1&i&&(o+="font-style: italic;"),2&i&&(o+="font-weight: bold;"),4&i&&(o+="text-decoration: underline;"),o},e}();t.TokenMetadata=u, +t.completionKindToCssClass=((l=Object.create(null))[0]="method",l[1]="function",l[2]="constructor",l[3]="field",l[4]="variable",l[5]="class",l[6]="struct",l[7]="interface",l[8]="module",l[9]="property",l[10]="event",l[11]="operator",l[12]="unit",l[13]="value",l[14]="constant",l[15]="enum",l[16]="enum-member",l[17]="keyword",l[25]="snippet",l[18]="text",l[19]="color",l[20]="file",l[21]="reference",l[22]="customcolor",l[23]="folder",l[24]="type-parameter",function(e){return l[e]||"property"}),t.completionKindFromString=function(){var e=Object.create(null);return e.method=0,e.function=1,e.constructor=2,e.field=3,e.variable=4,e.class=5,e.struct=6,e.interface=7,e.module=8,e.property=9,e.event=10,e.operator=11,e.unit=12,e.value=13,e.constant=14,e.enum=15,e["enum-member"]=16,e.enumMember=16,e.keyword=17,e.snippet=25,e.text=18,e.color=19,e.file=20,e.reference=21,e.customcolor=22,e.folder=23,e["type-parameter"]=24,e.typeParameter=24,function(t,n){var i=e[t];return void 0!==i||n||(i=9),i}}(),function(e){ +e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(t.DocumentHighlightKind||(t.DocumentHighlightKind={})),t.isLocationLink=function(e){return e&&i.URI.isUri(e.uri)&&o.Range.isIRange(e.range)&&(o.Range.isIRange(e.originSelectionRange)||o.Range.isIRange(e.targetSelectionRange))},function(e){var t=new Map;t.set("file",0),t.set("module",1),t.set("namespace",2),t.set("package",3),t.set("class",4),t.set("method",5),t.set("property",6),t.set("field",7),t.set("constructor",8),t.set("enum",9),t.set("interface",10),t.set("function",11),t.set("variable",12),t.set("constant",13),t.set("string",14),t.set("number",15),t.set("boolean",16),t.set("array",17),t.set("object",18),t.set("key",19),t.set("null",20),t.set("enum-member",21),t.set("struct",22),t.set("event",23),t.set("operator",24),t.set("type-parameter",25);var n=new Map +;n.set(0,"file"),n.set(1,"module"),n.set(2,"namespace"),n.set(3,"package"),n.set(4,"class"),n.set(5,"method"),n.set(6,"property"),n.set(7,"field"),n.set(8,"constructor"),n.set(9,"enum"),n.set(10,"interface"),n.set(11,"function"),n.set(12,"variable"),n.set(13,"constant"),n.set(14,"string"),n.set(15,"number"),n.set(16,"boolean"),n.set(17,"array"),n.set(18,"object"),n.set(19,"key"),n.set(20,"null"),n.set(21,"enum-member"),n.set(22,"struct"),n.set(23,"event"),n.set(24,"operator"),n.set(25,"type-parameter"),e.fromString=function(e){return t.get(e)},e.toString=function(e){return n.get(e)},e.toCssClassName=function(e,t){return"codicon "+(t?"inline":"block")+" codicon-symbol-"+(n.get(e)||"property")}}(t.SymbolKinds||(t.SymbolKinds={}));var d=function(){function e(e){this.value=e}return e.Comment=new e("comment"),e.Imports=new e("imports"),e.Region=new e("region"),e}();t.FoldingRangeKind=d,t.isResourceTextEdit=function(e){return n.isObject(e)&&e.resource&&Array.isArray(e.edits)}, +t.ReferenceProviderRegistry=new r.LanguageFeatureRegistry,t.RenameProviderRegistry=new r.LanguageFeatureRegistry,t.CompletionProviderRegistry=new r.LanguageFeatureRegistry,t.SignatureHelpProviderRegistry=new r.LanguageFeatureRegistry,t.HoverProviderRegistry=new r.LanguageFeatureRegistry,t.DocumentSymbolProviderRegistry=new r.LanguageFeatureRegistry,t.DocumentHighlightProviderRegistry=new r.LanguageFeatureRegistry,t.DefinitionProviderRegistry=new r.LanguageFeatureRegistry,t.DeclarationProviderRegistry=new r.LanguageFeatureRegistry,t.ImplementationProviderRegistry=new r.LanguageFeatureRegistry,t.TypeDefinitionProviderRegistry=new r.LanguageFeatureRegistry,t.CodeLensProviderRegistry=new r.LanguageFeatureRegistry,t.CodeActionProviderRegistry=new r.LanguageFeatureRegistry,t.DocumentFormattingEditProviderRegistry=new r.LanguageFeatureRegistry,t.DocumentRangeFormattingEditProviderRegistry=new r.LanguageFeatureRegistry,t.OnTypeFormattingEditProviderRegistry=new r.LanguageFeatureRegistry, +t.LinkProviderRegistry=new r.LanguageFeatureRegistry,t.ColorProviderRegistry=new r.LanguageFeatureRegistry,t.SelectionRangeRegistry=new r.LanguageFeatureRegistry,t.FoldingRangeProviderRegistry=new r.LanguageFeatureRegistry,t.SemanticTokensProviderRegistry=new r.LanguageFeatureRegistry,t.TokenizationRegistry=new s.TokenizationRegistryImpl})),define(n[92],i([0,1,17]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t}return e.prototype.equals=function(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)},e.prototype.slicedEquals=function(e,t,n){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var i=t<<1,o=i+(n<<1),r=i;r0?this._tokens[e-1<<1]:0},e.prototype.getMetadata=function(e){return this._tokens[1+(e<<1)]},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return n.TokenMetadata.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return n.TokenMetadata.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return n.TokenMetadata.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return n.TokenMetadata.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var i=this._tokens[1+(e<<1)];return n.TokenMetadata.getInlineStyleFromMetadata(i,t)},e.prototype.getEndOffset=function(e){return this._tokens[e<<1]},e.prototype.findTokenIndexAtOffset=function(t){return e.findIndexInTokensArray(this._tokens,t)},e.prototype.inflate=function(){return this},e.prototype.sliceAndInflate=function(e,t,n){return new o(this,e,t,n)},e.convertToEndOffset=function(e,t){ +for(var n=(e.length>>>1)-1,i=0;i>>1)-1;nt&&(i=o)}return n},e}();t.LineTokens=i;var o=function(){function e(e,t,n,i){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=i,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var o=this._firstTokenIndex,r=e.getCount();o=n)break;this._tokensCount++}}return e.prototype.equals=function(t){return t instanceof e&&(this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount))},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getForeground=function(e){return this._source.getForeground(this._firstTokenIndex+e)},e.prototype.getEndOffset=function(e){ +var t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset},e.prototype.getClassName=function(e){return this._source.getClassName(this._firstTokenIndex+e)},e.prototype.getInlineStyle=function(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)},e.prototype.findTokenIndexAtOffset=function(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex},e}();t.SlicedLineTokens=o})),define(n[157],i([0,1,19,92,13,17]),(function(e,t,n,i,o,r){"use strict";function s(e){for(var t=0,n=0,i=0,o=0,r=e.length;o>>0}Object.defineProperty(t,"__esModule",{value:!0}),t.countEOL=s;var l=new Uint32Array(0).buffer,u=function(){function e(){this.tokens=[]}return e.prototype.add=function(e,t){ +if(this.tokens.length>0){var n=this.tokens[this.tokens.length-1];if(n.startLineNumber+n.tokens.length-1+1===e)return void n.tokens.push(t)}this.tokens.push(new p(e,[t]))},e}();t.MultilineTokensBuilder=u;var d=function(){function e(e){this._tokens=e,this._tokenCount=e.length/4}return e.prototype.getMaxDeltaLine=function(){var e=this.getTokenCount();return 0===e?-1:this.getDeltaLine(e-1)},e.prototype.getTokenCount=function(){return this._tokenCount},e.prototype.getDeltaLine=function(e){return this._tokens[4*e]},e.prototype.getStartCharacter=function(e){return this._tokens[4*e+1]},e.prototype.getEndCharacter=function(e){return this._tokens[4*e+2]},e.prototype.getMetadata=function(e){return this._tokens[4*e+3]},e.prototype.clear=function(){this._tokenCount=0},e.prototype.acceptDeleteRange=function(e,t,n,i,o){for(var r=this._tokens,s=this._tokenCount,a=i-t,l=0,u=!1,d=0;do?f-=o-n:f=n;else if(h===t&&p===n){ +if(!(h===i&&f>o)){u=!0;continue}f-=o-n}else if(ho)){u=!0;continue}f=h===t?(p=n)+(f-o):(p=0)+(f-o)}else if(h>i){if(0===a&&!u){l=s;break}h-=a}else{if(!(h===i&&p>=o))throw new Error("Not possible!");e&&0===h&&(p+=e,f+=e),h-=a,p-=o-n,f-=o-n}var m=4*l;r[m]=h,r[m+1]=p,r[m+2]=f,r[m+3]=g,l++}}this._tokenCount=l},e.prototype.acceptInsertText=function(e,t,n,i,o,r){for(var s=0===n&&1===i&&(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122),a=this._tokens,l=this._tokenCount,u=0;ut)){for(var s=o;s>n&&e.getDeltaLine(s-1)===t;)s-- +;for(var a=o;a0?t.charCodeAt(0):0)},e.prototype.acceptEdit=function(e,t,n,i,r){this._acceptDeleteRange(e),this._acceptInsertText(new o.Position(e.startLineNumber,e.startColumn),t,n,i,r),this._updateEndLineNumber()},e.prototype._acceptDeleteRange=function(e){if(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn){var t=e.startLineNumber-this.startLineNumber,n=e.endLineNumber-this.startLineNumber;if(n<0){var i=n-t;this.startLineNumber-=i}else{var o=this.tokens.getMaxDeltaLine();if(!(t>=o+1)){if(t<0&&n>=o+1)return this.startLineNumber=0,void this.tokens.clear();if(t<0){var r=-t;this.startLineNumber-=r,this.tokens.acceptDeleteRange(e.startColumn-1,0,0,n,e.endColumn-1)}else this.tokens.acceptDeleteRange(0,t,e.startColumn-1,n,e.endColumn-1)}}}},e.prototype._acceptInsertText=function(e,t,n,i,o){if(0!==t||0!==n){ +var r=e.lineNumber-this.startLineNumber;if(r<0)this.startLineNumber+=t;else r>=this.tokens.getMaxDeltaLine()+1||this.tokens.acceptInsertText(r,e.column-1,t,n,i,o)}},e}();t.MultilineTokens2=h;var p=function(e,t){this.startLineNumber=e,this.tokens=t};function f(e){return e instanceof Uint32Array?e:new Uint32Array(e)}t.MultilineTokens=p;var g=function(){function e(){this._pieces=[]}return e.prototype.flush=function(){this._pieces=[]},e.prototype.set=function(e){this._pieces=e||[]},e.prototype.addSemanticTokens=function(t,n){var o=this._pieces;if(0===o.length)return n;var s=e._findFirstPieceWithLine(o,t),a=this._pieces[s].getLineTokens(t);if(!a)return n;for(var l=n.getCount(),u=a.getCount(),d=0,c=[],h=0,p=0;p0?d-1:d),_=r.TokenMetadata.getLanguageId(v),y=r.TokenMetadata.getTokenType(v);c[h++]=g,c[h++]=4294965248&m|_<<0>>>0|y<<8>>>0}for(;dt)){for(;o>n&&e[o-1].startLineNumber<=t&&t<=e[o-1].endLineNumber;)o--;return o}i=o-1}}return n},e.prototype.acceptEdit=function(e,t,n,i,o){for(var r=0,s=this._pieces;r1&&(o=r.TokenMetadata.getLanguageId(i[1])!==e),!o)return l}if(!i||0===i.length){var s=new Uint32Array(2);return s[0]=t,s[1]=a(e),s.buffer}return i[i.length-2]=t,0===i.byteOffset&&i.byteLength===i.buffer.byteLength?i.buffer:i},e.prototype._ensureLine=function(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var i=[],o=0;o=this._len))if(t.startLineNumber!==t.endLineNumber){this._lineTokens[n]=e._deleteEnding(this._lineTokens[n],t.startColumn-1);var i=t.endLineNumber-1,o=null;i=this._len||(0!==n?(this._lineTokens[o]=e._deleteEnding(this._lineTokens[o],t.column-1),this._lineTokens[o]=e._insert(this._lineTokens[o],t.column-1,i),this._insertLines(t.lineNumber,n)):this._lineTokens[o]=e._insert(this._lineTokens[o],t.column-1,i))}},e._deleteBeginning=function(t,n){return null===t||t===l?t:e._delete(t,0,n)},e._deleteEnding=function(t,n){if(null===t||t===l)return t;var i=f(t),o=i[i.length-2];return e._delete(t,n,o)}, +e._delete=function(e,t,n){if(null===e||e===l||t===n)return e;var o=f(e),r=o.length>>>1;if(0===t&&o[o.length-2]===n)return l;var s,a,u=i.LineTokens.findIndexInTokensArray(o,t),d=u>0?o[u-1<<1]:0;if(na&&(o[s++]=m,o[s++]=o[1+(g<<1)],a=m)}if(s===o.length)return e;var v=new Uint32Array(s);return v.set(o.subarray(0,s),0),v.buffer},e._append=function(e,t){if(t===l)return e;if(e===l)return t;if(null===e)return e;if(null===t)return null;var n=f(e),i=f(t),o=i.length>>>1,r=new Uint32Array(n.length+i.length);r.set(n,0);for(var s=n.length,a=n[n.length-2],u=0;u>>1,s=i.LineTokens.findIndexInTokensArray(o,t);s>0&&(o[s-1<<1]===t&&s--);for(var a=s;a>>0,new n.TokenizationResult2(s,null===o?t.NULL_STATE:o)}})),define(n[480],i([0,1,19,10,92,13,17,63,2,129,157,16]),(function(e,t,n,i,o,s,a,l,u,d,c,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=function(){function e(){this._beginState=[],this._valid=[],this._len=0,this._invalidLineStartIndex=0}return e.prototype._reset=function(e){this._beginState=[],this._valid=[],this._len=0,this._invalidLineStartIndex=0,e&&this._setBeginState(0,e)},e.prototype.flush=function(e){this._reset(e)}, +Object.defineProperty(e.prototype,"invalidLineStartIndex",{get:function(){return this._invalidLineStartIndex},enumerable:!0,configurable:!0}),e.prototype._invalidateLine=function(e){e=this._len;)this._beginState[this._len]=null,this._valid[this._len]=!1,this._len++},e.prototype._deleteLines=function(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._beginState.splice(e,t),this._valid.splice(e,t),this._len-=t)},e.prototype._insertLines=function(e,t){if(0!==t){for(var i=[],o=[],r=0;r=0;o--)this._invalidateLine(e.startLineNumber+o-1);this._acceptDeleteRange(e),this._acceptInsertText(new s.Position(e.startLineNumber,e.startColumn),t)},e.prototype._acceptDeleteRange=function(e){e.startLineNumber-1>=this._len||this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)},e.prototype._acceptInsertText=function(e,t){e.lineNumber-1>=this._len||this._insertLines(e.lineNumber,t)},e}();t.TokenizationStateStore=p;var f=function(e){function t(t){ +var n=e.call(this)||this;return n._isDisposed=!1,n._textModel=t,n._tokenizationStateStore=new p,n._tokenizationSupport=null,n._register(a.TokenizationRegistry.onDidChange((function(e){var t=n._textModel.getLanguageIdentifier();-1!==e.changedLanguages.indexOf(t.language)&&(n._resetTokenizationState(),n._textModel.clearTokens())}))),n._register(n._textModel.onDidChangeRawContentFast((function(e){e.containsEvent(1)&&n._resetTokenizationState()}))),n._register(n._textModel.onDidChangeContentFast((function(e){for(var t=0,i=e.changes.length;t1);){if(this._tokenizeOneInvalidLine(t)>=e)break}this._beginBackgroundTokenization(),this._textModel.setTokens(t.tokens)},t.prototype.tokenizeViewport=function(e,t){var n=new c.MultilineTokensBuilder +;this._tokenizeViewport(n,e,t),this._textModel.setTokens(n.tokens)},t.prototype.reset=function(){this._resetTokenizationState(),this._textModel.clearTokens()},t.prototype.forceTokenization=function(e){var t=new c.MultilineTokensBuilder;this._updateTokensUntilLine(t,e),this._textModel.setTokens(t.tokens)},t.prototype.isCheapToTokenize=function(e){if(!this._tokenizationSupport)return!0;var t=this._tokenizationStateStore.invalidLineStartIndex+1;return!(e>t)&&(e0&&s>=1;s--){var a=this._textModel.getLineFirstNonWhitespaceColumn(s);if(0!==a&&a=0;s--){u=(h=g(l,this._tokenizationSupport,o[s],u)).endState}for(var d=t;d<=n;d++){var c=this._textModel.getLineContent(d),h=g(l,this._tokenizationSupport,c,u);e.add(d,h.tokens),this._tokenizationStateStore.setFakeTokens(d-1),u=h.endState}}},t}(u.Disposable);function g(e,t,n,r){var s=null;if(t)try{s=t.tokenize2(n,r.clone(),0)}catch(e){i.onUnexpectedError(e)}return s||(s=l.nullTokenize2(e.id,n,r,0)),o.LineTokens.convertToEndOffset(s.tokens,n.length),s}t.TextModelTokenization=f})),define(n[29],i([0,1,10,4,2,5,24,38,13,3,21,47,340,341,342,346,344,143,480,106,42,63,144,145,22,157,27]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m,v,_,y,C,b,S,w,E,L,D,N){"use strict";function x(e){var t=new m.PieceTreeTextBufferBuilder;return t.acceptChunk(e),t.finish()}function I(e,t){return("string"==typeof e?x(e):e).create(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.createTextBufferFactory=x,t.createTextBuffer=I;var M=0;t.LONG_LINE_BOUNDARY=1e4 +;var k=function(){throw new Error("Invalid change accessor")},T=function(e){function o(t,n,r,l){void 0===l&&(l=null);var u=e.call(this)||this;u._onWillDispose=u._register(new i.Emitter),u.onWillDispose=u._onWillDispose.event,u._onDidChangeDecorations=u._register(new z),u.onDidChangeDecorations=u._onDidChangeDecorations.event,u._onDidChangeLanguage=u._register(new i.Emitter),u.onDidChangeLanguage=u._onDidChangeLanguage.event,u._onDidChangeLanguageConfiguration=u._register(new i.Emitter),u.onDidChangeLanguageConfiguration=u._onDidChangeLanguageConfiguration.event,u._onDidChangeTokens=u._register(new i.Emitter),u.onDidChangeTokens=u._onDidChangeTokens.event,u._onDidChangeOptions=u._register(new i.Emitter),u.onDidChangeOptions=u._onDidChangeOptions.event,u._onDidChangeAttached=u._register(new i.Emitter),u.onDidChangeAttached=u._onDidChangeAttached.event,u._eventEmitter=u._register(new H),M++,u.id="$model"+M,u.isForSimpleWidget=n.isForSimpleWidget,u._associatedResource=null==l?a.URI.parse("inmemory://model/"+M):l, +u._attachedEditorCount=0,u._buffer=I(t,n.defaultEOL),u._options=o.resolveOptions(u._buffer,n);var c=u._buffer.getLineCount(),h=u._buffer.getValueLengthInRange(new d.Range(1,1,c,u._buffer.getLineLength(c)+1),0);return n.largeFileOptimizations?u._isTooLargeForTokenization=h>o.LARGE_FILE_SIZE_THRESHOLD||c>o.LARGE_FILE_LINE_COUNT_THRESHOLD:u._isTooLargeForTokenization=!1,u._isTooLargeForSyncing=h>o.MODEL_SYNC_LIMIT,u._versionId=1,u._alternativeVersionId=1,u._isDisposed=!1,u._isDisposing=!1,u._languageIdentifier=r||S.NULL_LANGUAGE_IDENTIFIER,u._languageRegistryListener=b.LanguageConfigurationRegistry.onDidChange((function(e){e.languageIdentifier.id===u._languageIdentifier.id&&u._onDidChangeLanguageConfiguration.fire({})})),u._instanceId=s.singleLetterHash(M),u._lastDecorationId=0,u._decorations=Object.create(null),u._decorationsTree=new R,u._commandManager=new p.EditStack(u),u._isUndoing=!1,u._isRedoing=!1,u._trimAutoWhitespaceLines=null,u._tokens=new D.TokensStore,u._tokens2=new D.TokensStore2, +u._tokenization=new y.TextModelTokenization(u),u}return r(o,e),o.createFromString=function(e,t,n,i){return void 0===t&&(t=o.DEFAULT_CREATION_OPTIONS),void 0===n&&(n=null),void 0===i&&(i=null),new o(e,t,n,i)},o.resolveOptions=function(e,t){if(t.detectIndentation){var n=f.guessIndentation(e,t.tabSize,t.insertSpaces);return new h.TextModelResolvedOptions({tabSize:n.tabSize,indentSize:n.tabSize,insertSpaces:n.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new h.TextModelResolvedOptions({tabSize:t.tabSize,indentSize:t.indentSize,insertSpaces:t.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})},o.prototype.onDidChangeRawContentFast=function(e){return this._eventEmitter.fastEvent((function(t){return e(t.rawContentChangedEvent)}))},o.prototype.onDidChangeRawContent=function(e){return this._eventEmitter.slowEvent((function(t){return e(t.rawContentChangedEvent)}))},o.prototype.onDidChangeContentFast=function(e){ +return this._eventEmitter.fastEvent((function(t){return e(t.contentChangedEvent)}))},o.prototype.onDidChangeContent=function(e){return this._eventEmitter.slowEvent((function(t){return e(t.contentChangedEvent)}))},o.prototype.dispose=function(){this._isDisposing=!0,this._onWillDispose.fire(),this._languageRegistryListener.dispose(),this._tokenization.dispose(),this._isDisposed=!0,e.prototype.dispose.call(this),this._isDisposing=!1},o.prototype._assertNotDisposed=function(){if(this._isDisposed)throw new Error("Model is disposed!")},o.prototype._emitContentChangedEvent=function(e,t){this._isDisposing||this._eventEmitter.fire(new v.InternalModelContentChangeEvent(e,t))},o.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=I(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},o.prototype._createContentChanged2=function(e,t,n,i,o,r,s){return{changes:[{range:e,rangeOffset:t,rangeLength:n,text:i}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:o,isRedoing:r, +isFlush:s}},o.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),n=this.getValueLengthInRange(t),i=this.getLineCount(),o=this.getLineMaxColumn(i);this._buffer=e,this._increaseVersionId(),this._tokens.flush(),this._tokens2.flush(),this._decorations=Object.create(null),this._decorationsTree=new R,this._commandManager=new p.EditStack(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new v.ModelRawContentChangedEvent([new v.ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new d.Range(1,1,i,o),0,n,this.getValue(),!1,!1,!0))}},o.prototype.setEOL=function(e){this._assertNotDisposed();var t=1===e?"\r\n":"\n";if(this._buffer.getEOL()!==t){var n=this.getFullModelRange(),i=this.getValueLengthInRange(n),o=this.getLineCount(),r=this.getLineMaxColumn(o);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(), +this._emitContentChangedEvent(new v.ModelRawContentChangedEvent([new v.ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new d.Range(1,1,o,r),0,i,this.getValue(),!1,!1,!1))}},o.prototype._onBeforeEOLChange=function(){var e=this.getVersionId(),t=this._decorationsTree.search(0,!1,!1,e);this._ensureNodesHaveRanges(t)},o.prototype._onAfterEOLChange=function(){for(var e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder(),n=0,i=t.length;n0},o.prototype.getAttachedEditorCount=function(){return this._attachedEditorCount},o.prototype.isTooLargeForSyncing=function(){return this._isTooLargeForSyncing},o.prototype.isTooLargeForTokenization=function(){return this._isTooLargeForTokenization},o.prototype.isDisposed=function(){return this._isDisposed},o.prototype.isDominatedByLongLines=function(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;for(var e=0,n=0,i=this._buffer.getLineCount(),o=1;o<=i;o++){var r=this._buffer.getLineLength(o);r>=t.LONG_LINE_BOUNDARY?n+=r:e+=r}return n>e},Object.defineProperty(o.prototype,"uri",{get:function(){return this._associatedResource},enumerable:!0,configurable:!0}),o.prototype.getOptions=function(){return this._assertNotDisposed(),this._options},o.prototype.getFormattingOptions=function(){return{tabSize:this._options.indentSize, +insertSpaces:this._options.insertSpaces}},o.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,n=void 0!==e.indentSize?e.indentSize:this._options.indentSize,i=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,o=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,r=new h.TextModelResolvedOptions({tabSize:t,indentSize:n,insertSpaces:i,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:o});if(!this._options.equals(r)){var s=this._options.createChangeEvent(r);this._options=r,this._onDidChangeOptions.fire(s)}},o.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var n=f.guessIndentation(this._buffer,t,e);this.updateOptions({insertSpaces:n.insertSpaces,tabSize:n.tabSize,indentSize:n.tabSize})},o._normalizeIndentationFromWhitespace=function(e,t,n){for(var i=0,o=0;othis.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(e)},o.prototype.getLineLength=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)},o.prototype.getLinesContent=function(){return this._assertNotDisposed(),this._buffer.getLinesContent()},o.prototype.getEOL=function(){return this._assertNotDisposed(),this._buffer.getEOL()},o.prototype.getLineMinColumn=function(e){return this._assertNotDisposed(),1},o.prototype.getLineMaxColumn=function(e){if(this._assertNotDisposed(), +e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1},o.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)},o.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)},o.prototype._validateRangeRelaxedNoAllocations=function(e){var t,n,i=this._buffer.getLineCount(),o=e.startLineNumber,r=e.startColumn;if(o<1)t=1,n=1;else if(o>i)t=i,n=this.getLineMaxColumn(t);else{if(t=0|o,r<=1)n=1;else n=r>=(h=this.getLineMaxColumn(t))?h:0|r}var s,a,l=e.endLineNumber,u=e.endColumn;if(l<1)s=1,a=1;else if(l>i)s=i,a=this.getLineMaxColumn(s);else{var h;if(s=0|l,u<=1)a=1;else a=u>=(h=this.getLineMaxColumn(s))?h:0|u} +return o===t&&r===n&&l===s&&u===a&&e instanceof d.Range&&!(e instanceof c.Selection)?e:new d.Range(t,n,s,a)},o.prototype._isValidPosition=function(e,t,n){if("number"!=typeof e||"number"!=typeof t)return!1;if(isNaN(e)||isNaN(t))return!1;if(e<1||t<1)return!1;if((0|e)!==e||(0|t)!==t)return!1;if(e>this._buffer.getLineCount())return!1;if(t>this.getLineMaxColumn(e))return!1;if(n&&t!==s.getCharContainingOffset(this._buffer.getLineContent(e),t-1)[0]+1)return!1;return!0},o.prototype._validatePosition=function(e,t,n){var i=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(i<1)return new u.Position(1,1);if(i>r)return new u.Position(r,this.getLineMaxColumn(r));if(o<=1)return new u.Position(i,1);var a=this.getLineMaxColumn(i);if(o>=a)return new u.Position(i,a);if(n){var l=s.getCharContainingOffset(this._buffer.getLineContent(i),o-1)[0];if(o!==l+1)return new u.Position(i,l+1)}return new u.Position(i,o)},o.prototype.validatePosition=function(e){ +return this._assertNotDisposed(),e instanceof u.Position&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},o.prototype._isValidRange=function(e,t){var n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(n,i,!1))return!1;if(!this._isValidPosition(o,r,!1))return!1;if(t){var a=this._buffer.getLineContent(n);if(i=2){var l=o===n?a:this._buffer.getLineContent(o);if(r!==s.getCharContainingOffset(l,r-2)[1]+1)return!1}return!0}return!0},o.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof d.Range&&!(e instanceof c.Selection)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),n=this._validatePosition(e.endLineNumber,e.endColumn,!1),i=t.lineNumber,o=t.column,r=n.lineNumber,a=n.column,l=i===r&&o===a,u=this._buffer.getLineContent(i);if(o=2){var p=r===i?u:this._buffer.getLineContent(r),f=s.getCharContainingOffset(p,a-2)[1];a!==f+1&&(a=f+1)}return new d.Range(i,o,r,a)},o.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var n=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,n)))},o.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new d.Range(1,1,e,this.getLineMaxColumn(e))},o.prototype.findMatchesLineByLine=function(e,t,n,i){return this._buffer.findMatchesLineByLine(e,t,n,i)},o.prototype.findMatches=function(e,t,n,i,o,r,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=d.Range.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!n&&e.indexOf("\n")<0){var l=new _.SearchParams(e,n,i,o).parseSearchRequest();return l?this.findMatchesLineByLine(a,l,r,s):[]} +return _.TextModelSearch.findMatches(this,new _.SearchParams(e,n,i,o),a,r,s)},o.prototype.findNextMatch=function(e,t,n,i,o,r){this._assertNotDisposed();var s=this.validatePosition(t);if(!n&&e.indexOf("\n")<0){var a=new _.SearchParams(e,n,i,o).parseSearchRequest();if(!a)return null;var l=this.getLineCount(),u=new d.Range(s.lineNumber,s.column,l,this.getLineMaxColumn(l)),c=this.findMatchesLineByLine(u,a,r,1);return _.TextModelSearch.findNextMatch(this,new _.SearchParams(e,n,i,o),s,r),c.length>0?c[0]:(u=new d.Range(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(c=this.findMatchesLineByLine(u,a,r,1)).length>0?c[0]:null)}return _.TextModelSearch.findNextMatch(this,new _.SearchParams(e,n,i,o),s,r)},o.prototype.findPreviousMatch=function(e,t,n,i,o,r){this._assertNotDisposed();var s=this.validatePosition(t);return _.TextModelSearch.findPreviousMatch(this,new _.SearchParams(e,n,i,o),s,r)},o.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},o.prototype.pushEOL=function(e){ +if(("\n"===this.getEOL()?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},o.prototype.pushEditOperations=function(e,t,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},o.prototype._pushEditOperations=function(e,t,n){var i=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var o=t.map((function(e){return{range:i.validateRange(e.range),text:e.text}})),r=!0,s=0,a=e.length;sl.endLineNumber,f=l.startLineNumber>_.endLineNumber;if(!p&&!f){u=!0;break}}if(!u){r=!1;break}}if(r)for(s=0,a=this._trimAutoWhitespaceLines.length;s_.endLineNumber)&&!(g===_.startLineNumber&&_.startColumn===m&&_.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(0)||g===_.startLineNumber&&1===_.startColumn&&_.isEmpty()&&y&&y.length>0&&"\n"===y.charAt(y.length-1))){v=!1;break}}v&&t.push({range:new d.Range(g,1,g,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,n)},o.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},o.prototype._applyEdits=function(e){for(var t=0,n=e.length;t0?u.text.charCodeAt(0):0),this._onDidChangeDecorations.fire(),this._decorationsTree.acceptReplace(u.rangeOffset,u.rangeLength,u.text.length,u.forceMoveMarkers);for(var f=u.range.startLineNumber,g=u.range.endLineNumber,m=g-f,_=c,y=Math.min(m,_),C=_-m,b=y;b>=0;b--){var S=f+b,w=r-l-C+S;a.push(new v.ModelRawLineChanged(S,this.getLineContent(w)))}if(ythis.getLineCount()?[]:this.getLinesDecorations(e,e,t,n)},o.prototype.getLinesDecorations=function(e,t,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var o=this.getLineCount(),r=Math.min(o,Math.max(1,e)),s=Math.min(o,Math.max(1,t)),a=this.getLineMaxColumn(s) +;return this._getDecorationsInRange(new d.Range(r,1,s,a),n,i)},o.prototype.getDecorationsInRange=function(e,t,n){void 0===t&&(t=0),void 0===n&&(n=!1);var i=this.validateRange(e);return this._getDecorationsInRange(i,t,n)},o.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!0,n);return this._ensureNodesHaveRanges(i)},o.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var n=this.getVersionId(),i=this._decorationsTree.search(e,t,!1,n);return this._ensureNodesHaveRanges(i)},o.prototype._getDecorationsInRange=function(e,t,n){var i=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),r=this.getVersionId(),s=this._decorationsTree.intervalSearch(i,o,t,n,r);return this._ensureNodesHaveRanges(s)},o.prototype._ensureNodesHaveRanges=function(e){for(var t=0,n=e.length;tthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokens.setTokens(this._languageIdentifier.id,e-1,this._buffer.getLineLength(e),t)},o.prototype.setTokens=function(e){if(0!==e.length){for(var t=[],n=0,i=e.length;nthis.getLineCount())throw new Error("Illegal value for lineNumber");this._tokenization.forceTokenization(e)},o.prototype.isCheapToTokenize=function(e){return this._tokenization.isCheapToTokenize(e)}, +o.prototype.tokenizeIfCheap=function(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)},o.prototype.getLineTokens=function(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(e)},o.prototype._getLineTokens=function(e){var t=this.getLineContent(e),n=this._tokens.getTokens(this._languageIdentifier.id,e-1,t);return this._tokens2.addSemanticTokens(e,n)},o.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},o.prototype.getModeId=function(){return this._languageIdentifier.language},o.prototype.setMode=function(e){if(this._languageIdentifier.id!==e.id){var t={oldLanguage:this._languageIdentifier.language,newLanguage:e.language};this._languageIdentifier=e,this._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},o.prototype.getLanguageIdAtPosition=function(e,t){var n=this.validatePosition(new u.Position(e,t)),i=this.getLineTokens(n.lineNumber);return i.getLanguageId(i.findTokenIndexAtOffset(n.column-1))}, +o.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var t=this.validatePosition(e),n=this.getLineContent(t.lineNumber),i=this._getLineTokens(t.lineNumber),r=i.findTokenIndexAtOffset(t.column-1),s=o._findLanguageBoundaries(i,r),a=s[0],l=s[1],u=C.getWordAtText(t.column,b.LanguageConfigurationRegistry.getWordDefinition(i.getLanguageId(r)),n.substring(a,l),a);if(u&&u.startColumn<=e.column&&e.column<=u.endColumn)return u;if(r>0&&a===t.column-1){var d=o._findLanguageBoundaries(i,r-1),c=d[0],h=d[1],p=C.getWordAtText(t.column,b.LanguageConfigurationRegistry.getWordDefinition(i.getLanguageId(r-1)),n.substring(c,h),c);if(p&&p.startColumn<=e.column&&e.column<=p.endColumn)return p}return null},o._findLanguageBoundaries=function(e,t){for(var n=e.getLanguageId(t),i=0,o=t;o>=0&&e.getLanguageId(o)===n;o--)i=e.getStartOffset(o);for(var r=e.getLineContent().length,s=(o=t,e.getCount());o0&&n.getStartOffset(o)===e.column-1){var d=o-1,c=b.LanguageConfigurationRegistry.getBracketsSupport(n.getLanguageId(d));if(c&&!w.ignoreBracketsInToken(n.getStandardTokenType(d))){var h;s=Math.max(0,e.column-1-c.maxBracketLength),a=Math.min(i.length,e.column-1+c.maxBracketLength);if((h=E.BracketsUtils.findPrevBracketInRange(c.reversedRegex,t,i,s,a))&&h.startColumn<=e.column&&e.column<=h.endColumn){var p;u=i.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(p=this._matchFoundBracket(h,c.textIsBracket[u],c.textIsOpenBracket[u]))return p}}}return null}, +o.prototype._matchFoundBracket=function(e,t,n){if(!t)return null;var i;if(n){if(i=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,i]}else if(i=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,i];return null},o.prototype._findMatchingBracketUp=function(e,t){for(var n=e.languageIdentifier.id,i=e.reversedRegex,o=-1,r=function(t,n,r,s){for(;;){var a=E.BracketsUtils.findPrevBracketInRange(i,t,n,r,s);if(!a)break;var l=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(e.isOpen(l)?o++:e.isClose(l)&&o--,0===o)return a;s=a.startColumn-1}return null},s=t.lineNumber;s>=1;s--){var a=this._getLineTokens(s),l=a.getCount(),u=this._buffer.getLineContent(s),d=l-1,c=u.length,h=u.length;s===t.lineNumber&&(d=a.findTokenIndexAtOffset(t.column-1),c=t.column-1,h=t.column-1);for(var p=!0;d>=0;d--){var f,g=a.getLanguageId(d)===n&&!w.ignoreBracketsInToken(a.getStandardTokenType(d));if(g)p?c=a.getStartOffset(d):(c=a.getStartOffset(d),h=a.getEndOffset(d));else if(p&&c!==h)if(f=r(s,u,c,h))return f;p=g} +if(p&&c!==h)if(f=r(s,u,c,h))return f}return null},o.prototype._findMatchingBracketDown=function(e,t){for(var n=e.languageIdentifier.id,i=e.forwardRegex,o=1,r=function(t,n,r,s){for(;;){var a=E.BracketsUtils.findNextBracketInRange(i,t,n,r,s);if(!a)break;var l=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(e.isOpen(l)?o++:e.isClose(l)&&o--,0===o)return a;r=a.endColumn-1}return null},s=this.getLineCount(),a=t.lineNumber;a<=s;a++){var l=this._getLineTokens(a),u=l.getCount(),d=this._buffer.getLineContent(a),c=0,h=0,p=0;a===t.lineNumber&&(c=l.findTokenIndexAtOffset(t.column-1),h=t.column-1,p=t.column-1);for(var f=!0;c=1;o--){ +var r=this._getLineTokens(o),s=r.getCount(),a=this._buffer.getLineContent(o),l=s-1,u=a.length,d=a.length;if(o===t.lineNumber)l=r.findTokenIndexAtOffset(t.column-1),u=t.column-1,d=t.column-1,n!==(h=r.getLanguageId(l))&&(n=h,i=b.LanguageConfigurationRegistry.getBracketsSupport(n));for(var c=!0;l>=0;l--){var h;if(n!==(h=r.getLanguageId(l))){if(i&&c&&u!==d){if(p=E.BracketsUtils.findPrevBracketInRange(i.reversedRegex,o,a,u,d))return this._toFoundBracket(i,p);c=!1}n=h,i=b.LanguageConfigurationRegistry.getBracketsSupport(n)}var p,f=!!i&&!w.ignoreBracketsInToken(r.getStandardTokenType(l));if(f)c?u=r.getStartOffset(l):(u=r.getStartOffset(l),d=r.getEndOffset(l));else if(i&&c&&u!==d)if(p=E.BracketsUtils.findPrevBracketInRange(i.reversedRegex,o,a,u,d))return this._toFoundBracket(i,p);c=f}if(i&&c&&u!==d)if(p=E.BracketsUtils.findPrevBracketInRange(i.reversedRegex,o,a,u,d))return this._toFoundBracket(i,p)}return null},o.prototype.findNextBracket=function(e){ +for(var t=this.validatePosition(e),n=this.getLineCount(),i=-1,o=null,r=t.lineNumber;r<=n;r++){var s=this._getLineTokens(r),a=s.getCount(),l=this._buffer.getLineContent(r),u=0,d=0,c=0;if(r===t.lineNumber)u=s.findTokenIndexAtOffset(t.column-1),d=t.column-1,c=t.column-1,i!==(p=s.getLanguageId(u))&&(i=p,o=b.LanguageConfigurationRegistry.getBracketsSupport(i));for(var h=!0;ut)return null;var p=this._getLineTokens(h),f=p.getCount(),g=this._buffer.getLineContent(h),m=0,v=0,_=0;if(h===i.lineNumber)m=p.findTokenIndexAtOffset(i.column-1),v=i.column-1,_=i.column-1,u!==(C=p.getLanguageId(m))&&a(u=C,d=b.LanguageConfigurationRegistry.getBracketsSupport(u));for(var y=!0;mo)throw new Error("Illegal value for lineNumber") +;for(var r=b.LanguageConfigurationRegistry.getFoldingRules(this._languageIdentifier.id),s=Boolean(r&&r.offSide),a=-2,l=-1,u=-2,d=-1,c=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,l=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){a=t,l=n;break}}}if(-2===u){u=-1,d=-1;for(t=e;t=0){u=t,d=r;break}}}},h=-2,p=-1,f=-2,g=-1,m=function(e){if(-2===h){h=-1,p=-1;for(var t=e-2;t>=0;t--){var n=i._computeIndentLevel(t);if(n>=0){h=t,p=n;break}}}if(-1!==f&&(-2===f||f=0){f=t,g=r;break}}}},v=0,_=!0,y=0,C=!0,S=0,w=0;_||C;w++){var E=e-w,L=e+w;if(0!==w&&(E<1||Eo||L>n)&&(C=!1),w>5e4&&(_=!1,C=!1),_){var D=void 0;if((N=this._computeIndentLevel(E-1))>=0?(u=E-1,d=N,D=Math.ceil(N/this._options.indentSize)):(c(E),D=this._getIndentLevelForWhitespaceLine(s,l,d)),0===w){if(v=E,y=L,0===(S=D))return{startLineNumber:v,endLineNumber:y,indent:S};continue}D>=S?v=E:_=!1}if(C){var N,x=void 0 +;(N=this._computeIndentLevel(L-1))>=0?(h=L-1,p=N,x=Math.ceil(N/this._options.indentSize)):(m(L),x=this._getIndentLevelForWhitespaceLine(s,p,g)),x>=S?y=L:C=!1}}return{startLineNumber:v,endLineNumber:y,indent:S}},o.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var n=this.getLineCount();if(e<1||e>n)throw new Error("Illegal value for startLineNumber");if(t<1||t>n)throw new Error("Illegal value for endLineNumber");for(var i=b.LanguageConfigurationRegistry.getFoldingRules(this._languageIdentifier.id),o=Boolean(i&&i.offSide),r=new Array(t-e+1),s=-2,a=-1,l=-2,u=-1,d=e;d<=t;d++){var c=d-e,h=this._computeIndentLevel(d-1);if(h>=0)s=d-1,a=h,r[c]=Math.ceil(h/this._options.indentSize);else{if(-2===s){s=-1,a=-1;for(var p=d-2;p>=0;p--){if((f=this._computeIndentLevel(p))>=0){s=p,a=f;break}}}if(-1!==l&&(-2===l||l=0){l=p,u=f;break}}}r[c]=this._getIndentLevelForWhitespaceLine(o,a,u)}}return r}, +o.prototype._getIndentLevelForWhitespaceLine=function(e,t,n){return-1===t||-1===n?0:t0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(o.Disposable) +;t.DidChangeContentEmitter=H})),define(n[39],i([0,1,10,5,13,3,21,29,42]),(function(e,t,n,i,o,r,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(){return!0},d=function(){return!1},c=function(e){return" "===e||"\t"===e};function h(e,t,n){e.has(t)?e.get(t).push(n):e.set(t,[n])}var p=function(){function e(t,n,i){this._languageIdentifier=t;var o=i.options,r=o.get(103);this.readOnly=o.get(65),this.tabSize=n.tabSize,this.indentSize=n.indentSize,this.insertSpaces=n.insertSpaces,this.lineHeight=o.get(47),this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=o.get(91),this.wordSeparators=o.get(92),this.emptySelectionClipboard=o.get(24),this.copyWithSyntaxHighlighting=o.get(14),this.multiCursorMergeOverlapping=o.get(56),this.multiCursorPaste=o.get(58),this.autoClosingBrackets=o.get(5),this.autoClosingQuotes=o.get(7),this.autoClosingOvertype=o.get(6),this.autoSurround=o.get(10),this.autoIndent=o.get(8),this.autoClosingPairsOpen2=new Map, +this.autoClosingPairsClose2=new Map,this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:e._getShouldAutoClose(t,this.autoClosingQuotes),bracket:e._getShouldAutoClose(t,this.autoClosingBrackets)};var s=e._getAutoClosingPairs(t);if(s)for(var a=0,l=s;a=65536?2:1,9===u)a=e.nextRenderTabStop(a,o);else{for(var d=i.getGraphemeBreakType(u);l=65536?2:1,d=h}i.isFullWidthCharacter(u)||i.isEmojiImprecise(u)?a+=2:a+=1}}return a},e.visibleColumnFromColumn2=function(e,t,n){return this.visibleColumnFromColumn(t.getLineContent(n.lineNumber),n.column,e.tabSize)},e.columnFromVisibleColumn=function(t,n,o){if(n<=0)return 1;for(var r=t.length,s=0,a=1,l=0;l=65536?2:1;var d=void 0;if(9===u)d=e.nextRenderTabStop(s,o);else{for(var c=i.getGraphemeBreakType(u);l=65536?2:1,c=p}d=i.isFullWidthCharacter(u)||i.isEmojiImprecise(u)?s+2:s+1}var f=l+1;if(d>=n)return d-ns?s:o},e.nextRenderTabStop=function(e,t){return e+t-e%t},e.nextIndentTabStop=function(e,t){return e+t-e%t},e.prevRenderTabStop=function(e,t){return e-1-(e-1)%t},e.prevIndentTabStop=function(e,t){return e-1-(e-1)%t},e}();t.CursorColumns=C,t.isQuote=function(e){return"'"===e||'"'===e||"`"===e}})),define(n[207],i([0,1,5,39,3,21,42]),(function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=Object.create(null);function l(e,t){a[e]||(a[e]=["",e]);for(var n=a[e],i=n.length;i<=t;i++)n[i]=n[i-1]+e;return n[t]}t.cachedStringRepeat=l;var u=function(){function e(e,t){this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}return e.unshiftIndent=function(e,t,n,o,r){var s=i.CursorColumns.visibleColumnFromColumn(e,t,n);if(r){var a=l(" ",o) +;return l(a,i.CursorColumns.prevIndentTabStop(s,o)/o)}return l(a="\t",i.CursorColumns.prevRenderTabStop(s,n)/n)},e.shiftIndent=function(e,t,n,o,r){var s=i.CursorColumns.visibleColumnFromColumn(e,t,n);if(r){var a=l(" ",o);return l(a,i.CursorColumns.nextIndentTabStop(s,o)/o)}return l(a="\t",i.CursorColumns.nextRenderTabStop(s,n)/n)},e.prototype._addEditOperation=function(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)},e.prototype.getEditOperations=function(t,r){var a=this._selection.startLineNumber,u=this._selection.endLineNumber;1===this._selection.endColumn&&a!==u&&(u-=1);var d=this._opts,c=d.tabSize,h=d.indentSize,p=d.insertSpaces,f=a===u;if(this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(a))&&(this._useLastEditRangeForCursorEndPosition=!0),this._opts.useTabStops)for(var g=0,m=0,v=a;v<=u;v++,g=m){m=0;var _=t.getLineContent(v),y=n.firstNonWhitespaceIndex(_) +;if((!this._opts.isUnshift||0!==_.length&&0!==y)&&(f||this._opts.isUnshift||0!==_.length)){if(-1===y&&(y=_.length),v>1)if(i.CursorColumns.visibleColumnFromColumn(_,y+1,c)%h!=0&&t.isCheapToTokenize(v-1)){var C=s.LanguageConfigurationRegistry.getEnterAction(this._opts.autoIndent,t,new o.Range(v-1,t.getLineMaxColumn(v-1),v-1,t.getLineMaxColumn(v-1)));if(C){if(m=g,C.appendText)for(var b=0,S=C.appendText.length;ba,c=s>l,h=sl)continue;if(ys)continue;if(_1&&o--,e.columnSelect(t,n,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,o)},e.columnSelectRight=function(e,t,o){for(var r=0,s=Math.min(o.fromViewLineNumber,o.toViewLineNumber),a=Math.max(o.fromViewLineNumber,o.toViewLineNumber),l=s;l<=a;l++){var u=t.getLineMaxColumn(l),d=n.CursorColumns.visibleColumnFromColumn2(e,t,new i.Position(l,u));r=Math.max(r,d)}var c=o.toViewVisualColumn;return ce.getLineMinColumn(t)?n-=r.prevCharLength(e.getLineContent(t),n-1):t>1&&(t-=1,n=e.getLineMaxColumn(t)),new i.Position(t,n)},e.left=function(t,n,i,o){var r=e.leftPosition(n,i,o);return new s(r.lineNumber,r.column,0)},e.moveLeft=function(t,n,i,o,r){var s,a;if(i.hasSelection()&&!o)s=i.selection.startLineNumber,a=i.selection.startColumn;else{var l=e.left(t,n,i.position.lineNumber,i.position.column-(r-1));s=l.lineNumber,a=l.column}return i.move(o,s,a,0)},e.rightPosition=function(e,t,n){ +return nd?(i=d,o=l?t.getLineMaxColumn(i):Math.min(t.getLineMaxColumn(i),o)):o=n.CursorColumns.columnFromVisibleColumn2(e,t,i,u),r=u-n.CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize),new s(i,o,r)},e.moveDown=function(t,n,i,o,r){var s,a;i.hasSelection()&&!o?(s=i.selection.endLineNumber,a=i.selection.endColumn):(s=i.position.lineNumber,a=i.position.column) +;var l=e.down(t,n,s,a,i.leftoverVisibleColumns,r,!0);return i.move(o,l.lineNumber,l.column,l.leftoverVisibleColumns)},e.translateDown=function(t,r,s){var a=s.selection,l=e.down(t,r,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),u=e.down(t,r,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.SingleCursorState(new o.Range(l.lineNumber,l.column,l.lineNumber,l.column),l.leftoverVisibleColumns,new i.Position(u.lineNumber,u.column),u.leftoverVisibleColumns)},e.up=function(e,t,i,o,r,a,l){var u=n.CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize)+r;return(i-=a)<1?(i=1,o=l?t.getLineMinColumn(i):Math.min(t.getLineMaxColumn(i),o)):o=n.CursorColumns.columnFromVisibleColumn2(e,t,i,u),r=u-n.CursorColumns.visibleColumnFromColumn(t.getLineContent(i),o,e.tabSize),new s(i,o,r)},e.moveUp=function(t,n,i,o,r){var s,a;i.hasSelection()&&!o?(s=i.selection.startLineNumber,a=i.selection.startColumn):(s=i.position.lineNumber, +a=i.position.column);var l=e.up(t,n,s,a,i.leftoverVisibleColumns,r,!0);return i.move(o,l.lineNumber,l.column,l.leftoverVisibleColumns)},e.translateUp=function(t,r,s){var a=s.selection,l=e.up(t,r,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),u=e.up(t,r,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.SingleCursorState(new o.Range(l.lineNumber,l.column,l.lineNumber,l.column),l.leftoverVisibleColumns,new i.Position(u.lineNumber,u.column),u.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,n,i){var o,r=n.position.lineNumber,s=t.getLineMinColumn(r),a=t.getLineFirstNonWhitespaceColumn(r)||s;return o=n.position.column===a?s:a,n.move(i,r,o,0)},e.moveToEndOfLine=function(e,t,n,i){var o=n.position.lineNumber,r=t.getLineMaxColumn(o);return n.move(i,o,r,0)},e.moveToBeginningOfBuffer=function(e,t,n,i){return n.move(i,1,1,0)},e.moveToEndOfBuffer=function(e,t,n,i){var o=t.getLineCount(),r=t.getLineMaxColumn(o) +;return n.move(i,o,r,0)},e}();t.MoveOperations=a})),define(n[208],i([0,1,5,79,39,158,3]),(function(e,t,n,i,o,r,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(){}return e.deleteRight=function(e,t,n,o){for(var a=[],l=3!==e,u=0,d=o.length;u1){var m=a.getLineContent(g.lineNumber),v=n.firstNonWhitespaceIndex(m),_=-1===v?m.length+1:v+1;if(g.column<=_){var y=o.CursorColumns.visibleColumnFromColumn2(t,a,g),C=o.CursorColumns.prevIndentTabStop(y,t.indentSize),b=o.CursorColumns.columnFromVisibleColumn2(t,a,g.lineNumber,C);f=new s.Range(g.lineNumber,b,g.lineNumber,g.column)}else f=new s.Range(g.lineNumber,g.column-1,g.lineNumber,g.column)}else{ +var S=r.MoveOperations.left(t,a,g.lineNumber,g.column);f=new s.Range(S.lineNumber,S.column,g.lineNumber,g.column)}}f.isEmpty()?u[c]=null:(f.startLineNumber!==f.endLineNumber&&(d=!0),u[c]=new i.ReplaceCommand(f,""))}return[d,u]},e.cut=function(e,t,n){for(var r=[],a=0,l=n.length;a1?(c=d.lineNumber-1,h=t.getLineMaxColumn(d.lineNumber-1),p=d.lineNumber,f=t.getLineMaxColumn(d.lineNumber)):(c=d.lineNumber,h=1,p=d.lineNumber,f=t.getLineMaxColumn(d.lineNumber));var g=new s.Range(c,h,p,f);g.isEmpty()?r[a]=null:r[a]=new i.ReplaceCommand(g,"")}else r[a]=null;else r[a]=new i.ReplaceCommand(u,"")}return new o.EditOperationResult(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}();t.DeleteOperations=a})),define(n[159],i([0,1,10,5,79,207,338,39,88,3,21,89,42]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p){ +"use strict";Object.defineProperty(t,"__esModule",{value:!0});var f=function(){function e(){}return e.indent=function(e,t,n){if(null===t||null===n)return[];for(var i=[],o=0,r=n.length;o1){var l=void 0;for(l=o-1;l>=1;l--){var u=n.getLineContent(l);if(i.lastNonWhitespaceIndex(u)>=0)break}if(l<1)return null;var c=n.getLineMaxColumn(l),f=p.LanguageConfigurationRegistry.getEnterAction(t.autoIndent,n,new d.Range(l,c,l,c));f&&(s=f.indentation+f.appendText)}return r&&(r===h.IndentAction.Indent&&(s=e.shiftIndent(t,s)),r===h.IndentAction.Outdent&&(s=e.unshiftIndent(t,s)),s=t.normalizeIndentation(s)),s||null},e._replaceJumpToNextIndent=function(e,t,n,i){var r="",s=n.getStartPosition();if(e.insertSpaces)for(var a=l.CursorColumns.visibleColumnFromColumn2(e,t,s),u=e.indentSize,d=u-a%u,c=0;c=4){var C=p.LanguageConfigurationRegistry.getIndentForEnter(t.autoIndent,n,s,{unshiftIndent:function(n){return e.unshiftIndent(t,n)},shiftIndent:function(n){return e.shiftIndent(t,n)},normalizeIndentation:function(e){return t.normalizeIndentation(e)}});if(C){var b=l.CursorColumns.visibleColumnFromColumn2(t,n,s.getEndPosition()),S=s.endColumn,w="\n";y!==t.normalizeIndentation(C.beforeEnter)&&(w=t.normalizeIndentation(C.beforeEnter)+_.substring(y.length,s.startColumn-1)+"\n",s=new d.Range(s.startLineNumber,1,s.endLineNumber,s.endColumn));var E=n.getLineContent(s.endLineNumber),L=i.firstNonWhitespaceIndex(E) +;if(s=L>=0?s.setEndPosition(s.endLineNumber,Math.max(s.endColumn,L+1)):s.setEndPosition(s.endLineNumber,n.getLineMaxColumn(s.endLineNumber)),r)return new o.ReplaceCommandWithoutChangingPosition(s,w+t.normalizeIndentation(C.afterEnter),!0);var D=0;return S<=L+1&&(t.insertSpaces||(b=Math.ceil(b/t.indentSize)),D=Math.min(b+1-t.normalizeIndentation(C.afterEnter).length-1,0)),new o.ReplaceCommandWithOffsetCursorState(s,w+t.normalizeIndentation(C.afterEnter),0,D,!0)}}return e._typeCommand(s,"\n"+t.normalizeIndentation(y),r)},e._isAutoIndentType=function(e,t,n){if(e.autoIndent<4)return!1;for(var i=0,o=n.length;i2?d.charCodeAt(u.column-2):0)&&c)return!1;if("auto"===e.autoClosingOvertype){for(var h=!1,p=0,f=i.length;pr.open.length){for(var u=!0,c=0,h=n;cv.column-1){var y=_.charAt(v.column-1);if(!e._isBeforeClosingBrace(t,c,y)&&!h(y))return null}if(!i.isCheapToTokenize(v.lineNumber))return null;if(1===c.open.length&&a&&"always"!==d){var C=u.getMapForWordSeparators(t.wordSeparators);if(s&&v.column>1&&0===C.get(_.charCodeAt(v.column-2)))return null;if(!s&&v.column>2&&0===C.get(_.charCodeAt(v.column-3)))return null}i.forceTokenization(v.lineNumber);var b=i.getLineTokens(v.lineNumber),S=!1;try{S=p.LanguageConfigurationRegistry.shouldAutoClosePair(c,b,s?v.column:v.column-1)}catch(e){n.onUnexpectedError(e)}if(!S)return null}return c},e._runAutoClosingOpenCharType=function(e,t,n,i,o,r,s){for(var a=[],u=0,d=i.length;u=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(0===s){if(2===i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1));i=1}else if(2===s){if(1===i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1));i=2}else if(1===s&&0!==i)return this._createWord(e,i,s,o+1,this._findEndOfWord(e,t,i,o+1))}return 0!==i?this._createWord(e,i,1,0,this._findEndOfWord(e,t,i,0)):null},e._findEndOfWord=function(e,t,n,i){for(var o=e.length,r=i;r=0;o--){var r=e.charCodeAt(o),s=t.get(r);if(1===s)return o+1;if(1===n&&2===s)return o+1;if(2===n&&0===s)return o+1}return 0},e.moveWordLeft=function(t,n,i,o){var r=i.lineNumber,a=i.column,l=!1;1===a&&r>1&&(l=!0,r-=1,a=n.getLineMaxColumn(r));var u=e._findPreviousWordOnLine(t,n,new s.Position(r,a));if(0===o){if(u&&!l)if(n.getLineLastNonWhitespaceColumn(r)1?new s.Position(i-1,e.getLineMaxColumn(i-1)):t;for(var r=e.getLineContent(i),a=t.column-1;a>1;a--){var l=r.charCodeAt(a-2),u=r.charCodeAt(a-1);if(95!==l&&95===u)return new s.Position(i,a);if(n.isLowerAsciiLetter(l)&&n.isUpperAsciiLetter(u))return new s.Position(i,a);if(n.isUpperAsciiLetter(l)&&n.isUpperAsciiLetter(u)&&a+1=u.start+1&&(u=e._findNextWordOnLine(t,n,new s.Position(r,u.end+1))),a=u?u.start+1:n.getLineMaxColumn(r);return new s.Position(r,a)},e._moveWordPartRight=function(e,t){var i=t.lineNumber,o=e.getLineMaxColumn(i);if(t.column===o)return i1?d=1:(u--,d=n.getLineMaxColumn(u)):(h&&d<=h.end+1&&(h=e._findPreviousWordOnLine(t,n,new s.Position(u,h.start+1))),h?d=h.end+1:d>1?d=1:(u--,d=n.getLineMaxColumn(u))),new a.Range(u,d,l.lineNumber,l.column)},e._deleteWordPartLeft=function(t,n){if(!n.isEmpty())return n;var i=n.getPosition(),o=e._moveWordPartLeft(t,i);return new a.Range(i.lineNumber,i.column,o.lineNumber,o.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var n=e.length,i=t;i=f.start+1&&(f=e._findNextWordOnLine(t,n,new s.Position(u,f.end+1))),f?d=f.start+1:dd&&(c=d,h=e.model.getLineMaxColumn(c)),i.CursorState.fromModelState(new i.SingleCursorState(new a.Range(l.lineNumber,1,c,h),0,new s.Position(c,h),0))}var p=t.modelState.selectionStart.getStartPosition().lineNumber;if(l.lineNumberp){d=e.viewModel.getLineCount();var f=u.lineNumber+1,g=1;return f>d&&(f=d, +g=e.viewModel.getLineMaxColumn(f)),i.CursorState.fromViewState(t.viewState.move(t.modelState.hasSelection(),f,g,0))}var m=t.modelState.selectionStart.getEndPosition();return i.CursorState.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,n,o){var s=e.model.validatePosition(o);return i.CursorState.fromModelState(r.WordOperations.word(e.config,e.model,t.modelState,n,s))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new i.CursorState(t.modelState,t.viewState);var n=t.viewState.position.lineNumber,o=t.viewState.position.column;return i.CursorState.fromViewState(new i.SingleCursorState(new a.Range(n,o,n,o),0,new s.Position(n,o),0))},e.moveTo=function(e,t,n,o,r){var a=e.model.validatePosition(o),l=r?e.validateViewPosition(new s.Position(r.lineNumber,r.column),a):e.convertModelPositionToViewPosition(a);return i.CursorState.fromViewState(t.viewState.move(n,l.lineNumber,l.column,0))},e.move=function(e,t,n){var i=n.select,o=n.value +;switch(n.direction){case 0:return 4===n.unit?this._moveHalfLineLeft(e,t,i):this._moveLeft(e,t,i,o);case 1:return 4===n.unit?this._moveHalfLineRight(e,t,i):this._moveRight(e,t,i,o);case 2:return 2===n.unit?this._moveUpByViewLines(e,t,i,o):this._moveUpByModelLines(e,t,i,o);case 3:return 2===n.unit?this._moveDownByViewLines(e,t,i,o):this._moveDownByModelLines(e,t,i,o);case 4:return this._moveToViewMinColumn(e,t,i);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,i);case 6:return this._moveToViewCenterColumn(e,t,i);case 7:return this._moveToViewMaxColumn(e,t,i);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,i);case 9:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,o),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,l)];case 11:r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,o),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,l)];case 10: +r=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,i,a,l)];case 12:for(var u=e.getCompletelyVisibleViewRange(),d=[],c=0,h=t.length;cn.endLineNumber-1&&(r=n.endLineNumber-1),rn){var r=t-n;for(o=0;o=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(this.context),this.secondaryCursors.splice(e,1)},e.prototype._getAll=function(){var e=[];e[0]=this.primaryCursor;for(var t=0,n=this.secondaryCursors.length;tp&&L.index--}e.splice(p,1),t.splice(h,1),this._removeSecondaryCursor(p-1),s--}}}}},e}() +;t.CursorCollection=r})),define(n[484],i([0,1,10,4,5,483,39,208,159,3,21,68,80,2]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var g=function(e,t,n,i,o,r){this.selections=e,this.modelVersionId=t,this.oldSelections=n,this.oldModelVersionId=i,this.source=o,this.reason=r};t.CursorStateChangedEvent=g;var m=function(){function e(e,t){this.modelVersionId=e.getVersionId(),this.cursorState=t.getAll()}return e.prototype.equals=function(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(var t=0,n=this.cursorState.length;t=t.length)return!1;if(!t[n].strictContainsRange(e[n]))return!1}return!0},e}(),_=function(e){function t(t,n,o){var r=e.call(this)||this +;r._onDidReachMaxCursorCount=r._register(new i.Emitter),r.onDidReachMaxCursorCount=r._onDidReachMaxCursorCount.event,r._onDidAttemptReadOnlyEdit=r._register(new i.Emitter),r.onDidAttemptReadOnlyEdit=r._onDidAttemptReadOnlyEdit.event,r._onDidChange=r._register(new i.Emitter),r.onDidChange=r._onDidChange.event,r._configuration=t,r._model=n,r._knownModelVersionId=r._model.getVersionId(),r._viewModel=o,r.context=new a.CursorContext(r._configuration,r._model,r._viewModel),r._cursors=new s.CursorCollection(r.context),r._isHandling=!1,r._isDoingComposition=!1,r._selectionsWhenCompositionStarted=null,r._columnSelectData=null,r._autoClosedActions=[],r._prevEditOperationType=0,r._register(r._model.onDidChangeRawContent((function(e){if(r._knownModelVersionId=e.versionId,!r._isHandling){var t=e.containsEvent(1);r._onModelContentChanged(t)}}))),r._register(o.addEventListener((function(e){(function(e){for(var t=0,n=e.length;t0)for(var e=this._cursors.getSelections(),t=0;tt.MAX_CURSOR_COUNT&&(i=i.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var o=new m(this._model,this);this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,n,o)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,n,i){this._revealRange(e,n,0,t,i)},t.prototype.revealRange=function(e,t,n,i,o){this.emitCursorRevealRange(e,n,i,t,o)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),n=0,i=t.length;n0&&this._pushAutoClosedAction(n,i),this._prevEditOperationType=e.type} +e.shouldPushStackElementAfter&&this._model.pushStackElement()}},t.prototype._interpretCommandResult=function(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()},t.prototype._emitStateChangedIfNecessary=function(e,t,n){var i=new m(this._model,this);if(i.equals(n))return!1;var o=this._cursors.getSelections(),r=this._cursors.getViewSelections();try{this._beginEmit().emit(new p.ViewCursorStateChangedEvent(r))}finally{this._endEmit()}if(!n||n.cursorState.length!==i.cursorState.length||i.cursorState.some((function(e,t){return!e.modelState.equals(n.cursorState[t].modelState)}))){var s=n?n.cursorState.map((function(e){return e.modelState.selection})):null,a=n?n.modelVersionId:0;this._onDidChange.fire(new g(o,i.modelVersionId,s,a,e||"keyboard",t))}return!0},t.prototype._revealRange=function(e,t,n,i,o){var r=this._cursors.getViewPositions(),s=r[0] +;if(1===t)for(var a=1;a1)return;var l=new d.Range(s.lineNumber,s.column,s.lineNumber,s.column);this.emitCursorRevealRange(e,l,n,i,o)},t.prototype.emitCursorRevealRange=function(e,t,n,i,o){try{this._beginEmit().emit(new p.ViewRevealRangeRequestEvent(e,t,n,i,o))}finally{this._endEmit()}},t.prototype._findAutoClosingPairs=function(e){if(!e.length)return null;for(var t=[],n=0,i=e.length;n=0)return null;var r=o.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!r)return null;var s=r[1],a=this.context.config.autoClosingPairsClose2.get(s);if(!a||1!==a.length)return null;var l=a[0].open,u=o.text.length-r[2].length-1,d=o.text.lastIndexOf(l,u-1);if(-1===d)return null;t.push([d,u])}return t},t.prototype.executeEdits=function(e,t,n){var i=this,o=null;"snippet"===e&&(o=this._findAutoClosingPairs(t)),o&&(t[0]._isTracked=!0) +;var r=[],s=[],a=this._model.pushEditOperations(this.getSelections(),t,(function(e){if(o)for(var t=0,a=o.length;t0&&this._pushAutoClosedAction(r,s)},t.prototype.trigger=function(e,t,i){var o=h.Handler;if(t===o.CompositionStart)return this._isDoingComposition=!0,void(this._selectionsWhenCompositionStarted=this.getSelections().slice(0));if(t===o.CompositionEnd&&(this._isDoingComposition=!1),this._configuration.options.get(65))this._onDidAttemptReadOnlyEdit.fire(void 0);else{var r=new m(this._model,this),s=0;t!==o.Undo&&t!==o.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case o.Type:this._type(e,i.text);break;case o.ReplacePreviousChar: +this._replacePreviousChar(i.text,i.replaceCharCnt);break;case o.Paste:s=4,this._paste(i.text,i.pasteOnNewLine,i.multicursorText);break;case o.Cut:this._cut();break;case o.Undo:s=5,this._interpretCommandResult(this._model.undo());break;case o.Redo:s=6,this._interpretCommandResult(this._model.redo());break;case o.ExecuteCommand:this._externalExecuteCommand(i);break;case o.ExecuteCommands:this._externalExecuteCommands(i);break;case o.CompositionEnd:this._interpretCompositionEnd(e)}}catch(e){n.onUnexpectedError(e)}this._isHandling=!1,t!==o.Undo&&t!==o.Redo&&this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,s,r)&&this._revealRange(e,0,0,!0,0)}},t.prototype._interpretCompositionEnd=function(e){if(!this._isDoingComposition&&"keyboard"===e){var t=v.getAllAutoClosedCharacters(this._autoClosedActions) +;this._executeEditOperation(u.TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this._selectionsWhenCompositionStarted,this.getSelections(),t)),this._selectionsWhenCompositionStarted=null}},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(u.TypeOperations.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var n=t.length,i=0;i0&&(r[0]._isTracked=!0);var l=e.model.pushEditOperations(e.selectionsBefore,r,(function(n){for(var i=[],o=0;o0?(i[n].sort(l),u[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:function(){return i[n]},getTrackedSelection:function(t){var n=parseInt(t,10),i=e.model._getTrackedRange(e.trackedRanges[n]) +;return 0===e.trackedRangesDirection[n]?new c.Selection(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn):new c.Selection(i.endLineNumber,i.endColumn,i.startLineNumber,i.startColumn)}})):u[n]=e.selectionsBefore[n]};for(o=0;oo.identifier.major?i.identifier.major:o.identifier.major).toString()]=!0 +;for(var s=0;s0&&n--}}return t},e}()})),define(n[210],i([0,1,5,92,63]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={getInitialState:function(){return o.NULL_STATE},tokenize2:function(e,t,n){return o.nullTokenize2(0,e,t,n)}};t.tokenizeToString=function(e,t){return void 0===t&&(t=r),function(e,t){for(var o='
    ',r=e.split(/\r\n|\r|\n/),s=t.getInitialState(),a=0,l=r.length;a0&&(o+="
    ");var d=t.tokenize2(u,s,0);i.LineTokens.convertToEndOffset(d.tokens,u.length);for(var c=new i.LineTokens(d.tokens,u).inflate(),h=0,p=0,f=c.getCount();p'+n.escape(u.substring(h,m))+"",h=m}s=d.endState}return o+="
    "}(e,t||r)},t.tokenizeLineToHTML=function(e,t,n,i,o,r,s){for(var a="
    ",l=i,u=0,d=0,c=t.getCount();d0;)p+=s?" ":" ",g--;break;case 60:p+="<";break;case 62:p+=">";break;case 38:p+="&";break;case 0:p+="�";break;case 65279:case 8232:p+="�";break;case 13:p+="​";break;case 32:p+=s?" ":" ";break;default:p+=String.fromCharCode(f)}}if(a+=''+p+"",h>o||l>=o)break}}return a+="
    "}})),define(n[84],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITextModelService=n.createDecorator("textModelService")})),define(n[161],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ITextResourceConfigurationService=n.createDecorator("textResourceConfigurationService"),t.ITextResourcePropertiesService=n.createDecorator("textResourcePropertiesService")})),define(n[211],i([0,1,4,337,17]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}) +;var r=function(){function e(){var e=this;this._onDidChange=new n.Emitter,this.onDidChange=this._onDidChange.event,this._updateColorMap(),o.TokenizationRegistry.onDidChange((function(t){t.changedColorMap&&e._updateColorMap()}))}return e.getInstance=function(){return this._INSTANCE||(this._INSTANCE=new e),this._INSTANCE},e.prototype._updateColorMap=function(){var e=o.TokenizationRegistry.getColorMap();if(!e)return this._colors=[i.RGBA8.Empty],void(this._backgroundIsLight=!0);this._colors=[i.RGBA8.Empty];for(var t=1;t=.5,this._onDidChange.fire(void 0)},e.prototype.getColor=function(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]},e.prototype.backgroundIsLight=function(){return this._backgroundIsLight},e._INSTANCE=null,e}();t.MinimapTokensColorTracker=r})),define(n[212],i([0,1,13,3,29,80,148,69]),(function(e,t,n,i,o,r,s,a){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var l=function(e,t){this.outputLineIndex=e,this.outputOffset=t};t.OutputPosition=l;var u=function(){function e(e){this._lines=e}return e.prototype.convertViewPositionToModelPosition=function(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)},e.prototype.convertViewRangeToModelRange=function(e){var t=this._lines.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new i.Range(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var n=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),o=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new i.Range(n.lineNumber,n.column,o.lineNumber,o.column)}, +e.prototype.convertModelPositionToViewPosition=function(e){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column)},e.prototype.convertModelRangeToViewRange=function(e){return this._lines.convertModelRangeToViewRange(e)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}();t.CoordinatesConverter=u;var d=function(){function e(e,t,n,i,o,r){this.model=e,this._validModelVersionId=-1,this.tabSize=n,this.wrappingColumn=i,this.columnsForFullWidthChar=o,this.wrappingIndent=r,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new u(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("ViewModel is out of sync with Model!");this.lines.length!==this.model.getLineCount()&&this._constructLines(!1)}, +e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var n=this.model.getLinesContent(),o=n.length,r=new Uint32Array(o),a=this.hiddenAreasIds.map((function(e){return t.model.getDecorationRange(e)})).sort(i.Range.compareRangesUsingStarts),l=1,u=0,d=-1,c=d+1=l&&p<=u,m=f(this.linePositionMapperFactory,n[h],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!g);r[h]=m.getViewLineCount(),this.lines[h]=m}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new s.PrefixSumComputerWithCache(r)},e.prototype.getHiddenAreas=function(){var e=this;return this.hiddenAreasIds.map((function(t){return e.model.getDecorationRange(t)}))},e.prototype._reduceRanges=function(e){var t=this;if(0===e.length)return[];for(var n=e.map((function(e){return t.model.validateRange(e) +})).sort(i.Range.compareRangesUsingStarts),o=[],r=n[0].startLineNumber,s=n[0].endLineNumber,a=1,l=n.length;as+1?(o.push(new i.Range(r,1,s,1)),r=u.startLineNumber,s=u.endLineNumber):u.endLineNumber>s&&(s=u.endLineNumber)}return o.push(new i.Range(r,1,s,1)),o},e.prototype.setHiddenAreas=function(e){var t=this,n=this._reduceRanges(e),r=this.hiddenAreasIds.map((function(e){return t.model.getDecorationRange(e)})).sort(i.Range.compareRangesUsingStarts);if(n.length===r.length){for(var s=!1,a=0;a=p&&_<=f?this.lines[a].isVisible()&&(this.lines[a]=this.lines[a].setVisible(!1),y=!0):(v=!0,this.lines[a].isVisible()||(this.lines[a]=this.lines[a].setVisible(!0),y=!0)),y){var C=this.lines[a].getViewLineCount();this.prefixSumComputer.changeValue(a,C)}}return v||this.setHiddenAreas([]),!0},e.prototype.modelPositionIsVisible=function(e,t){return!(e<1||e>this.lines.length)&&this.lines[e-1].isVisible()},e.prototype.setTabSize=function(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1),!0)},e.prototype.setWrappingSettings=function(e,t,n){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==n)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=n,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,n){if(e<=this._validModelVersionId)return null +;var i=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,o=this.prefixSumComputer.getAccumulatedValue(n-1);return this.lines.splice(t-1,n-t+1),this.prefixSumComputer.removeValues(t-1,n-t+1),new r.ViewLinesDeletedEvent(i,o)},e.prototype.onModelLinesInserted=function(e,t,i,o){if(e<=this._validModelVersionId)return null;for(var s=this.getHiddenAreas(),a=!1,l=new n.Position(t,1),u=0,d=s;ul?(m=(g=(c=(d=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+l-1)+1)+(o-l)-1,u=!0):ot?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,n){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);var i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),r=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),s=this.model.getActiveIndentGuide(i.lineNumber,o.lineNumber,r.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),l=this.convertModelPositionToViewPosition(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber));return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){ +this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),o=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),r=[],s=[],a=[],l=i.lineNumber-1,u=o.lineNumber-1,d=null,c=l;c<=u;c++){var h=this.lines[c];if(h.isVisible()){var p=h.getViewLineNumberOfModelPosition(0,c===l?i.column:1),f=h.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(c+1)),g=0;(S=f-p+1)>1&&1===h.getViewLineMinColumn(this.model,c+1,f)&&(g=0===p?1:2),s.push(S),a.push(g),null===d&&(d=new n.Position(c+1,0))}else null!==d&&(r=r.concat(this.model.getLinesIndentGuides(d.lineNumber,c)),d=null)}null!==d&&(r=r.concat(this.model.getLinesIndentGuides(d.lineNumber,o.lineNumber)),d=null);for(var m=t-e+1,v=new Array(m),_=0,y=0,C=r.length;yt&&(p=!0,h=t-o+1);var f=c+h;if(d.getViewLinesData(this.model,l+1,c,f,o-e,n,a),o+=h,p)break}}return a},e.prototype.validateViewPosition=function(e,t,i){this._ensureValidState(),e=this._toValidViewLineNumber(e);var o=this.prefixSumComputer.getIndexOf(e-1),r=o.index,s=o.remainder,a=this.lines[r],l=a.getViewLineMinColumn(this.model,r+1,s),u=a.getViewLineMaxColumn(this.model,r+1,s);tu&&(t=u);var d=a.getModelColumnOfViewPosition(s,t) +;return this.model.validatePosition(new n.Position(r+1,d)).equals(i)?new n.Position(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var i=this.prefixSumComputer.getIndexOf(e-1),o=i.index,r=i.remainder,s=this.lines[o].getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new n.Position(o+1,s))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var i=this.model.validatePosition(new n.Position(e,t)),o=i.lineNumber,r=i.column,s=o-1,a=!1;s>0&&!this.lines[s].isVisible();)s--,a=!0;if(0===s&&!this.lines[s].isVisible())return new n.Position(1,1);var l=1+(0===s?0:this.prefixSumComputer.getAccumulatedValue(s-1));return a?this.lines[s].getViewPositionOfModelPosition(l,this.model.getLineMaxColumn(s+1)):this.lines[o-1].getViewPositionOfModelPosition(l,r)},e.prototype.convertModelRangeToViewRange=function(e){ +var t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return e.startLineNumber===e.endLineNumber&&t.lineNumber!==n.lineNumber&&n.column===this.getViewLineMinColumn(n.lineNumber)?new i.Range(t.lineNumber,t.column,n.lineNumber-1,this.getViewLineMaxColumn(n.lineNumber-1)):new i.Range(t.lineNumber,t.column,n.lineNumber,n.column)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var n=e-1;if(this.lines[n].isVisible()){var i=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(i,t)}for(;n>0&&!this.lines[n].isVisible();)n--;if(0===n&&!this.lines[n].isVisible())return 1;var o=1+(0===n?0:this.prefixSumComputer.getAccumulatedValue(n-1));return this.lines[n].getViewLineNumberOfModelPosition(o,this.model.getLineMaxColumn(n+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,n){ +for(var i=this.model.getOverviewRulerDecorations(e,t),o=new v,r=0,s=i;rt.id?1:0:n}));for(var p=[],f=0,g=null,m=0,v=a;m0&&(r=this.wrappedIndent+r),r},e.prototype.getViewLineLength=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),o=this.getInputEndOffsetOfOutputLineIndex(e,t,n)-i;return n>0&&(o=this.wrappedIndent.length+o),o},e.prototype.getViewLineMinColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");return n>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,n){if(!this._isVisible)throw new Error("Not supported") +;return this.getViewLineContent(e,t,n).length+1},e.prototype.getViewLineData=function(e,t,n){if(!this._isVisible)throw new Error("Not supported");var i=this.getInputStartOffsetOfOutputLineIndex(n),o=this.getInputEndOffsetOfOutputLineIndex(e,t,n),r=e.getValueInRange({startLineNumber:t,startColumn:i+1,endLineNumber:t,endColumn:o+1});n>0&&(r=this.wrappedIndent+r);var s=n>0?this.wrappedIndentLength+1:1,l=r.length+1,u=n+10&&(d=this.wrappedIndentLength);var c=e.getLineTokens(t);return new a.ViewLineData(r,u,s,l,c.sliceAndInflate(i,o,d))},e.prototype.getViewLinesData=function(e,t,n,i,o,r,s){if(!this._isVisible)throw new Error("Not supported");for(var a=n;a0&&(n0&&(r+=this.wrappedIndentLength),new n.Position(e+o,r)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function f(e,t,n,i,o,r,s){var a=e.createLineMapping(t,n,i,o,r);return null===a?s?c.INSTANCE:h.INSTANCE:new p(a,s)}t.SplitLine=p;var g=function(){function e(e){this._lines=e}return e.prototype._validPosition=function(e){return this._lines.model.validatePosition(e)},e.prototype._validRange=function(e){return this._lines.model.validateRange(e)},e.prototype.convertViewPositionToModelPosition=function(e){return this._validPosition(e)},e.prototype.convertViewRangeToModelRange=function(e){return this._validRange(e)}, +e.prototype.validateViewPosition=function(e,t){return this._validPosition(t)},e.prototype.validateViewRange=function(e,t){return this._validRange(t)},e.prototype.convertModelPositionToViewPosition=function(e){return this._validPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this._validRange(e)},e.prototype.modelPositionIsVisible=function(e){var t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)},e}();t.IdentityCoordinatesConverter=g;var m=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new g(this)},e.prototype.getHiddenAreas=function(){return[]},e.prototype.setHiddenAreas=function(e){return!1},e.prototype.setTabSize=function(e){return!1},e.prototype.setWrappingSettings=function(e,t,n){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,n){return new r.ViewLinesDeletedEvent(t,n)},e.prototype.onModelLinesInserted=function(e,t,n,i){ +return new r.ViewLinesInsertedEvent(t,n)},e.prototype.onModelLineChanged=function(e,t,n){return[!1,new r.ViewLinesChangedEvent(t,t),null,null]},e.prototype.acceptVersionId=function(e){},e.prototype.getViewLineCount=function(){return this.model.getLineCount()},e.prototype.warmUpLookupCache=function(e,t){},e.prototype.getActiveIndentGuide=function(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var n=t-e+1,i=new Array(n),o=0;o=t)return void(n>s&&(o[o.length-1]=n));o.push(i,t,n)}else this.result[e]=[i,t,n]},e}()})),define(n[485],i([0,1,5,78,130,148,212]),(function(e,t,n,i,o,s,a){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var l=function(e){function t(t,n,i){for(var o=e.call(this,0)||this,r=0;r=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(i.CharacterClassifier),u=function(){function e(e,t,n){this.classifier=new l(e,t,n)}return e.nextVisibleColumn=function(e,t,n,i){return e=+e,t=+t,i=+i,n?e+(t-e%t):e+i},e.prototype.createLineMapping=function(t,i,r,a,l){if(-1===r)return null;i=+i,r=+r,a=+a;var u=0,c="",h=-1;if(0!==(l=+l)&&-1!==(h=n.firstNonWhitespaceIndex(t))){c=t.substring(0,h);for(var p=0;pr&&(c="",u=0)}var g=this.classifier,m=0,v=[],_=0,y=0,C=-1,b=0,S=-1,w=0,E=t.length;for(p=0;p0){var x=t.charCodeAt(p-1);1!==g.get(x)&&(C=p,b=u)}var I=1;if(n.isFullWidthCharacter(L)&&(I=a),(y=e.nextVisibleColumn(y,i,D,I))>r&&0!==p){var M=void 0,k=void 0;-1!==C&&b<=r?(M=C,k=b):-1!==S&&w<=r?(M=S,k=w):(M=p,k=u),v[_++]=M-m,m=M,y=e.nextVisibleColumn(k,i,D,I),C=-1,b=0,S=-1,w=0}if(-1!==C&&(b=e.nextVisibleColumn(b,i,D,I)),-1!==S&&(w=e.nextVisibleColumn(w,i,D,I)),2===N&&(0===l||p>=h)&&(C=p+1,b=u),4===N&&p=2&&e.viewportStartLineTrackedRange){var m=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(m){var v=e.coordinatesConverter.convertModelPositionToViewPosition(m.getStartPosition()),_=e.viewLayout.getVerticalOffsetForLineNumber(v.lineNumber);e.viewLayout.setScrollPositionNow({scrollTop:_+e.viewportStartLineDelta})}}}))),this._register(this.model.onDidChangeTokens((function(t){for(var n=[],i=0,o=t.ranges.length;il||(r0&&c[p-1]===c[p]||(h+=this.model.getLineContent(c[p])+o);return h}if(r&&t){for(var f=[],g=0,m=0,v=e;m'+this._getHTMLToCopy(n,s)+""},t.prototype._getHTMLToCopy=function(e,t){for(var n=e.startLineNumber,i=e.startColumn,o=e.endLineNumber,r=e.endColumn,s=this.getTabSize(),a="",l=n;l<=o;l++){var d=this.model.getLineTokens(l),c=d.getLineContent(),h=l===n?i-1:0,p=l===o?r-1:c.length;a+=""===c?"
    ":u.tokenizeLineToHTML(c,d.inflate(),t,h,p,s,_.isWindows)}return a},t.prototype._getColorMap=function(){var e=l.TokenizationRegistry.getColorMap(),t=["#000000"];if(e)for(var i=1,o=e.length;in.MAX_LINE_NUMBER||t>n.MAX_LINE_NUMBER)){var o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),o=new Uint32Array(this._length),r=this._length-1,s=0;r>=0;r--,s++)t[s]=this._startIndexes[r],o[s]=this._endIndexes[r];return new n.FoldingRegions(t,o)}var a=0,l=this._indentOccurrences.length;for(r=0;rthis._foldingRangesLimit){l=r;break}a+=u}}var d=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),r=this._length-1,s=0;r>=0;r--){ +var c=this._startIndexes[r],h=e.getLineContent(c),p=i.TextModel.computeIndentLevel(h,d);(p0;h--){var p=e.getLineContent(h),f=i.TextModel.computeIndentLevel(p,s),g=d[d.length-1];if(-1!==f){var m=void 0;if(u&&(m=p.match(u))){if(!m[1]){d.push({indent:-2,endAbove:h,line:h});continue}for(var v=d.length-1;v>0&&-2!==d[v].indent;)v--;if(v>0){d.length=v+1,g=d[v],l.insertFirst(h,g.line,f),g.line=h,g.indent=f,g.endAbove=h;continue}}if(g.indent>f){do{d.pop(),g=d[d.length-1]}while(g.indent>f);var _=g.endAbove-1;_-h>=1&&l.insertFirst(h,_,f)}g.indent===f?g.endAbove=h:d.push({indent:f,endAbove:h,line:h})}else t&&(g.endAbove=h)}return l.toIndentRanges(e)} +t.RangesCollector=a,t.computeRanges=l})),define(n[490],i([0,1,5,207,3,21,89,42,384]),(function(e,t,n,i,o,r,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t,n){this._selection=e,this._isMovingDown=t,this._autoIndent=n,this._selectionId=null,this._moveEndLineSelectionShrink=!1}return e.prototype.getEditOperations=function(e,t){var i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i)this._selectionId=t.trackSelection(this._selection);else if(this._isMovingDown||1!==this._selection.startLineNumber){this._moveEndPositionDown=!1;var s=this._selection;s.startLineNumber=s.startLineNumber+1&&t<=s.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var L=a.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,f,e.getLanguageIdAtPosition(v,1),s.startLineNumber+1,p);if(null!==L){b=n.getLeadingWhitespace(e.getLineContent(s.startLineNumber));if((S=l.getSpaceCnt(L,d))!==(I=l.getSpaceCnt(b,d))){var D=S-I;this.getIndentEditsOfMovingBlock(e,t,s,d,h,D)}}} +}else t.addEditOperation(new o.Range(s.startLineNumber,1,s.startLineNumber,1),y+"\n")}else{var N;if(v=s.startLineNumber-1,_=e.getLineContent(v),t.addEditOperation(new o.Range(v,1,v+1,1),null),t.addEditOperation(new o.Range(s.endLineNumber,e.getLineMaxColumn(s.endLineNumber),s.endLineNumber,e.getLineMaxColumn(s.endLineNumber)),"\n"+_),this.shouldAutoIndent(e,s))if(f.getLineContent=function(t){return t===v?e.getLineContent(s.startLineNumber):e.getLineContent(t)},null!==(N=this.matchEnterRule(e,p,d,s.startLineNumber,s.startLineNumber-2)))0!==N&&this.getIndentEditsOfMovingBlock(e,t,s,d,h,N);else{var x=a.LanguageConfigurationRegistry.getGoodIndentForLine(this._autoIndent,f,e.getLanguageIdAtPosition(s.startLineNumber,1),v,p);if(null!==x){var I,M=n.getLeadingWhitespace(e.getLineContent(s.startLineNumber));if((S=l.getSpaceCnt(x,d))!==(I=l.getSpaceCnt(M,d))){D=S-I;this.getIndentEditsOfMovingBlock(e,t,s,d,h,D)}}}}}this._selectionId=t.trackSelection(s)}else this._selectionId=t.trackSelection(this._selection)}, +e.prototype.buildIndentConverter=function(e,t,n){return{shiftIndent:function(o){return i.ShiftCommand.shiftIndent(o,o.length+1,e,t,n)},unshiftIndent:function(o){return i.ShiftCommand.unshiftIndent(o,o.length+1,e,t,n)}}},e.prototype.matchEnterRule=function(e,t,i,r,u,d){for(var c=u;c>=1;){var h=void 0;if(h=c===u&&void 0!==d?d:e.getLineContent(c),n.lastNonWhitespaceIndex(h)>=0)break;c--}if(c<1||r>e.getLineCount())return null;var p=e.getLineMaxColumn(c),f=a.LanguageConfigurationRegistry.getEnterAction(this._autoIndent,e,new o.Range(c,p,c,p));if(f){var g=f.indentation;f.indentAction===s.IndentAction.None?g=f.indentation+f.appendText:f.indentAction===s.IndentAction.Indent?g=f.indentation+f.appendText:f.indentAction===s.IndentAction.IndentOutdent?g=f.indentation:f.indentAction===s.IndentAction.Outdent&&(g=t.unshiftIndent(f.indentation)+f.appendText);var m=e.getLineContent(r);if(this.trimLeft(m).indexOf(this.trimLeft(g))>=0){ +var v=n.getLeadingWhitespace(e.getLineContent(r)),_=n.getLeadingWhitespace(g),y=a.LanguageConfigurationRegistry.getIndentMetadata(e,r);return null!==y&&2&y&&(_=t.unshiftIndent(_)),l.getSpaceCnt(_,i)-l.getSpaceCnt(v,i)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(this._autoIndent<4)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var n=e.getLanguageIdAtPosition(t.startLineNumber,1);return n===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==a.LanguageConfigurationRegistry.getIndentRulesSupport(n)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,i,r,s,a){for(var u=i.startLineNumber;u<=i.endLineNumber;u++){var d=e.getLineContent(u),c=n.getLeadingWhitespace(d),h=l.getSpaceCnt(c,r)+a,p=l.generateIndent(h,r,s);p!==c&&(t.addEditOperation(new o.Range(u,1,u,c.length+1),p),u===i.endLineNumber&&i.endColumn<=c.length+1&&""===p&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){ +var n=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(n=n.setEndPosition(n.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&n.startLineNumber0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){if(this.domNode.style.height=e+"px",this.container){var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var n=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(n))}this._resizeSash&&this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel();if(t){var n=t.getDecorationRange(e);if(n)return n.getStartPosition()}}},enumerable:!0,configurable:!0}), +e.prototype.show=function(e,t){var n=l.Range.isIRange(e)?l.Range.lift(e):l.Range.fromPositions(e);this._isShowing=!0,this._showImpl(n,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:n,options:u.ModelDecorationOptions.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones((function(t){e._viewZone&&t.removeZone(e._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getOption(47),t=0;this.options.showArrow&&(t+=2*Math.round(e/3));this.options.showFrame&&(t+=2*Math.round(e/9));return t},e.prototype._showImpl=function(e,t){var n=this,i=e.getStartPosition(),o=this.editor.getLayoutInfo(),r=this._getWidth(o);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(o)+"px";var s=document.createElement("div") +;s.style.overflow="hidden";var a=this.editor.getOption(47),l=this.editor.getLayoutInfo().height/a*.8;t>=l&&(t=l);var u=0,d=0;if(this._arrow&&this.options.showArrow&&(u=Math.round(a/3),this._arrow.height=u,this._arrow.show(i)),this.options.showFrame&&(d=Math.round(a/9)),this.editor.changeViewZones((function(e){n._viewZone&&e.removeZone(n._viewZone.id),n._overlayWidget&&(n.editor.removeOverlayWidget(n._overlayWidget),n._overlayWidget=null),n.domNode.style.top="-1000px",n._viewZone=new h(s,i.lineNumber,i.column,t,(function(e){return n._onViewZoneTop(e)}),(function(e){return n._onViewZoneHeight(e)})),n._viewZone.id=e.addZone(n._viewZone),n._overlayWidget=new p("vs.editor.contrib.zoneWidget"+n._viewZone.id,n.domNode),n.editor.addOverlayWidget(n._overlayWidget)})),this.container&&this.options.showFrame){var c=this.options.frameWidth?this.options.frameWidth:d;this.container.style.borderTopWidth=c+"px",this.container.style.borderBottomWidth=c+"px"}var f=t*a-this._decoratingElementsHeight() +;this.container&&(this.container.style.top=u+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,r),this.options.keepEditorSelection||this.editor.setSelection(e);var g=this.editor.getModel();if(g){var m=e.endLineNumber+1;m<=g.getLineCount()?this.revealLine(m,!1):this.revealLine(g.getLineCount(),!0)}},e.prototype.revealLine=function(e,t){t?this.editor.revealLineInCenter(e,0):this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){this.container&&(t&&this.container.classList.remove(t),n.addClass(this.container,e))},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.prototype._relayout=function(e){var t=this;this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones((function(n){t._viewZone&&(t._viewZone.heightInLines=e,n.layoutZone(t._viewZone.id))}))},e.prototype._initSash=function(){var e,t=this;this._resizeSash||(this._resizeSash=this._disposables.add(new i.Sash(this.domNode,this,{orientation:1})), +this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((function(n){t._viewZone&&(e={startY:n.startY,heightInLines:t._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((function(){e=void 0}))),this._disposables.add(this._resizeSash.onDidChange((function(n){if(e){var i=(n.currentY-e.startY)/t.editor.getOption(47),o=i<0?Math.ceil(i):Math.floor(i),r=e.heightInLines+o;r>5&&r<35&&t._relayout(r)}}))))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}();t.ZoneWidget=g})),define(n[213],i([0,1,104,17,63,199]),(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(){function e(e){this._maxCacheDepth=e, +this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new a(e,t);var n=a.getStackElementId(e);n.length>0&&(n+="|"),n+=t;var i=this._entries[n];return i||(i=new a(e,t),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),a=function(){function e(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}return e.getStackElementId=function(e){for(var t="";null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t},e._equals=function(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t},e.prototype.equals=function(t){return e._equals(this,t)},e.prototype.push=function(e){return s.create(this,e)},e.prototype.pop=function(){return this.parent},e.prototype.popall=function(){for(var e=this;e.parent;)e=e.parent;return e},e.prototype.switchTo=function(e){return s.create(this.parent,e)},e +}(),l=function(){function e(e,t){this.modeId=e,this.state=t}return e.prototype.equals=function(e){return this.modeId===e.modeId&&this.state.equals(e.state)},e.prototype.clone=function(){return this.state.clone()===this.state?this:new e(this.modeId,this.state)},e}(),u=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==t)return new d(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new d(e,t);var n=a.getStackElementId(e),i=this._entries[n];return i||(i=new d(e,null),this._entries[n]=i,i)},e._INSTANCE=new e(5),e}(),d=function(){function e(e,t){this.stack=e,this.embeddedModeData=t}return e.prototype.clone=function(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:u.create(this.stack,this.embeddedModeData)},e.prototype.equals=function(t){ +return t instanceof e&&(!!this.stack.equals(t.stack)&&(null===this.embeddedModeData&&null===t.embeddedModeData||null!==this.embeddedModeData&&null!==t.embeddedModeData&&this.embeddedModeData.equals(t.embeddedModeData)))},e}(),c=function(){function e(){this._tokens=[],this._language=null,this._lastTokenType=null,this._lastTokenLanguage=null}return e.prototype.enterMode=function(e,t){this._language=t},e.prototype.emit=function(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._language||(this._lastTokenType=t,this._lastTokenLanguage=this._language,this._tokens.push(new n.Token(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,n){var o=t.modeId,r=t.state,s=i.TokenizationRegistry.get(o);if(!s)return this.enterMode(n,o),this.emit(n,""),r;var a=s.tokenize(e,r,n);return this._tokens=this._tokens.concat(a.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._language=null,a.endState},e.prototype.finalize=function(e){return new n.TokenizationResult(this._tokens,e)},e +}(),h=function(){function e(e,t){this._modeService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}return e.prototype.enterMode=function(e,t){this._currentLanguageId=this._modeService.getLanguageIdentifier(t).id},e.prototype.emit=function(e,t){var n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))},e._merge=function(e,t,n){var i=null!==e?e.length:0,o=t.length,r=null!==n?n.length:0;if(0===i&&0===o&&0===r)return new Uint32Array(0);if(0===i&&0===o)return n;if(0===o&&0===r)return e;var s=new Uint32Array(i+o+r);null!==e&&s.set(e);for(var a=0;a0&&i.nestedModeTokenize(s,t.embeddedModeData,n);var a=e.substring(o);return this._myTokenize(a,t,n+o,i)},e.prototype._safeRuleName=function(e){return e?e.name:"(unknown)"},e.prototype._myTokenize=function(e,t,n,i){i.enterMode(n,this._modeId);for(var o=e.length,s=t.embeddedModeData,a=t.stack,l=0,d=null,c=!0;c||l=o)break;c=!1;var w=this._lexer.tokenizer[m];if(!w&&!(w=r.findRules(this._lexer,m)))throw r.createError(this._lexer,"tokenizer state is not defined: "+m);for(var E=e.substr(l),L=0,D=w;L=this._lexer.maxStack)throw r.createError(this._lexer,"maximum tokenizer stack size reached: ["+a.state+","+a.parent.state+",...]");a=a.push(m)}else if("@pop"===y.next){if(a.depth<=1)throw r.createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(C));a=a.pop()}else if("@popall"===y.next)a=a.popall();else{var I;if("@"===(I=r.substituteMatches(this._lexer,y.next,_,v,m))[0]&&(I=I.substr(1)), +!r.findRules(this._lexer,I))throw r.createError(this._lexer,"trying to set a next state '"+I+"' that is undefined in rule: "+this._safeRuleName(C));a=a.push(I)}}y.log&&"string"==typeof y.log&&r.log(this._lexer,this._lexer.languageId+": "+r.substituteMatches(this._lexer,y.log,_,v,m))}if(null===x)throw r.createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(C));if(Array.isArray(x)){if(d&&d.groups.length>0)throw r.createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(C));if(v.length!==x.length+1)throw r.createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(C));for(var M=0,k=1;k=0&&s()}))}))},e.colorizeLine=function(e,t,n,i,o){void 0===o&&(o=4);var r=a.ViewLineRenderingData.isBasicASCII(e,t),l=a.ViewLineRenderingData.containsRTL(e,r,n);return s.renderViewLine2(new s.RenderLineInput(!1,!0,e,!1,r,l,0,i,[],o,0,-1,"none",!1,!1,null)).html}, +e.colorizeModelLine=function(e,t,n){void 0===n&&(n=4);var i=e.getLineContent(t);e.forceTokenization(t);var o=e.getLineTokens(t).inflate();return this.colorizeLine(i,e.mightContainNonBasicASCII(),e.mightContainRTL(),o,n)},e}();function d(e,t,n){return new Promise((function(i,r){var u=function(){var d=function(e,t,n){for(var i=[],r=n.getInitialState(),l=0,u=e.length;l"),r=c.endState}return i.join("")}(e,t,n);if(n instanceof l.MonarchTokenizer){var c=n.getLoadStatus();if(!1===c.loaded)return void c.promise.then(u,r)}i(d)};u()}))}function c(e,t){var n=[],i=new Uint32Array(2);i[0]=0,i[1]=16793600;for(var r=0,l=e.length;r")}return n.join("")}t.Colorizer=u})),define(n[93],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IStandaloneThemeService=n.createDecorator("themeService")})),define(n[162],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IClipboardService=n.createDecorator("clipboardService")}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t=0){var n=e.split("!=");return u.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("==")>=0){n=e.split("==");return l.create(n[0].trim(),this._deserializeValue(n[1],t))}if(e.indexOf("=~")>=0){ +n=e.split("=~");return c.create(n[0].trim(),this._deserializeRegexValue(n[1],t))}return/^\!\s*/.test(e)?d.create(e.substr(1).trim()):a.create(e)},e._deserializeValue=function(e,t){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var n=/^'([^']*)'$/.exec(e);return n?n[1].trim():e},e._deserializeRegexValue=function(e,t){if(n.isFalsyOrWhitespace(e)){if(t)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}var i=e.indexOf("/"),o=e.lastIndexOf("/");if(i===o||i<0){if(t)throw new Error("bad regexp-value '"+e+"', missing /-enclosure");return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null}var r=e.slice(i+1,o),s="i"===e[o+1]?"i":"";try{return new RegExp(r,s)}catch(n){if(t)throw new Error("bad regexp-value '"+e+"', parse error: "+n);return console.warn("bad regexp-value '"+e+"', parse error: "+n),null}},e}();function s(e,t){var n=e.getType(),i=t.getType();if(n!==i)return n-i;switch(n){case 1:case 2:case 3:case 4:case 6: +case 7:case 5:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}t.ContextKeyExpr=o;var a=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 1},e.prototype.cmp=function(e){return this.keye.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!!e.getValue(this.key)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return d.create(this.key)},e}();t.ContextKeyDefinedExpr=a;var l=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?a.create(t):d.create(t):new e(t,n)},e.prototype.getType=function(){return 3},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){ +return e.getValue(this.key)==this.value},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return u.create(this.key,this.value)},e}();t.ContextKeyEqualsExpr=l;var u=function(){function e(e,t){this.key=e,this.value=t}return e.create=function(t,n){return"boolean"==typeof n?n?d.create(t):a.create(t):new e(t,n)},e.prototype.getType=function(){return 4},e.prototype.cmp=function(e){return this.keye.key?1:this.valuee.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)!=this.value},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return l.create(this.key,this.value)},e}();t.ContextKeyNotEqualsExpr=u;var d=function(){function e(e){this.key=e}return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 2},e.prototype.cmp=function(e){return this.keye.key?1:0}, +e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!e.getValue(this.key)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return a.create(this.key)},e}();t.ContextKeyNotExpr=d;var c=function(){function e(e,t){this.key=e,this.regexp=t}return e.create=function(t,n){return new e(t,n)},e.prototype.getType=function(){return 6},e.prototype.cmp=function(e){if(this.keye.key)return 1;var t=this.regexp?this.regexp.source:"",n=e.regexp?e.regexp.source:"";return tn?1:0},e.prototype.equals=function(t){if(t instanceof e){var n=this.regexp?this.regexp.source:"",i=t.regexp?t.regexp.source:"";return this.key===t.key&&n===i}return!1},e.prototype.evaluate=function(e){var t=e.getValue(this.key);return!!this.regexp&&this.regexp.test(t)},e.prototype.keys=function(){return[this.key]},e.prototype.negate=function(){return h.create(this)},e}();t.ContextKeyRegexExpr=c;var h=function(){function e(e){this._actual=e} +return e.create=function(t){return new e(t)},e.prototype.getType=function(){return 7},e.prototype.cmp=function(e){return this._actual.cmp(e._actual)},e.prototype.equals=function(t){return t instanceof e&&this._actual.equals(t._actual)},e.prototype.evaluate=function(e){return!this._actual.evaluate(e)},e.prototype.keys=function(){return this._actual.keys()},e.prototype.negate=function(){return this._actual},e}();t.ContextKeyNotRegexExpr=h;var p=function(){function e(e){this.expr=e}return e.create=function(t){var n=e._normalizeArr(t);if(0!==n.length)return 1===n.length?n[0]:new e(n)},e.prototype.getType=function(){return 5},e.prototype.cmp=function(e){if(this.expr.lengthe.expr.length)return 1;for(var t=0,n=this.expr.length;t1;){for(var a=t.shift(),l=t.shift(),u=[],d=0,c=s(a);d=0&&(i.splice(o,1),n._onDidChangeMenu.fire(e))}}},e.prototype.getMenuItems=function(e){var t=(this._menuItems.get(e)||[]).slice(0) +;return 0===e&&this._appendImplicitItems(t),t},e.prototype._appendImplicitItems=function(e){for(var t=new Set,n=0,i=e.filter((function(e){return u(e)}));n0&&t.push([s,a])}return t},e._fillInKbExprKeys=function(e,t){if(e)for(var n=0,i=e.keys();nl?1:e._compareTitles(o.isIMenuItem(t)?t.command.title:t.title,o.isIMenuItem(n)?n.command.title:n.title)},e._compareTitles=function(e,t){var n="string"==typeof e?e:e.value,i="string"==typeof t?t:t.value;return n.localeCompare(i)},e=h([f(1,r.ICommandService),f(2,s.IContextKeyService)],e)}()})),define(n[60],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IContextViewService=n.createDecorator("contextViewService"),t.IContextMenuService=n.createDecorator("contextMenuService")})),define(n[497],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IDialogService=n.createDecorator("dialogService")})),define(n[111],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){for(var e=[],t=0;t0?i[0].index:t.length;if(t.length!==c){console.warn("[createInstance] First service dependency of "+e.name+" at position "+(c+1)+" conflicts with "+t.length+" static arguments");var h=c-t.length;t=h>0?t.concat(new Array(h)):t.slice(0,c)}return new(e.bind.apply(e,a([void 0],a(t,o))))},e.prototype._setServiceInstance=function(e,t){if(this._services.get(e)instanceof o.SyncDescriptor)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}},e.prototype._getServiceInstanceOrDescriptor=function(e){var t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t},e.prototype._getOrCreateServiceInstance=function(e,t){var n=this._getServiceInstanceOrDescriptor(e) +;return n instanceof o.SyncDescriptor?this._createAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)},e.prototype._createAndCacheServiceInstance=function(e,t,n){for(var r=new i.Graph((function(e){return e.id.toString()})),a=0,l=[{id:e,desc:t,_trace:n}];l.length;){var u=l.pop();if(r.lookupOrInsertNode(u),a++>150)throw new c(r);for(var d=0,h=s._util.getServiceDependencies(u.desc.ctor);d "+u);var h=e(t+1,c);h&&o.push(h)}else o.push(r+"uses -> "+u)}return o.join("\n")}(1,this),"DONE, took "+t.toFixed(2)+"ms (grand total "+e._totals.toFixed(2)+"ms)"];(t>2||n)&&console.log(i.join("\n"))},e._None=new(function(e){function t(){return e.call(this,-1,null)||this}return r(t,e),t.prototype.stop=function(){},t.prototype.branch=function(){return this},t}(e)),e._totals=0,e}()})),define(n[499],i([0,1,471,15,4,2]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,n,r,s){var a=e.call(this)||this;return a._contextKeyService=t,a._commandService=n,a._telemetryService=r, +a._notificationService=s,a._onDidUpdateKeybindings=a._register(new o.Emitter),a._currentChord=null,a._currentChordChecker=new i.IntervalTimer,a._currentChordStatusMessage=null,a}return r(t,e),Object.defineProperty(t.prototype,"onDidUpdateKeybindings",{get:function(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:o.Event.None},enumerable:!0,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getKeybindings=function(){return this._getResolver().getKeybindings()},t.prototype.lookupKeybinding=function(e){var t=this._getResolver().lookupPrimaryKeybinding(e);if(t)return t.resolvedKeybinding},t.prototype.softDispatch=function(e,t){var n=this.resolveKeyboardEvent(e);if(n.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;var i=n.getDispatchParts()[0];if(null===i)return null;var o=this._contextKeyService.getContext(t),r=this._currentChord?this._currentChord.keypress:null;return this._getResolver().resolve(o,r,i)}, +t.prototype._enterChordMode=function(e,t){var i=this;this._currentChord={keypress:e,label:t},this._currentChordStatusMessage=this._notificationService.status(n.localize(0,null,t));var o=Date.now();this._currentChordChecker.cancelAndSet((function(){i._documentHasFocus()?Date.now()-o>5e3&&i._leaveChordMode():i._leaveChordMode()}),500)},t.prototype._leaveChordMode=function(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null},t.prototype._dispatch=function(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t)},t.prototype._doDispatch=function(e,t){var i=this,o=!1;if(e.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),!1;var r=e.getDispatchParts()[0];if(null===r)return o;var s=this._contextKeyService.getContext(t),a=this._currentChord?this._currentChord.keypress:null,l=e.getLabel(),u=this._getResolver().resolve(s,a,r);return u&&u.enterChord?(o=!0, +this._enterChordMode(r,l),o):(this._currentChord&&(u&&u.commandId||(this._notificationService.status(n.localize(1,null,this._currentChord.label,l),{hideAfter:1e4}),o=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(o=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).then(void 0,(function(e){return i._notificationService.warn(e)})):this._commandService.executeCommand(u.commandId,u.commandArgs).then(void 0,(function(e){return i._notificationService.warn(e)})),this._telemetryService.publicLog2("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),o)},t.prototype.mightProducePrintableCharacter=function(e){return!e.ctrlKey&&!e.metaKey&&(e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30)},t}(s.Disposable);t.AbstractKeybindingService=a})),define(n[500],i([0,1,10,203,35]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(t,i){var o=e.call(this)||this;if(0===i.length)throw n.illegalArgument("parts") +;return o._os=t,o._parts=i,o}return r(t,e),t.prototype.getLabel=function(){var e=this;return i.UILabelProvider.toLabel(this._os,this._parts,(function(t){return e._getLabel(t)}))},t.prototype.getAriaLabel=function(){var e=this;return i.AriaLabelProvider.toLabel(this._os,this._parts,(function(t){return e._getAriaLabel(t)}))},t.prototype.isChord=function(){return this._parts.length>1},t.prototype.getParts=function(){var e=this;return this._parts.map((function(t){return e._getPart(t)}))},t.prototype._getPart=function(e){return new o.ResolvedKeybindingPart(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))},t.prototype.getDispatchParts=function(){var e=this;return this._parts.map((function(t){return e._getDispatchPart(t)}))},t}(o.ResolvedKeybinding);t.BaseResolvedKeybinding=s})),define(n[33],i([0,1,12]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IKeybindingService=n.createDecorator("keybindingService")})), +define(n[214],i([0,1,18]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(t,n){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var i=0,o=t.length;i=0;d--)this._isTargetedForRemoval(e[d],a,l,s,u)&&e.splice(d,1);else n.push(r)}return e.concat(n)},e.prototype._addKeyPress=function(t,n){var i=this._map.get(t);if(void 0===i)return this._map.set(t,[n]),void this._addToLookupMap(n);for(var o=i.length-1;o>=0;o--){var r=i[o];if(r.command!==n.command){var s=r.keypressParts.length>1,a=n.keypressParts.length>1;s&&a&&r.keypressParts[1]!==n.keypressParts[1]||e.whenIsEntirelyIncluded(r.when,n.when)&&this._removeFromLookupMap(r)}}i.push(n),this._addToLookupMap(n)},e.prototype._addToLookupMap=function(e){if(e.command){var t=this._lookupMap.get(e.command);void 0===t?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}},e.prototype._removeFromLookupMap=function(e){if(e.command){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var n=0,i=t.length;n1&&null!==l.keypressParts[1]?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:l.command,commandArgs:l.commandArgs,bubble:l.bubble}:null}, +e.prototype._findCommand=function(t,n){for(var i=n.length-1;i>=0;i--){var o=n[i];if(e.contextMatchesRules(t,o.when))return o}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}();t.KeybindingResolver=i})),define(n[501],i([0,1]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e,t,n,o,r){this.resolvedKeybinding=e,this.keypressParts=e?i(e.getDispatchParts()):[],this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=o,this.isDefault=r};function i(e){for(var t=[],n=0,i=e.length;nS&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(), +this._editorWorkerClient||(this._editorWorkerClient=new M(this._modelService,!1,"editorWorkerService")),Promise.resolve(this._editorWorkerClient)},t}(i.Disposable),N=function(e){function t(t,i,o){var r=e.call(this)||this;if(r._syncedModels=Object.create(null),r._syncedModelsLastUsedTime=Object.create(null),r._proxy=t,r._modelService=i,!o){var s=new n.IntervalTimer;s.cancelAndSet((function(){return r._checkStopModelSync()}),Math.round(b/2)),r._register(s)}return r}return r(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)i.dispose(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.ensureSyncedResources=function(e){for(var t=0,n=e;tb&&t.push(n)}for(var i=0,o=t;i0?a:1,startColumn:l=l>0?l:1,endLineNumber:u=u>=a?u:a,endColumn:d=d>0?d:l,relatedInformation:c,tags:h}},e.prototype.read=function(t){void 0===t&&(t=Object.create(null)) +;var n=t.owner,i=t.resource,o=t.severities,r=t.take;if((!r||r<0)&&(r=-1),n&&i){if(C=a.get(this._byResource,i.toString(),n)){for(var s=[],l=0,u=C;l0&&c===r)break}}return s}return[]}if(n||i){var h=n?this._byOwner[n]:i?this._byResource[i.toString()]:void 0;if(!h)return[];s=[];for(var p in h)for(var f=0,g=h[p];f0&&c===r)return s}}return s}var s=[];for(var m in this._byResource)for(var v in this._byResource[m])for(var _=0,y=this._byResource[m][v];_0&&c===r)return s}}return s},e._accept=function(e,t){return void 0===t||(t&e.severity)===e.severity},e._debouncer=function(t,n){t||(e._dedupeMap=Object.create(null),t=[]);for(var i=0,o=n;i'+e+""}))},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(e,{fromUserGesture:!0}).catch(s.onUnexpectedError)}, +disposeables:e}}},t.prototype.render=function(e){var t=new d.DisposableStore;return{element:e?n.renderMarkdown(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return t.dispose()}}},t=h([f(1,o.IModeService),f(2,l.optional(i.IOpenerService))],t)}(d.Disposable);t.MarkdownRenderer=p})),define(n[507],i([0,1,8,74,2,196,197,113,53,19]),(function(e,t,n,i,o,s,a,l,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(e){this._editor=e,this._lineNumber=-1,this._result=[]}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),n=[];if(!t)return n;for(var o=0,r=t;o0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){this._renderDisposeables.clear();for(var i=document.createDocumentFragment(),o=0,r=t;o"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],folding:{offSide:!0}})})),define(n[508],i([0,1,45,37,114,204]),(function(e,t,n,i,o,r){"use strict";function s(e,t,r){if(!r)return null;var s=null;if(r.scheme===n.Schemas.data){var a=i.DataUri.parseMetaData(r).get(i.DataUri.META_DATA_MIME);a&&(s=t.getModeId(a))}else{var l=e.getModel(r);l&&(s=l.getModeId())}return s&&s!==o.PLAINTEXT_MODE_ID?s:t.getModeIdByFilepathOrFirstLine(r)}function a(e){return e.replace(/\s/g,"\\$&")}Object.defineProperty(t,"__esModule",{value:!0}), +t.getIconClasses=function(e,t,o,l){var u=l===r.FileKind.ROOT_FOLDER?["rootfolder-icon"]:l===r.FileKind.FOLDER?["folder-icon"]:["file-icon"];if(o){var d;if(o.scheme===n.Schemas.data)d=i.DataUri.parseMetaData(o).get(i.DataUri.META_DATA_LABEL);else d=a(i.basenameOrAuthority(o).toLowerCase());if(l===r.FileKind.FOLDER)u.push(d+"-name-folder-icon");else{if(d){u.push(d+"-name-file-icon");for(var c=d.split("."),h=1;h0&&"#"===n.charAt(n.length-1)?n.substring(0,n.length-1):n)]=t, +this._onDidChangeSchema.fire(e)},e.prototype.notifySchemaChanged=function(e){this._onDidChangeSchema.fire(e)},e}());n.Registry.add(t.Extensions.JSONContribution,o)})),define(n[94],i([0,1,470,4,50,22,5,217]),(function(e,t,n,i,o,r,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Extensions={Configuration:"base.contributions.configuration"},t.allSettings={properties:{},patternProperties:{}},t.applicationSettings={properties:{},patternProperties:{}},t.machineSettings={properties:{},patternProperties:{}},t.machineOverridableSettings={properties:{},patternProperties:{}},t.windowSettings={properties:{},patternProperties:{}},t.resourceSettings={properties:{},patternProperties:{}},t.editorConfigurationSchemaId="vscode://schemas/settings/editor";var l=o.Registry.as(a.Extensions.JSONContribution),u=function(){function e(){this.overrideIdentifiers=[],this._onDidSchemaChange=new i.Emitter,this._onDidUpdateConfiguration=new i.Emitter,this.defaultOverridesConfigurationNode={id:"defaultOverrides", +title:n.localize(0,null),properties:{}},this.configurationContributors=[this.defaultOverridesConfigurationNode],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting",allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.excludedConfigurationProperties={},this.overridePropertyPattern=this.computeOverridePropertyPattern(),l.registerSchema(t.editorConfigurationSchemaId,this.editorConfigurationSchema)}return e.prototype.registerConfiguration=function(e,t){void 0===t&&(t=!0),this.registerConfigurations([e],t)},e.prototype.registerConfigurations=function(e,t){var n=this;void 0===t&&(t=!0);var i=[];e.forEach((function(e){i.push.apply(i,n.validateAndRegisterProperties(e,t)),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)})),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire(i)}, +e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.validateAndRegisterProperties=function(e,n,i,o){void 0===n&&(n=!0),void 0===i&&(i=3),void 0===o&&(o=!1),i=r.isUndefinedOrNull(e.scope)?i:e.scope,o=e.overridable||o;var s=[],a=e.properties;if(a)for(var l in a){var u=void 0;if(n&&(u=g(l)))console.warn(u),delete a[l];else{var d=a[l],c=d.default;r.isUndefined(c)&&(d.default=p(d.type)),o&&(d.overridable=!0),t.OVERRIDE_PROPERTY_PATTERN.test(l)?d.scope=void 0:d.scope=r.isUndefinedOrNull(d.scope)?i:d.scope,!a[l].hasOwnProperty("included")||a[l].included?(this.configurationProperties[l]=a[l],s.push(l)):(this.excludedConfigurationProperties[l]=a[l],delete a[l])}}var h=e.allOf;if(h)for(var f=0,m=h;f.001){w=!1;break}}var x=!0;w&&b.width!==E&&(x=!1),b.width>C.width&&(x=!1);var I=n.getTimeSinceLastZoomLevelChanged()>2e3;return new c.FontInfo({zoomLevel:n.getZoomLevel(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:w,typicalHalfwidthCharacterWidth:o.width,typicalFullwidthCharacterWidth:r.width,canUseHalfwidthRightwardsArrow:x,spaceWidth:s.width,maxDigitWidth:S},I)},t.INSTANCE=new t,t}(o.Disposable),f=function(e){function t(t,i,o,r){void 0===o&&(o=null);var s=e.call(this,t,i)||this;return s.accessibilityService=r, +s._elementSizeObserver=s._register(new l.ElementSizeObserver(o,i.dimension,(function(){return s._onReferenceDomElementSizeChanged()}))),s._register(p.INSTANCE.onDidChange((function(){return s._onCSSBasedConfigurationChanged()}))),s._validatedOptions.get(9)&&s._elementSizeObserver.startObserving(),s._register(n.onDidChangeZoomLevel((function(e){return s._recomputeOptions()}))),s._register(s.accessibilityService.onDidChangeAccessibilitySupport((function(){return s._recomputeOptions()}))),s._recomputeOptions(),s}return r(t,e),t.applyFontInfoSlow=function(e,t){e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+"px",e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.lineHeight=t.lineHeight+"px",e.style.letterSpacing=t.letterSpacing+"px"},t.applyFontInfo=function(e,t){e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setLineHeight(t.lineHeight), +e.setLetterSpacing(t.letterSpacing)},t.prototype._onReferenceDomElementSizeChanged=function(){this._recomputeOptions()},t.prototype._onCSSBasedConfigurationChanged=function(){this._recomputeOptions()},t.prototype.observeReferenceElement=function(e){this._elementSizeObserver.observe(e)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getExtraEditorClassName=function(){var e="";return n.isSafari||n.isWebkitWebView||(e+="no-user-select "),s.isMacintosh&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:n.isWebKit||n.isFirefox,pixelRatio:n.getPixelRatio(),zoomLevel:n.getZoomLevel(),accessibilitySupport:this.accessibilityService.getAccessibilitySupport()}},t.prototype.readConfiguration=function(e){return p.INSTANCE.readConfiguration(e)},t}(u.CommonEditorConfiguration);t.Configuration=f})), +define(n[509],i([0,1,28,66,142,36]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this,t)||this;return n._visibleLines=new o.VisibleLinesCollection(n),n.domNode=n._visibleLines.domNode,n._dynamicOverlays=[],n._isFocused=!1,n.domNode.setClassName("view-overlays"),n}return r(t,e),t.prototype.shouldRender=function(){if(e.prototype.shouldRender.call(this))return!0;for(var t=0,n=this._dynamicOverlays.length;t'),i.appendASCIIString(o),i.appendASCIIString(""),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}();t.ViewOverlayLine=l;var u=function(e){function t(t){var n=e.call(this,t)||this,i=n._context.configuration.options.get(103);return n._contentWidth=i.contentWidth,n.domNode.setHeight(0),n}return r(t,e),t.prototype.onConfigurationChanged=function(t){var n=this._context.configuration.options.get(103);return this._contentWidth=n.contentWidth,e.prototype.onConfigurationChanged.call(this,t)||!0},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollWidthChanged},t.prototype._viewOverlaysRender=function(t){ +e.prototype._viewOverlaysRender.call(this,t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))},t}(a);t.ContentViewOverlays=u;var d=function(e){function t(t){var n=e.call(this,t)||this,o=n._context.configuration.options,r=o.get(103);return n._contentLeft=r.contentLeft,n.domNode.setClassName("margin-view-overlays"),n.domNode.setWidth(1),i.Configuration.applyFontInfo(n.domNode,o.get(32)),n}return r(t,e),t.prototype.onConfigurationChanged=function(t){var n=this._context.configuration.options;i.Configuration.applyFontInfo(this.domNode,n.get(32));var o=n.get(103);return this._contentLeft=o.contentLeft,e.prototype.onConfigurationChanged.call(this,t)||!0},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollHeightChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t);var n=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(n),this.domNode.setWidth(this._contentLeft)},t}(a);t.MarginViewOverlays=d})), +define(n[510],i([0,1,8,28,5,66,38,13,3]),(function(e,t,n,i,o,r,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(e,t,n,i,o,r){this.top=e,this.left=t,this.width=n,this.height=i,this.textContent=o,this.textContentClassName=r},d=function(){function e(e){this._context=e;var t=this._context.configuration.options,n=t.get(32);this._cursorStyle=t.get(17),this._lineHeight=t.get(47),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(20),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=i.createFastDomNode(document.createElement("div")),this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),r.Configuration.applyFontInfo(this._domNode,n),this._domNode.setDisplay("none"),this._position=new a.Position(1,1),this._lastRenderedContent="",this._renderData=null}return e.prototype.getDomNode=function(){return this._domNode}, +e.prototype.getPosition=function(){return this._position},e.prototype.show=function(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)},e.prototype.hide=function(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)},e.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options,n=t.get(32);return this._cursorStyle=t.get(17),this._lineHeight=t.get(47),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(20),this._typicalHalfwidthCharacterWidth),r.Configuration.applyFontInfo(this._domNode,n),!0},e.prototype.onCursorPositionChanged=function(e){return this._position=e,!0},e.prototype._prepareRender=function(e){var t="";if(this._cursorStyle===s.TextEditorCursorStyle.Line||this._cursorStyle===s.TextEditorCursorStyle.LineThin){var i,r=e.visibleRangeForPosition(this._position);if(!r||r.outsideRenderedLine)return null;if(this._cursorStyle===s.TextEditorCursorStyle.Line){ +if((i=n.computeScreenAwareSize(this._lineCursorWidth>0?this._lineCursorWidth:2))>2){var a=this._context.model.getLineContent(this._position.lineNumber),d=o.nextCharLength(a,this._position.column-1);t=a.substr(this._position.column-1,d)}}else i=n.computeScreenAwareSize(1);var c=r.left;i>=2&&c>=1&&(c-=1);var h=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new u(h,c,i,this._lineHeight,t,"")}var p=this._context.model.getLineContent(this._position.lineNumber),f=o.nextCharLength(p,this._position.column-1),g=e.linesVisibleRangesForRange(new l.Range(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+f),!1);if(!g||0===g.length)return null;var m=g[0];if(m.outsideRenderedLine||0===m.ranges.length)return null;var v=m.ranges[0],_=v.width<1?this._typicalHalfwidthCharacterWidth:v.width,y="";if(this._cursorStyle===s.TextEditorCursorStyle.Block){var C=this._context.model.getViewLineData(this._position.lineNumber) +;t=p.substr(this._position.column-1,f);var b=C.tokens.findTokenIndexAtOffset(this._position.column-1);y=C.tokens.getClassName(b)}var S=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,w=this._lineHeight;return this._cursorStyle!==s.TextEditorCursorStyle.Underline&&this._cursorStyle!==s.TextEditorCursorStyle.UnderlineThin||(S+=this._lineHeight-2,w=2),new u(S,v.left,_,w,t,y)},e.prototype.prepareRender=function(e){this._renderData=this._prepareRender(e)},e.prototype.render=function(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName("cursor "+this._renderData.textContentClassName),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height), +this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)},e}();t.ViewCursor=d})),define(n[511],i([0,1,10,4,2,250,5,17,114,63,94,50]),(function(e,t,n,i,o,s,a,l,u,d,c,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=Object.prototype.hasOwnProperty,f=function(e){function t(t,n){void 0===t&&(t=!0),void 0===n&&(n=!1);var o=e.call(this)||this;return o._onDidChange=o._register(new i.Emitter),o.onDidChange=o._onDidChange.event,o._warnOnOverwrite=n,o._nextLanguageId2=1,o._languageIdToLanguage=[],o._languageToLanguageId=Object.create(null),o._languages={},o._mimeTypesMap={},o._nameMap={},o._lowercaseNameMap={},t&&(o._initializeFromRegistry(),o._register(u.ModesRegistry.onDidChangeLanguages((function(e){return o._initializeFromRegistry()})))),o}return r(t,e),t.prototype._initializeFromRegistry=function(){this._languages={}, +this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};var e=u.ModesRegistry.getLanguages();this._registerLanguages(e)},t.prototype._registerLanguages=function(e){for(var t=this,n=0,i=e;n0&&((i=e.mimetypes).push.apply(i,t.mimetypes),r=t.mimetypes[0]),r||(r="text/x-"+o,e.mimetypes.push(r)),Array.isArray(t.extensions))for(var l=0,u=t.extensions;l0){var v=t.firstLine;"^"!==v.charAt(0)&&(v="^"+v);try{var _=new RegExp(v);a.regExpLeadsToEndlessLoop(_)||s.registerTextMime({id:o,mime:r,firstline:_},this._warnOnOverwrite)}catch(e){n.onUnexpectedError(e)}}e.aliases.push(o);var y=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(y=0===t.aliases.length?[null]:t.aliases),null!==y)for(var C=0,b=y;C0;if(w&&null===y[0]);else{var E=(w?y[0]:null)||o;!w&&e.name||(e.name=E)}t.configuration&&e.configurationFiles.push(t.configuration)},t.prototype.isRegisteredMode=function(e){return!!p.call(this._mimeTypesMap,e)||p.call(this._languages,e)},t.prototype.getModeIdForLanguageNameLowercase=function(e){return p.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},t.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map((function(e){return e.trim()})).map((function(e){ +return p.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e})).filter((function(e){return p.call(t._languages,e)})):[]},t.prototype.getLanguageIdentifier=function(e){if(e===d.NULL_MODE_ID||0===e)return d.NULL_LANGUAGE_IDENTIFIER;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIdToLanguage[e]))return null;return p.call(this._languages,t)?this._languages[t].identifier:null},t.prototype.getModeIdsFromFilepathOrFirstLine=function(e,t){if(!e&&!t)return[];var n=s.guessMimeTypes(e,t);return this.extractModeIds(n.join(","))},t}(o.Disposable);t.LanguagesRegistry=f})),define(n[512],i([0,1,4,2,347,63,511,19]),(function(e,t,n,i,o,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(e){function t(t,i){var o=e.call(this)||this;return o._onDidChange=o._register(new n.Emitter),o.onDidChange=o._onDidChange.event,o._selector=i,o.languageIdentifier=o._selector(),o._register(t((function(){return o._evaluate()}))),o}return r(t,e),t.prototype._evaluate=function(){var e=this._selector() +;e.id!==this.languageIdentifier.id&&(this.languageIdentifier=e,this._onDidChange.fire(this.languageIdentifier))},t}(i.Disposable),d=function(){function e(e){var t=this;void 0===e&&(e=!1),this._onDidCreateMode=new n.Emitter,this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=new n.Emitter,this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=new a.LanguagesRegistry(!0,e),this._registry.onDidChange((function(){return t._onLanguagesMaybeChanged.fire()}))}return e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilepathOrFirstLine=function(e,t){var n=this._registry.getModeIdsFromFilepathOrFirstLine(e,t);return l.firstOrDefault(n,null)},e.prototype.getModeId=function(e){var t=this._registry.extractModeIds(e);return l.firstOrDefault(t,null)}, +e.prototype.getLanguageIdentifier=function(e){return this._registry.getLanguageIdentifier(e)},e.prototype.create=function(e){var t=this;return new u(this.onLanguagesMaybeChanged,(function(){var n=t.getModeId(e);return t._createModeAndGetLanguageIdentifier(n)}))},e.prototype.createByFilepathOrFirstLine=function(e,t){var n=this;return new u(this.onLanguagesMaybeChanged,(function(){var i=n.getModeIdByFilepathOrFirstLine(e,t);return n._createModeAndGetLanguageIdentifier(i)}))},e.prototype._createModeAndGetLanguageIdentifier=function(e){var t=this.getLanguageIdentifier(e||"plaintext")||s.NULL_LANGUAGE_IDENTIFIER;return this._getOrCreateMode(t.language),t},e.prototype.triggerMode=function(e){var t=this.getModeId(e);this._getOrCreateMode(t||"plaintext")},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e)||s.NULL_LANGUAGE_IDENTIFIER;this._instantiatedModes[e]=new o.FrankensteinMode(t),this._onDidCreateMode.fire(this._instantiatedModes[e])} +return this._instantiatedModes[e]},e}();t.ModeServiceImpl=d})),define(n[40],i([0,1,50,12,94]),(function(e,t,n,i,o){"use strict";function r(e,t,n,i){for(var o=t.split("."),r=o.pop(),s=e,a=0;a=21&&e<=30||(e>=31&&e<=56||(80===e||81===e||82===e||83===e||84===e||85===e||86===e||110===e||111===e||87===e||88===e||89===e||90===e||91===e||92===e))},e.prototype._assertNoCtrlAlt=function(t,n){ +t.ctrlKey&&t.altKey&&!t.metaKey&&e._mightProduceChar(t.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",t," for ",n)},e.prototype._registerDefaultKeybinding=function(e,t,n,o,r,s){1===i.OS&&this._assertNoCtrlAlt(e.parts[0],t),this._coreKeybindings.push({keybinding:e,command:t,commandArgs:n,when:s,weight1:o,weight2:r}),this._cachedMergedKeybindings=null},e.prototype.getDefaultKeybindings=function(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=[].concat(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(a)),this._cachedMergedKeybindings.slice(0)},e}();function a(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.commandt.command?1:e.weight2-t.weight2}t.KeybindingsRegistry=new s,t.Extensions={EditorModes:"platform.keybindingsRegistry"},r.Registry.add(t.Extensions.EditorModes,t.KeybindingsRegistry)})),define(n[517],i([0,1,18,399,85,400]),(function(e,t,n,i,o,s){ +"use strict";function a(e,t){return e.getContext(document.activeElement).getValue(t)}function l(e,i){var o=function(e,t){return e.createScoped(t.target)}(e,i);return function(e,t,i){new n.RawContextKey(i,t).bindTo(e)}(o,i,t.HistoryNavigationWidgetContext),{scopedContextKeyService:o,historyNavigationEnablement:new n.RawContextKey(t.HistoryNavigationEnablementContext,!0).bindTo(o)}}Object.defineProperty(t,"__esModule",{value:!0}),t.HistoryNavigationWidgetContext="historyNavigationWidget",t.HistoryNavigationEnablementContext="historyNavigationEnabled",t.createAndBindHistoryNavigationWidgetScopedContextKeyService=l;var u=function(e){function t(t,n,i,o,r){void 0===r&&(r=!1);var s=e.call(this,t,n,r,i)||this;return s._register(l(o,{target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return r(t,e),t=h([f(3,n.IContextKeyService)],t)}(i.FindInput);t.ContextScopedFindInput=u;var d=function(e){function t(t,n,i,o,r){void 0===r&&(r=!1);var s=e.call(this,t,n,r,i)||this;return s._register(l(o,{ +target:s.inputBox.element,historyNavigator:s.inputBox}).scopedContextKeyService),s}return r(t,e),t=h([f(3,n.IContextKeyService)],t)}(s.ReplaceInput);t.ContextScopedReplaceInput=d,o.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:n.ContextKeyExpr.and(n.ContextKeyExpr.has(t.HistoryNavigationWidgetContext),n.ContextKeyExpr.equals(t.HistoryNavigationEnablementContext,!0)),primary:16,secondary:[528],handler:function(e,i){var o=a(e.get(n.IContextKeyService),t.HistoryNavigationWidgetContext);o&&o.historyNavigator.showPreviousValue()}}),o.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:n.ContextKeyExpr.and(n.ContextKeyExpr.has(t.HistoryNavigationWidgetContext),n.ContextKeyExpr.equals(t.HistoryNavigationEnablementContext,!0)),primary:18,secondary:[530],handler:function(e,i){var o=a(e.get(n.IContextKeyService),t.HistoryNavigationWidgetContext);o&&o.historyNavigator.showNextValue()}})})), +define(n[73],i([0,1,12,4,2,22]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IStorageService=n.createDecorator("storageService"),function(e){e[e.NONE=0]="NONE",e[e.SHUTDOWN=1]="SHUTDOWN"}(t.WillSaveStateReason||(t.WillSaveStateReason={}));var a=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._onDidChangeStorage=t._register(new i.Emitter),t.onDidChangeStorage=t._onDidChangeStorage.event,t.onWillSaveState=i.Event.None,t.globalCache=new Map,t.workspaceCache=new Map,t}return r(t,e),t.prototype.getCache=function(e){return 0===e?this.globalCache:this.workspaceCache},t.prototype.get=function(e,t,n){var i=this.getCache(t).get(e);return s.isUndefinedOrNull(i)?n:i},t.prototype.getBoolean=function(e,t,n){var i=this.getCache(t).get(e);return s.isUndefinedOrNull(i)?n:"true"===i},t.prototype.store=function(e,t,n){if(s.isUndefinedOrNull(t))return this.remove(e,n);var i=String(t) +;return this.getCache(n).get(e)===i?Promise.resolve():(this.getCache(n).set(e,i),this._onDidChangeStorage.fire({scope:n,key:e}),Promise.resolve())},t.prototype.remove=function(e,t){return this.getCache(t).delete(e)?(this._onDidChangeStorage.fire({scope:t,key:e}),Promise.resolve()):Promise.resolve()},t}(o.Disposable);t.InMemoryStorageService=a})),define(n[518],i([0,1,41,73,17,2,15,12,40,83]),(function(e,t,n,i,o,s,a,l,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(){}return e.prototype.select=function(e,t,n){if(0===n.length)return 0;for(var i=n[0].score[0],o=1;ol&&c.type===i[u].completion.kind&&c.insertText===i[u].completion.insertText&&(l=c.touch,a=u),i[u].completion.preselect&&-1===s)return u}return-1!==a?a:-1!==s?s:0},t.prototype.toJSON=function(){var e=[];return this._cache.forEach((function(t,n){e.push([n,t])})),e},t.prototype.fromJSON=function(e){this._cache.clear() +;for(var t=0,n=e;t0){this._seq=e[0][1].touch+1;for(var t=0,n=e;t=0}))},e.getDiffEditorContributions=function(){return C.INSTANCE.getDiffEditorContributions()}}(t.EditorExtensionsRegistry||(t.EditorExtensionsRegistry={}));var C=function(){function e(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}return e.prototype.registerEditorContribution=function(e,t){this.editorContributions.push({id:e,ctor:t})},e.prototype.getEditorContributions=function(){return this.editorContributions.slice(0)},e.prototype.getDiffEditorContributions=function(){return this.diffEditorContributions.slice(0)},e.prototype.registerEditorAction=function(e){e.register(), +this.editorActions.push(e)},e.prototype.getEditorActions=function(){return this.editorActions.slice(0)},e.prototype.registerEditorCommand=function(e){e.register(),this.editorCommands[e.id]=e},e.prototype.getEditorCommand=function(e){return this.editorCommands[e]||null},e.INSTANCE=new e,e}();p.Registry.add("editor.contributions",C.INSTANCE)})),define(n[165],i([0,1,414,22,11,31,481,39,208,209,159,13,3,68,23,18]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var v,_,y,C=0,b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=t._getCursors();i&&this.runCoreEditorCommand(i,n||{})},t}(o.EditorCommand);function S(e){e.register()}t.CoreEditorCommand=b,function(e){e.description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object", +description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t",constraint:function(e){if(!i.isObject(e))return!1;var t=e;return!!i.isString(t.to)&&(!(!i.isUndefined(t.by)&&!i.isString(t.by))&&(!(!i.isUndefined(t.value)&&!i.isNumber(t.value))&&!(!i.isUndefined(t.revealCursor)&&!i.isBoolean(t.revealCursor))))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},e.RawDirection={Up:"up",Down:"down"},e.RawUnit={ +Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"},e.parse=function(t){var n,i;switch(t.to){case e.RawDirection.Up:n=1;break;case e.RawDirection.Down:n=2;break;default:return null}switch(t.by){case e.RawUnit.Line:i=1;break;case e.RawUnit.WrappedLine:i=2;break;case e.RawUnit.Page:i=3;break;case e.RawUnit.HalfPage:i=4;break;default:i=2}return{direction:n,unit:i,value:Math.floor(t.value||1),revealCursor:!!t.revealCursor,select:!!t.select}}}(v=t.EditorScroll_||(t.EditorScroll_={})),function(e){e.description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed .\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t```\n\t\t\t\t",constraint:function(e){if(!i.isObject(e))return!1;var t=e +;return!!i.isNumber(t.lineNumber)&&!(!i.isUndefined(t.at)&&!i.isString(t.at))},schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:"number"},at:{type:"string",enum:["top","center","bottom"]}}}}]},e.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}}(_=t.RevealLine_||(t.RevealLine_={})),function(e){var t=function(e){function t(t){var n=e.call(this,t)||this;return n._inSelectionMode=t.inSelectionMode,n}return r(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[d.CursorMoveCommands.moveTo(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(t.source,!0,0,0)},t}(b);e.MoveTo=o.registerEditorCommand(new t({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=o.registerEditorCommand(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));var n=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e), +t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement();var n=this._getColumnSelectResult(e.context,e.getPrimaryCursor(),e.getColumnSelectData(),t);e.setStates(t.source,3,n.viewStates.map((function(e){return l.CursorState.fromViewState(e)}))),e.setColumnSelectData({isReal:!0,fromViewLineNumber:n.fromLineNumber,fromViewVisualColumn:n.fromVisualColumn,toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),e.reveal(t.source,!0,n.reversed?1:2,0)},t}(b);e.ColumnSelect=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"columnSelect",precondition:void 0})||this}return r(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){var o=e.model.validatePosition(i.position),r=e.validateViewPosition(new h.Position(i.viewPosition.lineNumber,i.viewPosition.column),o),s=i.doColumnSelect?n.fromViewLineNumber:r.lineNumber,l=i.doColumnSelect?n.fromViewVisualColumn:i.mouseColumn-1 +;return a.ColumnSelection.columnSelect(e.config,e.viewModel,s,l,r.lineNumber,i.mouseColumn-1)},t}(n))),e.CursorColumnSelectLeft=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:3599,linux:{primary:0}}})||this}return r(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return a.ColumnSelection.columnSelectLeft(e.config,e.viewModel,n)},t}(n))),e.CursorColumnSelectRight=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:3601,linux:{primary:0}}})||this}return r(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return a.ColumnSelection.columnSelectRight(e.config,e.viewModel,n)},t}(n)));var i=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaged=t.isPaged,n}return r(t,e), +t.prototype._getColumnSelectResult=function(e,t,n,i){return a.ColumnSelection.columnSelectUp(e.config,e.viewModel,n,this._isPaged)},t}(n);e.CursorColumnSelectUp=o.registerEditorCommand(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=o.registerEditorCommand(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:3595,linux:{primary:0}}}));var s=function(e){function t(t){var n=e.call(this,t)||this;return n._isPaged=t.isPaged,n}return r(t,e),t.prototype._getColumnSelectResult=function(e,t,n,i){return a.ColumnSelection.columnSelectDown(e.config,e.viewModel,n,this._isPaged)},t}(n);e.CursorColumnSelectDown=o.registerEditorCommand(new s({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:3602,linux:{primary:0}}})), +e.CursorColumnSelectPageDown=o.registerEditorCommand(new s({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:3596,linux:{primary:0}}}));var u=function(e){function t(){return e.call(this,{id:"cursorMove",precondition:void 0,description:d.CursorMove.description})||this}return r(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n=d.CursorMove.parse(t);n&&this._runCursorMove(e,t.source,n)},t.prototype._runCursorMove=function(e,t,n){e.context.model.pushStackElement(),e.setStates(t,3,d.CursorMoveCommands.move(e.context,e.getAll(),n)),e.reveal(t,!0,0,0)},t}(b);e.CursorMoveImpl=u,e.CursorMove=o.registerEditorCommand(new u);var c=function(t){function n(e){var n=t.call(this,e)||this;return n._staticArgs=e.args,n}return r(n,t),n.prototype.runCoreEditorCommand=function(t,n){var i=this._staticArgs;-1===this._staticArgs.value&&(i={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select, +value:t.context.config.pageSize}),e.CursorMove._runCursorMove(t,n.source,i)},n}(b);e.CursorLeft=o.registerEditorCommand(new c({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=o.registerEditorCommand(new c({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1039}})),e.CursorRight=o.registerEditorCommand(new c({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=o.registerEditorCommand(new c({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1041}})),e.CursorUp=o.registerEditorCommand(new c({args:{ +direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=o.registerEditorCommand(new c({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=o.registerEditorCommand(new c({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:11}})),e.CursorPageUpSelect=o.registerEditorCommand(new c({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1035}})),e.CursorDown=o.registerEditorCommand(new c({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:C, +kbExpr:g.EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=o.registerEditorCommand(new c({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=o.registerEditorCommand(new c({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:12}})),e.CursorPageDownSelect=o.registerEditorCommand(new c({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1036}})),e.CreateCursor=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"createCursor",precondition:void 0})||this}return r(t,e),t.prototype.runCoreEditorCommand=function(e,t){var n,i=e.context +;n=t.wholeLine?d.CursorMoveCommands.line(i,e.getPrimaryCursor(),!1,t.position,t.viewPosition):d.CursorMoveCommands.moveTo(i,e.getPrimaryCursor(),!1,t.position,t.viewPosition);var o=e.getAll();if(o.length>1)for(var r=n.modelState?n.modelState.position:null,s=n.viewState?n.viewState.position:null,a=0,l=o.length;ao&&(i=o);var r=new p.Range(i,1,i,e.context.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case _.RawAtArgument.Top:s=3;break;case _.RawAtArgument.Center:s=1;break;case _.RawAtArgument.Bottom:s=4}var a=e.context.convertModelRangeToViewRange(r);e.revealRange(t.source,!1,a,s,0)},t}(b))),e.SelectAll=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:void 0})||this}return r(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[d.CursorMoveCommands.selectAll(e.context,e.getPrimaryCursor())])},t}(b))),e.SetSelection=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:void 0})||this}return r(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,3,[l.CursorState.fromModelSelection(t.selection)])},t}(b))) +}(y=t.CoreNavigationCommands||(t.CoreNavigationCommands={})),function(e){var t=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.runEditorCommand=function(e,t,n){var i=t._getCursors();i&&this.runCoreEditingCommand(t,i,n||{})},t}(o.EditorCommand);e.CoreEditingCommand=t,e.LineBreakInsert=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:g.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:0,mac:{primary:301}}})||this}return r(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,c.TypeOperations.lineBreakInsert(t.context.config,t.context.model,t.getAll().map((function(e){return e.modelState.selection}))))},t}(t))),e.Outdent=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:g.EditorContextKeys.writable,kbOpts:{weight:C, +kbExpr:m.ContextKeyExpr.and(g.EditorContextKeys.editorTextFocus,g.EditorContextKeys.tabDoesNotMoveFocus),primary:1026}})||this}return r(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,c.TypeOperations.outdent(t.context.config,t.context.model,t.getAll().map((function(e){return e.modelState.selection})))),e.pushUndoStop()},t}(t))),e.Tab=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"tab",precondition:g.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:m.ContextKeyExpr.and(g.EditorContextKeys.editorTextFocus,g.EditorContextKeys.tabDoesNotMoveFocus),primary:2}})||this}return r(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,c.TypeOperations.tab(t.context.config,t.context.model,t.getAll().map((function(e){return e.modelState.selection})))),e.pushUndoStop()},t}(t))),e.DeleteLeft=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"deleteLeft", +precondition:g.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return r(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=u.DeleteOperations.deleteLeft(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map((function(e){return e.modelState.selection}))),o=i[0],r=i[1];o&&e.pushUndoStop(),e.executeCommands(this.id,r),t.setPrevEditOperationType(2)},t}(t))),e.DeleteRight=o.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:g.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return r(t,e),t.prototype.runCoreEditingCommand=function(e,t,n){var i=u.DeleteOperations.deleteRight(t.getPrevEditOperationType(),t.context.config,t.context.model,t.getAll().map((function(e){return e.modelState.selection}))),o=i[0],r=i[1] +;o&&e.pushUndoStop(),e.executeCommands(this.id,r),t.setPrevEditOperationType(3)},t}(t)))}(t.CoreEditingCommands||(t.CoreEditingCommands={}));var w=function(e){function t(t){var n=e.call(this,t)||this;return n._editorHandler=t.editorHandler,n._inputHandler=t.inputHandler,n}return r(t,e),t.prototype.runCommand=function(e,t){var n=e.get(s.ICodeEditorService).getFocusedCodeEditor();if(n&&n.hasTextFocus())return this._runEditorHandler(e,n,t);var i=document.activeElement;if(!(i&&["input","textarea"].indexOf(i.tagName.toLowerCase())>=0)){var o=e.get(s.ICodeEditorService).getActiveCodeEditor();return o?(o.focus(),this._runEditorHandler(e,o,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t,n){var i=this._editorHandler;"string"==typeof i?t.trigger("keyboard",i,n):((n=n||{}).source="keyboard",i.runEditorCommand(e,t,n))},t}(o.Command),E=function(e){function t(t,n,i){var o=e.call(this,{id:t,precondition:void 0,description:i})||this;return o._handlerId=n,o}return r(t,e), +t.prototype.runCommand=function(e,t){var n=e.get(s.ICodeEditorService).getFocusedCodeEditor();n&&n.trigger("keyboard",this._handlerId,t)},t}(o.Command);function L(e,t){S(new E("default:"+e,e)),S(new E(e,e,t))}S(new w({editorHandler:y.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:g.EditorContextKeys.textInputFocus,kbOpts:{weight:C,kbExpr:null,primary:2079},menuOpts:{menuId:23,group:"1_basic",title:n.localize(0,null),order:1}})),S(new w({editorHandler:f.Handler.Undo,inputHandler:"undo",id:f.Handler.Undo,precondition:g.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:2104},menuOpts:{menuId:15,group:"1_do",title:n.localize(1,null),order:1}})),S(new E("default:"+f.Handler.Undo,f.Handler.Undo)),S(new w({editorHandler:f.Handler.Redo,inputHandler:"redo",id:f.Handler.Redo,precondition:g.EditorContextKeys.writable,kbOpts:{weight:C,kbExpr:g.EditorContextKeys.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:{menuId:15, +group:"1_do",title:n.localize(2,null),order:2}})),S(new E("default:"+f.Handler.Redo,f.Handler.Redo)),L(f.Handler.Type,{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),L(f.Handler.ReplacePreviousChar),L(f.Handler.CompositionStart),L(f.Handler.CompositionEnd),L(f.Handler.Paste),L(f.Handler.Cut)})),define(n[519],i([0,1,11,18,26,75,12,83]),(function(e,t,n,i,o,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=a.createDecorator("IEditorCancelService"),d=new i.RawContextKey("cancellableOperation",!1);l.registerSingleton(u,function(){function e(){this._tokens=new WeakMap}return e.prototype.add=function(e,t){var n,o=this._tokens.get(e);return o||(o=e.invokeWithinContext((function(e){return{key:d.bindTo(e.get(i.IContextKeyService)),tokens:new s.LinkedList}})),this._tokens.set(e,o)),o.key.set(!0),n=o.tokens.push(t),function(){n&&(n(),o.key.set(!o.tokens.isEmpty()),n=void 0)}},e.prototype.cancel=function(e){ +var t=this._tokens.get(e);if(t){var n=t.tokens.pop();n&&(n.cancel(),t.key.set(!t.tokens.isEmpty()))}},e}(),!0);var c=function(e){function t(t,n){var i=e.call(this,n)||this;return i.editor=t,i._unregister=t.invokeWithinContext((function(e){return e.get(u).add(t,i)})),i}return r(t,e),t.prototype.dispose=function(){this._unregister(),e.prototype.dispose.call(this)},t}(o.CancellationTokenSource);t.EditorKeybindingCancellationTokenSource=c,n.registerEditorCommand(new(function(e){function t(){return e.call(this,{id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:d})||this}return r(t,e),t.prototype.runEditorCommand=function(e,t){e.get(u).cancel(t)},t}(n.EditorCommand)))})),define(n[67],i([0,1,5,26,2,519]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var i=e.getModel();this.modelVersionId=i?n.format("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null +;0!=(4&this.flags)?this.position=e.getPosition():this.position=null,0!=(2&this.flags)?this.selection=e.getSelection():this.selection=null,0!=(8&this.flags)?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var n=t;return this.modelVersionId===n.modelVersionId&&(this.scrollLeft===n.scrollLeft&&this.scrollTop===n.scrollTop&&(!(!this.position&&n.position||this.position&&!n.position||this.position&&n.position&&!this.position.equals(n.position))&&!(!this.selection&&n.selection||this.selection&&!n.selection||this.selection&&n.selection&&!this.selection.equalsRange(n.selection))))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}();t.EditorState=a;var l=function(e){function t(t,n,i){var r=e.call(this,t,i)||this;return r.editor=t,r._listener=new o.DisposableStore,4&n&&r._listener.add(t.onDidChangeCursorPosition((function(e){return r.cancel()}))), +2&n&&r._listener.add(t.onDidChangeCursorSelection((function(e){return r.cancel()}))),8&n&&r._listener.add(t.onDidScrollChange((function(e){return r.cancel()}))),1&n&&(r._listener.add(t.onDidChangeModel((function(e){return r.cancel()}))),r._listener.add(t.onDidChangeModelContent((function(e){return r.cancel()})))),r}return r(t,e),t.prototype.dispose=function(){this._listener.dispose(),e.prototype.dispose.call(this)},t}(s.EditorKeybindingCancellationTokenSource);t.EditorStateCancellationTokenSource=l;var u=function(e){function t(t,n){var i=e.call(this,n)||this;return i._listener=t.onDidChangeContent((function(){return i.cancel()})),i}return r(t,e),t.prototype.dispose=function(){this._listener.dispose(),e.prototype.dispose.call(this)},t}(i.CancellationTokenSource);t.TextModelCancellationTokenSource=u;var d=function(){function e(e,t){this._visiblePosition=e,this._visiblePositionScrollDelta=t}return e.capture=function(t){var n=null,i=0;if(0!==t.getScrollTop()){var o=t.getVisibleRanges();if(o.length>0){ +n=o[0].getStartPosition();var r=t.getTopForPosition(n.lineNumber,n.column);i=t.getScrollTop()-r}}return new e(n,i)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}();t.StableEditorScrollState=d})),define(n[520],i([0,1,165,13,16]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,i){this.configuration=e,this.viewModel=t,this.outgoingEvents=n,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this.commandDelegate.executeEditorCommand(e,t)},e.prototype.paste=function(e,t,n,i){this.commandDelegate.paste(e,t,n,i)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,n){this.commandDelegate.replacePreviousChar(e,t,n)},e.prototype.compositionStart=function(e){this.commandDelegate.compositionStart(e)}, +e.prototype.compositionEnd=function(e){this.commandDelegate.compositionEnd(e)},e.prototype.cut=function(e){this.commandDelegate.cut(e)},e.prototype.setSelection=function(e,t){this.commandDelegate.executeEditorCommand(n.CoreNavigationCommands.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position):this._lastCursorLineSelect(e.position):e.inSelectionMode?this._lineSelectDrag(e.position):this._lineSelect(e.position):2===e.mouseDownCount?this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position):e.inSelectionMode?this._wordSelectDrag(e.position):this._wordSelect(e.position):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position):this.moveTo(e.position) +},e.prototype._usualArgs=function(e){return e=this._validateViewColumn(e),{position:this._convertViewToModelPosition(e),viewPosition:e}},e.prototype.moveTo=function(e){this._execMouseCommand(n.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype._moveToSelect=function(e){this._execMouseCommand(n.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype._columnSelect=function(e,t,i){e=this._validateViewColumn(e),this._execMouseCommand(n.CoreNavigationCommands.ColumnSelect,{position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})},e.prototype._createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(n.CoreNavigationCommands.CreateCursor,{position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype._lastCursorMoveToSelect=function(e){this._execMouseCommand(n.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype._wordSelect=function(e){ +this._execMouseCommand(n.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype._wordSelectDrag=function(e){this._execMouseCommand(n.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype._lastCursorWordSelect=function(e){this._execMouseCommand(n.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype._lineSelect=function(e){this._execMouseCommand(n.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype._lineSelectDrag=function(e){this._execMouseCommand(n.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype._lastCursorLineSelect=function(e){this._execMouseCommand(n.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype._lastCursorLineSelectDrag=function(e){this._execMouseCommand(n.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype._selectAll=function(){this._execMouseCommand(n.CoreNavigationCommands.SelectAll,{})},e.prototype._convertViewToModelPosition=function(e){ +return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},e.prototype.emitKeyDown=function(e){this.outgoingEvents.emitKeyDown(e)},e.prototype.emitKeyUp=function(e){this.outgoingEvents.emitKeyUp(e)},e.prototype.emitContextMenu=function(e){this.outgoingEvents.emitContextMenu(e)},e.prototype.emitMouseMove=function(e){this.outgoingEvents.emitMouseMove(e)},e.prototype.emitMouseLeave=function(e){this.outgoingEvents.emitMouseLeave(e)},e.prototype.emitMouseUp=function(e){this.outgoingEvents.emitMouseUp(e)},e.prototype.emitMouseDown=function(e){this.outgoingEvents.emitMouseDown(e)},e.prototype.emitMouseDrag=function(e){this.outgoingEvents.emitMouseDrag(e)},e.prototype.emitMouseDrop=function(e){this.outgoingEvents.emitMouseDrop(e)},e.prototype.emitMouseWheel=function(e){this.outgoingEvents.emitMouseWheel(e)},e}();t.ViewController=r})),define(n[521],i([0,1,427,11,23,373]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t,n){ +var i=e.call(this,n)||this;return i.left=t,i}return r(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=[],i=0,o=t.getSelections();i0&&(t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop())}},t}(i.EditorAction);i.registerEditorAction(u)})),define(n[523],i([0,1,429,25,16,186,11,31,23,301]),(function(e,t,n,i,o,s,a,l,u){ +"use strict";Object.defineProperty(t,"__esModule",{value:!0});var d="9_cutcopypaste",c=o.isNative||document.queryCommandSupported("cut"),h=o.isNative||document.queryCommandSupported("copy"),p=h&&!i.isEdgeOrIE,f=o.isNative||!i.isChrome&&document.queryCommandSupported("paste"),g=function(e){function t(t,n){var i=e.call(this,n)||this;return i.browserCommand=t,i}return r(t,e),t.prototype.runCommand=function(e,t){var n=e.get(l.ICodeEditorService).getFocusedCodeEditor();n&&n.hasTextFocus()?n.trigger("keyboard",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(a.EditorAction),m=function(e){function t(){var t={kbExpr:u.EditorContextKeys.textInputFocus,primary:2102,win:{primary:2102,secondary:[1044]},weight:100};return o.isNative||(t=void 0),e.call(this,"cut",{id:"editor.action.clipboardCutAction",label:n.localize(0,null),alias:"Cut",precondition:u.EditorContextKeys.writable,kbOpts:t,contextMenuOpts:{group:d,order:1},menuOpts:{ +menuId:15,group:"2_ccp",title:n.localize(1,null),order:1}})||this}return r(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getOption(24)&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n))},t}(g),v=function(e){function t(){var t={kbExpr:u.EditorContextKeys.textInputFocus,primary:2081,win:{primary:2081,secondary:[2067]},weight:100};return o.isNative||(t=void 0),e.call(this,"copy",{id:"editor.action.clipboardCopyAction",label:n.localize(2,null),alias:"Copy",precondition:void 0,kbOpts:t,contextMenuOpts:{group:d,order:2},menuOpts:{menuId:15,group:"2_ccp",title:n.localize(3,null),order:2}})||this}return r(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getOption(24)&&n.getSelection().isEmpty()||e.prototype.run.call(this,t,n))},t}(g),_=function(e){function t(){var t={kbExpr:u.EditorContextKeys.textInputFocus,primary:2100,win:{primary:2100,secondary:[1043]},weight:100};return o.isNative||(t=void 0),e.call(this,"paste",{id:"editor.action.clipboardPasteAction",label:n.localize(4,null),alias:"Paste", +precondition:u.EditorContextKeys.writable,kbOpts:t,contextMenuOpts:{group:d,order:3},menuOpts:{menuId:15,group:"2_ccp",title:n.localize(5,null),order:3}})||this}return r(t,e),t}(g),y=function(e){function t(){return e.call(this,"copy",{id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:n.localize(6,null),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:u.EditorContextKeys.textInputFocus,primary:0,weight:100}})||this}return r(t,e),t.prototype.run=function(t,n){n.hasModel()&&(!n.getOption(24)&&n.getSelection().isEmpty()||(s.CopyOptions.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,n),s.CopyOptions.forceCopyWithSyntaxHighlighting=!1))},t}(g);c&&a.registerEditorAction(m),h&&a.registerEditorAction(v),f&&a.registerEditorAction(_),p&&a.registerEditorAction(y)}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t=0})).filter((function(e){return e.resolvedKeybinding})).map((function(e){var t=e.commandArgs;return e.command===p.organizeImportsCommandId?t={kind:g.CodeActionKind.SourceOrganizeImports.value}:e.command===p.fixAllCommandId&&(t={kind:g.CodeActionKind.SourceFixAll.value}),l({resolvedKeybinding:e.resolvedKeybinding},g.CodeActionCommandArgs.fromUser(t,{kind:g.CodeActionKind.None,apply:"never"}))}))}));return function(e){var i;if(e.kind)return null===(i=t.bestKeybindingForCodeAction(e,n.getValue()))||void 0===i?void 0:i.resolvedKeybinding}},e.prototype.bestKeybindingForCodeAction=function(e,t){if(e.kind){var n=new g.CodeActionKind(e.kind);return t.filter((function(e){return e.kind.contains(n)})).filter((function(t){return!t.preferred||e.isPreferred})).reduceRight((function(e,t){return e?e.kind.contains(t.kind)?t:e:t}),void 0)}}, +e.codeActionCommands=[p.refactorCommandId,p.codeActionCommandId,p.sourceActionCommandId,p.organizeImportsCommandId,p.fixAllCommandId],e}();t.CodeActionKeybindingResolver=C})),define(n[525],i([0,1,15,4,2,3,17,18,116,37]),(function(e,t,n,i,o,s,a,l,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SUPPORTED_CODE_ACTIONS=new l.RawContextKey("supportedCodeAction","");var c,h=function(e){function t(t,i,o,r){void 0===r&&(r=250);var s=e.call(this)||this;return s._editor=t,s._markerService=i,s._signalChange=o,s._delay=r,s._autoTriggerTimer=s._register(new n.TimeoutTimer),s._register(s._markerService.onMarkerChanged((function(e){return s._onMarkerChanges(e)}))),s._register(s._editor.onDidChangeCursorPosition((function(){return s._onCursorChange()}))),s}return r(t,e),t.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},t.prototype._onMarkerChanges=function(e){var t=this,n=this._editor.getModel();n&&e.some((function(e){ +return d.isEqual(e,n.uri)}))&&this._autoTriggerTimer.cancelAndSet((function(){t.trigger({type:"auto"})}),this._delay)},t.prototype._onCursorChange=function(){var e=this;this._autoTriggerTimer.cancelAndSet((function(){e.trigger({type:"auto"})}),this._delay)},t.prototype._getRangeOfMarker=function(e){var t=this._editor.getModel();if(t)for(var n=0,i=this._markerService.read({resource:t.uri});nt.symbol.range.startLineNumber?1:r.get(e.provider)r.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0})),s}))}t.CodeLensModel=d,t.getCodeLensData=c,s.registerLanguageCommand("_executeCodeLensProvider",(function(e,t){var n=t.resource,s=t.itemResolveCount;if(!(n instanceof r.URI))throw o.illegalArgument();var a=e.get(l.IModelService).getModel(n);if(!a)throw o.illegalArgument();var d=[],h=new u.DisposableStore;return c(a,i.CancellationToken.None).then((function(e){h.add(e);for(var t=[],n=function(e){void 0===s||Boolean(e.symbol.command)?d.push(e.symbol):s-- >0&&e.provider.resolveCodeLens&&t.push(Promise.resolve(e.provider.resolveCodeLens(a,e.symbol,i.CancellationToken.None)).then((function(t){return d.push(t||e.symbol)}))) +},o=0,r=e.lenses;o0&&a._contextViewService.hideContextView()}))),this._toDispose.add(this._editor.onKeyDown((function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),a.showContextMenu())})))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(this._editor.hasModel()){if(!this._editor.getOption(13))return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position)) +;if(12!==e.target.type&&(e.event.preventDefault(),6===e.target.type||7===e.target.type||1===e.target.type)){if(this._editor.focus(),e.target.position){for(var t=!1,n=0,i=this._editor.getSelections();n0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(e,t){var n=[],i=this._menuService.createMenu(t,this._contextKeyService),r=i.getActions({arg:e.uri});i.dispose();for(var s=0,a=r;s0&&(n.push(new g.ContextSubMenu(h.label,p)),l++)}else n.push(h),l++}l&&n.push(new o.Separator)}return n.length&&n.pop(),n},e.prototype._doShowContextMenu=function(e,t){var n=this;if(void 0===t&&(t=null),this._editor.hasModel()){var r=this._editor.getOption(42);if(this._editor.updateOptions({hover:{enabled:!1}}),!t){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();var s=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=i.getDomNodePagePosition(this._editor.getDomNode()),l=a.left+s.left,u=a.top+s.top+s.height;t={x:l,y:u}}this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({getAnchor:function(){return t},getActions:function(){return e},getActionViewItem:function(e){var t=n._keybindingFor(e);if(t)return new o.ActionViewItem(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});var i=e;return"function"==typeof i.getActionViewItem?i.getActionViewItem():new o.ActionViewItem(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:function(e){ +return n._keybindingFor(e)},onHide:function(e){n._contextMenuIsBeingShownCount--,n._editor.focus(),n._editor.updateOptions({hover:r})}})}},e.prototype._keybindingFor=function(e){return this._keybindingService.lookupKeybinding(e.id)},e.prototype.dispose=function(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()},e.ID="editor.contrib.contextmenu",e=h([f(1,c.IContextMenuService),f(2,c.IContextViewService),f(3,d.IContextKeyService),f(4,p.IKeybindingService),f(5,u.IMenuService)],e)}();t.ContextMenuController=m;var v=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:n.localize(0,null),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:l.EditorContextKeys.textInputFocus,primary:1092,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){m.get(t).showContextMenu()},t}(a.EditorAction);a.registerEditorContribution(m.ID,m),a.registerEditorAction(v)})), +define(n[529],i([0,1,434,2,11,23]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var n=0;n0&&n._undoStack[n._undoStack.length-1].equals(t)||(n._undoStack.push(t),n._redoStack=[],n._undoStack.length>50&&n._undoStack.shift())}}))),n}return r(t,e),t.get=function(e){ +return e.getContribution(t.ID)},t.prototype.cursorUndo=function(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new a(this._editor.getSelections())),this._applyState(this._undoStack.pop()))},t.prototype.cursorRedo=function(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new a(this._editor.getSelections())),this._applyState(this._redoStack.pop()))},t.prototype._applyState=function(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.selections),this._editor.revealRangeInCenterIfOutsideViewport(e.selections[0],0),this._isCursorUndoRedo=!1},t.ID="editor.contrib.cursorUndoRedoController",t}(i.Disposable);t.CursorUndoRedoController=l;var u=function(e){function t(){return e.call(this,{id:"cursorUndo",label:n.localize(0,null),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:s.EditorContextKeys.textInputFocus,primary:2099,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t,n){l.get(t).cursorUndo()},t}(o.EditorAction);t.CursorUndo=u +;var d=function(e){function t(){return e.call(this,{id:"cursorRedo",label:n.localize(1,null),alias:"Cursor Redo",precondition:void 0})||this}return r(t,e),t.prototype.run=function(e,t,n){l.get(t).cursorRedo()},t}(o.EditorAction);t.CursorRedo=d,o.registerEditorContribution(l.ID,l),o.registerEditorAction(u),o.registerEditorAction(d)})),define(n[530],i([0,1,2,16,11,13,3,21,376,29,305]),(function(e,t,n,i,o,s,a,l,u,d){"use strict";function c(e){return i.isMacintosh?e.altKey:e.ctrlKey}Object.defineProperty(t,"__esModule",{value:!0});var h=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._register(n._editor.onMouseDown((function(e){return n._onEditorMouseDown(e)}))),n._register(n._editor.onMouseUp((function(e){return n._onEditorMouseUp(e)}))),n._register(n._editor.onMouseDrag((function(e){return n._onEditorMouseDrag(e)}))),n._register(n._editor.onMouseDrop((function(e){return n._onEditorMouseDrop(e)}))),n._register(n._editor.onKeyDown((function(e){return n.onEditorKeyDown(e)}))), +n._register(n._editor.onKeyUp((function(e){return n.onEditorKeyUp(e)}))),n._register(n._editor.onDidBlurEditorWidget((function(){return n.onEditorBlur()}))),n._dndDecorationIds=[],n._mouseDown=!1,n._modifierPressed=!1,n._dragSelection=null,n}return r(t,e),t.prototype.onEditorBlur=function(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1},t.prototype.onEditorKeyDown=function(e){this._editor.getOption(23)&&(c(e)&&(this._modifierPressed=!0),this._mouseDown&&c(e)&&this._editor.updateOptions({mouseStyle:"copy"}))},t.prototype.onEditorKeyUp=function(e){this._editor.getOption(23)&&(c(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===t.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))},t.prototype._onEditorMouseDown=function(e){this._mouseDown=!0},t.prototype._onEditorMouseUp=function(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})},t.prototype._onEditorMouseDrag=function(e){var t=e.target +;if(null===this._dragSelection){var n=(this._editor.getSelections()||[]).filter((function(e){return t.position&&e.containsPosition(t.position)}));if(1!==n.length)return;this._dragSelection=n[0]}c(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))},t.prototype._onEditorMouseDrop=function(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){var n=new s.Position(e.target.position.lineNumber,e.target.position.column);if(null===this._dragSelection){var i=null;if(e.event.shiftKey){var o=this._editor.getSelection();if(o){var r=o.selectionStartLineNumber,a=o.selectionStartColumn;i=[new l.Selection(r,a,n.lineNumber,n.column)]}}else i=(this._editor.getSelections()||[]).map((function(e){return e.containsPosition(n)?new l.Selection(n.lineNumber,n.column,n.lineNumber,n.column):e})) +;this._editor.setSelections(i||[],"mouse")}else(!this._dragSelection.containsPosition(n)||(c(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(n)||this._dragSelection.getStartPosition().equals(n)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(t.ID,new u.DragAndDropCommand(this._dragSelection,n,c(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1},t.prototype.showAt=function(e){var n=[{range:new a.Range(e.lineNumber,e.column,e.lineNumber,e.column),options:t._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,n),this._editor.revealPosition(e,1)},t.prototype._removeDecoration=function(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])},t.prototype._hitContent=function(e){return 6===e.type||7===e.type},t.prototype._hitMargin=function(e){ +return 2===e.type||3===e.type||4===e.type},t.prototype.dispose=function(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,e.prototype.dispose.call(this)},t.ID="editor.contrib.dragAndDrop",t.TRIGGER_KEY_VALUE=i.isMacintosh?6:5,t._DECORATION_OPTIONS=d.ModelDecorationOptions.register({className:"dnd-target"}),t}(n.Disposable);t.DragAndDropController=h,o.registerEditorContribution(h.ID,h)})),define(n[531],i([0,1,438,22,5,15,35,2,11,380,488,23,381,42,489,17,193,382,10,18,309]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v,_,y,C,b,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var w=new S.RawContextKey("foldingEnabled",!1),E=function(e){function t(t,n){var i=e.call(this)||this;i.contextKeyService=n,i.localToDispose=i._register(new l.DisposableStore),i.editor=t;var o=i.editor.getOptions();return i._isEnabled=o.get(29),i._autoHideFoldingControls="mouseover"===o.get(80),i._useFoldingProviders="indentation"!==o.get(30),i.foldingModel=null, +i.hiddenRangeModel=null,i.rangeProvider=null,i.foldingRegionPromise=null,i.foldingStateMemento=null,i.foldingModelPromise=null,i.updateScheduler=null,i.cursorChangedScheduler=null,i.mouseDownInfo=null,i.foldingDecorationProvider=new c.FoldingDecorationProvider(t),i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.foldingEnabled=w.bindTo(i.contextKeyService),i.foldingEnabled.set(i._isEnabled),i._register(i.editor.onDidChangeModel((function(){return i.onModelChanged()}))),i._register(i.editor.onDidChangeConfiguration((function(e){if(e.hasChanged(29)||e.hasChanged(80)||e.hasChanged(30)){var t=i._isEnabled,n=i.editor.getOptions();i._isEnabled=n.get(29),i.foldingEnabled.set(i._isEnabled),t!==i._isEnabled&&i.onModelChanged();var o=i._autoHideFoldingControls;i._autoHideFoldingControls="mouseover"===n.get(80),o!==i._autoHideFoldingControls&&(i.foldingDecorationProvider.autoHideFoldingControls=i._autoHideFoldingControls,i.onModelContentChanged());var r=i._useFoldingProviders +;i._useFoldingProviders="indentation"!==n.get(30),r!==i._useFoldingProviders&&i.onFoldingStrategyChanged()}}))),i.onModelChanged(),i}return r(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.saveViewState=function(){var e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){var t=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),n=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:n}}},t.prototype.restoreViewState=function(e){var t=this.editor.getModel();if(t&&this._isEnabled&&!t.isTooLargeForTokenization()&&this.hiddenRangeModel&&e&&e.collapsedRegions&&e.lineCount===t.getLineCount()){e.provider!==y.ID_SYNTAX_PROVIDER&&e.provider!==C.ID_INIT_PROVIDER||(this.foldingStateMemento=e);var n=e.collapsedRegions;if(this.hiddenRangeModel.applyMemento(n)){var i=this.getFoldingModel();i&&i.then((function(e){e&&e.applyMemento(n) +})).then(void 0,b.onUnexpectedError)}}},t.prototype.onModelChanged=function(){var e=this;this.localToDispose.clear();var t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this.foldingModel=new d.FoldingModel(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new g.HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((function(t){return e.onHiddenRangesChanges(t)}))),this.updateScheduler=new s.Delayer(200),this.cursorChangedScheduler=new s.RunOnceScheduler((function(){return e.revealCursor()}),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(_.FoldingRangeProviderRegistry.onDidChange((function(){return e.onFoldingStrategyChanged()}))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((function(){return e.onFoldingStrategyChanged()}))), +this.localToDispose.add(this.editor.onDidChangeModelContent((function(){return e.onModelContentChanged()}))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((function(){return e.onCursorPositionChanged()}))),this.localToDispose.add(this.editor.onMouseDown((function(t){return e.onEditorMouseDown(t)}))),this.localToDispose.add(this.editor.onMouseUp((function(t){return e.onEditorMouseUp(t)}))),this.localToDispose.add({dispose:function(){e.foldingRegionPromise&&(e.foldingRegionPromise.cancel(),e.foldingRegionPromise=null),e.updateScheduler&&e.updateScheduler.cancel(),e.updateScheduler=null,e.foldingModel=null,e.foldingModelPromise=null,e.hiddenRangeModel=null,e.cursorChangedScheduler=null,e.foldingStateMemento=null,e.rangeProvider&&e.rangeProvider.dispose(),e.rangeProvider=null}}),this.onModelContentChanged())},t.prototype.onFoldingStrategyChanged=function(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()}, +t.prototype.getRangeProvider=function(e){var t=this;if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new v.IndentRangeProvider(e),this._useFoldingProviders&&this.foldingModel){var n=_.FoldingRangeProviderRegistry.ordered(this.foldingModel.textModel);if(0===n.length&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions)return this.rangeProvider=new C.InitializingRangeProvider(e,this.foldingStateMemento.collapsedRegions,(function(){t.foldingStateMemento=null,t.onFoldingStrategyChanged()}),3e4);n.length>0&&(this.rangeProvider=new y.SyntaxRangeProvider(e,n))}return this.foldingStateMemento=null,this.rangeProvider},t.prototype.getFoldingModel=function(){return this.foldingModelPromise},t.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((function(){var t=e.foldingModel;if(!t)return null +;var n=e.foldingRegionPromise=s.createCancelablePromise((function(n){return e.getRangeProvider(t.textModel).compute(n)}));return n.then((function(i){if(i&&n===e.foldingRegionPromise){var o=e.editor.getSelections(),r=o?o.map((function(e){return e.startLineNumber})):[];t.update(i,r)}return t}))})).then(void 0,(function(e){return b.onUnexpectedError(e),null})))},t.prototype.onHiddenRangesChanges=function(e){if(this.hiddenRangeModel&&e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},t.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},t.prototype.revealCursor=function(){var e=this,t=this.getFoldingModel();t&&t.then((function(t){if(t){var n=e.editor.getSelections();if(n&&n.length>0){for(var i=[],o=function(n){var o=n.selectionStartLineNumber +;e.hiddenRangeModel&&e.hiddenRangeModel.isHidden(o)&&i.push.apply(i,t.getAllRegionsAtLine(o,(function(e){return e.isCollapsed&&o>e.startLineNumber})))},r=0,s=n;r1)){var i=this._editor.getModel(),o=this._editor.getPosition(),r=!1,s=this._editor.onDidChangeModelContent((function(e){if(e.isFlush)return r=!0,void s.dispose();for(var t=0,n=e.changes.length;t1||this._instantiationService.invokeFunction(_.formatDocumentRangeWithSelectedProvider,this.editor,e,2,i.CancellationToken.None).catch(E.onUnexpectedError))},e.ID="editor.contrib.formatOnPaste", +e=h([f(1,w.IInstantiationService)],e)}(),N=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:C.localize(0,null),alias:"Format Document",precondition:S.ContextKeyExpr.and(g.EditorContextKeys.writable,g.EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:S.ContextKeyExpr.and(g.EditorContextKeys.editorTextFocus,g.EditorContextKeys.hasDocumentFormattingProvider),primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{when:g.EditorContextKeys.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return r(t,e),t.prototype.run=function(e,t){return d(this,void 0,void 0,(function(){return c(this,(function(n){switch(n.label){case 0:return t.hasModel()?[4,e.get(w.IInstantiationService).invokeFunction(_.formatDocumentWithSelectedProvider,t,1,i.CancellationToken.None)]:[3,2];case 1:n.sent(),n.label=2;case 2:return[2]}}))}))},t}(a.EditorAction),x=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:C.localize(1,null), +alias:"Format Selection",precondition:S.ContextKeyExpr.and(g.EditorContextKeys.writable,g.EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:S.ContextKeyExpr.and(g.EditorContextKeys.editorTextFocus,g.EditorContextKeys.hasDocumentSelectionFormattingProvider),primary:o.KeyChord(2089,2084),weight:100},contextMenuOpts:{when:S.ContextKeyExpr.and(g.EditorContextKeys.hasDocumentSelectionFormattingProvider,g.EditorContextKeys.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return r(t,e),t.prototype.run=function(e,t){return d(this,void 0,void 0,(function(){var n,o,r;return c(this,(function(s){switch(s.label){case 0:return t.hasModel()?(n=e.get(w.IInstantiationService),o=t.getModel(),(r=t.getSelection()).isEmpty()&&(r=new p.Range(r.startLineNumber,1,r.startLineNumber,o.getLineMaxColumn(r.startLineNumber))),[4,n.invokeFunction(_.formatDocumentRangeWithSelectedProvider,t,r,1,i.CancellationToken.None)]):[2];case 1:return s.sent(),[2]}}))}))},t}(a.EditorAction) +;a.registerEditorContribution(L.ID,L),a.registerEditorContribution(D.ID,D),a.registerEditorAction(N),a.registerEditorAction(x),b.CommandsRegistry.registerCommand("editor.action.format",(function(e){return d(void 0,void 0,void 0,(function(){var t,n;return c(this,(function(i){switch(i.label){case 0:return(t=e.get(l.ICodeEditorService).getFocusedCodeEditor())&&t.hasModel()?(n=e.get(b.ICommandService),t.getSelection().isEmpty()?[4,n.executeCommand("editor.action.formatDocument")]:[3,2]):[2];case 1:return i.sent(),[3,4];case 2:return[4,n.executeCommand("editor.action.formatSelection")];case 3:i.sent(),i.label=4;case 4:return[2]}}))}))}))})),define(n[221],i([0,1,19,26,10,11,17]),(function(e,t,n,i,o,r,s){"use strict";function a(e,t,i,r){var s=i.ordered(e).map((function(n){return Promise.resolve(r(n,e,t)).then(void 0,(function(e){o.onUnexpectedExternalError(e)}))}));return Promise.all(s).then(n.flatten).then(n.coalesce)}function l(e,t,n){return a(e,t,s.DefinitionProviderRegistry,(function(e,t,i){ +return e.provideDefinition(t,i,n)}))}function u(e,t,n){return a(e,t,s.DeclarationProviderRegistry,(function(e,t,i){return e.provideDeclaration(t,i,n)}))}function h(e,t,n){return a(e,t,s.ImplementationProviderRegistry,(function(e,t,i){return e.provideImplementation(t,i,n)}))}function p(e,t,n){return a(e,t,s.TypeDefinitionProviderRegistry,(function(e,t,i){return e.provideTypeDefinition(t,i,n)}))}function f(e,t,n,i){var o=this;return a(e,t,s.ReferenceProviderRegistry,(function(e,t,r){return d(o,void 0,void 0,(function(){var o,s;return c(this,(function(a){switch(a.label){case 0:return[4,e.provideReferences(t,r,{includeDeclaration:!0},i)];case 1:return o=a.sent(),n&&o&&2===o.length?[4,e.provideReferences(t,r,{includeDeclaration:!1},i)]:[2,o];case 2:return(s=a.sent())&&1===s.length?[2,s]:[2,o]}}))}))}))}Object.defineProperty(t,"__esModule",{value:!0}),t.getDefinitionsAtPosition=l,t.getDeclarationsAtPosition=u,t.getImplementationsAtPosition=h,t.getTypeDefinitionsAtPosition=p,t.getReferencesAtPosition=f, +r.registerDefaultLanguageCommand("_executeDefinitionProvider",(function(e,t){return l(e,t,i.CancellationToken.None)})),r.registerDefaultLanguageCommand("_executeDeclarationProvider",(function(e,t){return u(e,t,i.CancellationToken.None)})),r.registerDefaultLanguageCommand("_executeImplementationProvider",(function(e,t){return h(e,t,i.CancellationToken.None)})),r.registerDefaultLanguageCommand("_executeTypeDefinitionProvider",(function(e,t){return p(e,t,i.CancellationToken.None)})),r.registerDefaultLanguageCommand("_executeReferenceProvider",(function(e,t){return f(e,t,!1,i.CancellationToken.None)}))})),define(n[535],i([0,1,18,12,83,85,11,31,3,2,4,450,33,34,37]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ctxHasSymbols=new n.RawContextKey("hasSymbols",!1),t.ISymbolNavigationService=i.createDecorator("ISymbolNavigationService");var _=function(){function e(e,n,i,o){this._editorService=n,this._notificationService=i,this._keybindingService=o, +this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=t.ctxHasSymbols.bindTo(e)}return e.prototype.reset=function(){this._ctxHasSymbols.reset(),d.dispose(this._currentState),d.dispose(this._currentMessage),this._currentModel=void 0,this._currentIdx=-1},e.prototype.put=function(e){var t=this,n=e.parent.parent;if(n.references.length<=1)this.reset();else{this._currentModel=n,this._currentIdx=n.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();var i=new y(this._editorService),o=i.onDidChange((function(e){if(!t._ignoreEditorChange){var i=t._editorService.getActiveCodeEditor();if(i){var o=i.getModel(),r=i.getPosition();if(o&&r){for(var s=!1,a=!1,l=0,d=n.references;l0,n&&i)?e:void 0;var t,n,i}),(function(e){o.onUnexpectedExternalError(e)}))}));return Promise.all(r).then(n.coalesce)}Object.defineProperty(t,"__esModule",{value:!0}),t.getHover=a,r.registerDefaultLanguageCommand("_executeHoverProvider",(function(e,t){return a(e,t,i.CancellationToken.None)}))})), +define(n[537],i([0,1,454,35,165,11,79,336,159,58,13,3,21,23,385,490,386]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m,v){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var _=function(e){function t(t,n){var i=e.call(this,n)||this;return i.down=t,i}return r(t,e),t.prototype.run=function(e,t){for(var n=[],i=0,o=t.getSelections()||[];i1&&(c-=1,f=i.getLineMaxColumn(c)),r.push(d.EditOperation.replace(new p.Selection(c,f,h,g),"")),s.push(new p.Selection(c-o,u.positionColumn,c-o,u.positionColumn)),o+=u.endLineNumber-u.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}}},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map((function(e){var t=e.endLineNumber;return e.startLineNumber=t[o].startLineNumber?i.endLineNumber=t[o].endLineNumber:(n.push(i),i=t[o]);return n.push(i),n},t}(s.EditorAction);t.DeleteLinesAction=I;var M=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:n.localize(14,null),alias:"Indent Line",precondition:f.EditorContextKeys.writable,kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:2137,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,u.TypeOperations.indent(n.context.config,t.getModel(),t.getSelections())),t.pushUndoStop())},t}(s.EditorAction);t.IndentLinesAction=M;var k=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:n.localize(15,null),alias:"Outdent Line",precondition:f.EditorContextKeys.writable,kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:2135,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){ +o.CoreEditingCommands.Outdent.runEditorCommand(e,t,null)},t}(s.EditorAction),T=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:n.localize(16,null),alias:"Insert Line Above",precondition:f.EditorContextKeys.writable,kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:3075,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(),t.executeCommands(this.id,u.TypeOperations.lineInsertBefore(n.context.config,t.getModel(),t.getSelections())))},t}(s.EditorAction);t.InsertLineBeforeAction=T;var R=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:n.localize(17,null),alias:"Insert Line Below",precondition:f.EditorContextKeys.writable,kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:2051,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=t._getCursors();n&&(t.pushUndoStop(), +t.executeCommands(this.id,u.TypeOperations.lineInsertAfter(n.context.config,t.getModel(),t.getSelections())))},t}(s.EditorAction);t.InsertLineAfterAction=R;var O=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelection(),i=this._getRangesToDelete(t),o=[],r=0,s=i.length-1;r0){var s=t.startLineNumber-o;r=new p.Selection(s,t.startColumn,s,t.startColumn)}else r=new p.Selection(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?n=r:i.push(r)})),n&&i.unshift(n),i},t.prototype._getRangesToDelete=function(e){var t=e.getSelections();if(null===t)return[];var n=t,i=e.getModel();return null===i?[]:(n.sort(h.Range.compareRangesUsingStarts),n=n.map((function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:i.getLineContent(t).length+1;return new h.Range(t,n,e.startLineNumber,1)}return new h.Range(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new h.Range(e.startLineNumber,1,e.endLineNumber,e.endColumn)})))},t}(O);t.DeleteAllLeftAction=P;var A=function(e){function t(){return e.call(this,{id:"deleteAllRight", +label:n.localize(19,null),alias:"Delete All Right",precondition:f.EditorContextKeys.writable,kbOpts:{kbExpr:f.EditorContextKeys.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})||this}return r(t,e),t.prototype._getEndCursorState=function(e,t){for(var n=null,i=[],o=0,r=t.length;oe.endLineNumber+1?(o.push(e),t):new p.Selection(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new p.Selection(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)}));o.push(r);var s=t.getModel();if(null!==s){for(var a=[],l=[],u=i,c=0,f=0,g=o.length;f=1){var N=!0;""===w&&(N=!1),!N||" "!==w.charAt(w.length-1)&&"\t"!==w.charAt(w.length-1)||(N=!1,w=w.replace(/[\s\uFEFF\xA0]+$/g," "));var x=L.substr(D-1);w+=(N?" ":"")+x,_=N?x.length+1:x.length}else _=0}var I=new h.Range(v,1,y,C);if(!I.isEmpty()){var M=void 0;m.isEmpty()?(a.push(d.EditOperation.replace(I,w)),M=new p.Selection(I.startLineNumber-c,w.length-_+1,v-c,w.length-_+1)):m.startLineNumber===m.endLineNumber?(a.push(d.EditOperation.replace(I,w)),M=new p.Selection(m.startLineNumber-c,m.startColumn,m.endLineNumber-c,m.endColumn)):(a.push(d.EditOperation.replace(I,w)),M=new p.Selection(m.startLineNumber-c,m.startColumn,m.startLineNumber-c,w.length-b)),null!==h.Range.intersectRanges(I,i)?u=M:l.push(M)}c+=I.endLineNumber-I.startLineNumber +}l.unshift(u),t.pushUndoStop(),t.executeEdits(this.id,a,l),t.pushUndoStop()}}}},t}(s.EditorAction);t.JoinLinesAction=F;var W=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:n.localize(21,null),alias:"Transpose characters around the cursor",precondition:f.EditorContextKeys.writable})||this}return r(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var o=[],r=0,s=n.length;r=d){if(u.lineNumber===i.getLineCount())continue;var c=new h.Range(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),f=i.getValueInRange(c).split("").reverse().join("");o.push(new a.ReplaceCommand(new p.Selection(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),f))}else{c=new h.Range(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),f=i.getValueInRange(c).split("").reverse().join("") +;o.push(new a.ReplaceCommandThatPreservesSelection(c,f,new p.Selection(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}},t}(s.EditorAction);t.TransposeAction=W;var V=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.run=function(e,t){var n=t.getSelections();if(null!==n){var i=t.getModel();if(null!==i){for(var o=t.getOption(92),r=[],s=0,l=n.length;s=0?(o=!0,i+=s):o?(o=!1, +i+=s.toLocaleUpperCase()):i+=s.toLocaleLowerCase()}return i},t}(V);t.TitleCaseAction=H,s.registerEditorAction(y),s.registerEditorAction(C),s.registerEditorAction(b),s.registerEditorAction(w),s.registerEditorAction(E),s.registerEditorAction(D),s.registerEditorAction(N),s.registerEditorAction(x),s.registerEditorAction(I),s.registerEditorAction(M),s.registerEditorAction(k),s.registerEditorAction(T),s.registerEditorAction(R),s.registerEditorAction(P),s.registerEditorAction(A),s.registerEditorAction(F),s.registerEditorAction(W),s.registerEditorAction(B),s.registerEditorAction(z),s.registerEditorAction(H)})),define(n[166],i([0,1,15,10,11,17,18,26]),(function(e,t,n,i,o,r,s,a){"use strict";function l(e,t,o,s){var a=r.SignatureHelpProviderRegistry.ordered(e);return n.first(a.map((function(n){return function(){return Promise.resolve(n.provideSignatureHelp(e,t,s,o)).catch((function(e){return i.onUnexpectedExternalError(e)}))}})))}Object.defineProperty(t,"__esModule",{value:!0}),t.Context={ +Visible:new s.RawContextKey("parameterHintsVisible",!1),MultipleSignatures:new s.RawContextKey("parameterHintsMultipleSignatures",!1)},t.provideSignatureHelp=l,o.registerDefaultLanguageCommand("_executeSignatureHelpProvider",(function(e,t,n){return d(void 0,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return[4,l(e,t,{triggerKind:r.SignatureHelpTriggerKind.Invoke,isRetrigger:!1,triggerCharacter:n.triggerCharacter},a.CancellationToken.None)];case 1:return(i=o.sent())?(setTimeout((function(){return i.dispose()}),0),[2,i.value]):[2,void 0]}}))}))}))})),define(n[538],i([0,1,15,10,4,2,78,17,166]),(function(e,t,n,i,o,s,a,u,h){"use strict";var p;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Default={type:0};var t=function(e){this.request=e,this.type=2};e.Pending=t;var n=function(e){this.hints=e,this.type=1};e.Active=n}(p||(p={}));var f=function(e){function t(i,r){void 0===r&&(r=t.DEFAULT_DELAY);var l=e.call(this)||this +;return l._onChangedHints=l._register(new o.Emitter),l.onChangedHints=l._onChangedHints.event,l.triggerOnType=!1,l._state=p.Default,l._pendingTriggers=[],l._lastSignatureHelpResult=l._register(new s.MutableDisposable),l.triggerChars=new a.CharacterSet,l.retriggerChars=new a.CharacterSet,l.triggerId=0,l.editor=i,l.throttledDelayer=new n.Delayer(r),l._register(l.editor.onDidChangeConfiguration((function(){return l.onEditorConfigurationChange()}))),l._register(l.editor.onDidChangeModel((function(e){return l.onModelChanged()}))),l._register(l.editor.onDidChangeModelLanguage((function(e){return l.onModelChanged()}))),l._register(l.editor.onDidChangeCursorSelection((function(e){return l.onCursorChange(e)}))),l._register(l.editor.onDidChangeModelContent((function(e){return l.onModelContentChange()}))),l._register(u.SignatureHelpProviderRegistry.onDidChange(l.onModelChanged,l)),l._register(l.editor.onDidType((function(e){return l.onDidType(e)}))),l.onEditorConfigurationChange(),l.onModelChanged(),l}return r(t,e), +Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){2===this._state.type&&this._state.request.cancel(),this._state=e},enumerable:!0,configurable:!0}),t.prototype.cancel=function(e){void 0===e&&(e=!1),this.state=p.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)},t.prototype.trigger=function(e,t){var n=this,o=this.editor.getModel();if(o&&u.SignatureHelpProviderRegistry.has(o)){var r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger((function(){return n.doTrigger(r)}),t).catch(i.onUnexpectedError)}},t.prototype.next=function(){if(1===this.state.type){var e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=t%e==e-1,i=this.editor.getOption(62).cycle;!(e<2||n)||i?this.updateActiveSignature(n&&i?0:t+1):this.cancel()}},t.prototype.previous=function(){if(1===this.state.type){var e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,n=0===t,i=this.editor.getOption(62).cycle +;!(e<2||n)||i?this.updateActiveSignature(n&&i?e-1:t-1):this.cancel()}},t.prototype.updateActiveSignature=function(e){1===this.state.type&&(this.state=new p.Active(l(l({},this.state.hints),{activeSignature:e})),this._onChangedHints.fire(this.state.hints))},t.prototype.doTrigger=function(e){var t,o;return d(this,void 0,void 0,(function(){var r,s,a,l,u,d,f,m;return c(this,(function(c){switch(c.label){case 0:if(r=1===this.state.type||2===this.state.type,s=1===this.state.type?this.state.hints:void 0,this.cancel(!0),0===this._pendingTriggers.length)return[2,!1];if(a=this._pendingTriggers.reduce(g),this._pendingTriggers=[],l={triggerKind:a.triggerKind,triggerCharacter:a.triggerCharacter,isRetrigger:r,activeSignatureHelp:s},!this.editor.hasModel())return[2,!1];u=this.editor.getModel(),d=this.editor.getPosition(),this.state=new p.Pending(n.createCancelablePromise((function(e){return h.provideSignatureHelp(u,d,l,e)}))),c.label=1;case 1:return c.trys.push([1,3,,4]),[4,this.state.request];case 2:return f=c.sent(), +e!==this.triggerId?(null===(t=f)||void 0===t||t.dispose(),[2,!1]):f&&f.value.signatures&&0!==f.value.signatures.length?(this.state=new p.Active(f.value),this._lastSignatureHelpResult.value=f,this._onChangedHints.fire(this.state.hints),[2,!0]):(null===(o=f)||void 0===o||o.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),[2,!1]);case 3:return m=c.sent(),e===this.triggerId&&(this.state=p.Default),i.onUnexpectedError(m),[2,!1];case 4:return[2]}}))}))},Object.defineProperty(t.prototype,"isTriggered",{get:function(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()},enumerable:!0,configurable:!0}),t.prototype.onModelChanged=function(){this.cancel(),this.triggerChars=new a.CharacterSet,this.retriggerChars=new a.CharacterSet;var e=this.editor.getModel();if(e)for(var t=0,n=u.SignatureHelpProviderRegistry.ordered(e);t=this.ranges.length)return this;var i=new e(n,this.ranges);return i.ranges[n].equalsRange(this.ranges[this.index])?i.mov(t):i},e +}(),C=function(){function e(e){this._ignoreSelection=!1,this._editor=e}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){f.dispose(this._selectionListener)},e.prototype.run=function(e){var t=this;if(this._editor.hasModel()){var o=this._editor.getSelections(),r=this._editor.getModel();if(h.SelectionRangeRegistry.has(r)){var s=Promise.resolve(void 0);return this._state||(s=E(r,o.map((function(e){return e.getPosition()})),i.CancellationToken.None).then((function(e){if(n.isNonEmptyArray(e)&&e.length===o.length&&t._editor.hasModel()&&n.equals(t._editor.getSelections(),o,(function(e,t){return e.equalsSelection(t)}))){for(var i=function(t){e[t]=e[t].filter((function(e){return e.containsPosition(o[t].getStartPosition())&&e.containsPosition(o[t].getEndPosition())})),e[t].unshift(o[t])},r=0;r0)||i.providerFilter.has(n))return Promise.resolve(n.provideCompletionItems(e,t,r,a)).then((function(o){var r=_.length;if(o){ +for(var s=0,a=o.suggestions||[];st.sortTextLow)return 1}return e.completion.labelt.completion.label?1:e.completion.kind-t.completion.kind}t.CompletionOptions=v,t.getSnippetSuggestSupport=function(){return m},t.provideSuggestionItems=_;var C=new Map;function b(e){return C.get(e)}C.set(0,(function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return-1;if(25===t.completion.kind)return 1}return y(e,t)})), +C.set(2,(function(e,t){if(e.completion.kind!==t.completion.kind){if(25===e.completion.kind)return 1;if(25===t.completion.kind)return-1}return y(e,t)})),C.set(1,y),t.getSuggestionComparator=b,r.registerDefaultLanguageCommand("_executeCompletionItemProvider",(function(e,t,n){return d(void 0,void 0,void 0,(function(){var i,o,r,s,a,l,d,h;return c(this,(function(c){switch(c.label){case 0:return i={incomplete:!1,suggestions:[]},o=new f.DisposableStore,r=[],s=n.maxItemsToResolve||0,[4,_(e,t)];case 1:for(a=c.sent(),l=0,d=a;l0&&(o.insertRule(this._unThemedSelector+" {"+e+"}",0),r=!0),t.length>0&&(o.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),r=!0),n.length>0&&(o.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+n+"}",0),r=!0),this._hasContent=r},e.prototype._removeCSS=function(){n.removeCSSRulesContainingSelector(this._unThemedSelector,this._providerArgs.styleSheet)},e.prototype.getCSSTextForModelDecorationClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["backgroundColor"],t),this.collectCSSText(e,["outline","outlineColor","outlineStyle","outlineWidth"],t),this.collectBorderSettingsCSSText(e,t),t.join("")},e.prototype.getCSSTextForModelDecorationInlineClassName=function(e){if(!e)return"" +;var t=[];return this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","cursor","color","opacity","letterSpacing"],t),e.letterSpacing&&(this._hasLetterSpacing=!0),t.join("")},e.prototype.getCSSTextForModelDecorationContentClassName=function(e){if(!e)return"";var t=[];if(void 0!==e){if(this.collectBorderSettingsCSSText(e,t),void 0!==e.contentIconPath&&t.push(o.format(m.contentIconPath,n.asCSSUrl(s.URI.revive(e.contentIconPath)))),"string"==typeof e.contentText){var i=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(o.format(m.contentText,i))}this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","color","opacity","backgroundColor","margin"],t),this.collectCSSText(e,["width","height"],t)&&t.push("display:inline-block;")}return t.join("")},e.prototype.getCSSTextForModelDecorationGlyphMarginClassName=function(e){if(!e)return"";var t=[];return void 0!==e.gutterIconPath&&(t.push(o.format(m.gutterIconPath,n.asCSSUrl(s.URI.revive(e.gutterIconPath)))), +void 0!==e.gutterIconSize&&t.push(o.format(m.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(o.format("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,n){for(var i=n.length,r=0,s=t;rt)){var y=_.startLineNumber===t?_.startColumn:r.minColumn,b=_.endLineNumber===t?_.endColumn:r.maxColumn;y');var w=u.renderViewLine(S,o);o.appendASCIIString("");var E=null +;return h&&r.isBasicASCII&&s.useMonospaceOptimizations&&0===w.containsForeignElements&&r.content.length<300&&S.lineTokens.getCount()<100&&(E=new v(this._renderedViewLine?this._renderedViewLine.domNode:null,S,w.characterMapping)),E||(E=C(this._renderedViewLine?this._renderedViewLine.domNode:null,S,w.characterMapping,w.containsRTL,w.containsForeignElements)),this._renderedViewLine=E,!0},e.prototype.layoutLine=function(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))},e.prototype.getWidth=function(){return this._renderedViewLine?this._renderedViewLine.getWidth():0},e.prototype.getWidthIsFast=function(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()},e.prototype.getVisibleRangesForRange=function(e,t,n){if(!this._renderedViewLine)return null;e|=0,t|=0,e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e)), +t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t));var i=0|this._renderedViewLine.input.stopRenderingLineAfter,o=!1;-1!==i&&e>i+1&&t>i+1&&(o=!0),-1!==i&&e>i+1&&(e=i+1),-1!==i&&t>i+1&&(t=i+1);var r=this._renderedViewLine.getVisibleRangesForRange(e,t,n);return r&&r.length>0?new a.VisibleRanges(o,r):null},e.prototype.getColumnOfNodeOffset=function(e,t,n){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,n):1},e.CLASS_NAME="view-line",e}();t.ViewLine=m;var v=function(){function e(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,this._charWidth=t.spaceWidth}return e.prototype.getWidth=function(){return this._getCharPosition(this._characterMapping.length)},e.prototype.getWidthIsFast=function(){return!0},e.prototype.getVisibleRangesForRange=function(e,t,n){var i=this._getCharPosition(e),o=this._getCharPosition(t);return[new a.HorizontalRange(i,o-i)]},e.prototype._getCharPosition=function(e){var t=this._characterMapping.getAbsoluteOffsets() +;return 0===t.length?0:Math.round(this._charWidth*t[e-1])},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,o=-1;t;)t=t.previousSibling,o++;return this._characterMapping.partDataToCharOffset(o,i,n)+1},e}(),_=function(){function e(e,t,n,i,o){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=o,this._cachedWidth=-1,this._pixelOffsetCache=null,!i||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(var r=0,s=this._characterMapping.length;r<=s;r++)this._pixelOffsetCache[r]=-1}}return e.prototype._getReadingTarget=function(e){return e.domNode.firstChild},e.prototype.getWidth=function(){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0},e.prototype.getWidthIsFast=function(){return-1!==this._cachedWidth}, +e.prototype.getVisibleRangesForRange=function(e,t,n){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){var i=this._readPixelOffset(this.domNode,e,n);if(-1===i)return null;var o=this._readPixelOffset(this.domNode,t,n);return-1===o?null:[new a.HorizontalRange(i,o-i)]}return this._readVisibleRangesForRange(this.domNode,e,t,n)},e.prototype._readVisibleRangesForRange=function(e,t,n,i){if(t===n){var o=this._readPixelOffset(e,t,i);return-1===o?null:[new a.HorizontalRange(o,0)]}return this._readRawVisibleRangesForRange(e,t,n,i)},e.prototype._readPixelOffset=function(e,t,n){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth()}if(null!==this._pixelOffsetCache){var i=this._pixelOffsetCache[t];if(-1!==i)return i;var o=this._actualReadPixelOffset(e,t,n);return this._pixelOffsetCache[t]=o,o}return this._actualReadPixelOffset(e,t,n)}, +e.prototype._actualReadPixelOffset=function(e,t,n){if(0===this._characterMapping.length){var i=s.RangeUtil.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,n.clientRectDeltaLeft,n.endNode);return i&&0!==i.length?i[0].left:-1}if(t===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var o=this._characterMapping.charOffsetToPartData(t-1),r=u.CharacterMapping.getPartIndex(o),a=u.CharacterMapping.getCharIndex(o),l=s.RangeUtil.readHorizontalRanges(this._getReadingTarget(e),r,a,r,a,n.clientRectDeltaLeft,n.endNode);return l&&0!==l.length?l[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,n,i){if(1===t&&n===this._characterMapping.length)return[new a.HorizontalRange(0,this.getWidth())];var o=this._characterMapping.charOffsetToPartData(t-1),r=u.CharacterMapping.getPartIndex(o),l=u.CharacterMapping.getCharIndex(o),d=this._characterMapping.charOffsetToPartData(n-1),c=u.CharacterMapping.getPartIndex(d),h=u.CharacterMapping.getCharIndex(d) +;return s.RangeUtil.readHorizontalRanges(this._getReadingTarget(e),r,l,c,h,i.clientRectDeltaLeft,i.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,n){for(var i=t.textContent.length,o=-1;t;)t=t.previousSibling,o++;return this._characterMapping.partDataToCharOffset(o,i,n)+1},e}(),y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._readVisibleRangesForRange=function(t,n,i,o){var r=e.prototype._readVisibleRangesForRange.call(this,t,n,i,o);if(!r||0===r.length||n===i||1===n&&i===this._characterMapping.length)return r;if(!this.input.containsRTL){var s=this._readPixelOffset(t,i,o);if(-1!==s){var a=r[r.length-1];a.left=4&&3===e[0]&&7===e[3]},e.isStrictChildOfViewLines=function(e){return e.length>4&&3===e[0]&&7===e[3]},e.isChildOfScrollableElement=function(e){return e.length>=2&&3===e[0]&&5===e[1]},e.isChildOfMinimap=function(e){return e.length>=2&&3===e[0]&&8===e[1]},e.isChildOfContentWidgets=function(e){return e.length>=4&&3===e[0]&&1===e[3]},e.isChildOfOverflowingContentWidgets=function(e){return e.length>=1&&2===e[0]},e.isChildOfOverlayWidgets=function(e){return e.length>=2&&3===e[0]&&4===e[1]},e}(),p=function(){function e(e,t,n){this.model=e.model;var i=e.configuration.options;this.layoutInfo=i.get(103),this.viewDomNode=t.viewDomNode,this.lineHeight=i.get(47),this.typicalHalfwidthCharacterWidth=i.get(32).typicalHalfwidthCharacterWidth,this.lastRenderData=n,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){ +var i=n.verticalOffset+n.height/2,o=e.model.getLineCount(),r=null,s=void 0,l=null;return n.afterLineNumber!==o&&(l=new a.Position(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(r=new a.Position(n.afterLineNumber,e.model.getLineMaxColumn(n.afterLineNumber))),s=null===l?r:null===r?l:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,v._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))})),g={isAfterLines:!0};function m(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var v=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,n=o.PartFingerprints.collect(t,this._viewHelper.viewDomNode);return!(!h.isChildOfContentWidgets(n)&&!h.isChildOfOverflowingContentWidgets(n))||!!h.isChildOfOverlayWidgets(n)},e.prototype.createMouseTarget=function(t,n,i,o){var r=new p(this._context,this._viewHelper,t),s=new f(r,n,i,o);try{return e._createMouseTarget(r,s,!1)}catch(e){return s.fulfill(0)}},e._createMouseTarget=function(t,n,i){if(null===n.target){if(i)return n.fulfill(0) +;var o=e._doHitTest(t,n);return o.position?e.createMouseTargetFromHitTestPosition(t,n,o.position.lineNumber,o.position.column):this._createMouseTarget(t,n.withTarget(o.hitTarget),!0)}var r=n,s=null;return(s=(s=(s=(s=(s=(s=(s=(s=(s=(s=s||e._hitTestContentWidget(t,r))||e._hitTestOverlayWidget(t,r))||e._hitTestMinimap(t,r))||e._hitTestScrollbarSlider(t,r))||e._hitTestViewZone(t,r))||e._hitTestMargin(t,r))||e._hitTestViewCursor(t,r))||e._hitTestTextArea(t,r))||e._hitTestViewLines(t,r,i))||e._hitTestScrollbar(t,r))||n.fulfill(0)},e._hitTestContentWidget=function(e,t){if(h.isChildOfContentWidgets(t.targetPath)||h.isChildOfOverflowingContentWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(9,null,null,n):t.fulfill(0)}return null},e._hitTestOverlayWidget=function(e,t){if(h.isChildOfOverlayWidgets(t.targetPath)){var n=e.findAttribute(t.target,"widgetId");return n?t.fulfill(12,null,null,n):t.fulfill(0)}return null},e._hitTestViewCursor=function(e,t){ +if(t.target)for(var n=0,i=r=e.lastRenderData.lastViewCursorsRenderData;no.contentLeft+o.width)){var d=e.getVerticalOffsetForLineNumber(o.position.lineNumber);if(d<=a&&a<=d+o.height)return t.fulfill(6,o.position)}}return null},e._hitTestViewZone=function(e,t){var n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){var i=t.isInContentArea?8:5;return t.fulfill(i,n.position,null,n)}return null},e._hitTestTextArea=function(e,t){return h.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfill(6,e.lastRenderData.lastTextareaPosition):t.fulfill(1,e.lastRenderData.lastTextareaPosition):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){ +var n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),i=n.range.getStartPosition(),o=Math.abs(t.pos.x-t.editorPos.x),r={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:o};return(o-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(2,i,n.range,r):(o-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(3,i,n.range,r):(o-=e.layoutInfo.lineNumbersWidth,t.fulfill(4,i,n.range,r))}return null},e._hitTestViewLines=function(t,n,i){if(!h.isChildOfViewLines(n.targetPath))return null;if(t.isAfterLines(n.mouseVerticalOffset)){var o=t.model.getLineCount(),r=t.model.getLineMaxColumn(o);return n.fulfill(7,new a.Position(o,r),void 0,g)}if(i){if(h.isStrictChildOfViewLines(n.targetPath)){var s=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var l=t.getLineWidth(s),u=m(n.mouseContentHorizontalOffset-l) +;return n.fulfill(7,new a.Position(s,1),void 0,u)}var d=t.getLineWidth(s);if(n.mouseContentHorizontalOffset>=d){u=m(n.mouseContentHorizontalOffset-d);var c=new a.Position(s,t.model.getLineMaxColumn(s));return n.fulfill(7,c,void 0,u)}}return n.fulfill(0)}var p=e._doHitTest(t,n);return p.position?e.createMouseTargetFromHitTestPosition(t,n,p.position.lineNumber,p.position.column):this._createMouseTarget(t,n.withTarget(p.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(h.isChildOfMinimap(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new a.Position(n,i))}return null},e._hitTestScrollbarSlider=function(e,t){if(h.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){var i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),o=e.model.getLineMaxColumn(i);return t.fulfill(11,new a.Position(i,o))}}return null},e._hitTestScrollbar=function(e,t){ +if(h.isChildOfScrollableElement(t.targetPath)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(11,new a.Position(n,i))}return null},e.prototype.getMouseColumn=function(t,n){var i=this._context.configuration.options,o=i.get(103),r=this._context.viewLayout.getCurrentScrollLeft()+n.x-t.x-o.contentLeft;return e._getMouseColumn(r,i.get(32).typicalHalfwidthCharacterWidth)},e._getMouseColumn=function(e,t){return e<0?1:Math.round(e/t)+1},e.createMouseTargetFromHitTestPosition=function(e,t,i,o){var r=new a.Position(i,o),s=e.getLineWidth(i);if(t.mouseContentHorizontalOffset>s){if(n.isEdge&&1===r.column){var u=m(t.mouseContentHorizontalOffset-s);return t.fulfill(7,new a.Position(i,e.model.getLineMaxColumn(i)),void 0,u)}var d=m(t.mouseContentHorizontalOffset-s);return t.fulfill(7,r,void 0,d)}var c=e.visibleRangeForPosition(i,o);if(!c)return t.fulfill(0,r);var h=c.left;if(t.mouseContentHorizontalOffset===h)return t.fulfill(6,r);var p=[];if(p.push({offset:c.left, +column:o}),o>1){var f=e.visibleRangeForPosition(i,o-1);f&&p.push({offset:f.left,column:o-1})}if(o=t.editorPos.y+e.layoutInfo.height&&(r=t.editorPos.y+e.layoutInfo.height-1);var s=new i.PageCoordinates(t.pos.x,r),a=this._actualDoHitTestWithCaretRangeFromPoint(e,s.toClientCoordinates());return a.position?a:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())}, +e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var n=document.caretRangeFromPoint(t.clientX,t.clientY);if(!n||!n.startContainer)return{position:null,hitTarget:null};var i=n.startContainer,o=null;if(i.nodeType===i.TEXT_NODE){var r=(l=(a=i.parentNode)?a.parentNode:null)?l.parentNode:null;if((r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===s.ViewLine.CLASS_NAME)return{position:e.getPositionFromDOMInfo(a,n.startOffset),hitTarget:null};o=i.parentNode}else if(i.nodeType===i.ELEMENT_NODE){var a,l;if(((l=(a=i.parentNode)?a.parentNode:null)&&l.nodeType===l.ELEMENT_NODE?l.className:null)===s.ViewLine.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};o=i}return{position:null,hitTarget:o}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){var i=n.offsetNode.parentNode,o=i?i.parentNode:null,r=o?o.parentNode:null +;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===s.ViewLine.CLASS_NAME?{position:e.getPositionFromDOMInfo(n.offsetNode.parentNode,n.offset),hitTarget:null}:{position:null,hitTarget:n.offsetNode.parentNode}}return{position:null,hitTarget:n.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var n=null,i=null,o=document.body.createTextRange();try{o.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}o.collapse(!0);var r=o?o.parentElement():null,a=r?r.parentNode:null,l=a?a.parentNode:null;if((l&&l.nodeType===l.ELEMENT_NODE?l.className:"")===s.ViewLine.CLASS_NAME){var u=o.duplicate();u.moveToElementText(r),u.setEndPoint("EndToStart",o),n=e.getPositionFromDOMInfo(r,u.text.length),u.moveToElementText(e.viewDomNode)}else i=r;return o.moveToElementText(e.viewDomNode),{position:n,hitTarget:i}},e._doHitTest=function(e,t){ +return"function"==typeof document.caretRangeFromPoint?this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint?this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates()):document.body.createTextRange?this._doHitTestWithMoveToPoint(e,t.pos.toClientCoordinates()):{position:null,hitTarget:null}},e}();t.MouseTargetFactory=v})),define(n[550],i([0,1,25,8,44,15,2,16,167,139,103,13,21,91]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f){"use strict";function g(e){return function(t,n){var i=!1;return e&&(i=e.mouseTargetIsWidget(n)),i||n.preventDefault(),n}}Object.defineProperty(t,"__esModule",{value:!0}),t.createMouseMoveEventMerger=g;var m=function(e){function t(r,a,l){var h=e.call(this)||this;h._isFocused=!1,h._context=r,h.viewController=a,h.viewHelper=l,h.mouseTargetFactory=new u.MouseTargetFactory(h._context,l),h._mouseDownOperation=h._register(new v(h._context,h.viewController,h.viewHelper,(function(e,t){return h._createMouseTarget(e,t)}),(function(e){return h._getMouseColumn(e)}))), +h._asyncFocus=h._register(new s.RunOnceScheduler((function(){return h.viewHelper.focusTextArea()}),0)),h.lastMouseLeaveTime=-1;var p=new d.EditorMouseEventFactory(h.viewHelper.viewDomNode);h._register(p.onContextMenu(h.viewHelper.viewDomNode,(function(e){return h._onContextMenu(e,!0)}))),h._register(p.onMouseMoveThrottled(h.viewHelper.viewDomNode,(function(e){return h._onMouseMove(e)}),g(h.mouseTargetFactory),t.MOUSE_MOVE_MINIMUM_TIME)),h._register(p.onMouseUp(h.viewHelper.viewDomNode,(function(e){return h._onMouseUp(e)}))),h._register(p.onMouseLeave(h.viewHelper.viewDomNode,(function(e){return h._onMouseLeave(e)}))),h._register(p.onMouseDown(h.viewHelper.viewDomNode,(function(e){return h._onMouseDown(e)})));return h._register(i.addDisposableListener(h.viewHelper.viewDomNode,n.isEdgeOrIE?"mousewheel":"wheel",(function(e){if(h.viewController.emitMouseWheel(e),h._context.configuration.options.get(55)){var t=new o.StandardWheelEvent(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){ +var n=c.EditorZoom.getZoomLevel(),i=t.deltaY>0?1:-1;c.EditorZoom.setZoomLevel(n+i),t.preventDefault(),t.stopPropagation()}}}),{capture:!0,passive:!1})),h._context.addEventHandler(h),h}return r(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),e.prototype.dispose.call(this)},t.prototype.onCursorStateChanged=function(e){return this._mouseDownOperation.onCursorStateChanged(e),!1},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!1},t.prototype.onScrollChanged=function(e){return this._mouseDownOperation.onScrollChanged(),!1},t.prototype.getTargetAtClientPoint=function(e,t){var n=new d.ClientCoordinates(e,t).toPageCoordinates(),i=d.createEditorPagePosition(this.viewHelper.viewDomNode);return n.yi.y+i.height||n.xi.x+i.width?null:this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),i,n,null)},t.prototype._createMouseTarget=function(e,t){ +return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,t?e.target:null)},t.prototype._getMouseColumn=function(e){return this.mouseTargetFactory.getMouseColumn(e.editorPos,e.pos)},t.prototype._onContextMenu=function(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})},t.prototype._onMouseMove=function(e){this._mouseDownOperation.isActive()||(e.timestampt.y+t.height){var a,l;r=i.getCurrentScrollTop()+(e.posy-t.y);if(a=u.HitTestContext.getZoneAtCoord(this._context,r))if(l=this._helpPositionJumpOverViewZone(a))return new u.MouseTarget(null,13,o,l);var d=i.getLineNumberAtVerticalOffset(r);return new u.MouseTarget(null,13,o,new h.Position(d,n.getLineMaxColumn(d)))} +var c=i.getLineNumberAtVerticalOffset(i.getCurrentScrollTop()+(e.posy-t.y));return e.posxt.x+t.width?new u.MouseTarget(null,13,o,new h.Position(c,n.getLineMaxColumn(c))):null},t.prototype._findMousePosition=function(e,t){var n=this._getPositionOutsideEditor(e);if(n)return n;var i=this._createMouseTarget(e,t);if(!i.position)return null;if(8===i.type||5===i.type){var o=this._helpPositionJumpOverViewZone(i.detail);if(o)return new u.MouseTarget(i.element,i.type,i.mouseColumn,o,null,i.detail)}return i},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new h.Position(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,i=e.positionAfter;return n&&i?n.isBefore(t)?n:i:null},t.prototype._dispatchMouse=function(e,t){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t, +mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton})},t}(a.Disposable),_=function(){function e(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}return Object.defineProperty(e.prototype,"altKey",{get:function(){return this._altKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ctrlKey",{get:function(){return this._ctrlKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"metaKey",{get:function(){return this._metaKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shiftKey",{get:function(){return this._shiftKey +},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"leftButton",{get:function(){return this._leftButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"middleButton",{get:function(){return this._middleButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startedOnLineNumbers",{get:function(){return this._startedOnLineNumbers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._lastMouseDownCount},enumerable:!0,configurable:!0}),e.prototype.setModifiers=function(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey},e.prototype.setStartButtons=function(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton},e.prototype.setStartedOnLineNumbers=function(e){this._startedOnLineNumbers=e},e.prototype.trySetCount=function(t,n){var i=(new Date).getTime();i-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1), +this._lastSetMouseDownCountTime=i,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}()})),define(n[551],i([0,1,8,16,57,2,550,139,87]),(function(e,t,n,i,o,s,a,l,u){"use strict";function d(e,t){var n={translationY:t.translationY,translationX:t.translationX};return e&&(n.translationY+=e.translationY,n.translationX+=e.translationX),n}Object.defineProperty(t,"__esModule",{value:!0});var c=function(e){function t(t,i,o){var r=e.call(this,t,i,o)||this;return r.viewHelper.linesContentDomNode.style.msTouchAction="none",r.viewHelper.linesContentDomNode.style.msContentZooming="none",r._installGestureHandlerTimeout=window.setTimeout((function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){ +var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",(function(n){var i=n.pointerType;i!==(n.MSPOINTER_TYPE_MOUSE||"mouse")?i===(n.MSPOINTER_TYPE_TOUCH||"touch")?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen",t.addPointer(n.pointerId)):r._lastPointerType="mouse"})),r._register(n.addDisposableThrottledListener(r.viewHelper.linesContentDomNode,"MSGestureChange",(function(e){return r._onGestureChange(e)}),d)),r._register(n.addDisposableListener(r.viewHelper.linesContentDomNode,"MSGestureTap",(function(e){return r._onCaptureGestureTap(e)}),!0))}}),100),r._lastPointerType="mouse",r}return r(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new l.EditorMouseEvent(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1) +;i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.preventDefault(),this.viewHelper.focusTextArea()):setTimeout((function(){t.viewHelper.focusTextArea()}))},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(a.MouseHandler),h=function(e){function t(t,i,o){var r=e.call(this,t,i,o)||this;return r.viewHelper.linesContentDomNode.style.touchAction="none",r._installGestureHandlerTimeout=window.setTimeout((function(){if(r._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=r.viewHelper.linesContentDomNode,t.target=r.viewHelper.linesContentDomNode,r.viewHelper.linesContentDomNode.addEventListener("pointerdown",(function(n){var i=n.pointerType;"mouse"!==i?"touch"===i?(r._lastPointerType="touch",e.addPointer(n.pointerId)):(r._lastPointerType="pen", +t.addPointer(n.pointerId)):r._lastPointerType="mouse"})),r._register(n.addDisposableThrottledListener(r.viewHelper.linesContentDomNode,"MSGestureChange",(function(e){return r._onGestureChange(e)}),d)),r._register(n.addDisposableListener(r.viewHelper.linesContentDomNode,"MSGestureTap",(function(e){return r._onCaptureGestureTap(e)}),!0))}}),100),r._lastPointerType="mouse",r}return r(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,n=new l.EditorMouseEvent(e,this.viewHelper.viewDomNode),i=this._createMouseTarget(n,!1);i.position&&this.viewController.moveTo(i.position),n.browserEvent.fromElement?(n.preventDefault(),this.viewHelper.focusTextArea()):setTimeout((function(){t.viewHelper.focusTextArea()}))},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){ +window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(a.MouseHandler),p=function(e){function t(t,i,r){var s=e.call(this,t,i,r)||this;s._register(o.Gesture.addTarget(s.viewHelper.linesContentDomNode)),s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,o.EventType.Tap,(function(e){return s.onTap(e)}))),s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,o.EventType.Change,(function(e){return s.onChange(e)}))),s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,o.EventType.Contextmenu,(function(e){return s._onContextMenu(new l.EditorMouseEvent(e,s.viewHelper.viewDomNode),!1)}))),s._lastPointerType="mouse",s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,"pointerdown",(function(e){var t=e.pointerType;s._lastPointerType="mouse"!==t?"touch"===t?"touch":"pen":"mouse"})));var u=new l.EditorPointerEventFactory(s.viewHelper.viewDomNode) +;return s._register(u.onPointerMoveThrottled(s.viewHelper.viewDomNode,(function(e){return s._onMouseMove(e)}),a.createMouseMoveEventMerger(s.mouseTargetFactory),a.MouseHandler.MOUSE_MOVE_MINIMUM_TIME)),s._register(u.onPointerUp(s.viewHelper.viewDomNode,(function(e){return s._onMouseUp(e)}))),s._register(u.onPointerLeave(s.viewHelper.viewDomNode,(function(e){return s._onMouseLeave(e)}))),s._register(u.onPointerDown(s.viewHelper.viewDomNode,(function(e){return s._onMouseDown(e)}))),s}return r(t,e),t.prototype.onTap=function(e){if(e.initialTarget&&this.viewHelper.linesContentDomNode.contains(e.initialTarget)){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new l.EditorMouseEvent(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.dispatchMouse({position:t.position,mouseColumn:t.position.column,startedOnLineNumbers:!1,mouseDownCount:e.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1})}}, +t.prototype.onChange=function(e){"touch"===this._lastPointerType&&this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype._onMouseDown=function(t){t.target&&this.viewHelper.linesContentDomNode.contains(t.target)&&"touch"===this._lastPointerType||e.prototype._onMouseDown.call(this,t)},t}(a.MouseHandler);t.PointerEventHandler=p;var f=function(e){function t(t,i,r){var s=e.call(this,t,i,r)||this;return s._register(o.Gesture.addTarget(s.viewHelper.linesContentDomNode)),s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,o.EventType.Tap,(function(e){return s.onTap(e)}))),s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,o.EventType.Change,(function(e){return s.onChange(e)}))),s._register(n.addDisposableListener(s.viewHelper.linesContentDomNode,o.EventType.Contextmenu,(function(e){return s._onContextMenu(new l.EditorMouseEvent(e,s.viewHelper.viewDomNode),!1)}))),s}return r(t,e),t.prototype.onTap=function(e){e.preventDefault(), +this.viewHelper.focusTextArea();var t=this._createMouseTarget(new l.EditorMouseEvent(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.moveTo(t.position)},t.prototype.onChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t}(a.MouseHandler),g=function(e){function t(t,n,o){var r=e.call(this)||this;return window.navigator.msPointerEnabled?r.handler=r._register(new c(t,n,o)):i.isIOS&&u.BrowserFeatures.pointerEvents?r.handler=r._register(new p(t,n,o)):window.TouchEvent?r.handler=r._register(new f(t,n,o)):window.navigator.pointerEnabled||window.PointerEvent?r.handler=r._register(new h(t,n,o)):r.handler=r._register(new a.MouseHandler(t,n,o)),r}return r(t,e),t.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},t}(s.Disposable);t.PointerHandler=g})),define(n[225],i([0,1,2,167]),(function(e,t,n,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this)||this +;return n.onDidScroll=null,n.onDidGainFocus=null,n.onDidLoseFocus=null,n.onKeyDown=null,n.onKeyUp=null,n.onContextMenu=null,n.onMouseMove=null,n.onMouseLeave=null,n.onMouseUp=null,n.onMouseDown=null,n.onMouseDrag=null,n.onMouseDrop=null,n.onMouseWheel=null,n._viewModel=t,n}return r(t,e),t.prototype.emitScrollChanged=function(e){this.onDidScroll&&this.onDidScroll(e)},t.prototype.emitViewFocusGained=function(){this.onDidGainFocus&&this.onDidGainFocus(void 0)},t.prototype.emitViewFocusLost=function(){this.onDidLoseFocus&&this.onDidLoseFocus(void 0)},t.prototype.emitKeyDown=function(e){this.onKeyDown&&this.onKeyDown(e)},t.prototype.emitKeyUp=function(e){this.onKeyUp&&this.onKeyUp(e)},t.prototype.emitContextMenu=function(e){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseMove=function(e){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseLeave=function(e){ +this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseUp=function(e){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDown=function(e){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrag=function(e){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrop=function(e){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseWheel=function(e){this.onMouseWheel&&this.onMouseWheel(e)},t.prototype._convertViewToModelMouseEvent=function(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e},t.prototype._convertViewToModelMouseTarget=function(e){return t.convertViewToModelMouseTarget(e,this._viewModel.coordinatesConverter)},t.convertViewToModelMouseTarget=function(e,t){ +return new s(e.element,e.type,e.mouseColumn,e.position?t.convertViewPositionToModelPosition(e.position):null,e.range?t.convertViewRangeToModelRange(e.range):null,e.detail)},t}(n.Disposable);t.ViewOutgoingEvents=o;var s=function(){function e(e,t,n,i,o,r){this.element=e,this.type=t,this.mouseColumn=n,this.position=i,this.range=o,this.detail=r}return e.prototype.toString=function(){return i.MouseTarget.toString(this)},e}()})),define(n[552],i([0,1,15,66,142,36,224,13,3,90,288]),(function(e,t,n,i,o,s,a,l,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function e(){this._currentVisibleRange=new u.Range(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),h=function(e,t,n,i,o,r){this.lineNumber=e,this.startColumn=t,this.endColumn=n,this.startScrollTop=i,this.stopScrollTop=o,this.scrollType=r},p=function(e){function t(t,r){var l=e.call(this,t)||this +;l._linesContent=r,l._textRangeRestingSpot=document.createElement("div"),l._visibleLines=new o.VisibleLinesCollection(l),l.domNode=l._visibleLines.domNode;var u=l._context.configuration,d=l._context.configuration.options,h=d.get(32),p=d.get(104);return l._lineHeight=d.get(47),l._typicalHalfwidthCharacterWidth=h.typicalHalfwidthCharacterWidth,l._isViewportWrapping=p.isViewportWrapping,l._revealHorizontalRightPadding=d.get(71),l._cursorSurroundingLines=d.get(18),l._cursorSurroundingLinesStyle=d.get(19),l._canUseLayerHinting=!d.get(21),l._viewLineOptions=new a.ViewLineOptions(u,l._context.theme.type),s.PartFingerprints.write(l.domNode,7),l.domNode.setClassName("view-lines"),i.Configuration.applyFontInfo(l.domNode,h),l._maxLineWidth=0,l._asyncUpdateLineWidths=new n.RunOnceScheduler((function(){l._updateLineWidthsSlow()}),200),l._lastRenderedData=new c,l._horizontalRevealRequest=null,l}return r(t,e),t.prototype.dispose=function(){this._asyncUpdateLineWidths.dispose(),e.prototype.dispose.call(this)}, +t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new a.ViewLine(this._viewLineOptions)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(104)&&(this._maxLineWidth=0);var t=this._context.configuration.options,n=t.get(32),o=t.get(104);return this._lineHeight=t.get(47),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._isViewportWrapping=o.isViewportWrapping,this._revealHorizontalRightPadding=t.get(71),this._cursorSurroundingLines=t.get(18),this._cursorSurroundingLinesStyle=t.get(19),this._canUseLayerHinting=!t.get(21),i.Configuration.applyFontInfo(this.domNode,n),this._onOptionsMaybeChanged(),e.hasChanged(103)&&(this._maxLineWidth=0),!0},t.prototype._onOptionsMaybeChanged=function(){var e=this._context.configuration,t=new a.ViewLineOptions(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t +;for(var n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),o=n;o<=i;o++){this._visibleLines.getVisibleLine(o).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=!1,o=t;o<=n;o++)i=this._visibleLines.getVisibleLine(o).onSelectionChanged()||i;return i},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=t;i<=n;i++)this._visibleLines.getVisibleLine(i).onDecorationsChanged();return!0},t.prototype.onFlushed=function(e){var t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)}, +t.prototype.onRevealRangeRequest=function(e){var t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.range,e.verticalType),n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new h(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var i=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop);return 0===e.scrollType&&i>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(n):this._context.viewLayout.setScrollPositionNow(n),!0},t.prototype.onScrollChanged=function(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){ +var t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopn)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._context.viewLayout.onMaxLineWidthChanged(this._maxLineWidth),this._visibleLines.onZonesChanged(e)},t.prototype.onThemeChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.getPositionFromDOMInfo=function(e,t){var n=this._getViewLineDomNode(e);if(null===n)return null;var i=this._getLineNumberFor(n);if(-1===i)return null;if(i<1||i>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(i))return new l.Position(i,1) +;var o=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(ir)return null;var s=this._visibleLines.getVisibleLine(i).getColumnOfNodeOffset(i,e,t),a=this._context.model.getLineMinColumn(i);return sn?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var n=e.endLineNumber,i=u.Range.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange()) +;if(!i)return null;var o=[],r=0,s=new a.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),c=0;t&&(c=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new l.Position(i.startLineNumber,1)).lineNumber);for(var h=this._visibleLines.getStartLineNumber(),p=this._visibleLines.getEndLineNumber(),f=i.startLineNumber;f<=i.endLineNumber;f++)if(!(fp)){var g=f===i.startLineNumber?i.startColumn:1,m=f===i.endLineNumber?i.endColumn:this._context.model.getLineMaxColumn(f),v=this._visibleLines.getVisibleLine(f).getVisibleRangesForRange(g,m,s);if(v){if(t&&fthis._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(t,n,new a.DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot))},t.prototype.visibleRangeForPosition=function(e){var t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new d.HorizontalPosition(t.outsideRenderedLine,t.ranges[0].left):null},t.prototype.updateLineWidths=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidthsFast=function(){return this._updateLineWidths(!0)},t.prototype._updateLineWidthsSlow=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidths=function(e){for(var t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=1,o=!0,r=t;r<=n;r++){var s=this._visibleLines.getVisibleLine(r);!e||s.getWidthIsFast()?i=Math.max(i,s.getWidth()):o=!1}return o&&1===t&&n===this._context.model.getLineCount()&&(this._maxLineWidth=0), +this._ensureMaxLineWidth(i),o},t.prototype.prepareRender=function(){throw new Error("Not supported")},t.prototype.render=function(){throw new Error("Not supported")},t.prototype.renderText=function(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){var t=this._horizontalRevealRequest.lineNumber,n=this._horizontalRevealRequest.startColumn,i=this._horizontalRevealRequest.endColumn,o=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var r=this._computeScrollLeftToRevealRange(t,n,i);this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),0===o?this._context.viewLayout.setScrollPositionSmooth({scrollLeft:r.scrollLeft}):this._context.viewLayout.setScrollPositionNow({ +scrollLeft:r.scrollLeft})}}this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");var s=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-s),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())},t.prototype._ensureMaxLineWidth=function(e){var t=Math.ceil(e);this._maxLineWidthl)s=o;else if(1===i||2===i)if(2===i&&a<=o&&r<=u)s=a;else{var c=(o+r)/2;s=Math.max(0,c-l/2)}else s=this._computeMinimumScrolling(a,u,o,r,3===i,4===i);return s},t.prototype._computeScrollLeftToRevealRange=function(e,n,i){var o=0,r=this._context.viewLayout.getCurrentViewport(),s=r.left,a=s+r.width,l=this._visibleRangesForLineRange(e,n,i),u=1073741824,d=0;if(!l)return{scrollLeft:s,maxHorizontalOffset:o};for(var c=0,h=l.ranges;cd&&(d=p.left+p.width)}return o=d,u=Math.max(0,u-t.HORIZONTAL_EXTRA_PX),d+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,u,d),maxHorizontalOffset:o}},t.prototype._computeMinimumScrolling=function(e,t,n,i,o,r){o=!!o,r=!!r;var s=(t|=0)-(e|=0);return(i|=0)-(n|=0)t?Math.max(0,i-s):e:n},t.HORIZONTAL_EXTRA_PX=30,t}(s.ViewPart);t.ViewLines=p})), +define(n[553],i([0,1,8,28,77,16,5,142,36,38,3,211,80,20,14,57,335,47,99,291]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m,v,_,y){"use strict";function C(e,t){return 1===e?2*t:3*t}function b(e,t){return 1*t}Object.defineProperty(t,"__esModule",{value:!0});var S=140,w=function(){function e(e){var t=this,n=e.options,i=n.get(101),o=n.get(103),r=n.get(32);this.renderMinimap=0|o.renderMinimap,this.scrollBeyondLastLine=n.get(76);var s=n.get(52);this.showSlider=s.showSlider,this.fontScale=Math.round(s.scale*i),this.charRenderer=y.once((function(){return v.MinimapCharRendererFactory.create(t.fontScale,r.fontFamily)})),this.pixelRatio=i,this.typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this.lineHeight=n.get(47),this.minimapLeft=o.minimapLeft,this.minimapWidth=o.minimapWidth,this.minimapHeight=o.height,this.canvasInnerWidth=Math.max(1,Math.floor(i*this.minimapWidth)),this.canvasInnerHeight=Math.max(1,Math.floor(i*this.minimapHeight)),this.canvasOuterWidth=this.canvasInnerWidth/i, +this.canvasOuterHeight=this.canvasInnerHeight/i}return e.prototype.equals=function(e){return this.renderMinimap===e.renderMinimap&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.fontScale===e.fontScale&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight},e}(),E=function(){function e(e,t,n,i,o,r,s){this.scrollTop=e,this.scrollHeight=t,this._computedSliderRatio=n,this.sliderTop=i,this.sliderHeight=o,this.startLineNumber=r,this.endLineNumber=s}return e.prototype.getDesiredScrollTopFromDelta=function(e){var t=this.sliderTop+e;return Math.round(t/this._computedSliderRatio)}, +e.prototype.getDesiredScrollTopFromTouchLocation=function(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)},e.create=function(t,n,i,o,r,s,a,l,u){var d,c,h=t.pixelRatio,p=C(t.renderMinimap,t.fontScale),f=Math.floor(t.canvasInnerHeight/p),g=t.lineHeight;if(r&&i!==s){var m=i-n+1;d=Math.floor(m*p/h)}else{var v=o/g;d=Math.floor(v*p/h)}c=t.scrollBeyondLastLine?(s-1)*p/h:Math.max(0,s*p/h-d);var _=(c=Math.min(t.minimapHeight-d,c))/(l-o),y=a*_,b=0;t.scrollBeyondLastLine&&(b=v=o/g);if(f>=s+b)return new e(a,l,_,y,d,S=1,s);var S=Math.max(1,Math.floor(n-y*h/p));return u&&u.scrollHeight===l&&(u.scrollTop>a&&(S=Math.min(S,u.startLineNumber)),u.scrollTopS)r._context.viewLayout.setScrollPositionNow({scrollTop:i.scrollTop});else{var a=e.posy-t;r._context.viewLayout.setScrollPositionNow({scrollTop:i.getDesiredScrollTopFromDelta(a)})}}),(function(){r._slider.toggleClassName("active",!1)}))}})),r._gestureDisposable=m.Gesture.addTarget(r._domNode.domNode),r._sliderTouchStartListener=n.addDisposableListener(r._domNode.domNode,m.EventType.Start,(function(e){e.preventDefault(),e.stopPropagation(),r._lastRenderData&&(r._slider.toggleClassName("active",!0),r._gestureInProgress=!0,r.scrollDueToTouchEvent(e))})),r._sliderTouchMoveListener=n.addStandardDisposableListener(r._domNode.domNode,m.EventType.Change,(function(e){e.preventDefault(),e.stopPropagation(),r._lastRenderData&&r._gestureInProgress&&r.scrollDueToTouchEvent(e)})), +r._sliderTouchEndListener=n.addStandardDisposableListener(r._domNode.domNode,m.EventType.End,(function(e){e.preventDefault(),e.stopPropagation(),r._gestureInProgress=!1,r._slider.toggleClassName("active",!1)})),r}return r(t,e),t.prototype.scrollDueToTouchEvent=function(e){var t=this._domNode.domNode.getBoundingClientRect().top,n=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._context.viewLayout.setScrollPositionNow({scrollTop:n})},t.prototype.dispose=function(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),e.prototype.dispose.call(this)},t.prototype._getMinimapDomNodeClassName=function(){return"always"===this._options.showSlider?"minimap slider-always":"minimap slider-mouseover"},t.prototype.getDomNode=function(){return this._domNode}, +t.prototype._applyLayout=function(){this._domNode.setLeft(this._options.minimapLeft),this._domNode.setWidth(this._options.minimapWidth),this._domNode.setHeight(this._options.minimapHeight),this._shadow.setHeight(this._options.minimapHeight),this._canvas.setWidth(this._options.canvasOuterWidth),this._canvas.setHeight(this._options.canvasOuterHeight),this._canvas.domNode.width=this._options.canvasInnerWidth,this._canvas.domNode.height=this._options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new N(this._canvas.domNode.getContext("2d"),this._options.canvasInnerWidth,this._options.canvasInnerHeight,this._tokensColorTracker.getColor(2))), +this._buffers.getBuffer()},t.prototype._onOptionsMaybeChanged=function(){var e=new w(this._context.configuration);return!this._options.equals(e)&&(this._options=e,this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName()),!0)},t.prototype.onConfigurationChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections,this._renderDecorations=!0,!0},t.prototype.onFlushed=function(e){return this._lastRenderData=null,!0},t.prototype.onLinesChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e),!0},t.prototype.onLinesInserted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e),!0},t.prototype.onScrollChanged=function(e){return this._renderDecorations=!0,!0},t.prototype.onTokensChanged=function(e){ +return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)},t.prototype.onTokensColorsChanged=function(e){return this._lastRenderData=null,this._buffers=null,!0},t.prototype.onZonesChanged=function(e){return this._lastRenderData=null,!0},t.prototype.onDecorationsChanged=function(e){return this._renderDecorations=!0,!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateMinimapColorCache(),this._selectionColor=this._context.theme.getColor(f.minimapSelection),this._renderDecorations=!0,!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){if(0===this._options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible") +;var t=E.create(this._options,e.visibleRange.startLineNumber,e.visibleRange.endLineNumber,e.viewportHeight,e.viewportData.whitespaceViewportData.length>0,this._context.model.getLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight);var n=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,i=Math.min(this._options.minimapWidth,Math.round(n*b(this._options.renderMinimap,this._options.fontScale)/this._options.pixelRatio));this._sliderHorizontal.setLeft(i),this._sliderHorizontal.setWidth(this._options.minimapWidth-i),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)},t.prototype.renderDecorations=function(e){if(this._renderDecorations){this._renderDecorations=!1 +;var t=this._context.model.getDecorationsInViewport(new c.Range(e.startLineNumber,1,e.endLineNumber,this._context.model.getLineMaxColumn(e.endLineNumber))),n=this._options,i=n.renderMinimap,o=n.canvasInnerWidth,r=n.canvasInnerHeight,s=C(i,this._options.fontScale),a=b(0,this._options.fontScale),l=this._context.model.getOptions().tabSize,u=this._decorationsCanvas.domNode.getContext("2d");u.clearRect(0,0,o,r);for(var d=new Map,h=0;hthis._options.canvasOuterHeight)){var p=t.get(r),f=!p;if(!p){var g=this._context.model.getLineContent(r);p=[d.MINIMAP_GUTTER_WIDTH];for(var m=1;mr?p.length-1:C-1;if(E>0){var L=p[E]-w||2;this.renderDecoration(e,i,w,h,L,s)}f&&this.renderLineHighlight(e,i,h,s)}},t.prototype.renderLineHighlight=function(e,t,n,i){e.fillStyle=t&&t.transparent(.5).toString()||"",e.fillRect(d.MINIMAP_GUTTER_WIDTH,n,e.canvas.width,i)},t.prototype.renderDecoration=function(e,t,n,i,o,r){e.fillStyle=t&&t.toString()||"",e.fillRect(n,i,o,r)},t.prototype.renderLines=function(e){var n=this._options.renderMinimap,i=this._options.charRenderer(),o=e.startLineNumber,r=e.endLineNumber,s=C(n,this._options.fontScale) +;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var a=this._lastRenderData._get();return new D(e,a.imageData,a.lines)}for(var l=this._getBuffer(),u=t._renderUntouchedLines(l,o,r,s,this._lastRenderData),d=u[0],c=u[1],h=u[2],p=this._context.model.getMinimapLinesRenderingData(o,r,h),f=p.tabSize,g=this._tokensColorTracker.getColor(2),m=this._tokensColorTracker.backgroundIsLight(),v=0,_=[],y=0,b=r-o+1;y=0&&Lg)return;var L=h.charCodeAt(v);if(9===L){var D=l-(v+_)%l;_+=D-1,m+=D*f}else if(32===L)m+=f;else for(var N=a.isFullWidthCharacter(L)?2:1,x=0;xg)return}},t}(u.ViewPart);t.Minimap=x,g.registerThemingParticipant((function(e,t){var n=e.getColor(f.scrollbarSliderBackground);if(n){var i=n.transparent(.5) +;t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+i+"; }")}var o=e.getColor(f.scrollbarSliderHoverBackground);if(o){var r=o.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+r+"; }")}var s=e.getColor(f.scrollbarSliderActiveBackground);if(s){var a=s.transparent(.5);t.addRule(".monaco-editor .minimap-slider.active, .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: "+a+"; }")}var l=e.getColor(f.scrollbarShadow);l&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+l+" -6px 0 6px -6px inset; }")}))})),define(n[554],i([0,1,28,36,20,14,294]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var i=e.call(this,t)||this;i._scrollTop=0,i._width=0,i._updateWidth(),i._shouldShow=!1;var o=i._context.configuration.options.get(74) +;return i._useShadows=o.useShadows,i._domNode=n.createFastDomNode(document.createElement("div")),i._domNode.setAttribute("role","presentation"),i._domNode.setAttribute("aria-hidden","true"),i}return r(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._updateShouldShow=function(){var e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._updateWidth=function(){var e=this._context.configuration.options.get(103);0===e.renderMinimap||e.minimapWidth>0&&0===e.minimapLeft?this._width=e.width:this._width=e.width-e.minimapWidth-e.verticalScrollbarWidth},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options.get(74);return this._useShadows=t.useShadows,this._updateWidth(),this._updateShouldShow(),!0},t.prototype.onScrollChanged=function(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()},t.prototype.prepareRender=function(e){}, +t.prototype.render=function(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")},t}(i.ViewPart);t.ScrollDecorationViewPart=a,s.registerThemingParticipant((function(e,t){var n=e.getColor(o.scrollbarShadow);n&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+n+" 0 6px 6px -6px inset; }")}))})),define(n[555],i([0,1,25,81,20,14,295]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null},l=function(e,t){this.lineNumber=e,this.ranges=t};function u(e){return new a(e)}function d(e){return new l(e.lineNumber,e.ranges.map(u))}var c=n.isEdgeOrIE,h=function(e){function t(t){var n=e.call(this)||this;n._previousFrameVisibleRangesWithStyle=[],n._context=t;var i=n._context.configuration.options;return n._lineHeight=i.get(47),n._roundedSelection=i.get(72),n._typicalHalfwidthCharacterWidth=i.get(32).typicalHalfwidthCharacterWidth, +n._selections=[],n._renderResult=null,n._context.addEventHandler(n),n}return r(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options;return this._lineHeight=t.get(47),this._roundedSelection=t.get(72),this._typicalHalfwidthCharacterWidth=t.get(32).typicalHalfwidthCharacterWidth,!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._visibleRangesHaveGaps=function(e){for(var t=0,n=e.length;t1)return!0} +return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,n){var i=this._typicalHalfwidthCharacterWidth/4,o=null,r=null;if(n&&n.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!o&&a=0;a--)n[a].lineNumber===l&&(r=n[a].ranges[0]);o&&!o.startStyle&&(o=null),r&&!r.startStyle&&(r=null)}a=0;for(var u=t.length;a0){var m=t[a-1].ranges[0].left,v=t[a-1].ranges[0].left+t[a-1].ranges[0].width;p(c-m)m&&(f.top=1),p(h-v)'},t.prototype._actualRenderOneSelection=function(e,n,i,o){if(0!==o.length)for(var r=!!o[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),l=o[0].lineNumber,u=o[o.length-1].lineNumber,d=0,c=o.length;d1,u)}}this._previousFrameVisibleRangesWithStyle=r,this._renderResult=t.map((function(e){return e[0]+e[1]}))},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t.SELECTION_CLASS_NAME="selected-text",t.SELECTION_TOP_LEFT="top-left-radius",t.SELECTION_BOTTOM_LEFT="bottom-left-radius",t.SELECTION_TOP_RIGHT="top-right-radius",t.SELECTION_BOTTOM_RIGHT="bottom-right-radius",t.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",t.ROUNDED_PIECE_WIDTH=10,t}(i.DynamicViewOverlay);function p(e){return e<0?-e:e}t.SelectionsOverlay=h,s.registerThemingParticipant((function(e,t){var n=e.getColor(o.editorSelectionBackground) +;n&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+n+"; }");var i=e.getColor(o.editorInactiveSelection);i&&t.addRule(".monaco-editor .selected-text { background-color: "+i+"; }");var r=e.getColor(o.editorSelectionForeground);r&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+r+"; }")}))})),define(n[556],i([0,1,4,2,16,10,38,29,17,114,161,40,15,26,157,14]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v,_){"use strict";function y(e){return e.toString()}Object.defineProperty(t,"__esModule",{value:!0});var C=function(){function e(e,t,n){this._modelEventListeners=new i.DisposableStore,this.model=e,this._languageSelection=null,this._languageSelectionListener=null,this._modelEventListeners.add(e.onWillDispose((function(){return t(e)}))),this._modelEventListeners.add(e.onDidChangeLanguage((function(t){return n(e,t)})))}return e.prototype._disposeLanguageSelection=function(){this._languageSelectionListener&&(this._languageSelectionListener.dispose(), +this._languageSelectionListener=null),this._languageSelection&&(this._languageSelection.dispose(),this._languageSelection=null)},e.prototype.dispose=function(){this._modelEventListeners.dispose(),this._disposeLanguageSelection()},e.prototype.setLanguage=function(e){var t=this;this._disposeLanguageSelection(),this._languageSelection=e,this._languageSelectionListener=this._languageSelection.onDidChange((function(){return t.model.setMode(e.languageIdentifier)})),this.model.setMode(e.languageIdentifier)},e}(),b=o.isLinux||o.isMacintosh?1:2,S=function(e){function t(t,i,o){var r=e.call(this)||this;return r._onModelAdded=r._register(new n.Emitter),r.onModelAdded=r._onModelAdded.event,r._onModelRemoved=r._register(new n.Emitter),r.onModelRemoved=r._onModelRemoved.event,r._onModelModeChanged=r._register(new n.Emitter),r.onModelModeChanged=r._onModelModeChanged.event,r._configurationService=t,r._resourcePropertiesService=i,r._models={},r._modelCreationOptionsByLanguageAndResource=Object.create(null), +r._configurationServiceSubscription=r._configurationService.onDidChangeConfiguration((function(e){return r._updateModelOptions()})),r._updateModelOptions(),r._register(new w(r,o)),r}return r(t,e),t._readModelOptions=function(e,t){var n=a.EDITOR_MODEL_DEFAULTS.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var i=parseInt(e.editor.tabSize,10);isNaN(i)||(n=i),n<1&&(n=1)}var o=n;if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){var r=parseInt(e.editor.indentSize,10);isNaN(r)||(o=r),o<1&&(o=1)}var s=a.EDITOR_MODEL_DEFAULTS.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(s="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var l=b,u=e.eol;"\r\n"===u?l=2:"\n"===u&&(l=1);var d=a.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(d="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var c=a.EDITOR_MODEL_DEFAULTS.detectIndentation +;e.editor&&void 0!==e.editor.detectIndentation&&(c="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var h=a.EDITOR_MODEL_DEFAULTS.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(h="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:n,indentSize:o,insertSpaces:s,detectIndentation:c,defaultEOL:l,trimAutoWhitespace:d,largeFileOptimizations:h}},t.prototype.getCreationOptions=function(e,n,i){var o=this._modelCreationOptionsByLanguageAndResource[e+n];if(!o){var r=this._configurationService.getValue("editor",{overrideIdentifier:e,resource:n}),s=this._resourcePropertiesService.getEOL(n,e);o=t._readModelOptions({editor:r,eol:s},i),this._modelCreationOptionsByLanguageAndResource[e+n]=o}return o},t.prototype._updateModelOptions=function(){var e=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null) +;for(var n=Object.keys(this._models),i=0,o=n.length;i=this._growCount){var o=this._elements;this._currentLengthIndex++,this._currentLength=e._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1>=1;var s=this._themeService.getTheme().getTokenStyleMetadata(i,o);return void 0===s&&(s=2147483647),this._hashTable.add(e,t,s),s},e}(),x=function(){function e(e,t,n){this._provider=e,this.resultId=t,this.data=n}return e.prototype.dispose=function(){this._provider.releaseSemanticTokens(this.resultId)},e}(),I=function(e){function t(t,n,i){var o=e.call(this)||this;return o._isDisposed=!1,o._model=t,o._semanticStyling=i,o._fetchSemanticTokens=o._register(new g.RunOnceScheduler((function(){return o._fetchSemanticTokensNow()}),300)),o._currentResponse=null,o._currentRequestCancellationTokenSource=null,o._register(o._model.onDidChangeContent((function(e){o._fetchSemanticTokens.isScheduled()||o._fetchSemanticTokens.schedule()}))),o._register(u.SemanticTokensProviderRegistry.onDidChange((function(e){return o._fetchSemanticTokens.schedule()}))), +n&&o._register(n.onThemeChange((function(e){o._setSemanticTokens(null,null,null,[]),o._fetchSemanticTokens.schedule()}))),o._fetchSemanticTokens.schedule(0),o}return r(t,e),t.prototype.dispose=function(){this._isDisposed=!0,this._currentResponse&&(this._currentResponse.dispose(),this._currentResponse=null),this._currentRequestCancellationTokenSource&&(this._currentRequestCancellationTokenSource.cancel(),this._currentRequestCancellationTokenSource=null),e.prototype.dispose.call(this)},t.prototype._fetchSemanticTokensNow=function(){var e=this;if(!this._currentRequestCancellationTokenSource){var t=this._getSemanticColoringProvider();if(t){this._currentRequestCancellationTokenSource=new m.CancellationTokenSource;var n=[],i=this._model.onDidChangeContent((function(e){n.push(e)})),o=this._semanticStyling.get(t),r=this._currentResponse&&this._currentResponse.resultId||null;Promise.resolve(t.provideSemanticTokens(this._model,r,null,this._currentRequestCancellationTokenSource.token)).then((function(r){ +e._currentRequestCancellationTokenSource=null,i.dispose(),e._setSemanticTokens(t,r||null,o,n)}),(function(r){s.onUnexpectedError(r),e._currentRequestCancellationTokenSource=null,i.dispose(),e._setSemanticTokens(t,null,o,n)}))}}},t._isSemanticTokens=function(e){return e&&!!e.data},t._isSemanticTokensEdits=function(e){return e&&Array.isArray(e.edits)},t._copy=function(e,t,n,i,o){for(var r=0;r=0;p--){ +var f,g=c-((f=n.edits[p]).start+f.deleteCount);g>0&&(t._copy(u,c-g,d,h-g,g),h-=g),f.data&&(t._copy(f.data,0,d,h-f.data.length,f.data.length),h-=f.data.length),c=f.start}c>0&&t._copy(u,0,d,0,c),n={resultId:n.resultId,data:d}}}if(t._isSemanticTokens(n)){this._currentResponse=new x(e,n.resultId,n.data);u=n.data;for(var m=n.data.length/5|0,_=Math.max(Math.ceil(m/1024),400),y=[],C=0,b=1,S=0;Cw&&0===u[5*L];)L--;if(L-1===w){for(var D=E;D+10){for(var B=0,z=o;B0?e[0]:null},t}(i.Disposable)})),define(n[43],i([0,1,425,27,20,14]),(function(e,t,n,i,o,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.editorLineHighlight=o.registerColor("editor.lineHighlightBackground",{dark:null,light:null,hc:null},n.localize(0,null)),t.editorLineHighlightBorder=o.registerColor("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},n.localize(1,null)),t.editorRangeHighlight=o.registerColor("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},n.localize(2,null),!0),t.editorRangeHighlightBorder=o.registerColor("editor.rangeHighlightBorder",{dark:null,light:null, +hc:o.activeContrastBorder},n.localize(3,null),!0),t.editorSymbolHighlight=o.registerColor("editor.symbolHighlightBackground",{dark:o.editorFindMatchHighlight,light:o.editorFindMatchHighlight,hc:null},n.localize(4,null),!0),t.editorSymbolHighlightBorder=o.registerColor("editor.symbolHighlightBorder",{dark:null,light:null,hc:o.activeContrastBorder},n.localize(5,null),!0),t.editorCursorForeground=o.registerColor("editorCursor.foreground",{dark:"#AEAFAD",light:i.Color.black,hc:i.Color.white},n.localize(6,null)),t.editorCursorBackground=o.registerColor("editorCursor.background",null,n.localize(7,null)),t.editorWhitespaces=o.registerColor("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},n.localize(8,null)),t.editorIndentGuides=o.registerColor("editorIndentGuide.background",{dark:t.editorWhitespaces,light:t.editorWhitespaces,hc:t.editorWhitespaces},n.localize(9,null)),t.editorActiveIndentGuides=o.registerColor("editorIndentGuide.activeBackground",{dark:t.editorWhitespaces, +light:t.editorWhitespaces,hc:t.editorWhitespaces},n.localize(10,null)),t.editorLineNumbers=o.registerColor("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:i.Color.white},n.localize(11,null));var s=o.registerColor("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:o.activeContrastBorder},n.localize(12,null),!1,n.localize(13,null));t.editorActiveLineNumber=o.registerColor("editorLineNumber.activeForeground",{dark:s,light:s,hc:s},n.localize(14,null)),t.editorRuler=o.registerColor("editorRuler.foreground",{dark:"#5A5A5A",light:i.Color.lightgrey,hc:i.Color.white},n.localize(15,null)),t.editorCodeLensForeground=o.registerColor("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},n.localize(16,null)),t.editorBracketMatchBackground=o.registerColor("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},n.localize(17,null)),t.editorBracketMatchBorder=o.registerColor("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9", +hc:o.contrastBorder},n.localize(18,null)),t.editorOverviewRulerBorder=o.registerColor("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},n.localize(19,null)),t.editorGutter=o.registerColor("editorGutter.background",{dark:o.editorBackground,light:o.editorBackground,hc:o.editorBackground},n.localize(20,null)),t.editorUnnecessaryCodeBorder=o.registerColor("editorUnnecessaryCode.border",{dark:null,light:null,hc:i.Color.fromHex("#fff").transparent(.8)},n.localize(21,null)),t.editorUnnecessaryCodeOpacity=o.registerColor("editorUnnecessaryCode.opacity",{dark:i.Color.fromHex("#000a"),light:i.Color.fromHex("#0007"),hc:null},n.localize(22,null)),t.overviewRulerError=o.registerColor("editorOverviewRuler.errorForeground",{dark:new i.Color(new i.RGBA(255,18,18,.7)),light:new i.Color(new i.RGBA(255,18,18,.7)),hc:new i.Color(new i.RGBA(255,50,50,1))},n.localize(23,null)),t.overviewRulerWarning=o.registerColor("editorOverviewRuler.warningForeground",{dark:o.editorWarningForeground, +light:o.editorWarningForeground,hc:o.editorWarningBorder},n.localize(24,null)),t.overviewRulerInfo=o.registerColor("editorOverviewRuler.infoForeground",{dark:o.editorInfoForeground,light:o.editorInfoForeground,hc:o.editorInfoBorder},n.localize(25,null)),r.registerThemingParticipant((function(e,n){var i=e.getColor(o.editorBackground);i&&n.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+i+"; }");var r=e.getColor(o.editorForeground);r&&n.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+r+"; }");var s=e.getColor(t.editorGutter);s&&n.addRule(".monaco-editor .margin { background-color: "+s+"; }");var a=e.getColor(t.editorRangeHighlight);a&&n.addRule(".monaco-editor .rangeHighlight { background-color: "+a+"; }");var l=e.getColor(t.editorRangeHighlightBorder);l&&n.addRule(".monaco-editor .rangeHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+l+"; }");var u=e.getColor(t.editorSymbolHighlight) +;u&&n.addRule(".monaco-editor .symbolHighlight { background-color: "+u+"; }");var d=e.getColor(t.editorSymbolHighlightBorder);d&&n.addRule(".monaco-editor .symbolHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+d+"; }");var c=e.getColor(t.editorWhitespaces);c&&n.addRule(".vs-whitespace { color: "+c+" !important; }")}))})),define(n[557],i([0,1,81,43,19,14,283]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=!0,l=function(e){function t(t){var n=e.call(this)||this;n._context=t;var i=n._context.configuration.options,o=i.get(103);return n._lineHeight=i.get(47),n._renderLineHighlight=i.get(69),n._contentLeft=o.contentLeft,n._contentWidth=o.contentWidth,n._selectionIsEmpty=!0,n._cursorLineNumbers=[],n._selections=[],n._renderData=null,n._context.addEventHandler(n),n}return r(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),e.prototype.dispose.call(this)},t.prototype._readFromSelections=function(){ +var e=!1,t=a?this._selections.slice(0,1):this._selections,n=t.map((function(e){return e.positionLineNumber}));n.sort((function(e,t){return e-t})),o.equals(this._cursorLineNumbers,n)||(this._cursorLineNumbers=n,e=!0);var i=t.every((function(e){return e.isEmpty()}));return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,e=!0),e},t.prototype.onThemeChanged=function(e){return this._readFromSelections()},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options,n=t.get(103);return this._lineHeight=t.get(47),this._renderLineHighlight=t.get(69),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections,this._readFromSelections()},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollWidthChanged||e.scrollTopChanged}, +t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){if(this._shouldRenderThis()){for(var t=this._renderOne(e),n=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,o=this._cursorLineNumbers.length,r=0,s=[],a=n;a<=i;a++){for(var l=a-n;r=this._renderData.length?"":this._renderData[n]},t}(n.DynamicViewOverlay);t.AbstractLineHighlightOverlay=l;var u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._renderOne=function(e){return'
    '},t.prototype._shouldRenderThis=function(){ +return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty},t.prototype._shouldRenderOther=function(){return"gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight},t}(l);t.CurrentLineHighlightOverlay=u;var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._renderOne=function(e){return'
    '},t.prototype._shouldRenderThis=function(){return"gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight},t.prototype._shouldRenderOther=function(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty},t}(l);t.CurrentLineMarginHighlightOverlay=d,s.registerThemingParticipant((function(e,t){a=!1;var n=e.getColor(i.editorLineHighlight) +;if(n&&(t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+n+"; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+n+"; border: none; }")),!n||n.isTransparent()||e.defines(i.editorLineHighlightBorder)){var o=e.getColor(i.editorLineHighlightBorder);o&&(a=!0,t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+o+"; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+o+"; }"),"hc"===e.type&&(t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}}))})),define(n[558],i([0,1,81,13,43,14,286]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var n=e.call(this)||this;n._context=t,n._primaryLineNumber=0;var i=n._context.configuration.options,o=i.get(104),r=i.get(32);return n._lineHeight=i.get(47), +n._spaceWidth=r.spaceWidth,n._enabled=i.get(67),n._activeIndentEnabled=i.get(41),n._maxIndentLeft=-1===o.wrappingColumn?-1:o.wrappingColumn*r.typicalHalfwidthCharacterWidth,n._renderResult=null,n._context.addEventHandler(n),n}return r(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options,n=t.get(104),i=t.get(32);return this._lineHeight=t.get(47),this._spaceWidth=i.spaceWidth,this._enabled=t.get(67),this._activeIndentEnabled=t.get(41),this._maxIndentLeft=-1===n.wrappingColumn?-1:n.wrappingColumn*i.typicalHalfwidthCharacterWidth,!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],n=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==n&&(this._primaryLineNumber=n,!0)},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0}, +t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLanguageConfigurationChanged=function(e){return!0},t.prototype.prepareRender=function(e){if(this._enabled){var t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,o=this._context.model.getOptions().indentSize*this._spaceWidth,r=e.scrollWidth,s=this._lineHeight,a=this._context.model.getLinesIndentGuides(t,n),l=0,u=0,d=0;if(this._activeIndentEnabled&&this._primaryLineNumber){var c=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,n);l=c.startLineNumber,u=c.endLineNumber,d=c.indent}for(var h=[],p=t;p<=n;p++){for(var f=l<=p&&p<=u,g=p-t,m=a[g],v="",_=e.visibleRangeForPosition(new i.Position(p,1)),y=_?_.left:0,C=1;C<=m;C++){if(v+='
    ', +(y+=o)>r||this._maxIndentLeft>0&&y>this._maxIndentLeft)break}h[g]=v}this._renderResult=h}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t}(n.DynamicViewOverlay);t.IndentGuidesOverlay=a,s.registerThemingParticipant((function(e,t){var n=e.getColor(o.editorIndentGuides);n&&t.addRule(".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 "+n+" inset; }");var i=e.getColor(o.editorActiveIndentGuides)||n;i&&t.addRule(".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 "+i+" inset; }")}))})),define(n[226],i([0,1,16,81,13,43,14,287]),(function(e,t,n,i,o,s,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l=function(e){function t(t){var n=e.call(this)||this;return n._context=t,n._readConfig(),n._lastCursorModelPosition=new o.Position(1,1),n._renderResult=null,n._context.addEventHandler(n),n}return r(t,e),t.prototype._readConfig=function(){ +var e=this._context.configuration.options;this._lineHeight=e.get(47);var t=e.get(48);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(68);var n=e.get(103);this._lineNumbersLeft=n.lineNumbersLeft,this._lineNumbersWidth=n.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return this._readConfig(),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0].getPosition();return this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(t),2===this._renderLineNumbers||3===this._renderLineNumbers},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged}, +t.prototype.onZonesChanged=function(e){return!0},t.prototype._getLineRenderLineNumber=function(e){var t=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new o.Position(e,1));if(1!==t.column)return"";var n=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(n);if(2===this._renderLineNumbers){var i=Math.abs(this._lastCursorModelPosition.lineNumber-n);return 0===i?''+n+"":String(i)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===n?String(n):n%10==0?String(n):"":String(n)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var i=n.isLinux?this._lineHeight%2==0?" lh-even":" lh-odd":"",o=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s='
    ',a=this._context.model.getLineCount(),l=[],u=o;u<=r;u++){var d=u-o +;if(this._renderFinalNewline||u!==a||0!==this._context.model.getLineLength(u)){var c=this._getLineRenderLineNumber(u);l[d]=c?s+c+"
    ":""}else l[d]=""}this._renderResult=l}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var n=t-e;return n<0||n>=this._renderResult.length?"":this._renderResult[n]},t.CLASS_NAME="line-numbers",t}(i.DynamicViewOverlay);t.LineNumbersOverlay=l,a.registerThemingParticipant((function(e,t){var n=e.getColor(s.editorLineNumbers);n&&t.addRule(".monaco-editor .line-numbers { color: "+n+"; }");var i=e.getColor(s.editorActiveLineNumber);i&&t.addRule(".monaco-editor .current-line ~ .line-numbers { color: "+i+"; }")}))})),define(n[559],i([0,1,415,25,28,16,5,66,186,184,36,226,191,88,13,3,21,80,282]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m,v,_){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var y=function(){function e(e,t,n){this.top=e,this.left=t,this.width=n}return e.prototype.setWidth=function(t){ +return new e(this.top,this.left,t)},e}(),C=i.isEdgeOrIE||i.isFirefox,b=function(e){function t(t,n,r){var a=e.call(this,t)||this;a._primaryCursorPosition=new g.Position(1,1),a._primaryCursorVisibleRange=null,a._viewController=n,a._viewHelper=r,a._scrollLeft=0,a._scrollTop=0;var l=a._context.configuration.options,h=l.get(103);a._accessibilitySupport=l.get(2),a._accessibilityPageSize=l.get(3),a._contentLeft=h.contentLeft,a._contentWidth=h.contentWidth,a._contentHeight=h.contentHeight,a._fontInfo=l.get(32),a._lineHeight=l.get(47),a._emptySelectionClipboard=l.get(24),a._copyWithSyntaxHighlighting=l.get(14),a._visibleTextArea=null,a._selections=[new v.Selection(1,1,1,1)],a._lastRenderPosition=null,a.textArea=o.createFastDomNode(document.createElement("textarea")),c.PartFingerprints.write(a.textArea,6),a.textArea.setClassName("inputarea"),a.textArea.setAttribute("wrap","off"),a.textArea.setAttribute("autocorrect","off"),a.textArea.setAttribute("autocapitalize","off"),a.textArea.setAttribute("autocomplete","off"), +a.textArea.setAttribute("spellcheck","false"),a.textArea.setAttribute("aria-label",a._getAriaLabel(l)),a.textArea.setAttribute("role","textbox"),a.textArea.setAttribute("aria-multiline","true"),a.textArea.setAttribute("aria-haspopup","false"),a.textArea.setAttribute("aria-autocomplete","both"),s.isWeb&&l.get(65)&&a.textArea.setAttribute("readonly","true"),a.textAreaCover=o.createFastDomNode(document.createElement("div")),a.textAreaCover.setPosition("absolute");var p={getLineCount:function(){return a._context.model.getLineCount()},getLineMaxColumn:function(e){return a._context.model.getLineMaxColumn(e)},getValueInRange:function(e,t){return a._context.model.getValueInRange(e,t)}},f={getDataToCopy:function(e){var t=a._context.model.getPlainTextToCopy(a._selections,a._emptySelectionClipboard,s.isWindows),n=a._context.model.getEOL(),i=a._emptySelectionClipboard&&1===a._selections.length&&a._selections[0].isEmpty(),o=Array.isArray(t)?t:null,r=Array.isArray(t)?t.join(n):t,l=void 0 +;return e&&(u.CopyOptions.forceCopyWithSyntaxHighlighting||a._copyWithSyntaxHighlighting&&r.length<65536)&&(l=a._context.model.getHTMLToCopy(a._selections,a._emptySelectionClipboard)),{isFromEmptySelection:i,multicursorText:o,text:r,html:l}},getScreenReaderContent:function(e){if(i.isIPad)return d.TextAreaState.EMPTY;if(1===a._accessibilitySupport){if(s.isMacintosh){var t=a._selections[0];if(t.isEmpty()){var n=t.getStartPosition(),o=a._getWordBeforePosition(n);if(0===o.length&&(o=a._getCharacterBeforePosition(n)),o.length>0)return new d.TextAreaState(o,o.length,o.length,n,n)}}return d.TextAreaState.EMPTY}return d.PagedScreenReaderStrategy.fromEditorSelection(e,p,a._selections[0],a._accessibilityPageSize,0===a._accessibilitySupport)},deduceModelPosition:function(e,t,n){return a._context.model.deduceModelPositionRelativeToViewPosition(e,t,n)}};return a._textAreaInput=a._register(new u.TextAreaInput(f,a.textArea)),a._register(a._textAreaInput.onKeyDown((function(e){a._viewController.emitKeyDown(e)}))), +a._register(a._textAreaInput.onKeyUp((function(e){a._viewController.emitKeyUp(e)}))),a._register(a._textAreaInput.onPaste((function(e){var t=!1,n=null;e.metadata&&(t=a._emptySelectionClipboard&&!!e.metadata.isFromEmptySelection,n=void 0!==e.metadata.multicursorText?e.metadata.multicursorText:null),a._viewController.paste("keyboard",e.text,t,n)}))),a._register(a._textAreaInput.onCut((function(){a._viewController.cut("keyboard")}))),a._register(a._textAreaInput.onType((function(e){e.replaceCharCnt?a._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):a._viewController.type("keyboard",e.text)}))),a._register(a._textAreaInput.onSelectionChangeRequest((function(e){a._viewController.setSelection("keyboard",e)}))),a._register(a._textAreaInput.onCompositionStart((function(){var e=a._selections[0].startLineNumber,t=a._selections[0].startColumn;a._context.privateViewEventBus.emit(new _.ViewRevealRangeRequestEvent("keyboard",new m.Range(e,t,e,t),0,!0,1)) +;var n=a._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);n&&(a._visibleTextArea=new y(a._context.viewLayout.getVerticalOffsetForLineNumber(e),n.left,C?0:1),a._render()),a.textArea.setClassName("inputarea ime-input"),a._viewController.compositionStart("keyboard")}))),a._register(a._textAreaInput.onCompositionUpdate((function(e){i.isEdgeOrIE?a._visibleTextArea=a._visibleTextArea.setWidth(0):a._visibleTextArea=a._visibleTextArea.setWidth(function(e,t){var n=document.createElement("canvas").getContext("2d");n.font=(o=t,r="normal",s=o.fontWeight,a=o.fontSize,l=o.lineHeight,u=o.fontFamily,r+" normal "+s+" "+a+"px / "+l+"px "+u);var o,r,s,a,l,u;var d=n.measureText(e);return i.isFirefox?d.width+2:d.width}(e.data,a._fontInfo)),a._render()}))),a._register(a._textAreaInput.onCompositionEnd((function(){a._visibleTextArea=null,a._render(),a.textArea.setClassName("inputarea"),a._viewController.compositionEnd("keyboard")}))),a._register(a._textAreaInput.onFocus((function(){ +a._context.privateViewEventBus.emit(new _.ViewFocusChangedEvent(!0))}))),a._register(a._textAreaInput.onBlur((function(){a._context.privateViewEventBus.emit(new _.ViewFocusChangedEvent(!1))}))),a}return r(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getWordBeforePosition=function(e){for(var t=this._context.model.getLineContent(e.lineNumber),n=f.getMapForWordSeparators(this._context.configuration.options.get(92)),i=e.column,o=0;i>1;){var r=t.charCodeAt(i-2);if(0!==n.get(r)||o>50)return t.substring(i-1,e.column-1);o++,i--}return t.substring(0,e.column-1)},t.prototype._getCharacterBeforePosition=function(e){if(e.column>1){var t=this._context.model.getLineContent(e.lineNumber).charAt(e.column-2);if(!a.isHighSurrogate(t.charCodeAt(0)))return t}return""},t.prototype._getAriaLabel=function(e){return 1===e.get(2)?n.localize(0,null):e.get(4)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options,n=t.get(103) +;return this._accessibilitySupport=t.get(2),this._accessibilityPageSize=t.get(3),this._contentLeft=n.contentLeft,this._contentWidth=n.contentWidth,this._contentHeight=n.contentHeight,this._fontInfo=t.get(32),this._lineHeight=t.get(47),this._emptySelectionClipboard=t.get(24),this._copyWithSyntaxHighlighting=t.get(14),this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),s.isWeb&&e.hasChanged(65)&&(t.get(65)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")),e.hasChanged(2)&&this._textAreaInput.writeScreenReaderContent("strategy changed"),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0}, +t.prototype.onScrollChanged=function(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.isFocused=function(){return this._textAreaInput.isFocused()},t.prototype.focusTextArea=function(){this._textAreaInput.focusTextArea()},t.prototype.getLastRenderData=function(){return this._lastRenderPosition},t.prototype.prepareRender=function(e){this._primaryCursorPosition=new g.Position(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition)},t.prototype.render=function(e){this._textAreaInput.writeScreenReaderContent("render"),this._render()},t.prototype._render=function(){if(this._visibleTextArea)this._renderInsideEditor(null,this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight);else if(this._primaryCursorVisibleRange){ +var e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth)this._renderAtTopLeft();else{var t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;t<0||t>this._contentHeight?this._renderAtTopLeft():s.isMacintosh?this._renderInsideEditor(this._primaryCursorPosition,t,e,C?0:1,this._lineHeight):this._renderInsideEditor(this._primaryCursorPosition,t,e,C?0:1,C?0:1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,n,i,o){this._lastRenderPosition=e;var r=this.textArea,s=this.textAreaCover;l.Configuration.applyFontInfo(r,this._fontInfo),r.setTop(t),r.setLeft(n),r.setWidth(i),r.setHeight(o),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){this._lastRenderPosition=null;var e=this.textArea,t=this.textAreaCover;if(l.Configuration.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0), +C)return e.setWidth(0),e.setHeight(0),t.setWidth(0),void t.setHeight(0);e.setWidth(1),e.setHeight(1),t.setWidth(1),t.setHeight(1);var n=this._context.configuration.options;n.get(38)?t.setClassName("monaco-editor-background textAreaCover "+p.Margin.OUTER_CLASS_NAME):0!==n.get(48).renderType?t.setClassName("monaco-editor-background textAreaCover "+h.LineNumbersOverlay.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(c.ViewPart);t.TextAreaHandler=b})),define(n[560],i([0,1,28,27,36,13,17,43]),(function(e,t,n,i,o,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){var n=e.options;this.lineHeight=n.get(47),this.pixelRatio=n.get(101),this.overviewRulerLanes=n.get(61),this.renderBorder=n.get(60);var o=t.getColor(l.editorOverviewRulerBorder);this.borderColor=o?o.toString():null,this.hideCursor=n.get(40);var r=t.getColor(l.editorCursorForeground);this.cursorColor=r?r.transparent(.7).toString():null,this.themeType=t.type +;var s=n.get(52),u=s.enabled,d=s.side,c=u?a.TokenizationRegistry.getDefaultBackground():null;this.backgroundColor=null===c||"left"===d?null:i.Color.Format.CSS.formatHex(c);var h=n.get(103).overviewRuler;this.top=h.top,this.right=h.right,this.domWidth=h.width,this.domHeight=h.height,this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0;var p=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes),f=p[0],g=p[1];this.x=f,this.w=g}return e.prototype._initLanes=function(e,t,n){var i=t-e;if(n>=3){var o,r,s,a=i-(o=Math.floor(i/3))-(r=Math.floor(i/3)),l=(s=e)+o;return[[0,s,l,s,s+o+a,s,l,s],[0,o,a,o+a,r,o+a+r,a+r,o+a+r]]}if(2===n)return[[0,s=e,s,s,s+(o=Math.floor(i/2)),s,s,s],[0,o,o,o,r=i-o,o+r,o+r,o+r]];return[[0,e,e,e,e,e,e,e],[0,i,i,i,i,i,i,i]]},e.prototype.equals=function(e){ +return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight},e}(),d=function(e){function t(t){var i=e.call(this,t)||this;return i._domNode=n.createFastDomNode(document.createElement("canvas")),i._domNode.setClassName("decorationsOverviewRuler"),i._domNode.setPosition("absolute"),i._domNode.setLayerHinting(!0),i._domNode.setContain("strict"),i._domNode.setAttribute("aria-hidden","true"),i._updateSettings(!1),i._tokensColorTrackerListener=a.TokenizationRegistry.onDidChange((function(e){e.changedColorMap&&i._updateSettings(!0)})),i._cursorPositions=[],i}return r(t,e), +t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new u(this._context.configuration,this._context.theme);return(!this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)},t.prototype.onConfigurationChanged=function(e){return this._updateSettings(!1)},t.prototype.onCursorStateChanged=function(e){this._cursorPositions=[];for(var t=0,n=e.selections.length;tt&&(I=t-a),E=I-a,k=I+a;E>_+1||b!==m?(0!==y&&l.fillRect(u[m],v,d[m],_-v),m=b,v=E,_=k):k>_&&(_=k)}l.fillRect(u[m],v,d[m],_-v)}if(!this._settings.hideCursor&&this._settings.cursorColor){var L=2*this._settings.pixelRatio|0,D=L/2|0,N=this._settings.x[7],x=this._settings.w[7];l.fillStyle=this._settings.cursorColor;for(v=-100,_=-100,y=0,C=this._cursorPositions.length;yt&&(I=t-D);var k=(E=I-D)+L;E>_+1?(0!==y&&l.fillRect(N,v,x,_-v),v=E,_=k):k>_&&(_=k)}l.fillRect(N,v,x,_-v)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(l.beginPath(),l.lineWidth=1,l.strokeStyle=this._settings.borderColor,l.moveTo(0,0),l.lineTo(0,t),l.stroke(),l.moveTo(0,0),l.lineTo(e,0),l.stroke())},t +}(o.ViewPart);t.DecorationsOverviewRuler=d})),define(n[561],i([0,1,28,36,43,14,293]),(function(e,t,n,i,o,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){function t(t){var i=e.call(this,t)||this;i.domNode=n.createFastDomNode(document.createElement("div")),i.domNode.setAttribute("role","presentation"),i.domNode.setAttribute("aria-hidden","true"),i.domNode.setClassName("view-rulers"),i._renderedRulers=[];var o=i._context.configuration.options;return i._rulers=o.get(73),i._typicalHalfwidthCharacterWidth=o.get(32).typicalHalfwidthCharacterWidth,i}return r(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.options;return this._rulers=t.get(73),this._typicalHalfwidthCharacterWidth=t.get(32).typicalHalfwidthCharacterWidth,!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.prepareRender=function(e){},t.prototype._ensureRulersCount=function(){ +var e=this._renderedRulers.length,t=this._rulers.length;if(e!==t)if(e0;){(s=n.createFastDomNode(document.createElement("div"))).setClassName("view-ruler"),s.setWidth(i),this.domNode.appendChild(s),this._renderedRulers.push(s),o--}else for(var r=e-t;r>0;){var s=this._renderedRulers.pop();this.domNode.removeChild(s),r--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,n=this._rulers.length;tt.length){var r=this._secondaryCursors.length-t.length;for(i=0;i1),this._hasNonEmptySelection.set(e.some((function(e){return!e.isEmpty()})))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())},t.prototype._updateFromFocus=function(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget), +this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())},t.prototype._updateFromModel=function(){var e=this._editor.getModel();this._canUndo.set(Boolean(e&&e.canUndo())),this._canRedo.set(Boolean(e&&e.canRedo()))},t}(a.Disposable),z=function(e){function t(t,n){var i=e.call(this)||this;i._editor=t,i._contextKeyService=n,i._langId=w.EditorContextKeys.languageId.bindTo(n),i._hasCompletionItemProvider=w.EditorContextKeys.hasCompletionItemProvider.bindTo(n),i._hasCodeActionsProvider=w.EditorContextKeys.hasCodeActionsProvider.bindTo(n),i._hasCodeLensProvider=w.EditorContextKeys.hasCodeLensProvider.bindTo(n),i._hasDefinitionProvider=w.EditorContextKeys.hasDefinitionProvider.bindTo(n),i._hasDeclarationProvider=w.EditorContextKeys.hasDeclarationProvider.bindTo(n),i._hasImplementationProvider=w.EditorContextKeys.hasImplementationProvider.bindTo(n),i._hasTypeDefinitionProvider=w.EditorContextKeys.hasTypeDefinitionProvider.bindTo(n), +i._hasHoverProvider=w.EditorContextKeys.hasHoverProvider.bindTo(n),i._hasDocumentHighlightProvider=w.EditorContextKeys.hasDocumentHighlightProvider.bindTo(n),i._hasDocumentSymbolProvider=w.EditorContextKeys.hasDocumentSymbolProvider.bindTo(n),i._hasReferenceProvider=w.EditorContextKeys.hasReferenceProvider.bindTo(n),i._hasRenameProvider=w.EditorContextKeys.hasRenameProvider.bindTo(n),i._hasSignatureHelpProvider=w.EditorContextKeys.hasSignatureHelpProvider.bindTo(n),i._hasDocumentFormattingProvider=w.EditorContextKeys.hasDocumentFormattingProvider.bindTo(n),i._hasDocumentSelectionFormattingProvider=w.EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(n),i._hasMultipleDocumentFormattingProvider=w.EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(n),i._hasMultipleDocumentSelectionFormattingProvider=w.EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(n),i._isInWalkThrough=w.EditorContextKeys.isInEmbeddedEditor.bindTo(n);var o=function(){return i._update()} +;return i._register(t.onDidChangeModel(o)),i._register(t.onDidChangeModelLanguage(o)),i._register(E.CompletionProviderRegistry.onDidChange(o)),i._register(E.CodeActionProviderRegistry.onDidChange(o)),i._register(E.CodeLensProviderRegistry.onDidChange(o)),i._register(E.DefinitionProviderRegistry.onDidChange(o)),i._register(E.DeclarationProviderRegistry.onDidChange(o)),i._register(E.ImplementationProviderRegistry.onDidChange(o)),i._register(E.TypeDefinitionProviderRegistry.onDidChange(o)),i._register(E.HoverProviderRegistry.onDidChange(o)),i._register(E.DocumentHighlightProviderRegistry.onDidChange(o)),i._register(E.DocumentSymbolProviderRegistry.onDidChange(o)),i._register(E.ReferenceProviderRegistry.onDidChange(o)),i._register(E.RenameProviderRegistry.onDidChange(o)),i._register(E.DocumentFormattingEditProviderRegistry.onDidChange(o)),i._register(E.DocumentRangeFormattingEditProviderRegistry.onDidChange(o)),i._register(E.SignatureHelpProviderRegistry.onDidChange(o)),o(),i}return r(t,e), +t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){var e=this;this._contextKeyService.bufferChangeEvents((function(){e._langId.reset(),e._hasCompletionItemProvider.reset(),e._hasCodeActionsProvider.reset(),e._hasCodeLensProvider.reset(),e._hasDefinitionProvider.reset(),e._hasDeclarationProvider.reset(),e._hasImplementationProvider.reset(),e._hasTypeDefinitionProvider.reset(),e._hasHoverProvider.reset(),e._hasDocumentHighlightProvider.reset(),e._hasDocumentSymbolProvider.reset(),e._hasReferenceProvider.reset(),e._hasRenameProvider.reset(),e._hasDocumentFormattingProvider.reset(),e._hasDocumentSelectionFormattingProvider.reset(),e._hasSignatureHelpProvider.reset(),e._isInWalkThrough.reset()}))},t.prototype._update=function(){var e=this,t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents((function(){e._langId.set(t.getLanguageIdentifier().language),e._hasCompletionItemProvider.set(E.CompletionProviderRegistry.has(t)), +e._hasCodeActionsProvider.set(E.CodeActionProviderRegistry.has(t)),e._hasCodeLensProvider.set(E.CodeLensProviderRegistry.has(t)),e._hasDefinitionProvider.set(E.DefinitionProviderRegistry.has(t)),e._hasDeclarationProvider.set(E.DeclarationProviderRegistry.has(t)),e._hasImplementationProvider.set(E.ImplementationProviderRegistry.has(t)),e._hasTypeDefinitionProvider.set(E.TypeDefinitionProviderRegistry.has(t)),e._hasHoverProvider.set(E.HoverProviderRegistry.has(t)),e._hasDocumentHighlightProvider.set(E.DocumentHighlightProviderRegistry.has(t)),e._hasDocumentSymbolProvider.set(E.DocumentSymbolProviderRegistry.has(t)),e._hasReferenceProvider.set(E.ReferenceProviderRegistry.has(t)),e._hasRenameProvider.set(E.RenameProviderRegistry.has(t)),e._hasSignatureHelpProvider.set(E.SignatureHelpProviderRegistry.has(t)),e._hasDocumentFormattingProvider.set(E.DocumentFormattingEditProviderRegistry.has(t)||E.DocumentRangeFormattingEditProviderRegistry.has(t)), +e._hasDocumentSelectionFormattingProvider.set(E.DocumentRangeFormattingEditProviderRegistry.has(t)),e._hasMultipleDocumentFormattingProvider.set(E.DocumentFormattingEditProviderRegistry.all(t).length+E.DocumentRangeFormattingEditProviderRegistry.all(t).length>1),e._hasMultipleDocumentSelectionFormattingProvider.set(E.DocumentRangeFormattingEditProviderRegistry.all(t).length>1),e._isInWalkThrough.set(t.uri.scheme===l.Schemas.walkThroughSnippet)})):this.reset()},t}(a.Disposable);t.EditorModeContext=z;var H=function(e){function t(t){var n=e.call(this)||this;return n._onChange=n._register(new s.Emitter),n.onChange=n._onChange.event,n._hasFocus=!1,n._domFocusTracker=n._register(i.trackFocus(t)),n._register(n._domFocusTracker.onDidFocus((function(){n._hasFocus=!0,n._onChange.fire(void 0)}))),n._register(n._domFocusTracker.onDidBlur((function(){n._hasFocus=!1,n._onChange.fire(void 0)}))),n}return r(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t +}(a.Disposable),K=encodeURIComponent("");function j(e){return K+encodeURIComponent(e.toString())+U}var q=encodeURIComponent('');R.registerThemingParticipant((function(e,t){var n=e.getColor(D.editorErrorBorder);n&&t.addRule(".monaco-editor .squiggly-error { border-bottom: 4px double "+n+"; }");var i=e.getColor(D.editorErrorForeground);i&&t.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'+j(i)+'") repeat-x bottom left; }');var o=e.getColor(D.editorWarningBorder) +;o&&t.addRule(".monaco-editor .squiggly-warning { border-bottom: 4px double "+o+"; }");var r=e.getColor(D.editorWarningForeground);r&&t.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'+j(r)+'") repeat-x bottom left; }');var s=e.getColor(D.editorInfoBorder);s&&t.addRule(".monaco-editor .squiggly-info { border-bottom: 4px double "+s+"; }");var a=e.getColor(D.editorInfoForeground);a&&t.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'+j(a)+'") repeat-x bottom left; }');var l=e.getColor(D.editorHintBorder);l&&t.addRule(".monaco-editor .squiggly-hint { border-bottom: 2px dotted "+l+"; }");var u=e.getColor(D.editorHintForeground);u&&t.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'+(q+encodeURIComponent(u.toString())+G)+'") no-repeat bottom left; }');var d=e.getColor(L.editorUnnecessaryCodeOpacity);d&&t.addRule(".monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: "+d.rgba.a+"; }") +;var c=e.getColor(L.editorUnnecessaryCodeBorder);c&&t.addRule(".monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed "+c+"; }");var h=e.getColor(D.editorForeground)||"inherit";t.addRule(".monaco-editor .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: "+h+"}")}))})),define(n[564],i([0,1,418,8,28,82,52,55,2,66,11,31,38,92,13,43,107,69,18,20,14,298]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m,v,_,y,C,b){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var S=function(){function e(e,t,n,i){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=n,this.modifiedLineEnd=i}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),w=function(e){this.entries=e},E=function(e){function t(t){var r=e.call(this)||this;return r._width=0,r._diffEditor=t,r._isVisible=!1,r.shadow=o.createFastDomNode(document.createElement("div")),r.shadow.setClassName("diff-review-shadow"), +r.actionBarContainer=o.createFastDomNode(document.createElement("div")),r.actionBarContainer.setClassName("diff-review-actions"),r._actionBar=r._register(new s.ActionBar(r.actionBarContainer.domNode)),r._actionBar.push(new l.Action("diffreview.close",n.localize(0,null),"close-diff-review",!0,(function(){return r.hide(),Promise.resolve(null)})),{label:!1,icon:!0}),r.domNode=o.createFastDomNode(document.createElement("div")),r.domNode.setClassName("diff-review monaco-editor-background"),r._content=o.createFastDomNode(document.createElement("div")),r._content.setClassName("diff-review-content"),r.scrollbar=r._register(new a.DomScrollableElement(r._content.domNode,{})),r.domNode.domNode.appendChild(r.scrollbar.getDomNode()),r._register(t.onDidUpdateDiff((function(){r._isVisible&&(r._diffs=r._compute(),r._render())}))),r._register(t.getModifiedEditor().onDidChangeCursorPosition((function(){r._isVisible&&r._render()}))),r._register(t.getOriginalEditor().onDidFocusEditorWidget((function(){r._isVisible&&r.hide()}))), +r._register(t.getModifiedEditor().onDidFocusEditorWidget((function(){r._isVisible&&r.hide()}))),r._register(i.addStandardDisposableListener(r.domNode.domNode,"click",(function(e){e.preventDefault();var t=i.findParentWithClass(e.target,"diff-review-row");t&&r._goToRow(t)}))),r._register(i.addStandardDisposableListener(r.domNode.domNode,"keydown",(function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),r._goToRow(r._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),r._goToRow(r._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),r.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),r.accept())}))),r._diffs=[],r._currentDiff=null,r}return r(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,n=0,i=this._diffs.length;n0){var _=e[r-1] +;m=0===_.originalEndLineNumber?_.originalStartLineNumber+1:_.originalEndLineNumber+1,v=0===_.modifiedEndLineNumber?_.modifiedStartLineNumber+1:_.modifiedEndLineNumber+1}var y=f-3+1,C=g-3+1;if(yL)I+=x=L-I,M+=x;if(M>D)I+=x=D-M,M+=x;h[p++]=new S(b,I,E,M),i[o++]=new w(h)}var k=i[0].entries,T=[],R=0;for(r=1,s=i.length;rf)&&(f=C),0!==b&&(0===g||bm)&&(m=S)}var w=document.createElement("div");w.className="diff-review-row";var E=document.createElement("div");E.className="diff-review-cell diff-review-summary";var L=f-p+1,D=m-g+1;E.appendChild(document.createTextNode(u+1+"/"+this._diffs.length+": @@ -"+p+","+L+" +"+g+","+D+" @@")),w.setAttribute("data-line",String(g));var N=function(e){return 0===e?n.localize(1,null):1===e?n.localize(2,null):n.localize(3,null,e)},x=N(L),I=N(D);w.setAttribute("aria-label",n.localize(4,null,u+1,this._diffs.length,p,x,g,I)),w.appendChild(E),w.setAttribute("role","listitem"),h.appendChild(w);var M=g;for(v=0,_=c.length;v<_;v++){var k=c[v];t._renderSection(h,k,M,this._width,e,r,a,o,s,l),0!==k.modifiedLineStart&&(M=k.modifiedLineEnd)}i.clearNode(this._content.domNode),this._content.domNode.appendChild(h),this.scrollbar.scanDomNode()}},t._renderSection=function(e,t,i,o,r,s,a,l,u,d){ +var c=t.getType(),h="diff-review-row",p="",f="diff-review-spacer";switch(c){case 1:h="diff-review-row line-insert",p=" char-insert",f="diff-review-spacer insert-sign";break;case 2:h="diff-review-row line-delete",p=" char-delete",f="diff-review-spacer delete-sign"}for(var g=t.originalLineStart,m=t.originalLineEnd,v=t.modifiedLineStart,_=t.modifiedLineEnd,y=Math.max(_-v,m-g),C=r.get(103),b=C.glyphMarginWidth+C.lineNumbersWidth,S=l.get(103),w=10+S.glyphMarginWidth+S.lineNumbersWidth,E=0;E<=y;E++){var L=0===g?0:g+E,D=0===v?0:v+E,N=document.createElement("div");N.style.minWidth=o+"px",N.className=h,N.setAttribute("role","listitem"),0!==D&&(i=D),N.setAttribute("data-line",String(i));var x=document.createElement("div");x.className="diff-review-cell",N.appendChild(x);var I=document.createElement("span");I.style.width=b+"px",I.style.minWidth=b+"px",I.className="diff-review-line-number"+p,0!==L?I.appendChild(document.createTextNode(String(L))):I.innerHTML=" ",x.appendChild(I);var M=document.createElement("span") +;M.style.width=w+"px",M.style.minWidth=w+"px",M.style.paddingRight="10px",M.className="diff-review-line-number"+p,0!==D?M.appendChild(document.createTextNode(String(D))):M.innerHTML=" ",x.appendChild(M);var k=document.createElement("span");k.className=f,k.innerHTML="  ",x.appendChild(k);var T=void 0;0!==D?(x.insertAdjacentHTML("beforeend",this._renderLine(u,l,d.tabSize,D)),T=u.getLineContent(D)):(x.insertAdjacentHTML("beforeend",this._renderLine(s,r,a.tabSize,L)),T=s.getLineContent(L)),0===T.length&&(T=n.localize(5,null));var R="";switch(c){case 0:R=n.localize(6,null,L,D,T);break;case 1:R=n.localize(7,null,D,T);break;case 2:R=n.localize(8,null,L,T)}N.setAttribute("aria-label",R),e.appendChild(N)}},t._renderLine=function(e,t,n,i){var o=e.getLineContent(i),r=t.get(32),s=new Uint32Array(2);s[0]=o.length,s[1]=16793600;var a=new f.LineTokens(s,o),l=_.ViewLineRenderingData.isBasicASCII(o,e.mightContainNonBasicASCII()),u=_.ViewLineRenderingData.containsRTL(o,l,e.mightContainRTL()) +;return v.renderViewLine2(new v.RenderLineInput(r.isMonospace&&!t.get(22),r.canUseHalfwidthRightwardsArrow,o,!1,l,u,0,a,[],n,r.spaceWidth,t.get(84),t.get(70),t.get(66),t.get(33)!==p.EditorFontLigatures.OFF,null)).html},t}(u.Disposable);t.DiffReview=E,b.registerThemingParticipant((function(e,t){var n=e.getColor(m.editorLineNumbers);n&&t.addRule(".monaco-diff-editor .diff-review-line-number { color: "+n+"; }");var i=e.getColor(C.scrollbarShadow);i&&t.addRule(".monaco-diff-editor .diff-review-shadow { box-shadow: "+i+" 0 -6px 6px -6px inset; }")}));var L=function(e){function t(){return e.call(this,{id:"editor.action.diffReview.next",label:n.localize(9,null),alias:"Go to Next Difference",precondition:y.ContextKeyExpr.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=N(e);n&&n.diffReviewNext()},t}(c.EditorAction),D=function(e){function t(){return e.call(this,{id:"editor.action.diffReview.prev",label:n.localize(10,null), +alias:"Go to Previous Difference",precondition:y.ContextKeyExpr.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1089,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=N(e);n&&n.diffReviewPrev()},t}(c.EditorAction);function N(e){for(var t=e.get(h.ICodeEditorService).listDiffEditors(),n=0,i=t.length;n0&&e.changeViewZones((function(e){for(var n=0,i=t._zones.length;n0?o/n:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e, +e.applyColors(this._themeService.getTheme()),this._diffComputationResult&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){var n=this._diffComputationResult?this._diffComputationResult.changes:[];if(0===n.length||e=a?i=r+1:(i=r,o=r)}return n[i]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.originalStartLineNumber}));if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=o?i+Math.min(s,r):i+r-o+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){ +var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.modifiedStartLineNumber}));if(!t)return e;var n=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),i=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),o=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-i;return s<=r?n+Math.min(s,o):n+o-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._diffComputationResult?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200, +t=h([f(3,w.IEditorWorkerService),f(4,x.IContextKeyService),f(5,I.IInstantiationService),f(6,g.ICodeEditorService),f(7,R.IThemeService),f(8,k.INotificationService),f(9,O.IContextMenuService),f(10,W.IEditorProgressService)],t)}(u.Disposable);t.DiffEditorWidget=z;var H=function(e){function t(t){var n=e.call(this)||this;return n._dataSource=t,n._insertColor=null,n._removeColor=null,n}return r(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(T.diffInserted)||T.defaultInsertColor).transparent(2),n=(e.getColor(T.diffRemoved)||T.defaultRemoveColor).transparent(2),i=!t.equals(this._insertColor)||!n.equals(this._removeColor);return this._insertColor=t,this._removeColor=n,i},t.prototype.getEditorsDiffDecorations=function(e,t,n,i,o,r,s){o=o.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber})),i=i.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber}));var a=this._getViewZones(e,i,o,r,s,n),l=this._getOriginalEditorDecorations(e,t,n,r,s),u=this._getModifiedEditorDecorations(e,t,n,r,s) +;return{original:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.original},modified:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.modified}}},t}(u.Disposable),K=function(){function e(e){this._source=e,this._index=-1,this.current=null,this.advance()}return e.prototype.advance=function(){this._index++,this._index0){var n=e[e.length-1];if(n.afterLineNumber===t.afterLineNumber&&null===n.domNode)return void(n.heightInLines+=t.heightInLines)}e.push(t)},c=new K(this.modifiedForeignVZ),h=new K(this.originalForeignVZ),p=0,f=this.lineChanges.length;p<=f;p++){ +var g=p0?-1:0),s=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,i=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,a=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),l=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(a=r+=1e7+o,l=s+=1e7+i);for(var m,v=[],_=[];c.current&&c.current.afterLineNumber<=l;){var y=void 0;y=c.current.afterLineNumber<=s?r-s+c.current.afterLineNumber:a;var C=null;g&&g.modifiedStartLineNumber<=c.current.afterLineNumber&&c.current.afterLineNumber<=g.modifiedEndLineNumber&&(C=this._createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion()),v.push({afterLineNumber:y,heightInLines:c.current.height/this.modifiedLineHeight,domNode:null,marginDomNode:C}),c.advance()}for(;h.current&&h.current.afterLineNumber<=a;){y=void 0 +;y=h.current.afterLineNumber<=r?s-r+h.current.afterLineNumber:l,_.push({afterLineNumber:y,heightInLines:h.current.height/this.originalLineHeight,domNode:null}),h.advance()}if(null!==g&&$(g))(m=this._produceOriginalFromDiff(g,o,i))&&v.push(m);if(null!==g&&Q(g))(m=this._produceModifiedFromDiff(g,o,i))&&_.push(m);var b=0,S=0;for(v=v.sort(u),_=_.sort(u);b=E.heightInLines?(w.heightInLines-=E.heightInLines,S++):(E.heightInLines-=w.heightInLines,b++)}for(;b2*t.MINIMUM_EDITOR_WIDTH?(in-t.MINIMUM_EDITOR_WIDTH&&(i=n-t.MINIMUM_EDITOR_WIDTH)):i=o,this._sashPosition!==i&&(this._sashPosition=i, +this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-z.ENTIRE_DIFF_OVERVIEW_WIDTH,n=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=n/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,n,i,o){return new Y(e,t,i.getOption(47),n,o.getOption(47)).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=String(this._removeColor),s={decorations:[],overviewZones:[]},a=i.getModel(),l=0,u=e.length;lt?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:n-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,n){return t>n?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-n,domNode:null}:null},t}(U),Z=function(e){function t(t,n){var i=e.call(this,t)||this;return i.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,i._register(t.getOriginalEditor().onDidLayoutChange((function(e){i.decorationsLeft!==e.decorationsLeft&&(i.decorationsLeft=e.decorationsLeft, +t.relayoutEditors())}))),i}return r(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,n,i,o,r){return new X(e,t,n,i,o,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,n,i,o){for(var r=String(this._removeColor),s={decorations:[],overviewZones:[]},a=0,l=e.length;a'])}g+=this.modifiedEditorOptions.get(75);var b=document.createElement("div");b.className="view-lines line-delete",b.innerHTML=a.build(),c.Configuration.applyFontInfoSlow(b,d);var S=document.createElement("div");return S.className="inline-deleted-margin-view-zone",S.innerHTML=l.join(""),c.Configuration.applyFontInfoSlow(S,d),{shouldNotShrink:!0, +afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:g*f,domNode:b,marginDomNode:S,diff:{originalStartLineNumber:e.originalStartLineNumber,originalEndLineNumber:e.originalEndLineNumber,modifiedStartLineNumber:e.modifiedStartLineNumber,modifiedEndLineNumber:e.modifiedEndLineNumber,originalContent:m}}},t.prototype._renderOriginalLine=function(e,t,n,i,o,r,s){var a=t.getLineTokens(o),l=a.getLineContent(),u=n.get(32),d=L.LineDecoration.filter(r,o,1,l.length+1);s.appendASCIIString('
    ') +;var c=N.ViewLineRenderingData.isBasicASCII(l,t.mightContainNonBasicASCII()),h=N.ViewLineRenderingData.containsRTL(l,c,t.mightContainRTL()),p=D.renderViewLine(new D.RenderLineInput(u.isMonospace&&!n.get(22),u.canUseHalfwidthRightwardsArrow,l,!1,c,h,0,a,d,i,u.spaceWidth,n.get(84),n.get(70),n.get(66),n.get(33)!==_.EditorFontLigatures.OFF,null),s);s.appendASCIIString("
    ");var f=p.characterMapping.getAbsoluteOffsets();return f.length>0?f[f.length-1]:0},t}(U);function $(e){return e.modifiedEndLineNumber>0}function Q(e){return e.originalEndLineNumber>0}R.registerThemingParticipant((function(e,t){var n=e.getColor(T.diffInserted);n&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(T.diffRemoved) +;i&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+i+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+i+"; }"));var o=e.getColor(T.diffInsertedOutline);o&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+o+"; }");var r=e.getColor(T.diffRemovedOutline);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(T.scrollbarShadow);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(T.diffBorder);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")}))})),define(n[228],i([0,1,30,31,118,32,18,12,34,14,64]),(function(e,t,n,i,o,s,a,l,u,d,c){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var p=function(e){function t(t,n,i,o,r,s,a,l,u,d){var c=e.call(this,t,i.getRawOptions(),{},o,r,s,a,l,u,d)||this;return c._parentEditor=i,c._overwriteOptions=n,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(i.onDidChangeConfiguration((function(e){return c._onParentConfigurationChanged(e)}))),c}return r(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawOptions()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){n.mixin(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=h([f(3,l.IInstantiationService),f(4,i.ICodeEditorService),f(5,s.ICommandService),f(6,a.IContextKeyService),f(7,d.IThemeService),f(8,u.INotificationService),f(9,c.IAccessibilityService)],t)}(o.CodeEditorWidget);t.EmbeddedCodeEditorWidget=p})), +define(n[565],i([0,1,71,2,47,14,43,49,3,41,45,4,22,20]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m){"use strict";function v(e){return e.toString()}Object.defineProperty(t,"__esModule",{value:!0});var _=function(e){function t(t){var n=e.call(this)||this;return n.model=t,n._markersData=new Map,n._register(i.toDisposable((function(){n.model.deltaDecorations(d.keys(n._markersData),[]),n._markersData.clear()}))),n}return r(t,e),t.prototype.update=function(e,t){for(var n=this.model.deltaDecorations(d.keys(this._markersData),t),i=0;i=r?new u.Range(i.startLineNumber,r-1,i.endLineNumber,r):new u.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+1))} +}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){var s=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);s=0?"squiggly-unnecessary":"squiggly-hint",i=0;break;case n.MarkerSeverity.Warning:t="squiggly-warning",l=s.themeColorFromId(a.overviewRulerWarning),i=20,r={color:s.themeColorFromId(m.minimapWarning),position:o.MinimapPosition.Inline};break;case n.MarkerSeverity.Info:t="squiggly-info",l=s.themeColorFromId(a.overviewRulerInfo),i=10;break;case n.MarkerSeverity.Error:default:t="squiggly-error",l=s.themeColorFromId(a.overviewRulerError),i=30,r={color:s.themeColorFromId(m.minimapError),position:o.MinimapPosition.Inline}}return e.tags&&(-1!==e.tags.indexOf(1)&&(u="squiggly-inline-unnecessary"), +-1!==e.tags.indexOf(2)&&(u="squiggly-inline-deprecated")),{stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:l,position:o.OverviewRulerLane.Right},minimap:r,zIndex:i,inlineClassName:u}},t=h([f(0,l.IModelService),f(1,n.IMarkerService)],t)}(i.Disposable);t.MarkerDecorationsService=y})),define(n[566],i([0,1,426,15,2,11,13,3,21,23,47,29,43,20,14,65,300]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var v=f.registerColor("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},n.localize(0,null)),_=function(e){function t(){return e.call(this,{id:"editor.action.jumpToBracket",label:n.localize(1,null),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:d.EditorContextKeys.editorTextFocus,primary:3160,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=b.get(t);n&&n.jumpToBracket()},t}(s.EditorAction),y=function(e){function t(){return e.call(this,{id:"editor.action.selectToBracket", +label:n.localize(2,null),alias:"Select to Bracket",precondition:void 0,description:{description:"Select to Bracket",args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})||this}return r(t,e),t.prototype.run=function(e,t,n){var i=b.get(t);if(i){var o=!0;n&&!1===n.selectBrackets&&(o=!1),i.selectToBracket(o)}},t}(s.EditorAction),C=function(e,t,n){this.position=e,this.brackets=t,this.options=n},b=function(e){function t(t){var n=e.call(this)||this;return n._editor=t,n._lastBracketsData=[],n._lastVersionId=0,n._decorations=[],n._updateBracketsSoon=n._register(new i.RunOnceScheduler((function(){return n._updateBrackets()}),50)),n._matchBrackets=n._editor.getOption(51),n._updateBracketsSoon.schedule(),n._register(t.onDidChangeCursorPosition((function(e){"never"!==n._matchBrackets&&n._updateBracketsSoon.schedule()}))),n._register(t.onDidChangeModelContent((function(e){n._updateBracketsSoon.schedule()}))),n._register(t.onDidChangeModel((function(e){n._lastBracketsData=[], +n._decorations=[],n._updateBracketsSoon.schedule()}))),n._register(t.onDidChangeModelLanguageConfiguration((function(e){n._lastBracketsData=[],n._updateBracketsSoon.schedule()}))),n._register(t.onDidChangeConfiguration((function(e){e.hasChanged(51)&&(n._matchBrackets=n._editor.getOption(51),n._decorations=n._editor.deltaDecorations(n._decorations,[]),n._lastBracketsData=[],n._lastVersionId=0,n._updateBracketsSoon.schedule())}))),n}return r(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.jumpToBracket=function(){if(this._editor.hasModel()){var e=this._editor.getModel(),t=this._editor.getSelections().map((function(t){var n=t.getStartPosition(),i=e.matchBracket(n),o=null;if(i)i[0].containsPosition(n)?o=i[1].getStartPosition():i[1].containsPosition(n)&&(o=i[0].getStartPosition());else{var r=e.findEnclosingBrackets(n);if(r)o=r[0].getStartPosition();else{var s=e.findNextBracket(n);s&&s.range&&(o=s.range.getStartPosition())}} +return o?new u.Selection(o.lineNumber,o.column,o.lineNumber,o.column):new u.Selection(n.lineNumber,n.column,n.lineNumber,n.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(e){if(this._editor.hasModel()){var t=this._editor.getModel(),n=[];this._editor.getSelections().forEach((function(i){var o=i.getStartPosition(),r=t.matchBracket(o);if(!r&&!(r=t.findEnclosingBrackets(o))){var s=t.findNextBracket(o);s&&s.range&&(r=t.matchBracket(s.range.getStartPosition()))}var a=null,d=null;if(r){r.sort(l.Range.compareRangesUsingStarts);var c=r[0],h=r[1];a=e?c.getStartPosition():c.getEndPosition(),d=e?h.getEndPosition():h.getStartPosition()}a&&d&&n.push(new u.Selection(a.lineNumber,a.column,d.lineNumber,d.column))})),n.length>0&&(this._editor.setSelections(n),this._editor.revealRange(n[0]))}},t.prototype._updateBrackets=function(){if("never"!==this._matchBrackets){this._recomputeBrackets();for(var e=[],t=0,n=0,i=this._lastBracketsData;n100)return this._lastBracketsData=[],void(this._lastVersionId=0);var n=this._editor.getModel(),i=n.getVersionId(),o=[];this._lastVersionId===i&&(o=this._lastBracketsData);for(var r=[],s=0,l=0,u=e.length;l1&&r.sort(a.Position.compare);var c=[],h=0,p=0,f=o.length;for(l=0,u=r.length;l=t.getLineCount())&&l.hide()}))),p.Gesture.ignoreTarget(l._domNode),l._register(n.addStandardDisposableGenericMouseDownListner(l._domNode,(function(e){if(1===l.state.type){l._editor.focus(),e.preventDefault() +;var t=n.getDomNodePagePosition(l._domNode),i=t.top,o=t.height,r=l._editor.getOption(47),s=Math.floor(r/3);null!==l.state.widgetPosition.position&&l.state.widgetPosition.position.lineNumber2&&o._editor.getTopForLineNumber(e)===o._editor.getTopForLineNumber(e-1)},m=s;if(!(c.spaceWidth*p>22))if(s>1&&!f(s-1))m-=1;else if(f(s+1)){if(l*c.spaceWidth<22)return this.hide()}else m+=1;this.state=new g.Showing(e,i,{position:{lineNumber:m,column:1},preference:t._posPref}),n.toggleClass(this._domNode,"codicon-lightbulb-autofix",e.hasAutoFix),this._editor.layoutContentWidget(this)},t.prototype.hide=function(){this.state=g.Hidden,this._editor.layoutContentWidget(this)},Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){this._state=e, +this._updateLightBulbTitle()},enumerable:!0,configurable:!0}),t.prototype._updateLightBulbTitle=function(){if(1===this.state.type&&this.state.actions.hasAutoFix){var e=this._keybindingService.lookupKeybinding(this._preferredFixActionId);if(e)return void(this.title=l.localize(0,null,e.getLabel()))}var t=this._keybindingService.lookupKeybinding(this._quickFixActionId);this.title=t?l.localize(1,null,t.getLabel()):l.localize(2,null)},Object.defineProperty(t.prototype,"title",{set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),t._posPref=[0],t=h([f(3,u.IKeybindingService)],t)}(s.Disposable);t.LightBulbWidget=m,d.registerThemingParticipant((function(e,t){var n=e.getColor(c.editorLightBulbForeground);n&&t.addRule("\n\t\t.monaco-editor .contentWidgets .codicon-lightbulb,\n\t\t.monaco-workbench .markers-panel-container .codicon-lightbulb {\n\t\t\tcolor: "+n+";\n\t\t}");var i=e.getColor(c.editorLightBulbAutoFixForeground) +;i&&t.addRule("\n\t\t.monaco-editor .contentWidgets .codicon-lightbulb-autofix,\n\t\t.monaco-workbench .markers-panel-container .codicon-lightbulb-autofix {\n\t\t\tcolor: "+i+";\n\t\t}")}))})),define(n[568],i([0,1,8,101,3,29,43,20,14,303]),(function(e,t,n,i,o,r,s,a,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){this.afterLineNumber=e,this._onHeight=t,this.heightInLines=1,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}return e.prototype.onComputedHeight=function(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())},e}(),d=function(){function e(t,n,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id="codelens.widget-"+e._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration "+n}return e.prototype.withCommands=function(e,t){this._commands.clear() +;for(var o="",r=!1,s=0;s"+l+"",this._commands.set(String(s),a.command)):o+=""+l+"",s+1 | ")}}r?(o||(o=" "),this._domNode.innerHTML=o,this._isEmpty&&t&&n.addClass(this._domNode,"fadein"),this._isEmpty=!1):this._domNode.innerHTML="no commands"},e.prototype.getCommand=function(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.updatePosition=function(e){var t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}},e.prototype.getPosition=function(){return this._widgetPosition||null},e._idPool=0,e}(),c=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]} +return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),n=0,i=t.length;n0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(c,!1))} +return e.prototype._createContentWidgetIfNecessary=function(){this._contentWidget||(this._contentWidget=new d(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))},e.prototype.dispose=function(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t&&t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e.prototype.isValid=function(){var e=this;return this._decorationIds.some((function(t,n){var i=e._editor.getModel().getDecorationRange(t),r=e._data[n].symbol;return!(!i||o.Range.isEmpty(r.range)!==i.isEmpty())}))},e.prototype.updateCodeLensSymbols=function(e,t){var n=this;this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((function(e,i){t.addDecoration({range:e.symbol.range,options:r.ModelDecorationOptions.EMPTY +},(function(e){return n._decorationIds[i]=e}))}))},e.prototype.computeIfNecessary=function(e){if(!this._viewZone.domNode.hasAttribute("monaco-visible-view-zone"))return null;for(var t=0;t a:hover { color: "+i+" !important; }")}))}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0&&g.schedule()}))),this._localToDispose.add(this._editor.onDidLayoutChange((function(){g.schedule()}))),this._localToDispose.add(o.toDisposable((function(){if(e._editor.getModel()){var t=r.StableEditorScrollState.capture(e._editor);e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(n){e._disposeAllLenses(t,n)}))})),t.restore(e._editor)}else e._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseUp((function(t){var n,i,o +;if(9===t.target.type){var r=t.target.element;if("SPAN"===(null===(i=r)||void 0===i?void 0:i.tagName)&&(r=r.parentElement),"A"===(null===(o=r)||void 0===o?void 0:o.tagName))for(var s=0,l=e._lenses;si||(n&&n[n.length-1].symbol.range.startLineNumber===u?n.push(l):(n=[l], +o.push(n)))}var c=r.StableEditorScrollState.capture(this._editor);this._editor.changeDecorations((function(e){t._editor.changeViewZones((function(n){for(var i=new d.CodeLensHelper,r=0,s=0;s=0?t+1:1},e.prototype.getCurrentMatchesPosition=function(t){ +for(var n=0,i=this._editor.getModel().getDecorationsInRange(t);n1e3){s=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var l=o._editor.getModel().getLineCount(),u=o._editor.getLayoutInfo().height/l,d=Math.max(2,Math.ceil(3/u)),c=t[0].range.startLineNumber,h=t[0].range.endLineNumber,p=1,f=t.length;p=g.startLineNumber?g.endLineNumber>h&&(h=g.endLineNumber):(a.push({range:new n.Range(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),c=g.startLineNumber,h=g.endLineNumber)}a.push({range:new n.Range(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var m=new Array(t.length);for(p=0, +f=t.length;p=0;t--){var n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.endLineNumber>e.lineNumber)){if(i.endLineNumbere.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])},e.prototype.matchAfterPosition=function(e){if(0===this._decorations.length)return null +;for(var t=0,n=this._decorations.length;te.lineNumber)return o;if(!(o.startColumn0},e.prototype._cannotFind=function(){if(!this._hasMatches()){var e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1},e.prototype._setCurrentFindMatch=function(e){ +var t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)},e.prototype._prevSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),n=e.lineNumber,i=e.column,o=this._editor.getModel();return t||1===i?(1===n?n=o.getLineCount():n--,i=o.getLineMaxColumn(n)):i--,new r.Position(n,i)},e.prototype._moveToPrevMatch=function(n,i){if(void 0===i&&(i=!1),this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0),n=e.lineNumber,i=e.column,o=this._editor.getModel() +;return t||i===o.getLineMaxColumn(n)?(n===o.getLineCount()?n=1:n++,i=1):i++,new r.Position(n,i)},e.prototype._moveToNextMatch=function(e){if(this._decorations.getCount()=t.MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}},e.prototype._largeReplaceAll=function(){var e=new l.SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(92):null).parseSearchRequest();if(e){var t=e.regex;if(!t.multiline){var n="mu";t.ignoreCase&&(n+="i"),t.global&&(n+="g"),t=new RegExp(t.source,n)} +var i,r=this._editor.getModel(),s=r.getValue(1),a=r.getFullModelRange(),u=this._getReplacePattern(),d=this._state.preserveCase;i=u.hasReplacementPatterns||d?s.replace(t,(function(){return u.buildReplaceString(arguments,d)})):s.replace(t,u.buildReplaceString(null,d));var c=new o.ReplaceCommandThatPreservesSelection(a,i,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),n=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),i=[],o=0,r=n.length;o0&&e.stopPropagation()}function V(e,t,n){var i=!!t.match(/\n/);n&&i&&n.selectionEnd0&&0===this._state.matchesCount;i.toggleClass(this._domNode,"no-results",t),this._updateMatchesCount(), +this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory()},t.prototype._delayedUpdateHistory=function(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))},t.prototype._updateHistory=function(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=R+"px",this._state.matchesCount>=g.MATCHES_LIMIT?this._matchesCount.title=M:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){var t=String(this._state.matchesCount);this._state.matchesCount>=g.MATCHES_LIMIT&&(t+="+");var n=String(this._state.matchesPosition);"0"===n&&(n="?"),e=p.format(k,n,t)}else e=T;this._matchesCount.appendChild(document.createTextNode(e)), +o.alert(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString),!0),R=Math.max(R,this._matchesCount.clientWidth)},t.prototype._getAriaLabel=function(e,t,i){return e===T?""===i?n.localize(14,null,e):n.localize(15,null,e,i):t?n.localize(16,null,e,i,t.startLineNumber+":"+t.startColumn):n.localize(17,null,e,i)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),n=this._toggleSelectionFind.checked;this._isVisible&&(n||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t), +this._nextBtn.setEnabled(this._isVisible&&e&&t),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),i.toggleClass(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("codicon-chevron-right",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("codicon-chevron-down",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var n=!this._codeEditor.getOption(65);this._toggleReplaceBtn.setEnabled(this._isVisible&&n)},t.prototype._reveal=function(){var e=this;if(!this._isVisible){this._isVisible=!0;var t=this._codeEditor.getSelection();switch(this._codeEditor.getOption(27).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":var n=!!t&&t.startLineNumber!==t.endLineNumber;this._toggleSelectionFind.checked=n}this._tryUpdateWidgetWidth(),this._updateButtons(), +setTimeout((function(){i.addClass(e._domNode,"visible"),e._domNode.setAttribute("aria-hidden","false")}),0),setTimeout((function(){e._findInput.validate()}),200),this._codeEditor.layoutOverlayWidget(this);var o=!0;if(this._codeEditor.getOption(27).seedSearchStringFromSelection&&t){var r=this._codeEditor.getDomNode();if(r){var s=i.getDomNodePagePosition(r),a=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),l=s.left+(a?a.left:0),u=a?a.top:0;if(this._viewZone&&ut.startLineNumber&&(o=!1);var d=i.getTopLeftOffset(this._domNode).left;l>d&&(o=!1);var c=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());s.left+(c?c.left:0)>d&&(o=!1)}}}this._showViewZone(o)}},t.prototype._hide=function(e){this._isVisible&&(this._isVisible=!1,this._updateButtons(),i.removeClass(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this), +this._removeViewZone())},t.prototype._layoutViewZone=function(){var e=this;if(this._codeEditor.getOption(27).addExtraSpaceOnTop){if(this._isVisible){var t=this._viewZone;void 0===this._viewZoneId&&t&&this._codeEditor.changeViewZones((function(n){t.heightInPx=e._getHeight(),e._viewZoneId=n.addZone(t),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+t.heightInPx)}))}}else this._removeViewZone()},t.prototype._showViewZone=function(e){var t=this;if((void 0===e&&(e=!0),this._isVisible)&&this._codeEditor.getOption(27).addExtraSpaceOnTop){void 0===this._viewZone&&(this._viewZone=new F(0));var n=this._viewZone;this._codeEditor.changeViewZones((function(i){if(void 0!==t._viewZoneId){var o=t._getHeight();if(o===n.heightInPx)return;var r=o-n.heightInPx;return n.heightInPx=o,i.layoutZone(t._viewZoneId),void(e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+r))}r=t._getHeight();n.heightInPx=r,t._viewZoneId=i.addZone(n),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+r)}))}}, +t.prototype._removeViewZone=function(){var e=this;this._codeEditor.changeViewZones((function(t){void 0!==e._viewZoneId&&(t.removeZone(e._viewZoneId),e._viewZoneId=void 0,e._viewZone&&(e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()-e._viewZone.heightInPx),e._viewZone=void 0))}))},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.inputActiveOptionBorder),inputActiveOptionBackground:e.getColor(m.inputActiveOptionBackground),inputBackground:e.getColor(m.inputBackground),inputForeground:e.getColor(m.inputForeground),inputBorder:e.getColor(m.inputBorder),inputValidationInfoBackground:e.getColor(m.inputValidationInfoBackground),inputValidationInfoForeground:e.getColor(m.inputValidationInfoForeground),inputValidationInfoBorder:e.getColor(m.inputValidationInfoBorder),inputValidationWarningBackground:e.getColor(m.inputValidationWarningBackground),inputValidationWarningForeground:e.getColor(m.inputValidationWarningForeground), +inputValidationWarningBorder:e.getColor(m.inputValidationWarningBorder),inputValidationErrorBackground:e.getColor(m.inputValidationErrorBackground),inputValidationErrorForeground:e.getColor(m.inputValidationErrorForeground),inputValidationErrorBorder:e.getColor(m.inputValidationErrorBorder)};this._findInput.style(t),this._replaceInput.style(t),this._toggleSelectionFind.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible&&i.isInDOM(this._domNode)){var e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0)i.addClass(this._domNode,"hiddenEditor");else{i.hasClass(this._domNode,"hiddenEditor")&&i.removeClass(this._domNode,"hiddenEditor");var t=e.width,n=e.minimapWidth,o=!1,r=!1,s=!1;if(this._resized)if(i.getTotalWidth(this._domNode)>419)return this._domNode.style.maxWidth=t-28-n-15+"px",void(this._replaceInput.width=i.getTotalWidth(this._findInput.domNode));if(447+n>=t&&(r=!0),447+n-R>=t&&(s=!0),447+n-R>=t+50&&(o=!0),i.toggleClass(this._domNode,"collapsed-find-widget",o), +i.toggleClass(this._domNode,"narrow-find-widget",s),i.toggleClass(this._domNode,"reduced-find-widget",r),s||o||(this._domNode.style.maxWidth=t-28-n-15+"px"),this._resized){this._findInput.inputBox.layout();var a=this._findInput.inputBox.element.clientWidth;a>0&&(this._replaceInput.width=a)}else this._isReplaceVisible&&(this._replaceInput.width=i.getTotalWidth(this._findInput.domNode))}}},t.prototype._getHeight=function(){var e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4},t.prototype._tryUpdateHeight=function(){var e=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==e)&&(this._cachedHeight=e,this._domNode.style.height=e+"px",!0)},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInput.select(),this._replaceInput.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()}, +t.prototype._updateSearchScope=function(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(e.endLineNumber-1)));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(f.Range.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){return e.equals(3|A)?(this._findInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(), +void e.preventDefault()):e.equals(16)?W(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):e.equals(18)?V(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0},t.prototype._onReplaceInputKeyDown=function(e){return e.equals(3|A)?(h.isWindows&&h.isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(n.localize(18,null)),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(P,!0,0)),this._replaceInput.inputBox.insertAtCursor("\n"),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):e.equals(16)?W(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):e.equals(18)?V(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}, +t.prototype.getHorizontalSashTop=function(e){return 0},t.prototype.getHorizontalSashLeft=function(e){return 0},t.prototype.getHorizontalSashWidth=function(e){return 500},t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},t.prototype._buildDomNode=function(){var e=this;this._findInput=this._register(new _.ContextScopedFindInput(null,this._contextViewProvider,{width:221,label:y,placeholder:C,appendCaseSensitiveLabel:this._keybindingLabelFor(g.FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(g.FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(g.FIND_IDS.ToggleRegexCommand),validation:function(t){if(0===t.length||!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),this._findInput.setRegex(!!this._state.isRegex), +this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((function(t){return e._onFindInputKeyDown(t)}))),this._register(this._findInput.inputBox.onDidChange((function(){e._ignoreChangeEvent||e._state.change({searchString:e._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((function(){e._state.change({isRegex:e._findInput.getRegex(),wholeWord:e._findInput.getWholeWords(),matchCase:e._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((function(t){t.equals(1026)&&e._isReplaceVisible&&(e._replaceInput.focus(),t.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceInput.focusOnPreserve(),t.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((function(t){e._tryUpdateHeight()&&e._showViewZone()}))), +h.isLinux&&this._register(this._findInput.onMouseDown((function(t){return e._onFindInputMouseDown(t)}))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new z({label:b+this._keybindingLabelFor(g.FIND_IDS.PreviousMatchFindAction),className:"codicon codicon-arrow-up",onTrigger:function(){e._codeEditor.getAction(g.FIND_IDS.PreviousMatchFindAction).run().then(void 0,d.onUnexpectedError)}})),this._nextBtn=this._register(new z({label:S+this._keybindingLabelFor(g.FIND_IDS.NextMatchFindAction),className:"codicon codicon-arrow-down",onTrigger:function(){e._codeEditor.getAction(g.FIND_IDS.NextMatchFindAction).run().then(void 0,d.onUnexpectedError)}}));var t=document.createElement("div");t.className="find-part",t.appendChild(this._findInput.domNode);var n=document.createElement("div");n.className="find-actions",t.appendChild(n),n.appendChild(this._matchesCount),n.appendChild(this._prevBtn.domNode), +n.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new s.Checkbox({actionClassName:"codicon codicon-selection",title:w+this._keybindingLabelFor(g.FIND_IDS.ToggleSearchScopeCommand),isChecked:!1})),this._register(this._toggleSelectionFind.onChange((function(){if(e._toggleSelectionFind.checked){if(e._codeEditor.hasModel()){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,e._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()||e._state.change({searchScope:t},!0)}}else e._state.change({searchScope:null},!0)}))),n.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new z({label:E+this._keybindingLabelFor(g.FIND_IDS.CloseFindWidgetCommand),className:"codicon codicon-close",onTrigger:function(){e._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:function(t){ +t.equals(2)&&e._isReplaceVisible&&(e._replaceBtn.isEnabled()?e._replaceBtn.focus():e._codeEditor.focus(),t.preventDefault())}})),n.appendChild(this._closeBtn.domNode),this._replaceInput=this._register(new _.ContextScopedReplaceInput(null,void 0,{label:L,placeholder:D,history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((function(t){return e._onReplaceInputKeyDown(t)}))),this._register(this._replaceInput.inputBox.onDidChange((function(){e._state.change({replaceString:e._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((function(t){e._isReplaceVisible&&e._tryUpdateHeight()&&e._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((function(){e._state.change({preserveCase:e._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((function(t){ +t.equals(2)&&(e._prevBtn.isEnabled()?e._prevBtn.focus():e._nextBtn.isEnabled()?e._nextBtn.focus():e._toggleSelectionFind.enabled?e._toggleSelectionFind.focus():e._closeBtn.isEnabled()&&e._closeBtn.focus(),t.preventDefault())}))),this._replaceBtn=this._register(new z({label:N+this._keybindingLabelFor(g.FIND_IDS.ReplaceOneAction),className:"codicon codicon-replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new z({label:x+this._keybindingLabelFor(g.FIND_IDS.ReplaceAllAction),className:"codicon codicon-replace-all",onTrigger:function(){e._controller.replaceAll()}}));var o=document.createElement("div");o.className="replace-part",o.appendChild(this._replaceInput.domNode);var r=document.createElement("div");r.className="replace-actions",o.appendChild(r),r.appendChild(this._replaceBtn.domNode),r.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new z({label:I, +className:"codicon toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInput.width=i.getTotalWidth(e._findInput.domNode),e._replaceInput.inputBox.layout()),e._showViewZone()}})),this._toggleReplaceBtn.toggleClass("codicon-chevron-down",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("codicon-chevron-right",!this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(o),this._resizeSash=new a.Sash(this._domNode,this,{orientation:0}),this._resized=!1;var l=419;this._register(this._resizeSash.onDidStart((function(){l=i.getTotalWidth(e._domNode)}))),this._register(this._resizeSash.onDidChange((function(t){e._resized=!0 +;var n=l+t.startX-t.currentX;n<419||(n>(parseFloat(i.getComputedStyle(e._domNode).maxWidth)||0)||(e._domNode.style.width=n+"px",e._isReplaceVisible&&(e._replaceInput.width=i.getTotalWidth(e._findInput.domNode)),e._findInput.inputBox.layout(),e._tryUpdateHeight()))}))),this._register(this._resizeSash.onDidReset((function(){var t=i.getTotalWidth(e._domNode);if(!(t<419)){var n=419;if(!e._resized||419===t){var o=e._codeEditor.getLayoutInfo();n=o.width-28-o.minimapWidth-15,e._resized=!0}e._domNode.style.width=n+"px",e._isReplaceVisible&&(e._replaceInput.width=i.getTotalWidth(e._findInput.domNode)),e._findInput.inputBox.layout()}})))},t.prototype.updateAccessibilitySupport=function(){var e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(2!==e)},t.ID="editor.contrib.findWidget",t}(l.Widget);t.FindWidget=B;var z=function(e){function t(t){var n=e.call(this)||this;return n._opts=t,n._domNode=document.createElement("div"),n._domNode.title=n._opts.label,n._domNode.tabIndex=0, +n._domNode.className="button "+n._opts.className,n._domNode.setAttribute("role","button"),n._domNode.setAttribute("aria-label",n._opts.label),n.onclick(n._domNode,(function(e){n._opts.onTrigger(),e.preventDefault()})),n.onkeydown(n._domNode,(function(e){if(e.equals(10)||e.equals(3))return n._opts.onTrigger(),void e.preventDefault();n._opts.onKeyDown&&n._opts.onKeyDown(e)})),n}return r(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),t.prototype.isEnabled=function(){return this._domNode.tabIndex>=0},t.prototype.focus=function(){this._domNode.focus()},t.prototype.setEnabled=function(e){i.toggleClass(this._domNode,"disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1},t.prototype.setExpanded=function(e){this._domNode.setAttribute("aria-expanded",String(!!e))},t.prototype.toggleClass=function(e,t){i.toggleClass(this._domNode,e,t)},t}(l.Widget);t.SimpleButton=z, +v.registerThemingParticipant((function(e,t){var n=function(e,n){n&&t.addRule(".monaco-editor "+e+" { background-color: "+n+"; }")};n(".findMatch",e.getColor(m.editorFindMatchHighlight)),n(".currentFindMatch",e.getColor(m.editorFindMatch)),n(".findScope",e.getColor(m.editorFindRangeHighlight)),n(".find-widget",e.getColor(m.editorWidgetBackground));var i=e.getColor(m.widgetShadow);i&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+i+"; }");var o=e.getColor(m.editorFindMatchHighlightBorder);o&&t.addRule(".monaco-editor .findMatch { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+o+"; box-sizing: border-box; }");var r=e.getColor(m.editorFindMatchBorder);r&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+r+"; padding: 1px; box-sizing: border-box; }");var s=e.getColor(m.editorFindRangeHighlightBorder);s&&t.addRule(".monaco-editor .findScope { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+s+"; }");var a=e.getColor(m.contrastBorder) +;a&&t.addRule(".monaco-editor .find-widget { border: 1px solid "+a+"; }");var l=e.getColor(m.editorWidgetForeground);l&&t.addRule(".monaco-editor .find-widget { color: "+l+"; }");var u=e.getColor(m.errorForeground);u&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+u+"; }");var d=e.getColor(m.editorWidgetResizeBorder);if(d)t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+d+"; width: 3px !important; margin-left: -4px;}");else{var c=e.getColor(m.editorWidgetBorder);c&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+c+"; width: 3px !important; margin-left: -4px;}")}var h=e.getColor(m.focusBorder);h&&t.addRule(".monaco-workbench .monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: "+h+"; }")}))})),define(n[230],i([0,1,436,15,2,5,11,23,168,572,377,573,162,18,60,12,33,73,14,34]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v,_,y,C,b,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var w=524288 +;function E(e){if(!e.hasModel())return null;var t=e.getSelection();if(t.startLineNumber===t.endLineNumber)if(t.isEmpty()){var n=e.getModel().getWordAtPosition(t.getStartPosition());if(n)return n.word}else if(e.getModel().getValueLengthInRange(t)e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,this._editor.getModel().getLineMaxColumn(e.endLineNumber-1))),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=s.escapeRegExpCharacters(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(), +this._editor.hasModel()){var t,n={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=E(this._editor))&&(this._state.isRegex?n.searchString=s.escapeRegExpCharacters(t):n.searchString=t);if(!n.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(n.searchString=t);if(e.forceRevealReplace?n.isReplaceRevealed=!0:this._findWidgetVisible.get()||(n.isReplaceRevealed=!1),e.updateSearchScope){var i=this._editor.getSelection();i.isEmpty()||(n.searchScope=i)}this._state.change(n,!1),this._model||(this._model=new u.FindModelBoundToEditorModel(this._editor,this._state))}},t.prototype.start=function(e){this._start(e)},t.prototype.moveToNextMatch=function(){return!!this._model&&(this._model.moveToNextMatch(),!0)},t.prototype.moveToPrevMatch=function(){return!!this._model&&(this._model.moveToPrevMatch(),!0)},t.prototype.replace=function(){return!!this._model&&(this._model.replace(),!0)},t.prototype.replaceAll=function(){return!!this._model&&(this._model.replaceAll(),!0)}, +t.prototype.selectAllMatches=function(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)},t.prototype.getGlobalBufferTerm=function(){return this._editor.getOption(27).globalFindClipboard&&this._clipboardService&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getOption(27).globalFindClipboard&&this._clipboardService&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=h([f(1,m.IContextKeyService),f(2,C.IStorageService),f(3,g.IClipboardService)],t)}(o.Disposable);t.CommonFindController=L;var D=function(e){function t(t,n,i,o,r,s,a,l){var u=e.call(this,t,i,a,l)||this;return u._contextViewService=n,u._keybindingService=o,u._themeService=r,u._notificationService=s,u._widget=null,u._findOptionsWidget=null,u}return r(t,e),t.prototype._start=function(t){ +this._widget||this._createFindWidget();var n=this._editor.getSelection(),i=!1;switch(this._editor.getOption(27).autoFindInSelection){case"always":i=!0;break;case"never":i=!1;break;case"multiline":i=!!n&&n.startLineNumber!==n.endLineNumber}t.updateSearchScope=i,e.prototype._start.call(this,t),2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput()},t.prototype.highlightFindOptions=function(){this._widget||this._createFindWidget(),this._state.isRevealed?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()},t.prototype._createFindWidget=function(){this._widget=this._register(new p.FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new d.FindOptionsWidget(this._editor,this._state,this._keybindingService,this._themeService))}, +t=h([f(1,v.IContextViewService),f(2,m.IContextKeyService),f(3,y.IKeybindingService),f(4,b.IThemeService),f(5,S.INotificationService),f(6,C.IStorageService),f(7,_.optional(g.IClipboardService))],t)}(L);t.FindController=D;var N=function(e){function t(){return e.call(this,{id:u.FIND_IDS.StartFindAction,label:n.localize(0,null),alias:"Find",precondition:void 0,kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:15,group:"3_find",title:n.localize(1,null),order:1}})||this}return r(t,e),t.prototype.run=function(e,t){var n=L.get(t);n&&n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getOption(27).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getOption(27).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1})},t}(a.EditorAction);t.StartFindAction=N;var x=function(e){function t(){return e.call(this,{id:u.FIND_IDS.StartFindWithSelection,label:n.localize(2,null),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083 +},weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=L.get(t);n&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),n.setGlobalBufferTerm(n.getState().searchString))},t}(a.EditorAction);t.StartFindWithSelectionAction=x;var I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.run=function(e,t){var n=L.get(t);n&&!this._run(n)&&(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===n.getState().searchString.length&&t.getOption(27).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))},t}(a.EditorAction);t.MatchFindAction=I;var M=function(e){function t(){return e.call(this,{id:u.FIND_IDS.NextMatchFindAction,label:n.localize(3,null),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:l.EditorContextKeys.focus,primary:61,mac:{primary:2085, +secondary:[61]},weight:100}})||this}return r(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(I);t.NextMatchFindAction=M;var k=function(e){function t(){return e.call(this,{id:u.FIND_IDS.NextMatchFindAction,label:n.localize(4,null),alias:"Find Next",precondition:void 0,kbOpts:{kbExpr:m.ContextKeyExpr.and(l.EditorContextKeys.focus,u.CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}})||this}return r(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(I);t.NextMatchFindAction2=k;var T=function(e){function t(){return e.call(this,{id:u.FIND_IDS.PreviousMatchFindAction,label:n.localize(5,null),alias:"Find Previous",precondition:void 0,kbOpts:{kbExpr:l.EditorContextKeys.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100}})||this}return r(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(I);t.PreviousMatchFindAction=T;var R=function(e){function t(){return e.call(this,{id:u.FIND_IDS.PreviousMatchFindAction,label:n.localize(6,null),alias:"Find Previous", +precondition:void 0,kbOpts:{kbExpr:m.ContextKeyExpr.and(l.EditorContextKeys.focus,u.CONTEXT_FIND_INPUT_FOCUSED),primary:1027,weight:100}})||this}return r(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(I);t.PreviousMatchFindAction2=R;var O=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.run=function(e,t){var n=L.get(t);if(n){var i=E(t);i&&n.setSearchString(i),this._run(n)||(n.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getOption(27).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1}),this._run(n))}},t}(a.EditorAction);t.SelectionMatchFindAction=O;var P=function(e){function t(){return e.call(this,{id:u.FIND_IDS.NextSelectionMatchFindAction,label:n.localize(7,null),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:l.EditorContextKeys.focus,primary:2109,weight:100}})||this}return r(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t +}(O);t.NextSelectionMatchFindAction=P;var A=function(e){function t(){return e.call(this,{id:u.FIND_IDS.PreviousSelectionMatchFindAction,label:n.localize(8,null),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:l.EditorContextKeys.focus,primary:3133,weight:100}})||this}return r(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(O);t.PreviousSelectionMatchFindAction=A;var F=function(e){function t(){return e.call(this,{id:u.FIND_IDS.StartFindReplaceAction,label:n.localize(9,null),alias:"Replace",precondition:void 0,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:15,group:"3_find",title:n.localize(10,null),order:2}})||this}return r(t,e),t.prototype.run=function(e,t){if(t.hasModel()&&!t.getOption(65)){var n=L.get(t),i=t.getSelection(),o=n.isFindInputFocused(),r=!i.isEmpty()&&i.startLineNumber===i.endLineNumber&&t.getOption(27).seedSearchStringFromSelection&&!o,s=o||r?2:1;n&&n.start({forceRevealReplace:!0,seedSearchStringFromSelection:r, +seedSearchStringFromGlobalClipboard:t.getOption(27).seedSearchStringFromSelection,shouldFocus:s,shouldAnimate:!0,updateSearchScope:!1})}},t}(a.EditorAction);t.StartFindReplaceAction=F,a.registerEditorContribution(L.ID,D),a.registerEditorAction(N),a.registerEditorAction(x),a.registerEditorAction(M),a.registerEditorAction(k),a.registerEditorAction(T),a.registerEditorAction(R),a.registerEditorAction(P),a.registerEditorAction(A),a.registerEditorAction(F);var W=a.EditorCommand.bindToContribution(L.get);a.registerEditorCommand(new W({id:u.FIND_IDS.CloseFindWidgetCommand,precondition:u.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:9,secondary:[1033]}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:u.ToggleCaseSensitiveKeybinding.primary, +mac:u.ToggleCaseSensitiveKeybinding.mac,win:u.ToggleCaseSensitiveKeybinding.win,linux:u.ToggleCaseSensitiveKeybinding.linux}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:u.ToggleWholeWordKeybinding.primary,mac:u.ToggleWholeWordKeybinding.mac,win:u.ToggleWholeWordKeybinding.win,linux:u.ToggleWholeWordKeybinding.linux}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:function(e){return e.toggleRegex()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:u.ToggleRegexKeybinding.primary,mac:u.ToggleRegexKeybinding.mac,win:u.ToggleRegexKeybinding.win,linux:u.ToggleRegexKeybinding.linux}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus, +primary:u.ToggleSearchScopeKeybinding.primary,mac:u.ToggleSearchScopeKeybinding.mac,win:u.ToggleSearchScopeKeybinding.win,linux:u.ToggleSearchScopeKeybinding.linux}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ReplaceOneAction,precondition:u.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:3094}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ReplaceOneAction,precondition:u.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:m.ContextKeyExpr.and(l.EditorContextKeys.focus,u.CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ReplaceAllAction,precondition:u.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:2563}})),a.registerEditorCommand(new W({id:u.FIND_IDS.ReplaceAllAction,precondition:u.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.replaceAll()},kbOpts:{ +weight:105,kbExpr:m.ContextKeyExpr.and(l.EditorContextKeys.focus,u.CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2051}}})),a.registerEditorCommand(new W({id:u.FIND_IDS.SelectAllMatchesAction,precondition:u.CONTEXT_FIND_WIDGET_VISIBLE,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:105,kbExpr:l.EditorContextKeys.focus,primary:515}}))})),define(n[574],i([0,1,110,84,137,265,112,14,95,8,447,133,37,2,12,33,61,136]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v,_,y,C){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var b=function(){function e(e){this._resolverService=e}return e.prototype.hasChildren=function(e){return e instanceof n.ReferencesModel||e instanceof n.FileReferences&&!e.failure},e.prototype.getChildren=function(e){if(e instanceof n.ReferencesModel)return e.groups;if(e instanceof n.FileReferences)return e.resolve(this._resolverService).then((function(e){return e.children}));throw new Error("bad tree")},e=h([f(0,i.ITextModelService)],e)}();t.DataSource=b +;var S=function(){function e(){}return e.prototype.getHeight=function(){return 23},e.prototype.getTemplateId=function(e){return e instanceof n.FileReferences?D.id:x.id},e}();t.Delegate=S;var w=function(){function e(e){this._keybindingService=e}return e.prototype.getKeyboardNavigationLabel=function(e){if(e instanceof n.OneReference){var t=e.parent.preview,i=t&&t.preview(e.range);if(i)return i.value}return g.basename(e.uri)},e=h([f(0,_.IKeybindingService)],e)}();t.StringRepresentationProvider=w;var E=function(){function e(){}return e.prototype.getId=function(e){return e instanceof n.OneReference?e.id:e.uri},e}();t.IdentityProvider=E;var L=function(e){function t(t,n,i){var r=e.call(this)||this;r._uriLabel=n;var a=document.createElement("div");return d.addClass(a,"reference-file"),r.file=r._register(new o.IconLabel(a,{supportHighlights:!0})),r.badge=new s.CountBadge(d.append(a,d.$(".count"))),r._register(u.attachBadgeStyler(r.badge,i)),t.appendChild(a),r}return r(t,e),t.prototype.set=function(e,t){ +var n=g.dirname(e.uri);this.file.setLabel(p.getBaseLabel(e.uri),this._uriLabel.getUriLabel(n,{relative:!0}),{title:this._uriLabel.getUriLabel(e.uri),matches:t});var i=e.children.length;this.badge.setCount(i),e.failure?this.badge.setTitleFormat(c.localize(0,null)):i>1?this.badge.setTitleFormat(c.localize(1,null,i)):this.badge.setTitleFormat(c.localize(2,null,i))},t=h([f(1,a.ILabelService),f(2,l.IThemeService)],t)}(m.Disposable),D=function(){function e(t){this._instantiationService=t,this.templateId=e.id}return e.prototype.renderTemplate=function(e){return this._instantiationService.createInstance(L,e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,y.createMatches(e.filterData))},e.prototype.disposeTemplate=function(e){e.dispose()},e.id="FileReferencesRenderer",e=h([f(0,v.IInstantiationService)],e)}();t.FileReferencesRenderer=D;var N=function(){function e(e){this.label=new C.HighlightedLabel(e,!1)}return e.prototype.set=function(e,t){var n=e.parent.preview,i=n&&n.preview(e.range);if(i){ +var o=i.value,r=i.highlight;t&&!y.FuzzyScore.isDefault(t)?(d.toggleClass(this.label.element,"referenceMatch",!1),this.label.set(o,y.createMatches(t))):(d.toggleClass(this.label.element,"referenceMatch",!0),this.label.set(o,[r]))}else this.label.set(g.basename(e.uri)+":"+(e.range.startLineNumber+1)+":"+(e.range.startColumn+1))},e}(),x=function(){function e(){this.templateId=e.id}return e.prototype.renderTemplate=function(e){return new N(e)},e.prototype.renderElement=function(e,t,n){n.set(e.element,e.filterData)},e.prototype.disposeTemplate=function(){},e.id="OneReferenceRenderer",e}();t.OneReferenceRenderer=x;var I=function(){function e(){}return e.prototype.getAriaLabel=function(e){return e.ariaMessage},e}();t.AriaProvider=I})),define(n[575],i([0,1,453,3,21,23,11,62,383,67,14,43,29,15,10]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var _=function(){function e(e,t){this.decorationIds=[],this.editor=e,this.editorWorkerService=t} +return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.run=function(t,n){var r=this;this.currentRequest&&this.currentRequest.cancel();var s=this.editor.getSelection(),a=this.editor.getModel();if(a&&s){var l=s;if(l.startLineNumber===l.endLineNumber){var c=new d.EditorState(this.editor,5),h=a.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=m.createCancelablePromise((function(e){return r.editorWorkerService.navigateValueSet(h,l,n)})),this.currentRequest.then((function(n){if(n&&n.range&&n.value&&c.validate(r.editor)){var s=i.Range.lift(n.range),a=n.range,d=n.value.length-(l.endColumn-l.startColumn);a={startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.startColumn+n.value.length},d>1&&(l=new o.Selection(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn+d-1));var h=new u.InPlaceReplaceCommand(s,l,n.value);r.editor.pushUndoStop(),r.editor.executeCommand(t,h), +r.editor.pushUndoStop(),r.decorationIds=r.editor.deltaDecorations(r.decorationIds,[{range:a,options:e.DECORATION}]),r.decorationRemover&&r.decorationRemover.cancel(),r.decorationRemover=m.timeout(350),r.decorationRemover.then((function(){return r.decorationIds=r.editor.deltaDecorations(r.decorationIds,[])})).catch(v.onUnexpectedError)}})).catch(v.onUnexpectedError)):Promise.resolve(void 0)}}},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=g.ModelDecorationOptions.register({className:"valueSetReplacement"}),e=h([f(1,l.IEditorWorkerService)],e)}(),y=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:n.localize(0,null),alias:"Replace with Previous Value",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:3154,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=_.get(t);return n?n.run(this.id,!0):Promise.resolve(void 0)},t}(a.EditorAction),C=function(e){function t(){return e.call(this,{ +id:"editor.action.inPlaceReplace.down",label:n.localize(1,null),alias:"Replace with Next Value",precondition:s.EditorContextKeys.writable,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus,primary:3156,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=_.get(t);return n?n.run(this.id,!1):Promise.resolve(void 0)},t}(a.EditorAction);a.registerEditorContribution(_.ID,_),a.registerEditorAction(y),a.registerEditorAction(C),c.registerThemingParticipant((function(e,t){var n=e.getColor(p.editorBracketMatchBorder);n&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+n+"; }")}))})),define(n[576],i([0,1,455,15,26,10,74,2,16,11,29,17,195,493,34,53,20,14,314]),(function(e,t,n,i,o,s,a,u,p,g,m,v,_,y,C,b,S,w){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var E={general:m.ModelDecorationOptions.register({stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:m.ModelDecorationOptions.register({stickiness:1,collapseOnReplaceEdit:!0, +inlineClassName:"detected-link-active"})},L=function(){function e(e,t){this.link=e,this.decorationId=t}return e.decoration=function(t,n){return{range:t.range,options:e._getOptions(t,n,!1)}},e._getOptions=function(e,t,i){var o=l({},i?E.active:E.general);return o.hoverMessage=function(e,t){var i=e.url&&/^command:/i.test(e.url.toString()),o=e.tooltip?e.tooltip:i?n.localize(0,null):n.localize(1,null),r=t?p.isMacintosh?n.localize(2,null):n.localize(3,null):p.isMacintosh?n.localize(4,null):n.localize(5,null);return e.url?new a.MarkdownString("",!0).appendMarkdown("["+o+"]("+e.url.toString()+") ("+r+")"):(new a.MarkdownString).appendText(o+" ("+r+")")}(e,t),o},e.prototype.activate=function(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!0))},e.prototype.deactivate=function(t,n){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,n,!1))},e}(),D=function(){function e(e,t,n){var o=this;this.listenersToRemove=new u.DisposableStore,this.editor=e,this.openerService=t, +this.notificationService=n;var r=new _.ClickLinkGesture(e);this.listenersToRemove.add(r),this.listenersToRemove.add(r.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],n=e[1];o._onEditorMouseMove(t,n)}))),this.listenersToRemove.add(r.onExecute((function(e){o.onEditorMouseUp(e)}))),this.listenersToRemove.add(r.onCancel((function(e){o.cleanUpActiveLinkDecoration()}))),this.enabled=e.getOption(50),this.listenersToRemove.add(e.onDidChangeConfiguration((function(t){var n=e.getOption(50);o.enabled!==n&&(o.enabled=n,o.updateDecorations([]),o.stop(),o.beginCompute())}))),this.listenersToRemove.add(e.onDidChangeModelContent((function(e){return o.onChange()}))),this.listenersToRemove.add(e.onDidChangeModel((function(e){return o.onModelChanged()}))),this.listenersToRemove.add(e.onDidChangeModelLanguage((function(e){return o.onModelModeChanged()}))),this.listenersToRemove.add(v.LinkProviderRegistry.onDidChange((function(e){return o.onModelModeChanged()}))),this.timeout=new i.TimeoutTimer,this.computePromise=null, +this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.onModelChanged=function(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()},e.prototype.onModelModeChanged=function(){this.stop(),this.beginCompute()},e.prototype.onChange=function(){var t=this;this.timeout.setIfNotSet((function(){return t.beginCompute()}),e.RECOMPUTE_TIME)},e.prototype.beginCompute=function(){return d(this,void 0,void 0,(function(){var e,t,n;return c(this,(function(o){switch(o.label){case 0:if(!this.editor.hasModel()||!this.enabled)return[2];if(e=this.editor.getModel(),!v.LinkProviderRegistry.has(e))return[2];this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=i.createCancelablePromise((function(t){return y.getLinks(e,t)})),o.label=1;case 1:return o.trys.push([1,3,4,5]),t=this,[4,this.computePromise];case 2: +return t.activeLinksList=o.sent(),this.updateDecorations(this.activeLinksList.links),[3,5];case 3:return n=o.sent(),s.onUnexpectedError(n),[3,5];case 4:return this.computePromise=null,[7];case 5:return[2]}}))}))},e.prototype.updateDecorations=function(e){for(var t="altKey"===this.editor.getOption(57),n=[],i=Object.keys(this.currentOccurrences),o=0,r=i.length;o0||"ifSingle"===e.autoApply&&1===t.validActions.length?t.validActions[0]:void 0},t.prototype.showCodeActionList=function(e,t,n){return d(this,void 0,void 0,(function(){return c(this,(function(i){return this._codeActionWidget.getValue().show(e,t,n),[2]}))}))},t=h([f(4,p.IInstantiationService)],t)}(s.Disposable);t.CodeActionUi=g}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t1&&n.push(new d.Selection(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var n=this;if(t.hasModel()){var i=t.getModel(),o=t.getSelections(),r=[];o.forEach((function(e){return n.getCursorsForSelection(e,i,r)})),r.length>0&&t.setSelections(r)}},t}(a.EditorAction),S=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToBottom",label:n.localize(6,null),alias:"Add Cursors To Bottom",precondition:void 0})||this}return r(t,e),t.prototype.run=function(e,t){if(t.hasModel()){ +for(var n=t.getSelections(),i=t.getModel().getLineCount(),o=[],r=n[0].startLineNumber;r<=i;r++)o.push(new d.Selection(r,n[0].startColumn,r,n[0].endColumn));o.length>0&&t.setSelections(o)}},t}(a.EditorAction),w=function(e){function t(){return e.call(this,{id:"editor.action.addCursorsToTop",label:n.localize(7,null),alias:"Add Cursors To Top",precondition:void 0})||this}return r(t,e),t.prototype.run=function(e,t){if(t.hasModel()){for(var n=t.getSelections(),i=[],o=n[0].startLineNumber;o>=1;o--)i.push(new d.Selection(o,n[0].startColumn,o,n[0].endColumn));i.length>0&&t.setSelections(i)}},t}(a.EditorAction),E=function(e,t,n){this.selections=e,this.revealRange=t,this.revealScrollType=n};t.MultiCursorSessionResult=E;var L=function(){function e(e,t,n,i,o,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=n,this.searchText=i,this.wholeWord=o,this.matchCase=r,this.currentMatch=s}return e.create=function(t,n){if(!t.hasModel())return null;var i=n.getState() +;if(!t.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new e(t,n,!1,i.searchString,i.wholeWord,i.matchCase,null);var o,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,o=!0,r=!0):(o=i.wholeWord,r=i.matchCase);var l,u=t.getSelection(),c=null;if(u.isEmpty()){var h=t.getModel().getWordAtPosition(u.getStartPosition());if(!h)return null;l=h.word,c=new d.Selection(u.startLineNumber,h.startColumn,u.startLineNumber,h.endColumn)}else l=t.getModel().getValueInRange(u).replace(/\r\n/g,"\n");return new e(t,n,s,l,o,r,c)},e.prototype.addSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new E(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new E(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){ +if(!this._editor.hasModel())return null;if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findNextMatch(this.searchText,n.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(92):null,!1);return i?new d.Selection(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new E(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){if(!this._editor.hasModel())return null;var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new E(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(!this._editor.hasModel())return null;if(this.currentMatch){ +var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),n=t[t.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,n.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(92):null,!1);return i?new d.Selection(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null},e.prototype.selectAll=function(){return this._editor.hasModel()?(this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(92):null,!1,1073741824)):[]},e}();t.MultiCursorSession=L;var D=function(e){function t(t){var n=e.call(this)||this;return n._sessionDispose=n._register(new s.DisposableStore),n._editor=t,n._ignoreSelectionChange=!1,n._session=null,n}return r(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)}, +t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var n=L.create(this._editor,e);if(!n)return;this._session=n;var i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((function(e){t._ignoreSelectionChange||t._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((function(){t._endSession()}))),this._sessionDispose.add(e.getState().onFindReplaceStateChange((function(e){(e.matchCase||e.wholeWord)&&t._endSession()})))}},t.prototype._endSession=function(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e), +this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var n=e.getWordAtPosition(t.getStartPosition());return n?new d.Selection(t.startLineNumber,n.startColumn,t.startLineNumber,n.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(this._editor.hasModel()){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var n=e.getState().matchCase;if(!A(this._editor.getModel(),t,n)){for(var i=this._editor.getModel(),o=[],r=0,s=t.length;r0&&n.isRegex)t=this._editor.getModel().findMatches(n.searchString,!0,n.isRegex,n.matchCase,n.wholeWord?this._editor.getOption(92):null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(n.searchScope){for(var i=n.searchScope,o=[],r=0;r=i.startLineNumber&&o.push(t[r]);t=o}if(t.length>0){ +for(var s=this._editor.getSelection(),a=(r=0,t.length);r1){var a=o.getState().matchCase;if(!A(t.getModel(),s,a))return null}r=L.create(t,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;var l=o.getState(),u=l.matchCase;if(l.isRevealed){var d=l.searchString;u||(d=d.toLowerCase());var c=r.searchText;if(u||(c=c.toLowerCase()),d===c&&r.matchCase===l.matchCase&&r.wholeWord===l.wholeWord&&!l.isRegex)return null}return new O(r.searchText,r.matchCase,r.wholeWord?t.getOption(92):null)},t.prototype._setState=function(e){if(O.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){ +if(this.editor.hasModel()){var n=this.editor.getModel();if(!n.isTooLargeForTokenization()){var i=f.DocumentHighlightProviderRegistry.has(n),o=n.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map((function(e){return e.range}));o.sort(u.Range.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(u.Range.compareRangesUsingStarts);for(var s=[],a=0,l=0,d=o.length,c=r.length;a=c)s.push(h),a++;else{var p=u.Range.compareRangesUsingStarts(h,r[l]);p<0?(!r[l].isEmpty()&&u.Range.areIntersecting(h,r[l])||s.push(h),a++):p>0?l++:(a++,l++)}}var g=s.map((function(e){return{range:e,options:i?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}}));this.decorations=this.editor.deltaDecorations(this.decorations,g)}}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter", +t._SELECTION_HIGHLIGHT_OVERVIEW=p.ModelDecorationOptions.register({stickiness:1,className:"selectionHighlight",overviewRuler:{color:v.themeColorFromId(m.overviewRulerSelectionHighlightForeground),position:h.OverviewRulerLane.Center}}),t._SELECTION_HIGHLIGHT=p.ModelDecorationOptions.register({stickiness:1,className:"selectionHighlight"}),t}(s.Disposable);function A(e,t,n){for(var i=F(e,t[0],!n),o=1,r=t.length;o1;n.toggleClass(this.domNodes.element,"multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerHTML="",this.domNodes.docs.innerHTML="";var i=e.signatures[e.activeSignature];if(i){var r=n.append(this.domNodes.signature,b(".code")),s=i.parameters.length>0,a=this.editor.getOption(32);if(r.style.fontSize=a.fontSize+"px",r.style.fontFamily=a.fontFamily, +s)this.renderParameters(r,i,e.activeParameter);else n.append(r,b("span")).textContent=i.label;this.renderDisposeables.clear();var l=i.parameters[e.activeParameter];if(l&&l.documentation){var u=b("span.documentation");if("string"==typeof l.documentation)u.textContent=l.documentation;else{var d=this.markdownRenderer.render(l.documentation);n.addClass(d.element,"markdown-docs"),this.renderDisposeables.add(d),u.appendChild(d.element)}n.append(this.domNodes.docs,b("p",{},u))}if(void 0===i.documentation);else if("string"==typeof i.documentation)n.append(this.domNodes.docs,b("p",{},i.documentation));else{d=this.markdownRenderer.render(i.documentation);n.addClass(d.element,"markdown-docs"),this.renderDisposeables.add(d),n.append(this.domNodes.docs,d.element)}var c=this.hasDocs(i,l);if(n.toggleClass(this.domNodes.signature,"has-docs",c),n.toggleClass(this.domNodes.docs,"empty",!c),this.domNodes.overloads.textContent=C.pad(e.activeSignature+1,e.signatures.length.toString().length)+"/"+e.signatures.length,l){ +var h=this.getParameterLabel(i,e.activeParameter);this.announcedLabel!==h&&(o.alert(p.localize(0,null,h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}}},t.prototype.hasDocs=function(e,t){return!!(t&&"string"==typeof t.documentation&&t.documentation.length>0)||(!!(t&&"object"==typeof t.documentation&&t.documentation.value.length>0)||("string"==typeof e.documentation&&e.documentation.length>0||"object"==typeof e.documentation&&e.documentation.value.length>0))},t.prototype.renderParameters=function(e,t,i){var o=this.getParameterLabelOffsets(t,i),r=o[0],s=o[1],a=document.createElement("span");a.textContent=t.label.substring(0,r);var l=document.createElement("span");l.textContent=t.label.substring(r,s),l.className="parameter active";var u=document.createElement("span");u.textContent=t.label.substring(s),n.append(e,a,l,u)},t.prototype.getParameterLabel=function(e,t){var n=e.parameters[t] +;return"string"==typeof n.label?n.label:e.label.substring(n.label[0],n.label[1])},t.prototype.getParameterLabelOffsets=function(e,t){var n=e.parameters[t];if(n){if(Array.isArray(n.label))return n.label;var i=e.label.lastIndexOf(n.label);return i>=0?[i,i+n.label.length]:[0,0]}return[0,0]},t.prototype.next=function(){this.editor.focus(),this.model.next()},t.prototype.previous=function(){this.editor.focus(),this.model.previous()},t.prototype.cancel=function(){this.model.cancel()},t.prototype.getDomNode=function(){return this.domNodes||this.createParamaterHintDOMNodes(),this.domNodes.element},t.prototype.getId=function(){return t.ID},t.prototype.trigger=function(e){this.model.trigger(e,0)},t.prototype.updateMaxHeight=function(){if(this.domNodes){var e=Math.max(this.editor.getLayoutInfo().height/4,250)+"px";this.domNodes.element.style.maxHeight=e;var t=this.domNodes.element.getElementsByClassName("wrapper");t.length&&(t[0].style.maxHeight=e)}},t.ID="editor.widget.parameterHintsWidget", +t=h([f(1,g.IContextKeyService),f(2,m.IOpenerService),f(3,u.IModeService)],t)}(l.Disposable);t.ParameterHintsWidget=S,_.registerThemingParticipant((function(e,t){var n=e.getColor(v.editorHoverBorder);if(n){var i=e.type===_.HIGH_CONTRAST?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+i+"px solid "+n+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+n.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+n.transparent(.5)+"; }")}var o=e.getColor(v.editorHoverBackground);o&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+o+"; }");var r=e.getColor(v.textLinkForeground);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(v.editorHoverForeground);s&&t.addRule(".monaco-editor .parameter-hints-widget { color: "+s+"; }");var a=e.getColor(v.textCodeBlockBackground) +;a&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+a+"; }")}))})),define(n[581],i([0,1,458,2,12,23,18,11,580,166,17]),(function(e,t,n,i,o,s,a,l,u,d,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=function(e){function t(t,n){var i=e.call(this)||this;return i.editor=t,i.widget=i._register(n.createInstance(u.ParameterHintsWidget,i.editor)),i}return r(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.cancel=function(){this.widget.cancel()},t.prototype.previous=function(){this.widget.previous()},t.prototype.next=function(){this.widget.next()},t.prototype.trigger=function(e){this.widget.trigger(e)},t.ID="editor.controller.parameterHints",t=h([f(1,o.IInstantiationService)],t)}(i.Disposable),g=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:n.localize(0,null),alias:"Trigger Parameter Hints",precondition:s.EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:s.EditorContextKeys.editorTextFocus, +primary:3082,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=p.get(t);n&&n.trigger({triggerKind:c.SignatureHelpTriggerKind.Invoke})},t}(l.EditorAction);t.TriggerParameterHintsAction=g,l.registerEditorContribution(p.ID,p),l.registerEditorAction(g);var m=l.EditorCommand.bindToContribution(p.get);l.registerEditorCommand(new m({id:"closeParameterHints",precondition:d.Context.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.EditorContextKeys.focus,primary:9,secondary:[1033]}})),l.registerEditorCommand(new m({id:"showPrevParameterHint",precondition:a.ContextKeyExpr.and(d.Context.Visible,d.Context.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.EditorContextKeys.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),l.registerEditorCommand(new m({id:"showNextParameterHint",precondition:a.ContextKeyExpr.and(d.Context.Visible,d.Context.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175, +kbExpr:s.EditorContextKeys.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))})),define(n[120],i([0,1,8,82,55,27,4,30,5,31,228,491,460,18,12,83,11,20,317]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g,m,v,_,y,C){"use strict";var b;Object.defineProperty(t,"__esModule",{value:!0}),t.IPeekViewService=v.createDecorator("IPeekViewService"),_.registerSingleton(t.IPeekViewService,function(){function e(){this._widgets=new Map}return e.prototype.addExclusiveWidget=function(e,t){var n=this,i=this._widgets.get(e);i&&(i.listener.dispose(),i.widget.dispose());this._widgets.set(e,{widget:t,listener:t.onDidClose((function(){var i=n._widgets.get(e);i&&i.widget===t&&(i.listener.dispose(),n._widgets.delete(e))}))})},e}()),function(e){e.inPeekEditor=new m.RawContextKey("inReferenceSearchEditor",!0),e.notInPeekEditor=e.inPeekEditor.toNegated()}(b=t.PeekContext||(t.PeekContext={}));var S=function(){function e(e,t){e instanceof c.EmbeddedCodeEditorWidget&&b.inPeekEditor.bindTo(t)} +return e.prototype.dispose=function(){},e.ID="editor.contrib.referenceController",e=h([f(1,m.IContextKeyService)],e)}();y.registerEditorContribution(S.ID,S),t.getOuterEditor=function(e){var t=e.get(d.ICodeEditorService).getFocusedCodeEditor();return t instanceof c.EmbeddedCodeEditorWidget?t.getParentEditor():t};var w={headerBackgroundColor:s.Color.white,primaryHeadingColor:s.Color.fromHex("#333333"),secondaryHeadingColor:s.Color.fromHex("#6c6c6cb3")},E=function(e){function t(t,n){void 0===n&&(n={});var i=e.call(this,t,n)||this;return i._onDidClose=new a.Emitter,i.onDidClose=i._onDidClose.event,l.mixin(i.options,w,!1),i}return r(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._onDidClose.fire(this)},t.prototype.style=function(t){var n=this.options;t.headerBackgroundColor&&(n.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(n.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(n.secondaryHeadingColor=t.secondaryHeadingColor), +e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=n.$(".head"),this._bodyElement=n.$(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,r=n.$(".peekview-title");n.append(this._headElement,r),n.addStandardDisposableListener(r,"click",(function(e){ +return t._onTitleClick(e)})),this._fillTitleIcon(r),this._primaryHeading=n.$("span.filename"),this._secondaryHeading=n.$("span.dirname"),this._metaHeading=n.$("span.meta"),n.append(r,this._primaryHeading,this._secondaryHeading,this._metaHeading);var s=n.$(".peekview-actions");n.append(this._headElement,s);var a=this._getActionBarOptions();this._actionbarWidget=new i.ActionBar(s,a),this._disposables.add(this._actionbarWidget),this._actionbarWidget.push(new o.Action("peekview.close",g.localize(0,null),"codicon-close",!0,(function(){return t.dispose(),Promise.resolve()})),{label:!1,icon:!0})},t.prototype._fillTitleIcon=function(e){},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerHTML=u.escape(e),this._primaryHeading.setAttribute("aria-label",e),t?this._secondaryHeading.innerHTML=u.escape(t):n.clearNode(this._secondaryHeading))}, +t.prototype.setMetaTitle=function(e){this._metaHeading&&(e?(this._metaHeading.innerHTML=u.escape(e),n.show(this._metaHeading)):n.hide(this._metaHeading))},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var n=Math.ceil(1.2*this.editor.getOption(47)),i=Math.round(e-(n+2));this._doLayoutHead(n,t),this._doLayoutBody(i,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement&&(this._headElement.style.height=e+"px",this._headElement.style.lineHeight=this._headElement.style.height)},t.prototype._doLayoutBody=function(e,t){this._bodyElement&&(this._bodyElement.style.height=e+"px")},t}(p.ZoneWidget);t.PeekViewWidget=E,t.peekViewTitleBackground=C.registerColor("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},g.localize(1,null)),t.peekViewTitleForeground=C.registerColor("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},g.localize(2,null)),t.peekViewTitleInfoForeground=C.registerColor("peekViewTitleDescription.foreground",{ +dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},g.localize(3,null)),t.peekViewBorder=C.registerColor("peekView.border",{dark:"#007acc",light:"#007acc",hc:C.contrastBorder},g.localize(4,null)),t.peekViewResultsBackground=C.registerColor("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:s.Color.black},g.localize(5,null)),t.peekViewResultsMatchForeground=C.registerColor("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:s.Color.white},g.localize(6,null)),t.peekViewResultsFileForeground=C.registerColor("peekViewResult.fileForeground",{dark:s.Color.white,light:"#1E1E1E",hc:s.Color.white},g.localize(7,null)),t.peekViewResultsSelectionBackground=C.registerColor("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},g.localize(8,null)),t.peekViewResultsSelectionForeground=C.registerColor("peekViewResult.selectionForeground",{dark:s.Color.white,light:"#6C6C6C",hc:s.Color.white},g.localize(9,null)), +t.peekViewEditorBackground=C.registerColor("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:s.Color.black},g.localize(10,null)),t.peekViewEditorGutterBackground=C.registerColor("peekViewEditorGutter.background",{dark:t.peekViewEditorBackground,light:t.peekViewEditorBackground,hc:t.peekViewEditorBackground},g.localize(11,null)),t.peekViewResultsMatchHighlight=C.registerColor("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},g.localize(12,null)),t.peekViewEditorMatchHighlight=C.registerColor("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},g.localize(13,null)),t.peekViewEditorMatchHighlightBorder=C.registerColor("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:C.activeContrastBorder},g.localize(14,null))})),define(n[582],i([0,1,461,10,18,72,11,23,545,14,17,13,48,3,119,67,34,156,24,31,26,2,15,22]),(function(e,t,n,i,o,s,a,l,u,p,g,m,v,_,y,C,b,S,w,E,L,D,N,x){"use strict";Object.defineProperty(t,"__esModule",{ +value:!0});var I=function(){function e(e,t){this.model=e,this.position=t,this._providers=g.RenameProviderRegistry.ordered(e)}return e.prototype.hasProvider=function(){return this._providers.length>0},e.prototype.resolveRenameLocation=function(e){return d(this,void 0,void 0,(function(){var t,n,i,o;return c(this,(function(r){switch(r.label){case 0:return(t=this._providers[0])?t.resolveRenameLocation?(i=x.withNullAsUndefined,[4,t.resolveRenameLocation(this.model,this.position,e)]):[3,2]:[2,void 0];case 1:n=i.apply(void 0,[r.sent()]),r.label=2;case 2:return!n&&(o=this.model.getWordAtPosition(this.position))?[2,{range:new _.Range(this.position.lineNumber,o.startColumn,this.position.lineNumber,o.endColumn),text:o.word}]:[2,n]}}))}))},e.prototype.provideRenameEdits=function(e,t,i,o){return d(this,void 0,void 0,(function(){var r,s;return c(this,(function(a){switch(a.label){case 0:return(r=this._providers[t])?[4,r.provideRenameEdits(this.model,this.position,e,o)]:[2,{edits:[],rejectReason:i.join("\n")}];case 1: +return(s=a.sent())?s.rejectReason?[2,this.provideRenameEdits(e,t+1,i.concat(s.rejectReason),o)]:[2,s]:[2,this.provideRenameEdits(e,t+1,i.concat(n.localize(0,null)),o)]}}))}))},e}();function M(e,t,n){return d(this,void 0,void 0,(function(){return c(this,(function(i){return[2,new I(e,t).provideRenameEdits(n,0,[],L.CancellationToken.None)]}))}))}t.rename=M;var k=function(){function e(e,t,n,i,o,r){var s=this;this.editor=e,this._notificationService=t,this._bulkEditService=n,this._progressService=i,this._contextKeyService=o,this._themeService=r,this._dispoableStore=new D.DisposableStore,this._cts=new L.CancellationTokenSource,this._renameInputField=new N.IdleValue((function(){return s._dispoableStore.add(new u.RenameInputField(s.editor,s._themeService,s._contextKeyService))}))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._dispoableStore.dispose(),this._cts.dispose(!0)},e.prototype.run=function(){return d(this,void 0,void 0,(function(){var e,t,i,o,r,s,a,l,u,h,p=this +;return c(this,(function(f){switch(f.label){case 0:if(this._cts.dispose(!0),!this.editor.hasModel())return[2,void 0];if(e=this.editor.getPosition(),!(t=new I(this.editor.getModel(),e)).hasProvider())return[2,void 0];this._cts=new C.EditorStateCancellationTokenSource(this.editor,5),f.label=1;case 1:return f.trys.push([1,3,,4]),o=t.resolveRenameLocation(this._cts.token),this._progressService.showWhile(o,250),[4,o];case 2:return i=f.sent(),[3,4];case 3:return r=f.sent(),y.MessageController.get(this.editor).showMessage(r||n.localize(1,null),e),[2,void 0];case 4:return i?i.rejectReason?(y.MessageController.get(this.editor).showMessage(i.rejectReason,e),[2,void 0]):this._cts.token.isCancellationRequested?[2,void 0]:(s=this.editor.getSelection(),a=0,l=i.text.length,_.Range.isEmpty(s)||_.Range.spansMultipleLines(s)||!_.Range.containsRange(i.range,s)||(a=Math.max(0,s.startColumn-i.range.startColumn),l=Math.min(i.range.endColumn,s.endColumn)-i.range.startColumn), +[4,this._renameInputField.getValue().getInput(i.range,i.text,a,l)]):[2,void 0];case 5:return"boolean"==typeof(u=f.sent())?(u&&this.editor.focus(),[2,void 0]):(this.editor.focus(),h=N.raceCancellation(t.provideRenameEdits(u,0,[],this._cts.token),this._cts.token).then((function(e){return d(p,void 0,void 0,(function(){var t;return c(this,(function(o){switch(o.label){case 0:return e&&this.editor.hasModel()?e.rejectReason?(this._notificationService.info(e.rejectReason),[2]):[4,this._bulkEditService.apply(e,{editor:this.editor})]:[2];case 1:return(t=o.sent()).ariaSummary&&v.alert(n.localize(2,null,i.text,u,t.ariaSummary)),[2]}}))}))}),(function(e){return p._notificationService.error(n.localize(3,null)),Promise.reject(e)})),this._progressService.showWhile(h,250),[2,h])}}))}))},e.prototype.acceptRenameInput=function(){this._renameInputField.getValue().acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.getValue().cancelInput(!0)},e.ID="editor.contrib.renameController", +e=h([f(1,b.INotificationService),f(2,S.IBulkEditService),f(3,s.IEditorProgressService),f(4,o.IContextKeyService),f(5,p.IThemeService)],e)}(),T=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:n.localize(4,null),alias:"Rename Symbol",precondition:o.ContextKeyExpr.and(l.EditorContextKeys.writable,l.EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:l.EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})||this}return r(t,e),t.prototype.runCommand=function(t,n){var o=this,r=t.get(E.ICodeEditorService),s=Array.isArray(n)&&n||[void 0,void 0],a=s[0],l=s[1];return w.URI.isUri(a)&&m.Position.isIPosition(l)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then((function(e){e&&(e.setPosition(l),e.invokeWithinContext((function(t){return o.reportTelemetry(t,e),o.run(t,e)})))}),i.onUnexpectedError):e.prototype.runCommand.call(this,t,n)},t.prototype.run=function(e,t){var n=k.get(t);return n?n.run():Promise.resolve()},t +}(a.EditorAction);t.RenameAction=T,a.registerEditorContribution(k.ID,k),a.registerEditorAction(T);var R=a.EditorCommand.bindToContribution(k.get);a.registerEditorCommand(new R({id:"acceptRenameInput",precondition:u.CONTEXT_RENAME_INPUT_VISIBLE,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:l.EditorContextKeys.focus,primary:3}})),a.registerEditorCommand(new R({id:"cancelRenameInput",precondition:u.CONTEXT_RENAME_INPUT_VISIBLE,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:l.EditorContextKeys.focus,primary:9,secondary:[1033]}})),a.registerDefaultLanguageCommand("_executeDocumentRenameProvider",(function(e,t,n){var o=n.newName;if("string"!=typeof o)throw i.illegalArgument("newName");return M(e,t,o)}))})),define(n[583],i([0,1,466,61,5,4,10,2,8,153,52,33,18,117,48,115,95,14,20,73,113,70,53,15,17,137,508,49,24,12,204,74,19,320,101,229]),(function(e,t,n,i,o,r,s,a,u,p,g,m,v,_,y,C,b,S,w,E,L,D,N,x,I,M,k,T,R,O,P,A,F){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});t.editorSuggestWidgetBackground=w.registerColor("editorSuggestWidget.background",{dark:w.editorWidgetBackground,light:w.editorWidgetBackground,hc:w.editorWidgetBackground},n.localize(0,null)),t.editorSuggestWidgetBorder=w.registerColor("editorSuggestWidget.border",{dark:w.editorWidgetBorder,light:w.editorWidgetBorder,hc:w.editorWidgetBorder},n.localize(1,null)),t.editorSuggestWidgetForeground=w.registerColor("editorSuggestWidget.foreground",{dark:w.editorForeground,light:w.editorForeground,hc:w.editorForeground},n.localize(2,null)),t.editorSuggestWidgetSelectedBackground=w.registerColor("editorSuggestWidget.selectedBackground",{dark:w.listFocusBackground,light:w.listFocusBackground,hc:w.listFocusBackground},n.localize(3,null)),t.editorSuggestWidgetHighlightForeground=w.registerColor("editorSuggestWidget.highlightForeground",{dark:w.listHighlightForeground,light:w.listHighlightForeground,hc:w.listHighlightForeground},n.localize(4,null)) +;var W=/^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i;function V(e){if(!e)return!1;var t=e.completion;return!!t.documentation||t.detail&&t.detail!==t.label}var B=function(){function e(e,t,n,i,o,r){this.widget=e,this.editor=t,this.triggerKeybindingLabel=n,this._modelService=i,this._modeService=o,this._themeService=r}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,i=Object.create(null);i.disposables=new a.DisposableStore,i.root=e,u.addClass(i.root,"show-file-icons"),i.icon=u.append(e,u.$(".icon")),i.colorspan=u.append(i.icon,u.$("span.colorspan"));var o=u.append(e,u.$(".contents")),s=u.append(o,u.$(".main"));i.iconContainer=u.append(s,u.$(".icon-label.codicon")),i.iconLabel=new M.IconLabel(s,{supportHighlights:!0,supportCodicons:!0}),i.disposables.add(i.iconLabel),i.typeLabel=u.append(s,u.$("span.type-label")), +i.readMore=u.append(s,u.$("span.readMore.codicon.codicon-info")),i.readMore.title=n.localize(5,null,this.triggerKeybindingLabel);var l=function(){var e=t.editor.getOptions(),n=e.get(32),o=n.fontFamily,r=e.get(86)||n.fontSize,a=e.get(87)||n.lineHeight,l=n.fontWeight,u=r+"px",d=a+"px";i.root.style.fontSize=u,i.root.style.fontWeight=l,s.style.fontFamily=o,s.style.lineHeight=d,i.icon.style.height=d,i.icon.style.width=d,i.readMore.style.height=d,i.readMore.style.width=d};return l(),i.disposables.add(r.Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.hasChanged(32)||e.hasChanged(86)||e.hasChanged(87)})).on(l,null)),i},e.prototype.renderElement=function(e,t,n){var o=this,r=n,s=e.completion;r.icon.className="icon "+I.completionKindToCssClass(s.kind),r.colorspan.style.backgroundColor="";var a,l,d={labelEscapeNewLines:!0,matches:i.createMatches(e.score)},c=[];if(19===s.kind&&(l=c,(a=e).completion.label.match(W)?(l[0]=a.completion.label, +1):"string"==typeof a.completion.documentation&&a.completion.documentation.match(W)&&(l[0]=a.completion.documentation,1)))r.icon.className="icon customcolor",r.iconContainer.className="icon hide",r.colorspan.style.backgroundColor=c[0];else if(20===s.kind&&this._themeService.getIconTheme().hasFileIcons){r.icon.className="icon hide",r.iconContainer.className="icon hide";var h=k.getIconClasses(this._modelService,this._modeService,R.URI.from({scheme:"fake",path:s.label}),P.FileKind.FILE),p=k.getIconClasses(this._modelService,this._modeService,R.URI.from({scheme:"fake",path:s.detail}),P.FileKind.FILE);d.extraClasses=h.length>p.length?h:p}else 23===s.kind&&this._themeService.getIconTheme().hasFolderIcons?(r.icon.className="icon hide",r.iconContainer.className="icon hide",d.extraClasses=F.flatten([k.getIconClasses(this._modelService,this._modeService,R.URI.from({scheme:"fake",path:s.label}),P.FileKind.FOLDER),k.getIconClasses(this._modelService,this._modeService,R.URI.from({scheme:"fake",path:s.detail +}),P.FileKind.FOLDER)])):(r.icon.className="icon hide",r.iconContainer.className="",u.addClasses(r.iconContainer,"suggest-icon codicon codicon-symbol-"+I.completionKindToCssClass(s.kind)));s.tags&&s.tags.indexOf(1)>=0&&(d.extraClasses=(d.extraClasses||[]).concat(["deprecated"]),d.matches=[]),r.iconLabel.setLabel(s.label,void 0,d),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),V(e)?(u.show(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),o.widget.toggleDetails()}):(u.hide(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeTemplate=function(e){e.disposables.dispose()},e=h([f(3,T.IModelService),f(4,D.IModeService),f(5,S.IThemeService)],e)}(),z=function(){function e(e,t,i,o,s){var l=this;this.widget=t,this.editor=i,this.markdownRenderer=o,this.triggerKeybindingLabel=s,this.borderWidth=1,this.disposables=new a.DisposableStore,this.el=u.append(e,u.$(".details")), +this.disposables.add(a.toDisposable((function(){return e.removeChild(l.el)}))),this.body=u.$(".body"),this.scrollbar=new g.DomScrollableElement(this.body,{}),u.append(this.el,this.scrollbar.getDomNode()),this.disposables.add(this.scrollbar),this.header=u.append(this.body,u.$(".header")),this.close=u.append(this.header,u.$("span.codicon.codicon-close")),this.close.title=n.localize(6,null,this.triggerKeybindingLabel),this.type=u.append(this.header,u.$("p.type")),this.docs=u.append(this.body,u.$("p.docs")),this.ariaLabel=null,this.configureFont(),r.Event.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.hasChanged(32)})).on(this.configureFont,this,this.disposables),o.onDidRenderCodeBlock((function(){return l.scrollbar.scanDomNode()}),this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.renderLoading=function(){this.type.textContent=n.localize(7,null),this.docs.textContent=""}, +e.prototype.renderItem=function(e,t){var n=this;this.renderDisposeable=a.dispose(this.renderDisposeable);var i=e.completion,r=i.documentation,s=i.detail;if(t){var l="";l+="score: "+e.score[0]+(e.word?", compared '"+(e.completion.filterText&&e.completion.filterText+" (filterText)"||e.completion.label)+"' with '"+e.word+"'":" (no prefix)")+"\n",l+="distance: "+e.distance+", see localityBonus-setting\n",l+="index: "+e.idx+", based on "+(e.completion.sortText&&'sortText: "'+e.completion.sortText+'"'||"label")+"\n",r=(new A.MarkdownString).appendCodeblock("empty",l),s="Provider: "+e.provider._debugDisplayName}if(!t&&!V(e))return this.type.textContent="",this.docs.textContent="",u.addClass(this.el,"no-docs"),void(this.ariaLabel=null);if(u.removeClass(this.el,"no-docs"),"string"==typeof r)u.removeClass(this.docs,"markdown-docs"),this.docs.textContent=r;else{u.addClass(this.docs,"markdown-docs"),this.docs.innerHTML="";var d=this.markdownRenderer.render(r);this.renderDisposeable=d,this.docs.appendChild(d.element)} +s?(this.type.innerText=s,u.show(this.type)):(this.type.innerText="",u.hide(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.el.style.userSelect="text",this.el.tabIndex=-1,this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),n.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=o.format("{0}{1}",s||"",r?"string"==typeof r?r:r.value:"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){ +this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getOptions(),t=e.get(32),n=t.fontFamily,i=e.get(86)||t.fontSize,o=e.get(87)||t.lineHeight,r=t.fontWeight,s=i+"px",a=o+"px";this.el.style.fontSize=s,this.el.style.fontWeight=r,this.type.style.fontFamily=n,this.close.style.height=a,this.close.style.width=a},e.prototype.dispose=function(){this.disposables.dispose(),this.renderDisposeable=a.dispose(this.renderDisposeable)},e}(),H=function(){function e(e,n,i,o,s,l,d,c,h){var f=this;this.editor=e,this.telemetryService=n,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.state=null,this.isAuto=!1,this.loadingTimeout=a.Disposable.None,this.currentSuggestionDetails=null,this.ignoreFocusEvents=!1,this.completionModel=null,this.showTimeout=new x.TimeoutTimer,this.toDispose=new a.DisposableStore,this.onDidSelectEmitter=new r.Emitter,this.onDidFocusEmitter=new r.Emitter,this.onDidHideEmitter=new r.Emitter,this.onDidShowEmitter=new r.Emitter,this.onDidSelect=this.onDidSelectEmitter.event, +this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.firstFocusInCurrentList=!1,this.preferDocPositionTop=!1,this.docsPositionPreviousWidgetY=null,this.explainMode=!1,this._onDetailsKeydown=new r.Emitter,this.onDetailsKeyDown=this._onDetailsKeydown.event,this._lastAriaAlertLabel=null;var g=l.lookupKeybinding("editor.action.triggerSuggest"),m=g?" ("+g.getLabel()+")":"",v=this.toDispose.add(new L.MarkdownRenderer(e,d,c));this.isAuto=!1,this.focusedItem=null,this.storageService=s,this.element=u.$(".editor-widget.suggest-widget"),this.toDispose.add(u.addDisposableListener(this.element,"click",(function(e){e.target===f.element&&f.hideWidget()}))),this.messageElement=u.append(this.element,u.$(".message")),this.listElement=u.append(this.element,u.$(".tree")),this.details=h.createInstance(z,this.element,this,this.editor,v,m);var y=function(){ +return u.toggleClass(f.element,"no-icons",!f.editor.getOption(85).showIcons)};y();var C=h.createInstance(B,this,this.editor,m);this.list=new p.List("SuggestWidget",this.listElement,this,[C],{useShadows:!1,openController:{shouldOpen:function(){return!1}},mouseSupport:!1}),this.toDispose.add(b.attachListStyler(this.list,o,{listInactiveFocusBackground:t.editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:w.activeContrastBorder})),this.toDispose.add(o.onThemeChange((function(e){return f.onThemeChange(e)}))),this.toDispose.add(e.onDidLayoutChange((function(){return f.onEditorLayoutChange()}))),this.toDispose.add(this.list.onMouseDown((function(e){return f.onListMouseDownOrTap(e)}))),this.toDispose.add(this.list.onTap((function(e){return f.onListMouseDownOrTap(e)}))),this.toDispose.add(this.list.onSelectionChange((function(e){return f.onListSelection(e)}))),this.toDispose.add(this.list.onFocusChange((function(e){return f.onListFocus(e)}))), +this.toDispose.add(this.editor.onDidChangeCursorSelection((function(){return f.onCursorSelectionChanged()}))),this.toDispose.add(this.editor.onDidChangeConfiguration((function(e){return e.hasChanged(85)&&y()}))),this.suggestWidgetVisible=_.Context.Visible.bindTo(i),this.suggestWidgetMultipleSuggestions=_.Context.MultipleSuggestions.bindTo(i),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(o.getTheme()),this.toDispose.add(u.addStandardDisposableListener(this.details.element,"keydown",(function(e){f._onDetailsKeydown.fire(e)}))),this.toDispose.add(this.editor.onMouseDown((function(e){return f.onEditorMouseDown(e)})))}return e.prototype.onEditorMouseDown=function(e){this.details.element.contains(e.target.element)?this.details.element.focus():this.element.contains(e.target.element)&&this.editor.focus()},e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorLayoutChange=function(){ +3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListMouseDownOrTap=function(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this.select(e.element,e.index))},e.prototype.onListSelection=function(e){e.elements.length&&this.select(e.elements[0],e.indexes[0])},e.prototype.select=function(e,t){var n=this.completionModel;n&&(this.onDidSelectEmitter.fire({item:e,index:t,model:n}),this.editor.focus())},e.prototype._getSuggestionAriaAlertLabel=function(e){return this.expandDocsSettingFromStorage()?n.localize(10,null,e.completion.label,this.details.getAriaLabel()):e.completion.label},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&y.alert(this._lastAriaAlertLabel,!0))},e.prototype.onThemeChange=function(e){var n=e.getColor(t.editorSuggestWidgetBackground);n&&(this.listElement.style.backgroundColor=n.toString(), +this.details.element.style.backgroundColor=n.toString(),this.messageElement.style.backgroundColor=n.toString());var i=e.getColor(t.editorSuggestWidgetBorder);i&&(this.listElement.style.borderColor=i.toString(),this.details.element.style.borderColor=i.toString(),this.messageElement.style.borderColor=i.toString(),this.detailsBorderColor=i.toString());var o=e.getColor(w.focusBorder);o&&(this.detailsFocusBorderColor=o.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);if(this.completionModel){var n=e.elements[0],i=e.indexes[0];this.firstFocusInCurrentList=!this.focusedItem,n!==this.focusedItem&&(this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.focusedItem=n,this.list.reveal(i), +this.currentSuggestionDetails=x.createCancelablePromise((function(e){return d(t,void 0,void 0,(function(){var t,i,o=this;return c(this,(function(r){switch(r.label){case 0:return t=x.disposableTimeout((function(){return o.showDetails(!0)}),250),e.onCancellationRequested((function(){return t.dispose()})),[4,n.resolve(e)];case 1:return i=r.sent(),t.dispose(),[2,i]}}))}))})),this.currentSuggestionDetails.then((function(){i>=t.list.length||n!==t.list.element(i)||(t.ignoreFocusEvents=!0,t.list.splice(i,1,[n]),t.list.setFocus([i]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails(!1):u.removeClass(t.element,"docs-side"),t._ariaAlert(t._getSuggestionAriaAlertLabel(n)))})).catch(s.onUnexpectedError)),this.onDidFocusEmitter.fire({item:n,index:i,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var n=this.state!==t;switch(this.state=t,u.toggleClass(this.element,"frozen",4===t),t){case 0:u.hide(this.messageElement,this.details.element,this.listElement),this.hide(), +this.listHeight=0,n&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,u.hide(this.listElement,this.details.element),u.show(this.messageElement),u.removeClass(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,u.hide(this.listElement,this.details.element),u.show(this.messageElement),u.removeClass(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:u.hide(this.messageElement),u.show(this.listElement),this.show();break;case 5:u.hide(this.messageElement),u.show(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e,t){var n=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=x.disposableTimeout((function(){return n.setState(1)}),t)))},e.prototype.showSuggestions=function(e,t,n,i){if(this.preferDocPositionTop=!1, +this.docsPositionPreviousWidgetY=null,this.loadingTimeout.dispose(),this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null),this.completionModel!==e&&(this.completionModel=e),n&&2!==this.state&&0!==this.state)this.setState(4);else{var o=this.completionModel.items.length,r=0===o;if(this.suggestWidgetMultipleSuggestions.set(o>1),r)i?this.setState(0):this.setState(2),this.completionModel=null;else{if(3!==this.state){var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!i,this.telemetryService.publicLog("suggestWidget",l({},s))}this.focusedItem=null,this.list.splice(0,this.list.length,this.completionModel.items),n?this.setState(4):this.setState(3),this.list.reveal(t,0),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default: +return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state&&this.completionModel)return{ +item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog2("suggestWidget:toggleDetailsFocus")},e.prototype.toggleDetails=function(){if(V(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),u.hide(this.details.element),u.removeClass(this.element,"docs-side"),u.removeClass(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog2("suggestWidget:collapseDetails");else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(!1), +this._ariaAlert(this.details.getAriaLabel()),this.telemetryService.publicLog2("suggestWidget:expandDetails")}},e.prototype.showDetails=function(e){this.expandSideOrBelow(),u.show(this.details.element),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",e?this.details.renderLoading():this.details.renderItem(this.list.getFocusedElements()[0],this.explainMode),this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus()},e.prototype.toggleExplainMode=function(){this.list.getFocusedElements()[0]&&this.expandDocsSettingFromStorage()&&(this.explainMode=!this.explainMode,this.showDetails(!1))},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout.cancelAndSet((function(){u.addClass(e.element,"visible"),e.onDidShowEmitter.fire(e)}),100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(), +this.suggestWidgetMultipleSuggestions.reset(),u.removeClass(this.element,"visible")},e.prototype.hideWidget=function(){this.loadingTimeout.dispose(),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){if(0===this.state)return null;var e=[2,1];return this.preferDocPositionTop&&(e=[1]),{position:this.editor.getPosition(),preference:e}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.isFrozen=function(){return 4===this.state},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight,n=this.editor.getOption(85).maxVisibleSuggestions;e=Math.min(t,n)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){if(this.editor.hasModel()){ +var e=this.editor.getOption(47),t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),n=u.getDomNodePagePosition(this.editor.getDomNode()),i=n.left+t.left,o=n.top+t.top+t.height,r=u.getDomNodePagePosition(this.element),s=r.left,a=r.top;if(this.docsPositionPreviousWidgetY&&this.docsPositionPreviousWidgetYa&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")}},e.prototype.expandSideOrBelow=function(){if(!V(this.focusedItem)&&this.firstFocusInCurrentList)return u.removeClass(this.element,"docs-side"),void u.removeClass(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/) +;!e||Number(e[1])=r&&(a=!0)}return a},e.prototype.cancel=function(){this.result.cancel()},e}(),I=function(e){ +function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._compute=function(e,t,n,i){return N(e,t.getPosition(),i).then((function(e){return e||[]}))},t}(x),M=function(e){function t(t,n,i){var o=e.call(this,t,n,i)||this;return o._selectionIsEmpty=n.isEmpty(),o}return r(t,e),t.prototype._compute=function(e,t,n,i){return o.timeout(250,i).then((function(){if(!t.isEmpty())return[];var i=e.getWordAtPosition(t.getPosition());return i?e.findMatches(i.word,!0,!1,!0,n,!1).map((function(e){return{range:e.range,kind:m.DocumentHighlightKind.Text}})):[]}))},t.prototype.isValid=function(t,n,i){var o=n.isEmpty();return this._selectionIsEmpty===o&&e.prototype.isValid.call(this,t,n,i)},t}(x);u.registerDefaultLanguageCommand("_executeDocumentHighlights",(function(e,t){return N(e,t,s.CancellationToken.None)}));var k=function(){function e(e,t){var n=this;this.toUnhook=new l.DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=[], +this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=D.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(59),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition((function(e){n._ignorePositionChangeEvent||n.occurrencesHighlight&&n._onPositionChanged(e)}))),this.toUnhook.add(e.onDidChangeModelContent((function(e){n._stopAll()}))),this.toUnhook.add(e.onDidChangeConfiguration((function(e){var t=n.editor.getOption(59);n.occurrencesHighlight!==t&&(n.occurrencesHighlight=t,n._stopAll())}))),this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this +;return i.coalesce(this._decorationIds.map((function(t){return e.model.getDecorationRange(t)})).sort(d.Range.compareRangesUsingStarts))},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),n=t[(i.firstIndex(t,(function(t){return t.containsPosition(e.editor.getPosition())}))+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),n=t[(i.firstIndex(t,(function(t){return t.containsPosition(e.editor.getPosition())}))-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]), +this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&3===e.reason?this._run():this._stopAll()},e.prototype._run=function(){var e=this,t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var n=t.startLineNumber,i=t.startColumn,o=t.endColumn,r=this.model.getWordAtPosition({lineNumber:n,column:i});if(!r||r.startColumn>i||r.endColumn=n?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((function(){e.renderDecorations()}),n-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],n=0,i=this.workerRequestValue.length;n0?c.format(E.AccessibilityHelpNLS.multiSelection,e.length):"":E.AccessibilityHelpNLS.noSelection}(t,n);e.get(43)?e.get(65)?o+=E.AccessibilityHelpNLS.readonlyDiffEditor:o+=E.AccessibilityHelpNLS.editableDiffEditor:e.get(65)?o+=E.AccessibilityHelpNLS.readonlyEditor:o+=E.AccessibilityHelpNLS.editableEditor;var r=d.isMacintosh?E.AccessibilityHelpNLS.changeConfigToOnMac:E.AccessibilityHelpNLS.changeConfigToOnWinLinux;switch(e.get(2)){case 0:o+="\n\n - "+r;break;case 2:o+="\n\n - "+E.AccessibilityHelpNLS.auto_on;break;case 1: +o+="\n\n - "+E.AccessibilityHelpNLS.auto_off,o+=" "+r}e.get(102)?o+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,E.AccessibilityHelpNLS.tabFocusModeOnMsg,E.AccessibilityHelpNLS.tabFocusModeOnMsgNoKb):o+="\n\n - "+this._descriptionForCommand(v.ToggleTabFocusModeAction.ID,E.AccessibilityHelpNLS.tabFocusModeOffMsg,E.AccessibilityHelpNLS.tabFocusModeOffMsgNoKb),o+="\n\n - "+(d.isMacintosh?E.AccessibilityHelpNLS.openDocMac:E.AccessibilityHelpNLS.openDocWinLinux),o+="\n\n"+E.AccessibilityHelpNLS.outroMsg,this._contentDomNode.domNode.appendChild(s.renderFormattedText(o)),this._contentDomNode.domNode.setAttribute("aria-label",o)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,i.clearNode(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){ +var e=this._editor.getLayoutInfo(),n=Math.max(5,Math.min(t.WIDTH,e.width-40)),i=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(n),this._domNode.setHeight(i);var o=Math.round((e.height-i)/2);this._domNode.setTop(o);var r=Math.round((e.width-n)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=h([f(1,_.IContextKeyService),f(2,C.IKeybindingService),f(3,b.IOpenerService)],t)}(l.Widget),x=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:E.AccessibilityHelpNLS.showAccessibilityHelpAction,alias:"Show Accessibility Help",precondition:void 0,kbOpts:{kbExpr:m.EditorContextKeys.focus,primary:n.isIE?2107:571,weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=D.get(t);n&&n.show()},t}(g.EditorAction);g.registerEditorContribution(D.ID,D),g.registerEditorAction(x);var I=g.EditorCommand.bindToContribution(D.get);g.registerEditorCommand(new I({id:"closeAccessibilityHelp",precondition:L, +handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:m.EditorContextKeys.focus,primary:9,secondary:[1033]}})),w.registerThemingParticipant((function(e,t){var n=e.getColor(S.editorWidgetBackground);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+n+"; }");var i=e.getColor(S.editorWidgetForeground);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { color: "+i+"; }");var o=e.getColor(S.widgetShadow);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+o+"; }");var r=e.getColor(S.contrastBorder);r&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+r+"; }")}))})),define(n[586],i([0,1,27,2,5,11,17,63,70,93,20,14,59,324]),(function(e,t,n,i,o,s,a,l,u,d,c,p,g){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var m=function(e){function t(t,n,i){var o=e.call(this)||this;return o._editor=t,o._modeService=i,o._widget=null,o._register(o._editor.onDidChangeModel((function(e){return o.stop()}))), +o._register(o._editor.onDidChangeModelLanguage((function(e){return o.stop()}))),o._register(a.TokenizationRegistry.onDidChange((function(e){return o.stop()}))),o}return r(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.hasModel()&&(this._widget=new _(this._editor,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=h([f(1,d.IStandaloneThemeService),f(2,u.IModeService)],t)}(i.Disposable),v=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:g.InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})||this}return r(t,e),t.prototype.run=function(e,t){var n=m.get(t);n&&n.launch()},t}(s.EditorAction);var _=function(e){function t(t,n){var i,o=e.call(this)||this;return o.allowEditorOverflow=!0,o._editor=t,o._modeService=n, +o._model=o._editor.getModel(),o._domNode=document.createElement("div"),o._domNode.className="tokens-inspect-widget",o._tokenizationSupport=(i=o._model.getLanguageIdentifier(),a.TokenizationRegistry.get(i.language)||{getInitialState:function(){return l.NULL_STATE},tokenize:function(e,t,n){return l.nullTokenize(i.language,e,t,n)},tokenize2:function(e,t,n){return l.nullTokenize2(i.id,e,t,n)}}),o._compute(o._editor.getPosition()),o._register(o._editor.onDidChangeCursorPosition((function(e){return o._compute(o._editor.getPosition())}))),o._editor.addContentWidget(o),o}return r(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),i=0,r=t.tokens1.length-1;r>=0;r--){var s=t.tokens1[r];if(e.column-1>=s.offset){i=r;break}}var a=0;for(r=t.tokens2.length>>>1;r>=0;r--)if(e.column-1>=t.tokens2[r<<1]){a=r;break} +var l="",u=this._model.getLineContent(e.lineNumber),d="";if(i'+function(e){for(var t="",n=0,i=e.length;n('+d.length+" "+(1===d.length?"char":"chars")+")",l+='
    ';var p=this._decodeMetadata(t.tokens2[1+(a<<1)]);l+='',l+='",l+='", +l+='",l+='",l+='",l+="",l+='
    ',i'+o.escape(t.tokens1[i].type)+""),this._domNode.innerHTML=l,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=a.TokenizationRegistry.getColorMap(),n=a.TokenMetadata.getLanguageId(e),i=a.TokenMetadata.getTokenType(e),o=a.TokenMetadata.getFontStyle(e),r=a.TokenMetadata.getForeground(e),s=a.TokenMetadata.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(n),tokenType:i,fontStyle:o,foreground:t[r],background:t[s]}}, +t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),n=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),i=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:n.tokens,tokens2:i.tokens,endState:n.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),n=1;n1?n.format(c.GoToLineNLS.gotoLineLabelValidLineAndColumn,t.lineNumber,t.column):n.format(c.GoToLineNLS.gotoLineLabelValidLine,t.lineNumber):t.lineNumber<1||t.lineNumber>(i?i.getLineCount():0)?n.format(c.GoToLineNLS.gotoLineLabelEmptyWithLineLimit,i?i.getLineCount():0):n.format(c.GoToLineNLS.gotoLineLabelEmptyWithLineAndColumnLimit,i?i.getLineMaxColumn(t.lineNumber):0)}},t.prototype.getLabel=function(){return this.parseResult.label}, +t.prototype.getAriaLabel=function(){var e=this.editor.getPosition(),t=e?e.lineNumber:0;return n.format(c.GoToLineNLS.gotoLineAriaLabel,t,this.parseResult.label)},t.prototype.run=function(e,t){return 1===e?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this.parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e,0),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this.parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new l.Range(this.parseResult.position.lineNumber,this.parseResult.position.column,this.parseResult.position.lineNumber,this.parseResult.position.column)},t}(i.QuickOpenEntry);t.GotoLineEntry=h;var p=function(e){function t(){return e.call(this,c.GoToLineNLS.gotoLineActionInput,{id:"editor.action.gotoLine", +label:c.GoToLineNLS.gotoLineActionLabel,alias:"Go to Line...",precondition:void 0,kbOpts:{kbExpr:u.EditorContextKeys.focus,primary:2085,mac:{primary:293},weight:100}})||this}return r(t,e),t.prototype.run=function(e,t){var n=this;this._show(this.getController(t),{getModel:function(e){return new i.QuickOpenModel([new h(e,t,n.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(d.BaseEditorQuickOpenAction);t.GotoLineAction=p,s.registerEditorAction(p)})),define(n[588],i([0,1,5,25,10,61,155,11,23,169,33,59]),(function(e,t,n,i,o,s,a,l,u,d,c,h){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var p=function(e){function t(t,n,i,o,r){var s=e.call(this)||this;return s.key=t,s.keyAriaLabel=n,s.setHighlights(i),s.action=o,s.editor=r,s}return r(t,e),t.prototype.getLabel=function(){return this.action.label},t.prototype.getAriaLabel=function(){ +return this.keyAriaLabel?n.format(h.QuickCommandNLS.ariaLabelEntryWithKey,this.getLabel(),this.keyAriaLabel):n.format(h.QuickCommandNLS.ariaLabelEntry,this.getLabel())},t.prototype.getGroupLabel=function(){return this.key},t.prototype.run=function(e,t){var n=this;return 1===e&&(setTimeout((function(){n.editor.focus();try{(n.action.run()||Promise.resolve()).then(void 0,o.onUnexpectedError)}catch(e){o.onUnexpectedError(e)}}),50),!0)},t}(a.QuickOpenEntryGroup);t.EditorActionCommandEntry=p;var f=function(e){function t(){return e.call(this,h.QuickCommandNLS.quickCommandActionInput,{id:"editor.action.quickCommand",label:h.QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:u.EditorContextKeys.focus,primary:i.isIE?571:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})||this}return r(t,e),t.prototype.run=function(e,t){var n=this,i=e.get(c.IKeybindingService);this._show(this.getController(t),{getModel:function(e){ +return new a.QuickOpenModel(n._editorActionsToEntries(i,t,e))},getAutoFocus:function(e){return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:e}}})},t.prototype._sort=function(e,t){var n=(e.getLabel()||"").toLowerCase(),i=(t.getLabel()||"").toLowerCase();return n.localeCompare(i)},t.prototype._editorActionsToEntries=function(e,t,n){for(var i=[],o=0,r=t.getSupportedActions();o0&&0===n.indexOf(":")){for(var m=null,v=null,_=0,y=0;y0)):_++}v&&v.setGroupLabel(this.typeToLabel(m||"",_))}else s.length>0&&s[0].setGroupLabel(o.format(p.QuickOutlineNLS._symbols_,s.length));return s},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return o.format(p.QuickOutlineNLS._modules_,t);case"class":return o.format(p.QuickOutlineNLS._class_,t);case"interface":return o.format(p.QuickOutlineNLS._interface_,t);case"method": +return o.format(p.QuickOutlineNLS._method_,t);case"function":return o.format(p.QuickOutlineNLS._function_,t);case"property":return o.format(p.QuickOutlineNLS._property_,t);case"variable":return o.format(p.QuickOutlineNLS._variable_,t);case"var":return o.format(p.QuickOutlineNLS._variable2_,t);case"constructor":return o.format(p.QuickOutlineNLS._constructor_,t);case"call":return o.format(p.QuickOutlineNLS._call_,t)}return e},t.prototype.sortNormal=function(e,t,n){var i=t.getLabel().toLowerCase(),o=n.getLabel().toLowerCase(),r=i.localeCompare(o);if(0!==r)return r;var s=t.getRange(),a=n.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,n){e=e.substr(":".length);var i=t.getType(),o=n.getType(),r=i.localeCompare(o);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=n.getLabel().toLowerCase(),l=s.localeCompare(a);if(0!==l)return l}var u=t.getRange(),d=n.getRange();return u.startLineNumber-d.startLineNumber},t}(h.BaseEditorQuickOpenAction);t.QuickOutlineAction=g, +a.registerEditorAction(g)})),define(n[590],i([0,1,8,45,548]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.getActiveCodeEditor=function(){return null},t.prototype.openCodeEditor=function(e,t,n){return t?Promise.resolve(this.doOpenEditor(t,e)):Promise.resolve(null)},t.prototype.doOpenEditor=function(e,t){if(!this.findModel(e,t.resource)){if(t.resource){var o=t.resource.scheme;if(o===i.Schemas.http||o===i.Schemas.https)return n.windowOpenNoOpener(t.resource.toString()),e}return null}var r=t.options?t.options.selection:null;if(r)if("number"==typeof r.endLineNumber&&"number"==typeof r.endColumn)e.setSelection(r),e.revealRangeInCenter(r,1);else{var s={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(s),e.revealPositionInCenter(s,1)}return e},t.prototype.findModel=function(e,t){var n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n},t +}(o.CodeEditorServiceImpl);t.StandaloneCodeEditorServiceImpl=s})),define(n[591],i([0,1,43,20]),(function(e,t,n,i){"use strict";var o,r,s;Object.defineProperty(t,"__esModule",{value:!0}),t.vs={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"09885A"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000" +},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"09885A"},{token:"attribute.value.unit",foreground:"09885A"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{ +token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(o={},o[i.editorBackground]="#FFFFFE",o[i.editorForeground]="#000000",o[i.editorInactiveSelection]="#E5EBF1",o[n.editorIndentGuides]="#D3D3D3",o[n.editorActiveIndentGuides]="#939393",o[i.editorSelectionHighlight]="#ADD6FF4D",o)},t.vs_dark={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{ +token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow", +foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(r={},r[i.editorBackground]="#1E1E1E",r[i.editorForeground]="#D4D4D4",r[i.editorInactiveSelection]="#3A3D41",r[n.editorIndentGuides]="#404040",r[n.editorActiveIndentGuides]="#707070",r[i.editorSelectionHighlight]="#ADD6FF26",r)},t.hc_black={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{ +token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF" +}],colors:(s={},s[i.editorBackground]="#000000",s[i.editorForeground]="#FFFFFF",s[n.editorIndentGuides]="#FFFFFF",s[n.editorActiveIndentGuides]="#FFFFFF",s)}})),define(n[592],i([0,1,8,27,4,17,355,591,50,20,14]),(function(e,t,n,i,o,r,s,a,l,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c="vs",h="vs-dark",p="hc-black",f=l.Registry.as(u.Extensions.ColorContribution),g=l.Registry.as(d.Extensions.ThemingContribution),m=function(){function e(e,t){this.themeData=t;var n=t.base;e.length>0?(this.id=n+" "+e,this.themeName=e):(this.id=n,this.themeName=n),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}return Object.defineProperty(e.prototype,"base",{get:function(){return this.themeData.base},enumerable:!0,configurable:!0}),e.prototype.notifyBaseUpdated=function(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)},e.prototype.getColors=function(){if(!this.colors){var e=new Map +;for(var t in this.themeData.colors)e.set(t,i.Color.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){var n=_(this.themeData.base);for(var t in n.colors)e.has(t)||e.set(t,i.Color.fromHex(n.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var n=this.getColors().get(e);return n||(!1!==t?this.getDefault(e):void 0)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=f.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)},e.prototype.defines=function(e){return Object.prototype.hasOwnProperty.call(this.getColors(),e)},Object.defineProperty(e.prototype,"type",{get:function(){switch(this.base){case c:return"light";case p:return"hc";default:return"dark"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tokenTheme",{get:function(){if(!this._tokenTheme){var e=[],t=[];if(this.themeData.inherit){var n=_(this.themeData.base);e=n.rules,n.encodedTokensColors&&(t=n.encodedTokensColors)}e=e.concat(this.themeData.rules), +this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=s.TokenTheme.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e.prototype.getTokenStyleMetadata=function(e,t){},e}();function v(e){return e===c||e===h||e===p}function _(e){switch(e){case c:return a.vs;case h:return a.vs_dark;case p:return a.hc_black}}function y(e){var t=_(e);return new m(e,t)}var C=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new o.Emitter,this._onIconThemeChange=new o.Emitter,this._knownThemes=new Map,this._knownThemes.set(c,y(c)),this._knownThemes.set(h,y(h)),this._knownThemes.set(p,y(p)),this._styleElement=n.createStyleSheet(),this._styleElement.className="monaco-colors",this.setTheme(c)}return Object.defineProperty(e.prototype,"onThemeChange",{get:function(){return this._onThemeChange.event},enumerable:!0,configurable:!0}),e.prototype.defineTheme=function(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw new Error("Illegal theme name!") +;if(!v(t.base)&&!v(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new m(e,t)),v(e)&&this._knownThemes.forEach((function(t){t.base===e&&t.notifyBaseUpdated()})),this._theme&&this._theme.themeName===e&&this.setTheme(e)},e.prototype.getTheme=function(){return this._theme},e.prototype.setTheme=function(e){var t,n=this;if(t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(c),this._theme===t)return t.id;this._theme=t;var i=[],o={},a={addRule:function(e){o[e]||(i.push(e),o[e]=!0)}};g.getThemingParticipants().forEach((function(e){return e(t,a,n.environment)}));var l=t.tokenTheme.getColorMap();return a.addRule(s.generateTokensCSSForColorMap(l)),this._styleElement.innerHTML=i.join("\n"),r.TokenizationRegistry.setColorMap(l),this._onThemeChange.fire(t),t.id},e.prototype.getIconTheme=function(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}},e}();t.StandaloneThemeServiceImpl=C})),define(n[593],i([0,1,547,60,115,4,34,14,33,2]),(function(e,t,n,i,o,s,a,l,u,d){ +"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c=function(e){function t(t,i,o,r,a){var l=e.call(this)||this;return l._onDidContextMenu=l._register(new s.Emitter),l.contextMenuHandler=new n.ContextMenuHandler(o,t,i,r,a),l}return r(t,e),t.prototype.configure=function(e){this.contextMenuHandler.configure(e)},t.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},t=h([f(0,o.ITelemetryService),f(1,a.INotificationService),f(2,i.IContextViewService),f(3,u.IKeybindingService),f(4,l.IThemeService)],t)}(d.Disposable);t.ContextMenuService=c})),define(n[170],i([0,1,8,153,2,472,40,94,18,12,33,50,95,14,475,202,407,406,64]),(function(e,t,n,i,o,s,a,u,d,c,p,g,m,v,_,y,C,b,S){"use strict";var w;Object.defineProperty(t,"__esModule",{value:!0}),t.IListService=c.createDecorator("listService");var E=function(){function e(e){this.disposables=new o.DisposableStore,this.lists=[],this._lastFocusedWidget=void 0 +;var t=new i.DefaultStyleController(n.createStyleSheet(),"");this.disposables.add(m.attachListStyler(t,e))}return Object.defineProperty(e.prototype,"lastFocusedList",{get:function(){return this._lastFocusedWidget},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var n=this;if(this.lists.some((function(t){return t.widget===e})))throw new Error("Cannot register the same widget multiple times");var i={widget:e,extraContextKeys:t};return this.lists.push(i),e.getHTMLElement()===document.activeElement&&(this._lastFocusedWidget=e),o.combinedDisposable(e.onDidFocus((function(){return n._lastFocusedWidget=e})),o.toDisposable((function(){return n.lists.splice(n.lists.indexOf(i),1)})),e.onDidDispose((function(){n.lists=n.lists.filter((function(e){return e!==i})),n._lastFocusedWidget===e&&(n._lastFocusedWidget=void 0)})))},e.prototype.dispose=function(){this.disposables.dispose()},e=h([f(0,v.IThemeService)],e)}();t.ListService=E;var L=new d.RawContextKey("listFocus",!0) +;t.WorkbenchListSupportsMultiSelectContextKey=new d.RawContextKey("listSupportsMultiselect",!0),t.WorkbenchListFocusContextKey=d.ContextKeyExpr.and(L,d.ContextKeyExpr.not(_.InputFocusedContextKey)),t.WorkbenchListHasSelectionOrFocus=new d.RawContextKey("listHasSelectionOrFocus",!1),t.WorkbenchListDoubleSelection=new d.RawContextKey("listDoubleSelection",!1),t.WorkbenchListMultiSelection=new d.RawContextKey("listMultiSelection",!1),t.WorkbenchListSupportsKeyboardNavigation=new d.RawContextKey("listSupportsKeyboardNavigation",!0),t.WorkbenchListAutomaticKeyboardNavigationKey="listAutomaticKeyboardNavigation",t.WorkbenchListAutomaticKeyboardNavigation=new d.RawContextKey(t.WorkbenchListAutomaticKeyboardNavigationKey,!0),t.didBindWorkbenchListAutomaticKeyboardNavigation=!1,t.multiSelectModifierSettingKey="workbench.list.multiSelectModifier",t.openModeSettingKey="workbench.list.openMode",t.horizontalScrollingKey="workbench.list.horizontalScrolling", +t.keyboardNavigationSettingKey="workbench.list.keyboardNavigation",t.automaticKeyboardNavigationSettingKey="workbench.list.automaticKeyboardNavigation";var D="workbench.tree.indent",N="workbench.tree.renderIndentGuides";function x(e){return"alt"===e.getValue(t.multiSelectModifierSettingKey)}function I(e){return"doubleClick"!==e.getValue(t.openModeSettingKey)}var M=function(e){function n(t){var n=e.call(this)||this;return n.configurationService=t,n.useAltAsMultipleSelectionModifier=x(t),n.registerListeners(),n}return r(n,e),n.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration((function(n){n.affectsConfiguration(t.multiSelectModifierSettingKey)&&(e.useAltAsMultipleSelectionModifier=x(e.configurationService))})))},n.prototype.isSelectionSingleChangeEvent=function(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:i.isSelectionSingleChangeEvent(e)},n.prototype.isSelectionRangeChangeEvent=function(e){ +return i.isSelectionRangeChangeEvent(e)},n}(o.Disposable),k=function(e){function n(t,n){var i=e.call(this)||this;return i.configurationService=t,i.existingOpenController=n,i.openOnSingleClick=I(t),i.registerListeners(),i}return r(n,e),n.prototype.registerListeners=function(){var e=this;this._register(this.configurationService.onDidChangeConfiguration((function(n){n.affectsConfiguration(t.openModeSettingKey)&&(e.openOnSingleClick=I(e.configurationService))})))},n.prototype.shouldOpen=function(e){if(e instanceof MouseEvent){var t=0===e.button,n=2===e.detail;return!(t&&!this.openOnSingleClick&&!n)&&(!(!t&&1!==e.button)&&(!this.existingOpenController||this.existingOpenController.shouldOpen(e)))}return!this.existingOpenController||this.existingOpenController.shouldOpen(e)},n}(o.Disposable);function T(e,t){var n=!1;return function(i){if(n)return n=!1,!1;var o=t.softDispatch(i,e);return o&&o.enterChord?(n=!0,!1):(n=!1,!0)}}var R=function(e){function n(t,n,i,o,r,s,a,l,u,d,c){ +var h=this,p=F(n,r,s,u,d,c),f=p.options,g=p.getAutomaticKeyboardNavigation,m=p.disposable;return(h=e.call(this,t,n,i,o,f)||this).disposables.add(m),h.internals=new W(h,f,g,r.overrideStyles,s,a,l,u,c),h.disposables.add(h.internals),h}return r(n,e),n=h([f(5,d.IContextKeyService),f(6,t.IListService),f(7,v.IThemeService),f(8,a.IConfigurationService),f(9,p.IKeybindingService),f(10,S.IAccessibilityService)],n)}(y.ObjectTree);t.WorkbenchObjectTree=R;var O=function(e){function n(t,n,i,o,r,s,a,l,u,d,c,h){var p=this,f=F(n,s,a,d,c,h),g=f.options,m=f.getAutomaticKeyboardNavigation,v=f.disposable;return(p=e.call(this,t,n,i,o,r,g)||this).disposables.add(v),p.internals=new W(p,g,m,s.overrideStyles,a,l,u,d,h),p.disposables.add(p.internals),p}return r(n,e),n=h([f(6,d.IContextKeyService),f(7,t.IListService),f(8,v.IThemeService),f(9,a.IConfigurationService),f(10,p.IKeybindingService),f(11,S.IAccessibilityService)],n)}(b.DataTree);t.WorkbenchDataTree=O;var P=function(e){function n(t,n,i,o,r,s,a,l,u,d,c,h){ +var p=this,f=F(n,s,a,d,c,h),g=f.options,m=f.getAutomaticKeyboardNavigation,v=f.disposable;return(p=e.call(this,t,n,i,o,r,g)||this).disposables.add(v),p.internals=new W(p,g,m,s.overrideStyles,a,l,u,d,h),p.disposables.add(p.internals),p}return r(n,e),n=h([f(6,d.IContextKeyService),f(7,t.IListService),f(8,v.IThemeService),f(9,a.IConfigurationService),f(10,p.IKeybindingService),f(11,S.IAccessibilityService)],n)}(C.AsyncDataTree);t.WorkbenchAsyncDataTree=P;var A=function(e){function n(t,n,i,o,r,s,a,l,u,d,c,h,p){var f=this,g=F(n,a,l,c,h,p),m=g.options,v=g.getAutomaticKeyboardNavigation,_=g.disposable;return(f=e.call(this,t,n,i,o,r,s,m)||this).disposables.add(_),f.internals=new W(f,m,v,a.overrideStyles,l,u,d,c,p),f.disposables.add(f.internals),f}return r(n,e),n=h([f(7,d.IContextKeyService),f(8,t.IListService),f(9,v.IThemeService),f(10,a.IConfigurationService),f(11,p.IKeybindingService),f(12,S.IAccessibilityService)],n)}(C.CompressibleAsyncDataTree);function F(e,n,i,r,s,u){ +t.WorkbenchListSupportsKeyboardNavigation.bindTo(i),t.didBindWorkbenchListAutomaticKeyboardNavigation||(t.WorkbenchListAutomaticKeyboardNavigation.bindTo(i),t.didBindWorkbenchListAutomaticKeyboardNavigation=!0);var d=function(){var e=i.getContextKeyValue(t.WorkbenchListAutomaticKeyboardNavigationKey);return e&&(e=r.getValue(t.automaticKeyboardNavigationSettingKey)),e},c=2===u.getAccessibilitySupport()?"simple":r.getValue(t.keyboardNavigationSettingKey),h=void 0!==n.horizontalScrolling?n.horizontalScrolling:function(e){return a.getMigratedSettingValue(e,t.horizontalScrollingKey,"workbench.tree.horizontalScrolling")}(r),p=I(r),f=function(e,t,n){var i=new o.DisposableStore,r=l({},e);if(!1!==e.multipleSelectionSupport&&!e.multipleSelectionController){var s=new M(t);r.multipleSelectionController=s,i.add(s)}var a=new k(t,e.openController);return r.openController=a,i.add(a),r.keyboardNavigationDelegate={mightProducePrintableCharacter:function(e){return n.mightProducePrintableCharacter(e)}},[r,i] +}(n,r,s),g=f[0],m=f[1],v=n.additionalScrollHeight;return{getAutomaticKeyboardNavigation:d,disposable:m,options:l(l({keyboardSupport:!1},g),{indent:r.getValue(D),renderIndentGuides:r.getValue(N),automaticKeyboardNavigation:d(),simpleKeyboardNavigation:"simple"===c,filterOnType:"filter"===c,horizontalScrolling:h,openOnSingleClick:p,keyboardNavigationEventFilter:T(e,s),additionalScrollHeight:v,hideTwistiesOfChildlessElements:n.hideTwistiesOfChildlessElements})}}t.WorkbenchCompressibleAsyncDataTree=A;var W=function(){function e(e,n,i,r,s,a,l,u,d){var c=this;this.disposables=[],this.contextKeyService=function(e,t){var n=e.createScoped(t.getHTMLElement());return L.bindTo(n),n}(s,e),t.WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService).set(!(!1===n.multipleSelectionSupport)),this.hasSelectionOrFocus=t.WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=t.WorkbenchListDoubleSelection.bindTo(this.contextKeyService), +this.hasMultiSelection=t.WorkbenchListMultiSelection.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=x(u);var h=new Set;h.add(t.WorkbenchListAutomaticKeyboardNavigationKey);var p=function(){var n=2===d.getAccessibilitySupport()?"simple":u.getValue(t.keyboardNavigationSettingKey);e.updateOptions({simpleKeyboardNavigation:"simple"===n,filterOnType:"filter"===n})};this.disposables.push(this.contextKeyService,a.register(e),r?m.attachListStyler(e,l,r):o.Disposable.None,e.onDidChangeSelection((function(){var t=e.getSelection(),n=e.getFocus();c.hasSelectionOrFocus.set(t.length>0||n.length>0),c.hasMultiSelection.set(t.length>1),c.hasDoubleSelection.set(2===t.length)})),e.onDidChangeFocus((function(){var t=e.getSelection(),n=e.getFocus();c.hasSelectionOrFocus.set(t.length>0||n.length>0)})),u.onDidChangeConfiguration((function(n){if(n.affectsConfiguration(t.openModeSettingKey)&&e.updateOptions({openOnSingleClick:I(u)}), +n.affectsConfiguration(t.multiSelectModifierSettingKey)&&(c._useAltAsMultipleSelectionModifier=x(u)),n.affectsConfiguration(D)){var o=u.getValue(D);e.updateOptions({indent:o})}if(n.affectsConfiguration(N)){var r=u.getValue(N);e.updateOptions({renderIndentGuides:r})}n.affectsConfiguration(t.keyboardNavigationSettingKey)&&p(),n.affectsConfiguration(t.automaticKeyboardNavigationSettingKey)&&e.updateOptions({automaticKeyboardNavigation:i()})})),this.contextKeyService.onDidChangeContext((function(t){t.affectsSome(h)&&e.updateOptions({automaticKeyboardNavigation:i()})})),d.onDidChangeAccessibilitySupport((function(){return p()})))}return e.prototype.dispose=function(){this.disposables=o.dispose(this.disposables)},e=h([f(4,d.IContextKeyService),f(5,t.IListService),f(6,v.IThemeService),f(7,a.IConfigurationService),f(8,S.IAccessibilityService)],e)}();g.Registry.as(u.Extensions.Configuration).registerConfiguration({id:"workbench",order:7,title:s.localize(0,null),type:"object",properties:(w={}, +w[t.multiSelectModifierSettingKey]={type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[s.localize(1,null),s.localize(2,null)],default:"ctrlCmd",description:s.localize(3,null)},w[t.openModeSettingKey]={type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:s.localize(4,null)},w[t.horizontalScrollingKey]={type:"boolean",default:!1,description:s.localize(5,null)},w["workbench.tree.horizontalScrolling"]={type:"boolean",default:!1,description:s.localize(6,null),deprecationMessage:s.localize(7,null,t.horizontalScrollingKey)},w[D]={type:"number",default:8,minimum:0,maximum:40,description:s.localize(8,null)},w[N]={type:"string",enum:["none","onHover","always"],default:"onHover",description:s.localize(9,null)},w[t.keyboardNavigationSettingKey]={type:"string",enum:["simple","highlight","filter"],enumDescriptions:[s.localize(10,null),s.localize(11,null),s.localize(12,null)],default:"highlight",description:s.localize(13,null)},w[t.automaticKeyboardNavigationSettingKey]={type:"boolean", +default:!0,markdownDescription:s.localize(14,null)},w)})})),define(n[594],i([0,1,8,27,4,2,45,37,228,3,29,84,574,448,12,112,170,20,14,120,110,277,312]),(function(e,t,n,i,o,s,a,l,u,p,g,m,v,_,y,C,b,S,w,E,L,D){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var N=function(){function e(e,t){var n=this;this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new s.DisposableStore,this._callOnModelChange=new s.DisposableStore,this._callOnDispose.add(this._editor.onDidChangeModel((function(){return n._onModelChanged()}))),this._onModelChanged()}return e.prototype.dispose=function(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()},e.prototype._onModelChanged=function(){this._callOnModelChange.clear();var e=this._editor.getModel();if(e)for(var t=0,n=this._model.groups;t0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return d(this,void 0,void 0,(function(){var n,i,o,r,u;return c(this,(function(d){switch(d.label){case 0:return this._revealedReference===e?[2]:(this._revealedReference=e, +e.uri.scheme!==a.Schemas.inMemory?this.setTitle(l.basenameOrAuthority(e.uri),this._uriLabel.getUriLabel(l.dirname(e.uri))):this.setTitle(_.localize(3,null)),n=this._textModelResolverService.createModelReference(e.uri),this._tree.getInput()!==e.parent?[3,1]:(this._tree.reveal(e),[3,3]));case 1:return t&&this._tree.reveal(e.parent),[4,this._tree.expand(e.parent)];case 2:d.sent(),this._tree.reveal(e),d.label=3;case 3:return[4,n];case 4:return i=d.sent(),this._model?(s.dispose(this._previewModelReference),(o=i.object)?(r=this._preview.getModel()===o.textEditorModel?0:1,u=p.Range.lift(e.range).collapseToStart(),this._previewModelReference=i,this._preview.setModel(o.textEditorModel),this._preview.setSelection(u),this._preview.revealRangeInCenter(u,r)):(this._preview.setModel(this._previewNotAvailableMessage),i.dispose()),[2]):(i.dispose(),[2])}}))}))},t=h([f(3,w.IThemeService),f(4,m.ITextModelService),f(5,y.IInstantiationService),f(6,E.IPeekViewService),f(7,C.ILabelService)],t)}(E.PeekViewWidget) +;t.ReferenceWidget=I,w.registerThemingParticipant((function(e,t){var n=e.getColor(E.peekViewResultsMatchHighlight);n&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { background-color: "+n+"; }");var i=e.getColor(E.peekViewEditorMatchHighlight);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+i+"; }");var o=e.getColor(E.peekViewEditorMatchHighlightBorder);o&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+o+"; box-sizing: border-box; }");var r=e.getColor(S.activeContrastBorder);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight { border: 1px dotted "+r+"; box-sizing: border-box; }");var s=e.getColor(E.peekViewResultsBackground);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(E.peekViewResultsMatchForeground) +;a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var l=e.getColor(E.peekViewResultsFileForeground);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+l+"; }");var u=e.getColor(E.peekViewResultsSelectionBackground);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { background-color: "+u+"; }");var d=e.getColor(E.peekViewResultsSelectionForeground);d&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows > .monaco-list-row.selected:not(.highlighted) { color: "+d+" !important; }");var c=e.getColor(E.peekViewEditorBackground);c&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: "+c+";}");var h=e.getColor(E.peekViewEditorGutterBackground) +;h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+h+";}")}))})),define(n[232],i([0,1,446,10,2,31,12,18,40,73,110,594,3,13,34,15,120,170,85]),(function(e,t,n,i,o,r,s,a,l,u,p,g,m,v,_,y,C,b,S){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ctxReferenceSearchVisible=new a.RawContextKey("referenceSearchVisible",!1);var w=function(){function e(e,n,i,r,s,a,l,u){this._defaultTreeKeyboardSupport=e,this._editor=n,this._editorService=r,this._notificationService=s,this._instantiationService=a,this._storageService=l,this._configurationService=u,this._disposables=new o.DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=t.ctxReferenceSearchVisible.bindTo(i)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._referenceSearchVisible.reset(),this._disposables.dispose(),o.dispose(this._widget),o.dispose(this._model),this._widget=void 0,this._model=void 0}, +e.prototype.toggleWidget=function(e,t,i){var o,r=this;if(this._widget&&(o=this._widget.position),this.closeWidget(),!o||!e.containsPosition(o)){this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((function(){r.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((function(){r._ignoreModelChangeEvent||r.closeWidget()})));var s=g.LayoutData.fromJSON(this._storageService.get("peekViewLayout",0,"{}"));this._widget=this._instantiationService.createInstance(g.ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(n.localize(0,null)),this._widget.show(e),this._disposables.add(this._widget.onDidClose((function(){t.cancel(),r._widget&&(r._storageService.store("peekViewLayout",JSON.stringify(r._widget.layoutData),0),r._widget=void 0),r.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((function(e){var t=e.element,n=e.kind;if(t)switch(n){case"open": +"editor"===e.source&&r._configurationService.getValue("editor.stablePeek")||r.openReference(t,!1);break;case"side":r.openReference(t,!0);break;case"goto":i?r._gotoReference(t):r.openReference(t,!1)}})));var a=++this._requestIdPool;t.then((function(t){if(a===r._requestIdPool&&r._widget)return r._model&&r._model.dispose(),r._model=t,r._widget.setModel(r._model).then((function(){if(r._widget&&r._model&&r._editor.hasModel()){r._model.isEmpty?r._widget.setMetaTitle(""):r._widget.setMetaTitle(n.localize(1,null,r._model.title,r._model.references.length));var t=r._editor.getModel().uri,i=new v.Position(e.startLineNumber,e.startColumn),o=r._model.nearestReference(t,i);if(o)return r._widget.setSelection(o)}}))}),(function(e){r._notificationService.error(e)}))}},e.prototype.goToNextOrPreviousReference=function(e){return d(this,void 0,void 0,(function(){var t,n,i,o;return c(this,(function(r){switch(r.label){case 0: +return this._editor.hasModel()&&this._model&&this._widget&&((t=this._widget.position)&&(n=this._model.nearestReference(this._editor.getModel().uri,t)))?(i=this._model.nextOrPreviousReference(n,e),o=this._editor.hasTextFocus(),[4,this._widget.setSelection(i)]):[2];case 1:return r.sent(),[4,this._gotoReference(i)];case 2:return r.sent(),o&&this._editor.focus(),[2]}}))}))},e.prototype.closeWidget=function(){this._referenceSearchVisible.reset(),this._disposables.clear(),o.dispose(this._widget),o.dispose(this._model),this._widget=void 0,this._model=void 0,this._editor.focus(),this._requestIdPool+=1},e.prototype._gotoReference=function(t){var n=this;this._widget&&this._widget.hide(),this._ignoreModelChangeEvent=!0;var o=m.Range.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:o}},this._editor).then((function(t){var i;if(n._ignoreModelChangeEvent=!1,t&&n._widget)if(n._editor===t)n._widget.show(o),n._widget.focus();else{var r=e.get(t),s=n._model.clone() +;n.closeWidget(),t.focus(),r.toggleWidget(o,y.createCancelablePromise((function(e){return Promise.resolve(s)})),null!=(i=n._peekMode)&&i)}else n.closeWidget()}),(function(e){n._ignoreModelChangeEvent=!1,i.onUnexpectedError(e)}))},e.prototype.openReference=function(e,t){t||this.closeWidget();var n=e.uri,i=e.range;this._editorService.openCodeEditor({resource:n,options:{selection:i}},this._editor,t)},e.ID="editor.contrib.referencesController",e=h([f(2,a.IContextKeyService),f(3,r.ICodeEditorService),f(4,_.INotificationService),f(5,s.IInstantiationService),f(6,u.IStorageService),f(7,l.IConfigurationService)],e)}();function E(e,t){var n=C.getOuterEditor(e);if(n){var i=w.get(n);i&&t(i)}}t.ReferencesController=w,S.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:250,primary:62,secondary:[70],when:t.ctxReferenceSearchVisible,handler:function(e){E(e,(function(e){e.goToNextOrPreviousReference(!0)}))}}),S.KeybindingsRegistry.registerCommandAndKeybindingRule({ +id:"goToNextReferenceFromEmbeddedEditor",weight:150,primary:62,secondary:[70],when:C.PeekContext.inPeekEditor,handler:function(e){E(e,(function(e){e.goToNextOrPreviousReference(!0)}))}}),S.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:250,primary:1086,secondary:[1094],when:t.ctxReferenceSearchVisible,handler:function(e){E(e,(function(e){e.goToNextOrPreviousReference(!1)}))}}),S.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReferenceFromEmbeddedEditor",weight:150,primary:1086,secondary:[1094],when:C.PeekContext.inPeekEditor,handler:function(e){E(e,(function(e){e.goToNextOrPreviousReference(!1)}))}}),S.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:a.ContextKeyExpr.and(t.ctxReferenceSearchVisible,a.ContextKeyExpr.not("config.editor.stablePeek")),handler:function(e){E(e,(function(e){return e.closeWidget()}))}}),S.KeybindingsRegistry.registerCommandAndKeybindingRule({ +id:"closeReferenceSearchEditor",weight:-1,primary:9,secondary:[1033],when:a.ContextKeyExpr.and(C.PeekContext.inPeekEditor,a.ContextKeyExpr.not("config.editor.stablePeek")),handler:function(e){E(e,(function(e){return e.closeWidget()}))}}),S.KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:a.ContextKeyExpr.and(t.ctxReferenceSearchVisible,b.WorkbenchListFocusContextKey),handler:function(e){var t,n=null===(t=e.get(b.IListService).lastFocusedList)||void 0===t?void 0:t.getFocus();Array.isArray(n)&&n[0]instanceof p.OneReference&&E(e,(function(e){return e.openReference(n[0],!0)}))}})})),define(n[233],i([0,1,48,15,35,16,105,11,31,13,3,23,17,119,120,232,110,444,65,18,34,72,221,32,67,535,25,24,12,22]),(function(e,t,n,i,o,s,a,l,u,h,p,f,g,m,v,_,y,C,b,S,w,E,L,D,N,x,I,M,k,T){"use strict";var R,O,P,A,F,W,V,B;Object.defineProperty(t,"__esModule",{value:!0}),b.MenuRegistry.appendMenuItem(7,{submenu:8,title:C.localize(0,null),group:"navigation", +order:100});var z=function(e){function t(t,n){var i=e.call(this,n)||this;return i._configuration=t,i}return r(t,e),t.prototype.run=function(e,t){var o=this;if(!t.hasModel())return Promise.resolve(void 0);var r=e.get(w.INotificationService),s=e.get(u.ICodeEditorService),a=e.get(E.IEditorProgressService),l=e.get(x.ISymbolNavigationService),h=t.getModel(),p=t.getPosition(),f=new N.EditorStateCancellationTokenSource(t,5),g=i.raceCancellation(this._getLocationModel(h,p,f.token),f.token).then((function(e){return d(o,void 0,void 0,(function(){var i,o,r,a;return c(this,(function(u){if(!e||f.token.isCancellationRequested)return[2];if(n.alert(e.ariaMessage),e.referenceAt(h.uri,p)&&(o=this._getAlternativeCommand(t))!==this.id&&(i=t.getAction(o)),0===(r=e.references.length))this._configuration.muteMessage||(a=h.getWordAtPosition(p),m.MessageController.get(t).showMessage(this._getNoResultFoundMessage(a),p));else{if(1!==r||!i)return[2,this._onResult(s,l,t,e)];i.run()}return[2]}))}))}),(function(e){r.error(e) +})).finally((function(){f.dispose()}));return a.showWhile(g,250),g},t.prototype._onResult=function(e,t,n,i){return d(this,void 0,void 0,(function(){var o,r,s,a;return c(this,(function(l){switch(l.label){case 0:return o=this._getGoToPreference(n),this._configuration.openInPeek||"peek"===o&&i.references.length>1?(this._openInPeek(n,i),[3,3]):[3,1];case 1:return r=i.firstReference(),s=i.references.length>1&&"gotoAndPeek"===o,[4,this._openReference(n,e,r,this._configuration.openToSide,!s)];case 2:a=l.sent(),s&&a?this._openInPeek(a,i):i.dispose(),"goto"===o&&t.put(r),l.label=3;case 3:return[2]}}))}))},t.prototype._openReference=function(e,t,n,i,o){return d(this,void 0,void 0,(function(){var r,s,a,l;return c(this,(function(u){switch(u.label){case 0:return r=void 0,g.isLocationLink(n)&&(r=n.targetSelectionRange),r||(r=n.range),[4,t.openCodeEditor({resource:n.uri,options:{selection:p.Range.collapseToStart(r),revealInCenterIfOutsideViewport:!0}},e,i)];case 1:return(s=u.sent())?(o&&(a=s.getModel(), +l=s.deltaDecorations([],[{range:r,options:{className:"symbolHighlight"}}]),setTimeout((function(){s.getModel()===a&&s.deltaDecorations(l,[])}),350)),[2,s]):[2,void 0]}}))}))},t.prototype._openInPeek=function(e,t){var n=_.ReferencesController.get(e);n&&e.hasModel()?n.toggleWidget(e.getSelection(),i.createCancelablePromise((function(e){return Promise.resolve(t)})),this._configuration.openInPeek):t.dispose()},t}(l.EditorAction),H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._getLocationModel=function(e,t,n){return d(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return i=y.ReferencesModel.bind,[4,L.getDefinitionsAtPosition(e,t,n)];case 1:return[2,new(i.apply(y.ReferencesModel,[void 0,o.sent(),C.localize(1,null)]))]}}))}))},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?C.localize(2,null,e.word):C.localize(3,null)},t.prototype._getAlternativeCommand=function(e){ +return e.getOption(39).alternativeDefinitionCommand},t.prototype._getGoToPreference=function(e){return e.getOption(39).multipleDefinitions},t}(z);t.DefinitionAction=H;var K=s.isWeb&&!I.isStandalone?2118:70;l.registerEditorAction(((R=function(e){function t(){var n=e.call(this,{openToSide:!1,openInPeek:!1,muteMessage:!1},{id:t.id,label:C.localize(4,null),alias:"Go to Definition",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasDefinitionProvider,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:K,weight:100},contextMenuOpts:{group:"navigation",order:1.1},menuOpts:{menuId:17,group:"4_symbol_nav",order:2,title:C.localize(5,null)}})||this;return D.CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",t.id),n}return r(t,e),t}(H)).id="editor.action.revealDefinition",R)),l.registerEditorAction(((O=function(e){function t(){var n=e.call(this,{openToSide:!0,openInPeek:!1,muteMessage:!1},{id:t.id,label:C.localize(6,null), +alias:"Open Definition to the Side",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasDefinitionProvider,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:o.KeyChord(2089,K),weight:100}})||this;return D.CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",t.id),n}return r(t,e),t}(H)).id="editor.action.revealDefinitionAside",O)),l.registerEditorAction(((P=function(e){function t(){var n=e.call(this,{openToSide:!1,openInPeek:!0,muteMessage:!1},{id:t.id,label:C.localize(7,null),alias:"Peek Definition",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasDefinitionProvider,v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:582,linux:{primary:3140},weight:100},contextMenuOpts:{menuId:8,group:"peek",order:2}})||this;return D.CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",t.id),n}return r(t,e),t +}(H)).id="editor.action.peekDefinition",P));var U=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._getLocationModel=function(e,t,n){return d(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return i=y.ReferencesModel.bind,[4,L.getDeclarationsAtPosition(e,t,n)];case 1:return[2,new(i.apply(y.ReferencesModel,[void 0,o.sent(),C.localize(8,null)]))]}}))}))},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?C.localize(9,null,e.word):C.localize(10,null)},t.prototype._getAlternativeCommand=function(e){return e.getOption(39).alternativeDeclarationCommand},t.prototype._getGoToPreference=function(e){return e.getOption(39).multipleDeclarations},t}(z);l.registerEditorAction(((A=function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!1,muteMessage:!1},{id:t.id,label:C.localize(11,null),alias:"Go to Declaration", +precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasDeclarationProvider,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),contextMenuOpts:{group:"navigation",order:1.3},menuOpts:{menuId:17,group:"4_symbol_nav",order:3,title:C.localize(12,null)}})||this}return r(t,e),t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?C.localize(13,null,e.word):C.localize(14,null)},t}(U)).id="editor.action.revealDeclaration",A)),l.registerEditorAction(function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",label:C.localize(15,null),alias:"Peek Declaration",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasDeclarationProvider,v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),contextMenuOpts:{menuId:8,group:"peek",order:3}})||this}return r(t,e),t}(U));var j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._getLocationModel=function(e,t,n){ +return d(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return i=y.ReferencesModel.bind,[4,L.getTypeDefinitionsAtPosition(e,t,n)];case 1:return[2,new(i.apply(y.ReferencesModel,[void 0,o.sent(),C.localize(16,null)]))]}}))}))},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?C.localize(17,null,e.word):C.localize(18,null)},t.prototype._getAlternativeCommand=function(e){return e.getOption(39).alternativeTypeDefinitionCommand},t.prototype._getGoToPreference=function(e){return e.getOption(39).multipleTypeDefinitions},t}(z);l.registerEditorAction(((F=function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!1,muteMessage:!1},{id:t.ID,label:C.localize(19,null),alias:"Go to Type Definition",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasTypeDefinitionProvider,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:0,weight:100},contextMenuOpts:{group:"navigation",order:1.4},menuOpts:{ +menuId:17,group:"4_symbol_nav",order:3,title:C.localize(20,null)}})||this}return r(t,e),t}(j)).ID="editor.action.goToTypeDefinition",F)),l.registerEditorAction(((W=function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!0,muteMessage:!1},{id:t.ID,label:C.localize(21,null),alias:"Peek Type Definition",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasTypeDefinitionProvider,v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),contextMenuOpts:{menuId:8,group:"peek",order:4}})||this}return r(t,e),t}(j)).ID="editor.action.peekTypeDefinition",W));var q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._getLocationModel=function(e,t,n){return d(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return i=y.ReferencesModel.bind,[4,L.getImplementationsAtPosition(e,t,n)];case 1:return[2,new(i.apply(y.ReferencesModel,[void 0,o.sent(),C.localize(22,null)]))]}}))}))}, +t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?C.localize(23,null,e.word):C.localize(24,null)},t.prototype._getAlternativeCommand=function(e){return e.getOption(39).alternativeImplementationCommand},t.prototype._getGoToPreference=function(e){return e.getOption(39).multipleImplementations},t}(z);l.registerEditorAction(((V=function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!1,muteMessage:!1},{id:t.ID,label:C.localize(25,null),alias:"Go to Implementations",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasImplementationProvider,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:2118,weight:100},menuOpts:{menuId:17,group:"4_symbol_nav",order:4,title:C.localize(26,null)},contextMenuOpts:{group:"navigation",order:1.45}})||this}return r(t,e),t}(q)).ID="editor.action.goToImplementation",V)),l.registerEditorAction(((B=function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!0,muteMessage:!1},{id:t.ID, +label:C.localize(27,null),alias:"Peek Implementations",precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasImplementationProvider,v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:3142,weight:100},contextMenuOpts:{menuId:8,group:"peek",order:5}})||this}return r(t,e),t}(q)).ID="editor.action.peekImplementation",B));var G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype._getNoResultFoundMessage=function(e){return e?C.localize(28,null,e.word):C.localize(29,null)},t.prototype._getAlternativeCommand=function(e){return e.getOption(39).alternativeReferenceCommand},t.prototype._getGoToPreference=function(e){return e.getOption(39).multipleReferences},t}(z);l.registerEditorAction(function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",label:C.localize(30,null),alias:"Go to References", +precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasReferenceProvider,v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:f.EditorContextKeys.editorTextFocus,primary:1094,weight:100},contextMenuOpts:{group:"navigation",order:1.45},menuOpts:{menuId:17,group:"4_symbol_nav",order:5,title:C.localize(31,null)}})||this}return r(t,e),t.prototype._getLocationModel=function(e,t,n){return d(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return i=y.ReferencesModel.bind,[4,L.getReferencesAtPosition(e,t,!0,n)];case 1:return[2,new(i.apply(y.ReferencesModel,[void 0,o.sent(),C.localize(32,null)]))]}}))}))},t}(G)),l.registerEditorAction(function(e){function t(){return e.call(this,{openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",label:C.localize(33,null),alias:"Peek References", +precondition:S.ContextKeyExpr.and(f.EditorContextKeys.hasReferenceProvider,v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated()),contextMenuOpts:{menuId:8,group:"peek",order:6}})||this}return r(t,e),t.prototype._getLocationModel=function(e,t,n){return d(this,void 0,void 0,(function(){var i;return c(this,(function(o){switch(o.label){case 0:return i=y.ReferencesModel.bind,[4,L.getReferencesAtPosition(e,t,!1,n)];case 1:return[2,new(i.apply(y.ReferencesModel,[void 0,o.sent(),C.localize(34,null)]))]}}))}))},t}(G));var Y=function(e){function t(t,n){var i=e.call(this,{muteMessage:!0,openInPeek:!1,openToSide:!1},{id:"editor.action.goToLocation",label:C.localize(35,null),alias:"Go To Any Symbol",precondition:S.ContextKeyExpr.and(v.PeekContext.notInPeekEditor,f.EditorContextKeys.isInEmbeddedEditor.toNegated())})||this;return i._references=t,i._gotoMultipleBehaviour=n,i}return r(t,e),t.prototype._getLocationModel=function(e,t,n){return d(this,void 0,void 0,(function(){ +return c(this,(function(e){return[2,new y.ReferencesModel(this._references,C.localize(36,null))]}))}))},t.prototype._getNoResultFoundMessage=function(e){return e&&C.localize(37,null,e.word)||""},t.prototype._getGoToPreference=function(e){var t;return null!=(t=this._gotoMultipleBehaviour)?t:e.getOption(39).multipleReferences},t.prototype._getAlternativeCommand=function(){return""},t}(z);D.CommandsRegistry.registerCommand({id:"editor.action.goToLocations",description:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:M.URI},{name:"position",description:"The position at which to start",constraint:h.Position.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:function(e,t,n,i,o){return d(void 0,void 0,void 0,(function(){var r,s;return c(this,(function(l){ +switch(l.label){case 0:return T.assertType(M.URI.isUri(t)),T.assertType(h.Position.isIPosition(n)),T.assertType(Array.isArray(i)),T.assertType(void 0===o||"string"==typeof o),[4,(r=e.get(u.ICodeEditorService)).openCodeEditor({resource:t},r.getFocusedCodeEditor())];case 1:return s=l.sent(),a.isCodeEditor(s)?(s.setPosition(n),s.revealPositionInCenterIfOutsideViewport(n,0),[2,s.invokeWithinContext((function(e){var t=new Y(i,o);e.get(k.IInstantiationService).invokeFunction(t.run.bind(t),s)}))]):[2]}}))}))}}),D.CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:function(e,t,n){T.assertType(M.URI.isUri(t)),T.assertType(h.Position.isIPosition(n));var o=e.get(u.ICodeEditorService);return o.openCodeEditor({resource:t},o.getFocusedCodeEditor()).then((function(e){if(a.isCodeEditor(e)&&e.hasModel()){var t=_.ReferencesController.get(e);if(t){var o=i.createCancelablePromise((function(t){return L.getReferencesAtPosition(e.getModel(),h.Position.lift(n),!1,t).then((function(e){ +return new y.ReferencesModel(e,C.localize(38,null))}))})),r=new p.Range(n.lineNumber,n.column,n.lineNumber,n.column);return Promise.resolve(t.toggleWidget(r,o,!1))}}}))}}),D.CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.goToLocations")})),define(n[234],i([0,1,445,15,10,74,70,3,17,11,221,2,84,14,20,67,233,195,13,22,311]),(function(e,t,n,i,o,r,s,a,l,u,d,c,p,g,m,v,_,y,C,b){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var S=function(){function e(e,t,n){var i=this;this.textModelResolverService=t,this.modeService=n,this.toUnhook=new c.DisposableStore,this.toUnhookForKeyboard=new c.DisposableStore,this.linkDecorations=[],this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e;var r=new y.ClickLinkGesture(e);this.toUnhook.add(r),this.toUnhook.add(r.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],n=e[1];i.startFindDefinitionFromMouse(t,b.withNullAsUndefined(n))}))),this.toUnhook.add(r.onExecute((function(e){ +i.isEnabled(e)&&i.gotoDefinition(e.target.position,e.hasSideBySideModifier).then((function(){i.removeLinkDecorations()}),(function(e){i.removeLinkDecorations(),o.onUnexpectedError(e)}))}))),this.toUnhook.add(r.onCancel((function(){i.removeLinkDecorations(),i.currentWordAtPosition=null})))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.startFindDefinitionFromCursor=function(e){var t=this;return this.startFindDefinition(e).then((function(){t.toUnhookForKeyboard.add(t.editor.onDidChangeCursorPosition((function(){t.currentWordAtPosition=null,t.removeLinkDecorations(),t.toUnhookForKeyboard.clear()}))),t.toUnhookForKeyboard.add(t.editor.onKeyDown((function(e){e&&(t.currentWordAtPosition=null,t.removeLinkDecorations(),t.toUnhookForKeyboard.clear())})))}))},e.prototype.startFindDefinitionFromMouse=function(e,t){if(!(9===e.target.type&&this.linkDecorations.length>0)){if(!this.editor.hasModel()||!this.isEnabled(e,t))return this.currentWordAtPosition=null,void this.removeLinkDecorations() +;var n=e.target.position;this.startFindDefinition(n)}},e.prototype.startFindDefinition=function(e){var t,s=this;this.toUnhookForKeyboard.clear();var l=e?null===(t=this.editor.getModel())||void 0===t?void 0:t.getWordAtPosition(e):null;if(!l)return this.currentWordAtPosition=null,this.removeLinkDecorations(),Promise.resolve(0);if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===l.startColumn&&this.currentWordAtPosition.endColumn===l.endColumn&&this.currentWordAtPosition.word===l.word)return Promise.resolve(0);this.currentWordAtPosition=l;var u=new v.EditorState(this.editor,15);return this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=i.createCancelablePromise((function(t){return s.findDefinition(e,t)})),this.previousPromise.then((function(t){if(t&&t.length&&u.validate(s.editor))if(t.length>1)s.addDecoration(new a.Range(e.lineNumber,l.startColumn,e.lineNumber,l.endColumn),(new r.MarkdownString).appendText(n.localize(0,null,t.length)));else{ +var i=t[0];if(!i.uri)return;s.textModelResolverService.createModelReference(i.uri).then((function(t){if(t.object&&t.object.textEditorModel){var n=t.object.textEditorModel,o=i.range.startLineNumber;if(o<1||o>n.getLineCount())t.dispose();else{var u,d=s.getPreviewValue(n,o,i);u=i.originSelectionRange?a.Range.lift(i.originSelectionRange):new a.Range(e.lineNumber,l.startColumn,e.lineNumber,l.endColumn);var c=s.modeService.getModeIdByFilepathOrFirstLine(n.uri);s.addDecoration(u,(new r.MarkdownString).appendCodeblock(c||"",d)),t.dispose()}}else t.dispose()}))}else s.removeLinkDecorations()})).then(void 0,o.onUnexpectedError)},e.prototype.getPreviewValue=function(t,n,i){var o=i.targetSelectionRange?i.range:this.getPreviewRangeBasedOnBrackets(t,n);return o.endLineNumber-o.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(o=this.getPreviewRangeBasedOnIndentation(t,n)),this.stripIndentationFromPreviewRange(t,n,o)},e.prototype.stripIndentationFromPreviewRange=function(e,t,n){ +for(var i=e.getLineFirstNonWhitespaceColumn(t),o=t+1;oi)return new a.Range(n,1,i+1,1) +;s=t.findNextBracket(new C.Position(d,c))}return new a.Range(n,1,i+1,1)},e.prototype.addDecoration=function(e,t){var n={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[n])},e.prototype.removeLinkDecorations=function(){this.linkDecorations.length>0&&(this.linkDecorations=this.editor.deltaDecorations(this.linkDecorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.hasModel()&&e.isNoneOrSingleMouseDown&&6===e.target.type&&(e.hasTriggerModifier||!!t&&t.keyCodeIsTriggerKey)&&l.DefinitionProviderRegistry.has(this.editor.getModel())},e.prototype.findDefinition=function(e,t){var n=this.editor.getModel();return n?d.getDefinitionsAtPosition(n,e,t):Promise.resolve(null)},e.prototype.gotoDefinition=function(e,t){var n=this;this.editor.setPosition(e);var i=new _.DefinitionAction({openToSide:t,openInPeek:!1,muteMessage:!0},{alias:"",label:"",id:"",precondition:void 0}) +;return this.editor.invokeWithinContext((function(e){return i.run(e,n.editor)}))},e.prototype.dispose=function(){this.toUnhook.dispose()},e.ID="editor.contrib.gotodefinitionatposition",e.MAX_SOURCE_PREVIEW_LINES=8,e=h([f(1,p.ITextModelService),f(2,s.IModeService)],e)}();t.GotoDefinitionAtPositionEditorContribution=S,u.registerEditorContribution(S.ID,S),g.registerThemingParticipant((function(e,t){var n=e.getColor(m.editorActiveLinkForeground);n&&t.addRule(".monaco-editor .goto-definition-link { color: "+n+" !important; }")}))})),define(n[595],i([0,1,11,31,232,40,18,12,34,73]),(function(e,t,n,i,o,s,a,l,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var c=function(e){function t(t,n,i,o,r,s,a){return e.call(this,!0,t,n,i,o,r,s,a)||this}return r(t,e),t=h([f(1,a.IContextKeyService),f(2,i.ICodeEditorService),f(3,u.INotificationService),f(4,l.IInstantiationService),f(5,d.IStorageService),f(6,s.IConfigurationService)],t)}(o.ReferencesController);t.StandaloneReferencesController=c, +n.registerEditorContribution(o.ReferencesController.ID,c)})),define(n[596],i([0,1,109,14,20]),(function(e,t,n,i,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.className=function(e){switch(e){case n.default.Ignore:return"severity-ignore codicon-info";case n.default.Info:return"codicon-info";case n.default.Warning:return"codicon-warning";case n.default.Error:return"codicon-error"}return""}}(t.SeverityIcon||(t.SeverityIcon={})),i.registerThemingParticipant((function(e,t){var n=e.getColor(o.problemsErrorIconForeground);n&&t.addRule("\n\t\t\t.monaco-editor .zone-widget .codicon-error,\n\t\t\t.monaco-workbench .markers-panel .marker-icon.codicon-error,\n\t\t\t.monaco-workbench .extensions-viewlet > .extensions .codicon-error,\n\t\t\t.monaco-workbench .dialog-box .dialog-message-row .codicon-error {\n\t\t\t\tcolor: "+n+";\n\t\t\t}\n\t\t");var i=e.getColor(o.problemsWarningIconForeground) +;n&&t.addRule("\n\t\t\t.monaco-editor .zone-widget .codicon-warning,\n\t\t\t.monaco-workbench .markers-panel .marker-icon.codicon-warning,\n\t\t\t.monaco-workbench .extensions-viewlet > .extensions .codicon-warning,\n\t\t\t.monaco-workbench .extension-editor .codicon-warning,\n\t\t\t.monaco-workbench .dialog-box .dialog-message-row .codicon-warning {\n\t\t\t\tcolor: "+i+";\n\t\t\t}\n\t\t");var r=e.getColor(o.problemsInfoIconForeground);n&&t.addRule("\n\t\t\t.monaco-editor .zone-widget .codicon-info,\n\t\t\t.monaco-workbench .markers-panel .marker-icon.codicon-info,\n\t\t\t.monaco-workbench .extensions-viewlet > .extensions .codicon-info,\n\t\t\t.monaco-workbench .extension-editor .codicon-info,\n\t\t\t.monaco-workbench .dialog-box .dialog-message-row .codicon-info {\n\t\t\t\tcolor: "+r+";\n\t\t\t}\n\t\t")}))})),define(n[597],i([0,1,443,8,2,71,3,20,14,27,52,133,19,4,120,37,596,310]),(function(e,t,n,i,o,s,a,l,u,d,c,h,p,f,g,m,v){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var _=function(){ +function e(e,t,n){var r=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new o.DisposableStore,this._editor=t;var s=document.createElement("div");s.className="descriptioncontainer",s.setAttribute("aria-live","assertive"),s.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),i.addClass(this._messageBlock,"message"),s.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),s.appendChild(this._relatedBlock),this._disposables.add(i.addStandardDisposableListener(this._relatedBlock,"click",(function(e){e.preventDefault();var t=r._relatedDiagnostics.get(e.target);t&&n(t)}))),this._scrollable=new c.ScrollableElement(s,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((function(e){s.style.left="-"+e.scrollLeft+"px",s.style.top="-"+e.scrollTop+"px"}))), +this._disposables.add(this._scrollable)}return e.prototype.dispose=function(){o.dispose(this._disposables)},e.prototype.update=function(e){var t=e.source,n=e.message,o=e.relatedInformation,r=e.code,s=n.split(/\r\n|\r|\n/g);this._lines=s.length,this._longestLineLength=0;for(var a=0,l=s;a1?n.localize(0,null,i,o):n.localize(1,null,i,o);this.setTitle(m.basename(d.uri),c)}this._icon.className="codicon "+v.SeverityIcon.className(s.MarkerSeverity.toSeverity(this._severity)),this.editor.revealPositionInCenter(u,0)},l.prototype.updateMarker=function(e){this._container.classList.remove("stale"),this._message.update(e)},l.prototype.showStale=function(){this._container.classList.add("stale"),this._relayout()},l.prototype._doLayoutBody=function(t,n){e.prototype._doLayoutBody.call(this,t,n),this._heightInPixel=t, +this._message.layout(t,n),this._container.style.height=t+"px"},l.prototype._onWidth=function(e){this._message.layout(this._heightInPixel,e)},l.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},l.prototype.computeRequiredHeight=function(){return 3+this._message.getHeightInLines()},l}(g.PeekViewWidget);t.MarkerNavigationWidget=y;var C=l.oneOf(l.editorErrorForeground,l.editorErrorBorder),b=l.oneOf(l.editorWarningForeground,l.editorWarningBorder),S=l.oneOf(l.editorInfoForeground,l.editorInfoBorder);t.editorMarkerNavigationError=l.registerColor("editorMarkerNavigationError.background",{dark:C,light:C,hc:C},n.localize(2,null)),t.editorMarkerNavigationWarning=l.registerColor("editorMarkerNavigationWarning.background",{dark:b,light:b,hc:b},n.localize(3,null)),t.editorMarkerNavigationInfo=l.registerColor("editorMarkerNavigationInfo.background",{dark:S,light:S,hc:S},n.localize(4,null)),t.editorMarkerNavigationBackground=l.registerColor("editorMarkerNavigation.background",{ +dark:"#2D2D30",light:d.Color.white,hc:"#0C141F"},n.localize(5,null)),u.registerThemingParticipant((function(e,t){var n=e.getColor(l.textLinkForeground);n&&t.addRule(".monaco-editor .marker-widget a { color: "+n+"; }")}))})),define(n[235],i([0,1,442,4,2,18,71,3,11,14,23,597,5,19,31,10,65,55,33,37]),(function(e,t,n,i,o,s,a,l,u,p,g,m,v,_,y,C,b,S,w,E){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var L=function(){function e(e,t){var n=this;this._toUnbind=new o.DisposableStore,this._editor=e,this._markers=[],this._nextIdx=-1,this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new i.Emitter,this._onMarkerSetChanged=new i.Emitter,this.setMarkers(t),this._toUnbind.add(this._editor.onDidDispose((function(){return n.dispose()}))),this._toUnbind.add(this._editor.onDidChangeCursorPosition((function(){n._ignoreSelectionChange||n.currentMarker&&n._editor.getPosition()&&l.Range.containsPosition(n.currentMarker,n._editor.getPosition())||(n._nextIdx=-1)})))} +return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){var t=this._nextIdx>=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(N.compareMarker),this._nextIdx=t?Math.max(-1,_.binarySearch(this._markers,t,N.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,n=this._editor.getPosition(),i=0;i0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:i=!0),n!==this._nextIdx){var o=this._markers[this._nextIdx] +;this._onCurrentMarkerChanged.fire(o)}return i},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){return _.find(this._markers,(function(t){return l.Range.containsPosition(t,e)}))},Object.defineProperty(e.prototype,"total",{get:function(){return this._markers.length},enumerable:!0,configurable:!0}),e.prototype.indexOf=function(e){return 1+this._markers.indexOf(e)},e.prototype.dispose=function(){this._toUnbind.dispose()},e}(),D=function(){function e(e,t,n,i,r,s){this._markerService=t,this._contextKeyService=n,this._themeService=i,this._editorService=r,this._keybindingService=s,this._model=null,this._widget=null,this._disposeOnClose=new o.DisposableStore,this._editor=e,this._widgetVisible=T.bindTo(this._contextKeyService)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._cleanUp(),this._disposeOnClose.dispose()},e.prototype._cleanUp=function(){this._widgetVisible.reset(),this._disposeOnClose.clear(), +this._widget=null,this._model=null},e.prototype.getOrCreateModel=function(){var e=this;if(this._model)return this._model;var t=this._getMarkers();this._model=new L(this._editor,t),this._markerService.onMarkerChanged(this._onMarkerChanged,this,this._disposeOnClose);var n=this._keybindingService.lookupKeybinding(I.ID),i=this._keybindingService.lookupKeybinding(x.ID),o=[new S.Action(I.ID,I.LABEL+(n?" ("+n.getLabel()+")":""),"show-previous-problem codicon-chevron-up",this._model.canNavigate(),(function(){return d(e,void 0,void 0,(function(){return c(this,(function(e){return this._model&&this._model.move(!1,!0),[2]}))}))})),new S.Action(x.ID,x.LABEL+(i?" ("+i.getLabel()+")":""),"show-next-problem codicon-chevron-down",this._model.canNavigate(),(function(){return d(e,void 0,void 0,(function(){return c(this,(function(e){return this._model&&this._model.move(!0,!0),[2]}))}))}))];this._widget=new m.MarkerNavigationWidget(this._editor,o,this._themeService),this._widgetVisible.set(!0),this._widget.onDidClose((function(){ +return e.closeMarkersNavigation()}),this,this._disposeOnClose),this._disposeOnClose.add(this._model),this._disposeOnClose.add(this._widget);for(var r=0,s=o;rthis._editor.getModel().getLineCount())return[];var i=g.ColorDetector.get(this._editor),o=t.getLineMaxColumn(n),r=this._editor.getLineDecorations(n),s=!1,a=this._range,u=r.map((function(r){var u=r.range.startLineNumber===n?r.range.startColumn:1,d=r.range.endLineNumber===n?r.range.endColumn:o;if(u>a.startColumn||a.endColumn>d)return null;var h=new c.Range(a.startLineNumber,u,a.startLineNumber,d),p=e._markerDecorationsService.getMarker(t,r);if(p)return new O(h,p);var f=i.getColorData(r.range.getStartPosition());if(!s&&f){s=!0 +;var g=f.colorInfo,m=g.color,v=g.range;return new R(v,m,f.provider)}return l.isEmptyMarkdownString(r.options.hoverMessage)?null:{contents:r.options.hoverMessage?S.asArray(r.options.hoverMessage):[],range:h}}));return S.coalesce(u)},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort((function(e,t){return e instanceof R?-1:t instanceof R?1:0}))):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[(new l.MarkdownString).appendText(n.localize(0,null))]}},e}(),A=function(e){function t(n,o,r,s,a,l){void 0===l&&(l=D.NullOpenerService);var d=e.call(this,t.ID,n)||this;return d._themeService=r,d._keybindingService=s,d._modeService=a,d._openerService=l,d.renderDisposable=d._register(new u.MutableDisposable),d._messages=[],d._lastRange=null, +d._computer=new P(d._editor,o),d._highlightDecorations=[],d._isChangingDecorations=!1,d._shouldFocus=!1,d._colorPicker=null,d._hoverOperation=new y.HoverOperation(d._computer,(function(e){return d._withResult(e,!0)}),null,(function(e){return d._withResult(e,!1)}),d._editor.getOption(42).delay),d._register(i.addStandardDisposableListener(d.getDomNode(),i.EventType.FOCUS,(function(){d._colorPicker&&i.addClass(d.getDomNode(),"colorpicker-hover")}))),d._register(i.addStandardDisposableListener(d.getDomNode(),i.EventType.BLUR,(function(){i.removeClass(d.getDomNode(),"colorpicker-hover")}))),d._register(n.onDidChangeConfiguration((function(e){d._hoverOperation.setHoverTime(d._editor.getOption(42).delay)}))),d._register(p.TokenizationRegistry.onDidChange((function(e){d.isVisible&&d._lastRange&&d._messages.length>0&&(d._domNode.textContent="",d._renderMessages(d._lastRange,d._messages))}))),d}return r(t,e),t.prototype.dispose=function(){this._hoverOperation.cancel(),e.prototype.dispose.call(this)}, +t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e,t,n){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition&&this._showAtPosition.lineNumber===e.startLineNumber){for(var i=[],o=0,r=this._messages.length;o=e.endColumn&&i.push(s)}if(i.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var n=0;n0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,n){var r=this;this.renderDisposable.dispose(),this._colorPicker=null;var h=1073741824,p=n[0].range?c.Range.lift(n[0].range):null,g=document.createDocumentFragment(),_=!0,y=!1,C=new u.DisposableStore,S=[];if(n.forEach((function(e){if(e.range)if(h=Math.min(h,e.range.startColumn), +p=p?c.Range.plusRange(p,e.range):c.Range.lift(e.range),e instanceof R){y=!0;var t=e.color,n=t.red,d=t.green,w=t.blue,E=t.alpha,L=new s.RGBA(Math.round(255*n),Math.round(255*d),Math.round(255*w),E),D=new s.Color(L);if(!r._editor.hasModel())return;var N=r._editor.getModel(),x=new c.Range(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn),I={range:e.range,color:e.color},M=new m.ColorPickerModel(D,[],0),k=new v.ColorPickerWidget(g,M,r._editor.getOption(101),r._themeService);f.getColorPresentations(N,I,e.provider,o.CancellationToken.None).then((function(t){if(M.colorPresentations=t||[],r._editor.hasModel()){var n=r._editor.getModel().getValueInRange(e.range);M.guessColorPresentation(D,n);var i=function(){var e,t;M.presentation.textEdit?(e=[M.presentation.textEdit], +t=(t=new c.Range(M.presentation.textEdit.range.startLineNumber,M.presentation.textEdit.range.startColumn,M.presentation.textEdit.range.endLineNumber,M.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+M.presentation.textEdit.text.length)):(e=[{identifier:null,range:x,text:M.presentation.label,forceMoveMarkers:!1}],t=x.setEndPosition(x.endLineNumber,x.startColumn+M.presentation.label.length)),r._editor.pushUndoStop(),r._editor.executeEdits("colorpicker",e),M.presentation.additionalTextEdits&&(e=a(M.presentation.additionalTextEdits),r._editor.executeEdits("colorpicker",e),r.hide()),r._editor.pushUndoStop(),x=t},s=function(t){return f.getColorPresentations(N,{range:x,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},e.provider,o.CancellationToken.None).then((function(e){M.colorPresentations=e||[]}))},l=M.onColorFlushed((function(e){s(e).then(i)})),d=M.onDidChangeColor(s);r._colorPicker=k,r.showAt(x.getStartPosition(),x,r._shouldFocus), +r.updateContents(g),r._colorPicker.layout(),r.renderDisposable.value=u.combinedDisposable(l,d,k,C)}}))}else e instanceof O?(S.push(e),_=!1):e.contents.filter((function(e){return!l.isEmptyMarkdownString(e)})).forEach((function(e){var t=T("div.hover-row.markdown-hover"),n=i.append(t,T("div.hover-contents")),o=C.add(new b.MarkdownRenderer(r._editor,r._modeService,r._openerService));C.add(o.onDidRenderCodeBlock((function(){n.className="hover-contents code-hover-contents",r.onContentsChange()})));var s=C.add(o.render(e));n.appendChild(s.element),g.appendChild(t),_=!1}))})),S.length){S.forEach((function(e){return g.appendChild(r.renderMarkerHover(e))}));var E=1===S.length?S[0]:S.sort((function(e,t){return w.MarkerSeverity.compare(e.marker.severity,t.marker.severity)}))[0];g.appendChild(this.renderMarkerStatusbar(E))}y||_||(this.showAt(new d.Position(e.startLineNumber,h),p,this._shouldFocus),this.updateContents(g)),this._isChangingDecorations=!0, +this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,p?[{range:p,options:t._DECORATION_OPTIONS}]:[]),this._isChangingDecorations=!1},t.prototype.renderMarkerHover=function(e){var t=this,n=T("div.hover-row"),o=i.append(n,T("div.marker.hover-contents")),r=e.marker,s=r.source,a=r.message,l=r.code,u=r.relatedInformation;this._editor.applyFontInfo(o);var d=i.append(o,T("span"));if(d.style.whiteSpace="pre-wrap",d.innerText=a,s||l){var c=i.append(o,T("span"));c.style.opacity="0.6",c.style.paddingLeft="6px",c.innerText=s&&l?s+"("+l+")":s||"("+l+")"}if(S.isNonEmptyArray(u))for(var h=function(e,n,r,s){var a=i.append(o,T("div"));a.style.marginTop="8px";var l=i.append(a,T("a"));l.innerText=E.basename(n)+"("+r+", "+s+"): ",l.style.cursor="pointer",l.onclick=function(e){e.stopPropagation(),e.preventDefault(),t._openerService&&t._openerService.open(n.with({fragment:r+","+s}),{fromUserGesture:!0}).catch(L.onUnexpectedError)};var u=i.append(a,T("span"));u.innerText=e,p._editor.applyFontInfo(u) +},p=this,f=0,g=u;f0&&o[r-1]===d)){var c=u.startIndex;0===a?c=0:c=0){for(var i=[],o=0,s=this._placeholderGroups[this._placeholderGroupsIdx];o0&&this._editor.executeEdits("snippet.placeholderTransform",i)}var h=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,h=!0);var p=this._editor.getModel().changeDecorations((function(t){for(var i=new Set,o=[],r=0,s=n._placeholderGroups[n._placeholderGroupsIdx];r0)return!0}t=t.parent}return!1},Object.defineProperty(e.prototype,"isAtFirstPlaceholder",{get:function(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAtLastPlaceholder",{get:function(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPlaceholder",{get:function(){return this._snippet.placeholders.length>0},enumerable:!0,configurable:!0}),e.prototype.computePossibleSelections=function(){ +for(var e=new Map,t=0,n=this._placeholderGroups;t0&&N!==y.getLineFirstNonWhitespaceColumn(T.positionLineNumber),!0),F.resolveVariables(new p.CompositeSnippetVariableResolver([b,new p.ClipboardBasedVariableResolver(w,R,x.length,"spread"===t.getOption(58)),new p.SelectionBasedVariableResolver(y,T),new p.CommentBasedVariableResolver(y),new p.TimeBasedVariableResolver,new p.WorkspaceBasedVariableResolver(C),new p.RandomBasedVariableResolver]));var V=y.getOffsetAt(W)+E;E+=F.toString().length-y.getValueLengthInRange(A),g[R]=r.EditOperation.replace(A,F.toString()),_[R]=new v(t,F,V)}return{edits:g,snippets:_}},e.prototype.dispose=function(){i.dispose(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this;if(this._editor.hasModel()){ +var n=e.createEditsAndSnippets(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText),i=n.edits,o=n.snippets;this._snippets=o,this._editor.executeEdits("snippet",i,(function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map((function(e){return a.Selection.fromPositions(e.range.getEndPosition())}))})),this._editor.revealRange(this._editor.getSelections()[0])}},e.prototype.merge=function(t,n){var i=this;if(void 0===n&&(n=_),this._editor.hasModel()){this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var o=e.createEditsAndSnippets(this._editor,t,n.overwriteBefore,n.overwriteAfter,!0,n.adjustWhitespace,n.clipboardText),r=o.edits,s=o.snippets;this._editor.executeEdits("snippet",r,(function(e){for(var t=0,n=i._snippets;t0},e}();t.SnippetSession=y})),define(n[173],i([0,1,2,5,11,3,21,23,117,18,163,606]),(function(e,t,n,i,o,r,s,a,u,d,c,p){"use strict" +;Object.defineProperty(t,"__esModule",{value:!0});var g={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0},m=function(){function e(t,i,o){this._editor=t,this._logService=i,this._snippetListener=new n.DisposableStore,this._modelVersionId=-1,this._inSnippet=e.InSnippetMode.bindTo(o),this._hasNextTabstop=e.HasNextTabstop.bindTo(o),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(o)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),n.dispose(this._session),this._snippetListener.dispose()},e.prototype.insert=function(e,t){try{this._doInsert(e,void 0===t?g:l(l({},g),t))}catch(t){this.cancel(),this._logService.error(t),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}},e.prototype._doInsert=function(e,t){ +var n=this;this._editor.hasModel()&&(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new p.SnippetSession(this._editor,e,t),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((function(e){return e.isFlush&&n.cancel()}))),this._snippetListener.add(this._editor.onDidChangeModel((function(){return n.cancel()}))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((function(){return n._updateState()}))))},e.prototype._updateState=function(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel() +;if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}},e.prototype._handleChoice=function(){var e=this;if(this._session&&this._editor.hasModel()){var t=this._session.choice;if(t){if(this._currentChoice!==t){this._currentChoice=t,this._editor.setSelections(this._editor.getSelections().map((function(e){return s.Selection.fromPositions(e.getStartPosition())})));var n=t.options[0];u.showSimpleSuggestions(this._editor,t.options.map((function(t,o){return{kind:13,label:t.value,insertText:t.value,sortText:i.repeat("a",o+1),range:r.Range.fromPositions(e._editor.getPosition(),e._editor.getPosition().delta(0,n.value.length))}})))}}else this._currentChoice=void 0}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(e){ +void 0===e&&(e=!1),this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),n.dispose(this._session),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])},e.prototype.prev=function(){this._session&&this._session.prev(),this._updateState()},e.prototype.next=function(){this._session&&this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return Boolean(this._inSnippet.get())},e.ID="snippetController2",e.InSnippetMode=new d.RawContextKey("inSnippetMode",!1),e.HasNextTabstop=new d.RawContextKey("hasNextTabstop",!1),e.HasPrevTabstop=new d.RawContextKey("hasPrevTabstop",!1),e=h([f(1,c.ILogService),f(2,d.IContextKeyService)],e)}();t.SnippetController2=m,o.registerEditorContribution(m.ID,m);var v=o.EditorCommand.bindToContribution(m.get);o.registerEditorCommand(new v({id:"jumpToNextSnippetPlaceholder",precondition:d.ContextKeyExpr.and(m.InSnippetMode,m.HasNextTabstop),handler:function(e){ +return e.next()},kbOpts:{weight:130,kbExpr:a.EditorContextKeys.editorTextFocus,primary:2}})),o.registerEditorCommand(new v({id:"jumpToPrevSnippetPlaceholder",precondition:d.ContextKeyExpr.and(m.InSnippetMode,m.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:a.EditorContextKeys.editorTextFocus,primary:1026}})),o.registerEditorCommand(new v({id:"leaveSnippet",precondition:m.InSnippetMode,handler:function(e){return e.cancel(!0)},kbOpts:{weight:130,kbExpr:a.EditorContextKeys.editorTextFocus,primary:9,secondary:[1033]}})),o.registerEditorCommand(new v({id:"acceptSnippet",precondition:m.InSnippetMode,handler:function(e){return e.finish()}}))})),define(n[607],i([0,1,19,15,10,4,2,21,17,388,117,173,26,391]),(function(e,t,n,i,o,r,s,a,l,u,d,c,h,p){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var f=function(){function e(e,t,n,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t), +this.lineNumber=t.lineNumber,this.column=t.column,this.auto=n,this.shy=i}return e.shouldAutoTrigger=function(e){if(!e.hasModel())return!1;var t=e.getModel(),n=e.getPosition();t.tokenizeIfCheap(n.lineNumber);var i=t.getWordAtPosition(n);return!!i&&(i.endColumn===n.column&&!!isNaN(Number(i.word)))},e}();t.LineContext=f;var g=function(){function e(e,t){var n=this;this._editor=e,this._editorWorker=t,this._toDispose=new s.DisposableStore,this._quickSuggestDelay=10,this._triggerQuickSuggest=new i.TimeoutTimer,this._state=0,this._completionDisposables=new s.DisposableStore,this._onDidCancel=new r.Emitter,this._onDidTrigger=new r.Emitter,this._onDidSuggest=new r.Emitter,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new a.Selection(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((function(){n._updateTriggerCharacters(),n.cancel()}))), +this._toDispose.add(this._editor.onDidChangeModelLanguage((function(){n._updateTriggerCharacters(),n.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((function(){n._updateTriggerCharacters(),n._updateQuickSuggest()}))),this._toDispose.add(l.CompletionProviderRegistry.onDidChange((function(){n._updateTriggerCharacters(),n._updateActiveSuggestSession()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((function(e){n._onCursorChange(e)})));var o=!1;this._toDispose.add(this._editor.onCompositionStart((function(){o=!0}))),this._toDispose.add(this._editor.onCompositionEnd((function(){o=!1,n._refilterCompletionItems()}))),this._toDispose.add(this._editor.onDidChangeModelContent((function(){o||n._refilterCompletionItems()}))),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){s.dispose(this._triggerCharacterListener),s.dispose([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(), +this._completionDisposables.dispose(),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getOption(64),(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(s.dispose(this._triggerCharacterListener),!this._editor.getOption(65)&&this._editor.hasModel()&&this._editor.getOption(88)){for(var t=Object.create(null),n=0,i=l.CompletionProviderRegistry.all(this._editor.getModel());n0?{triggerKind:2}:{triggerKind:0},this._requestToken=new h.CancellationTokenSource;var _=this._editor.getOption(82),y=1;switch(_){case"top":y=0;break;case"bottom":y=2}var C=e._createItemKindFilter(this._editor),b=p.WordDistance.create(this._editorWorker,this._editor),S=d.provideSuggestionItems(g,this._editor.getPosition(),new d.CompletionOptions(y,C,r),c,this._requestToken.token) +;Promise.all([S,b]).then((function(e){var i=e[0],o=e[1];if(s.dispose(l._requestToken),0!==l._state&&l._editor.hasModel()){var r=l._editor.getModel();if(n.isNonEmptyArray(a)){var c=d.getSuggestionComparator(y);i=i.concat(a).sort(c)}var h=new f(r,l._editor.getPosition(),m,t.shy);l._completionModel=new u.CompletionModel(i,l._context.column,{leadingLineContent:h.leadingLineContent,characterCountDelta:h.column-l._context.column},o,l._editor.getOption(85),l._editor.getOption(82));for(var p=0,g=i;pthis._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,n=this._completionModel.adopt(t);this.trigger({auto:2===this._state,shy:!1},!0,t,n)}else{var i=this._completionModel.lineContext,o=!1 +;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(f.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:o})}}else this.cancel()},e}();t.SuggestModel=g}));a=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t0)for(var e=0,n=t;e console.log", weil "log" vor Kurzem abgeschlossen wurde.','Wählen Sie Vorschläge basierend auf früheren Präfixen aus, die diese Vorschläge abgeschlossen haben, z.B. "co -> console" und "con ->" const".',"Steuert, wie Vorschläge bei Anzeige der Vorschlagsliste vorab ausgewählt werden.","Die Tab-Vervollständigung fügt den passendsten Vorschlag ein, wenn auf Tab gedrückt wird.","Tab-Vervollständigungen deaktivieren.",'Codeausschnitte per Tab vervollständigen, wenn die Präfixe übereinstimmen. Funktioniert am besten, wenn "quickSuggestions" deaktiviert sind.',"Tab-Vervollständigungen aktivieren.","Das Einfügen und Löschen von Leerzeichen erfolgt nach Tabstopps.","Zeichen, die als Worttrennzeichen verwendet werden, wenn wortbezogene Navigationen oder Vorgänge ausgeführt werden.","Zeilenumbrüche erfolgen nie.","Der Zeilenumbruch erfolgt an der Breite des Anzeigebereichs.",'Der Zeilenumbruch erfolgt bei "#editor.wordWrapColumn#".','Der Zeilenumbruch erfolgt beim Mindestanzeigebereich und "#editor.wordWrapColumn".',"Steuert, wie der Zeilenumbruch durchgeführt werden soll.",'Steuert die umschließende Spalte des Editors, wenn "#editor.wordWrap#" den Wert "wordWrapColumn" oder "bounded" aufweist.',"Kein Einzug. Umbrochene Zeilen beginnen bei Spalte 1.","Umbrochene Zeilen erhalten den gleichen Einzug wie das übergeordnete Element.","Umbrochene Zeilen erhalten + 1 Einzug auf das übergeordnete Element.","Umgebrochene Zeilen werden im Vergleich zum übergeordneten Element +2 eingerückt.","Steuert die Einrückung der umbrochenen Zeilen."], +"vs/editor/common/modes/modesRegistry":["Nur-Text"], +"vs/editor/common/standaloneStrings":["Keine Auswahl","Zeile {0}, Spalte {1} ({2} ausgewählt)","Zeile {0}, Spalte {1}","{0} Auswahlen ({1} Zeichen ausgewählt)","{0} Auswahlen",'Die Einstellung "accessibilitySupport" wird jetzt in "on" geändert.',"Die Dokumentationsseite zur Barrierefreiheit des Editors wird geöffnet.","in einem schreibgeschützten Bereich eines Diff-Editors.","in einem Bereich eines Diff-Editors.","in einem schreibgeschützten Code-Editor","in einem Code-Editor","Drücken Sie BEFEHLSTASTE + E, um den Editor für eine optimierte Verwendung mit Sprachausgabe zu konfigurieren.","Drücken Sie STRG + E, um den Editor für eine optimierte Verwendung mit Sprachausgabe zu konfigurieren.","Der Editor ist auf eine optimale Verwendung mit Sprachausgabe konfiguriert.","Der Editor ist so konfiguriert, dass er nie auf die Verwendung mit Sprachausgabe hin optimiert wird. Dies ist zu diesem Zeitpunkt nicht der Fall.","Durch Drücken der TAB-TASTE im aktuellen Editor wird der Fokus in das nächste Element verschoben, das den Fokus erhalten kann. Schalten Sie dieses Verhalten um, indem Sie {0} drücken.","Durch Drücken der TAB-TASTE im aktuellen Editor wird der Fokus in das nächste Element verschoben, das den Fokus erhalten kann. Der {0}-Befehl kann zurzeit nicht durch eine Tastenzuordnung ausgelöst werden.","Durch Drücken der TAB-TASTE im aktuellen Editor wird das Tabstoppzeichen eingefügt. Schalten Sie dieses Verhalten um, indem Sie {0} drücken.","Durch Drücken der TAB-TASTE im aktuellen Editor wird das Tabstoppzeichen eingefügt. Der {0}-Befehl kann zurzeit nicht durch eine Tastenzuordnung ausgelöst werden.","Drücken Sie BEFEHLSTASTE + H, um ein Browserfenster mit weiteren Informationen zur Barrierefreiheit des Editors zu öffnen.","Drücken Sie STRG + H, um ein Browserfenster mit weiteren Informationen zur Barrierefreiheit des Editors zu öffnen.","Sie können diese QuickInfo schließen und durch Drücken von ESC oder UMSCHALT+ESC zum Editor zurückkehren.","Hilfe zur Barrierefreiheit anzeigen","Entwickler: Token überprüfen","Zu Zeile {0} und Zeichen {1} wechseln","Gehe zu Zeile {0}","Zeilennummer zwischen 1 und {0} eingeben, zu der navigiert werden soll","Ein Zeichen zwischen 1 und {0} eingeben, um dorthin zu navigieren","Aktuelle Zeile: {0}. gehe zu Zeile {1}.","Eine Zeilennummer eingeben, gefolgt von einem optionalen Doppelpunkt und einer Zeichennummer, um dorthin zu navigieren","Gehe zu Zeile...","{0}, {1}, Befehle","{0}, Befehle","Name der auszuführenden Aktion eingeben","Befehlspalette","{0}, Symbole","Geben Sie den Namen eines Bezeichners ein, zu dem Sie navigieren möchten.","Gehe zu Symbol ...","Symbole ({0})","Module ({0})","Klassen ({0})","Schnittstellen ({0})","Methoden ({0})","Funktionen ({0})","Eigenschaften ({0})","Variablen ({0})","Variablen ({0})","Konstruktoren ({0})","Aufrufe ({0})","Editor-Inhalt","Drücken Sie STRG + F1, um die Barrierefreiheitsoptionen aufzurufen.","Drücken Sie ALT + F1, um die Barrierefreiheitsoptionen aufzurufen.","Zu Design mit hohem Kontrast umschalten","{0} Bearbeitungen in {1} Dateien durchgeführt"], +"vs/editor/common/view/editorColorRegistry":["Hintergrundfarbe zur Hervorhebung der Zeile an der Cursorposition.","Hintergrundfarbe für den Rahmen um die Zeile an der Cursorposition.","Hintergrundfarbe der markierten Bereiche, wie z.B. Quick Open oder die Suche. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe für den Rahmen um hervorgehobene Bereiche.",'Hintergrundfarbe des hervorgehobenen Symbols, z. B. "Gehe zu Definition" oder "Gehe zu nächster/vorheriger". Die Farbe darf nicht undurchsichtig sein, um zugrunde liegende Dekorationen nicht zu verbergen.',"Hintergrundfarbe des Rahmens um hervorgehobene Symbole","Farbe des Cursors im Editor.","Hintergrundfarbe vom Editor-Cursor. Erlaubt die Anpassung der Farbe von einem Zeichen, welches von einem Block-Cursor überdeckt wird.","Farbe der Leerzeichen im Editor.","Farbe der Führungslinien für Einzüge im Editor.","Farbe der Führungslinien für Einzüge im aktiven Editor.","Zeilennummernfarbe im Editor.","Zeilennummernfarbe der aktiven Editorzeile.",'Die ID ist veraltet. Verwenden Sie stattdessen "editorLineNumber.activeForeground".',"Zeilennummernfarbe der aktiven Editorzeile.","Farbe des Editor-Lineals.","Vordergrundfarbe der CodeLens-Links im Editor","Hintergrundfarbe für zusammengehörige Klammern","Farbe für zusammengehörige Klammern","Farbe des Rahmens für das Übersicht-Lineal.","Hintergrundfarbe der Editorleiste. Die Leiste enthält die Glyphenränder und die Zeilennummern.","Rahmenfarbe unnötigen (nicht genutzten) Quellcodes im Editor.",'Deckkraft des unnötigen (nicht genutzten) Quellcodes im Editor. "#000000c0" rendert z.B. den Code mit einer Deckkraft von 75%. Verwenden Sie für Designs mit hohem Kontrast das Farbdesign "editorUnnecessaryCode.border", um unnötigen Code zu unterstreichen statt ihn abzublenden.',"Übersichtslineal-Markierungsfarbe für Fehler.","Übersichtslineal-Markierungsfarbe für Warnungen.","Übersichtslineal-Markierungsfarbe für Informationen."], +"vs/editor/contrib/bracketMatching/bracketMatching":["Übersichtslineal-Markierungsfarbe für zusammengehörige Klammern.","Gehe zu Klammer","Auswählen bis Klammer","Gehe zu &&Klammer"],"vs/editor/contrib/caretOperations/caretOperations":["Caretzeichen nach links verschieben","Caretzeichen nach rechts verschieben"],"vs/editor/contrib/caretOperations/transpose":["Buchstaben austauschen"],"vs/editor/contrib/clipboard/clipboard":["Ausschneiden","&&Ausschneiden","Kopieren","&&Kopieren","Einfügen","&&Einfügen","Mit Syntaxhervorhebung kopieren"], +"vs/editor/contrib/codeAction/codeActionCommands":["Art der auszuführenden Codeaktion","Legt fest, wann die zurückgegebenen Aktionen angewendet werden","Die erste zurückgegebene Codeaktion immer anwenden","Die erste zurückgegebene Codeaktion anwenden, wenn nur eine vorhanden ist","Zurückgegebene Codeaktionen nicht anwenden","Legt fest, ob nur bevorzugte Codeaktionen zurückgegeben werden sollen","Beim Anwenden der Code-Aktion ist ein unbekannter Fehler aufgetreten","Schnelle Problembehebung …","Keine Codeaktionen verfügbar",'Keine bevorzugten Codeaktionen für "{0}" verfügbar','Keine Codeaktionen für "{0}" verfügbar',"Keine bevorzugten Codeaktionen verfügbar","Keine Codeaktionen verfügbar","Refactoring durchführen...",'Keine bevorzugten Refactorings für "{0}" verfügbar','Keine Refactorings für "{0}" verfügbar',"Keine bevorzugten Refactorings verfügbar","Keine Refactorings verfügbar","Quellaktion…",'Keine bevorzugten Quellaktionen für "{0}" verfügbar','Keine Quellaktionen für "{0}" verfügbar',"Keine bevorzugten Quellaktionen verfügbar","Keine Quellaktionen verfügbar","Importe organisieren","Keine Aktion zum Organisieren von Importen verfügbar","Alle korrigieren",'Aktion "Alle korrigieren" nicht verfügbar',"Automatisch korrigieren...","Keine automatischen Korrekturen verfügbar"], +"vs/editor/contrib/codeAction/lightBulbWidget":["Fixes anzeigen. Bevorzugter Fix verfügbar ({0})","Korrekturen anzeigen ({0})","Korrekturen anzeigen"],"vs/editor/contrib/comment/comment":["Zeilenkommentar umschalten","Zeilenkommen&&tar umschalten","Zeilenkommentar hinzufügen","Zeilenkommentar entfernen","Blockkommentar umschalten","&&Blockkommentar umschalten"],"vs/editor/contrib/contextmenu/contextmenu":["Editor-Kontextmenü anzeigen"],"vs/editor/contrib/cursorUndo/cursorUndo":["Mit Cursor rückgängig machen","Wiederholen mit Cursor"], +"vs/editor/contrib/documentSymbols/outlineTree":["Die Vordergrundfarbe für Arraysymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für boolesche Symbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Klassensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Farbsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für konstante Symbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Konstruktorsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Enumeratorsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Enumeratormembersymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Ereignissymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Feldsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Dateisymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Ordnersymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Funktionssymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Schnittstellensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Schlüsselsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Schlüsselwortsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Methodensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Modulsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Namespacesymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für NULL-Symbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Zahlensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Objektsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Operatorsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Paketsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Eigenschaftensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Referenzsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Codeausschnittsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Zeichenfolgensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Struktursymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Textsymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Typparametersymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für Einheitensymbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt.","Die Vordergrundfarbe für variable Symbole. Diese Symbole werden in den Widgets für Gliederung, Breadcrumbs und Vorschläge angezeigt."], +"vs/editor/contrib/find/findController":["Suchen","&&Suchen","Mit Auswahl suchen","Weitersuchen","Weitersuchen","Vorheriges Element suchen","Vorheriges Element suchen","Nächste Auswahl suchen","Vorherige Auswahl suchen","Ersetzen","&&Ersetzen"],"vs/editor/contrib/find/findWidget":["Suchen","Suchen","Vorheriger Treffer","Nächste Übereinstimmung","In Auswahl suchen","Schließen","Ersetzen","Ersetzen","Ersetzen","Alle ersetzen","Ersetzen-Modus wechseln","Nur die ersten {0} Ergebnisse wurden hervorgehoben, aber alle Suchoperationen werden auf dem gesamten Text durchgeführt.","{0} von {1}","Keine Ergebnisse","{0} gefunden","{0} gefunden für {1}","{0} gefunden für {1} bei {2}","{0} gefunden für {1}",'STRG+EINGABE fügt jetzt einen Zeilenumbruch ein, statt alles zu ersetzen. Sie können die Tastenzuordnung für "editor.action.replaceAll" ändern, um dieses Verhalten außer Kraft zu setzen.'], +"vs/editor/contrib/folding/folding":["Auffalten","Faltung rekursiv aufheben","Falten","Einklappung umschalten","Rekursiv falten","Alle Blockkommentare falten","Alle Regionen falten","Alle Regionen auffalten","Alle falten","Alle auffalten","Faltebene {0}"],"vs/editor/contrib/fontZoom/fontZoom":["Editorschriftart vergrößern","Editorschriftart verkleinern","Editor Schriftart Vergrößerung zurücksetzen"],"vs/editor/contrib/format/format":["1 Formatierung in Zeile {0} vorgenommen","{0} Formatierungen in Zeile {1} vorgenommen","1 Formatierung zwischen Zeilen {0} und {1} vorgenommen","{0} Formatierungen zwischen Zeilen {1} und {2} vorgenommen"],"vs/editor/contrib/format/formatActions":["Dokument formatieren","Auswahl formatieren"], +"vs/editor/contrib/gotoError/gotoError":["Gehe zu nächstem Problem (Fehler, Warnung, Information)","Gehe zu vorigem Problem (Fehler, Warnung, Information)","Gehe zu dem nächsten Problem in den Dateien (Fehler, Warnung, Info)","Gehe zu dem vorherigen Problem in den Dateien (Fehler, Warnung, Info)","Nächstes &&Problem","Vorheriges &&Problem"],"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} von {1} Problemen","{0} von {1} Problemen","Editormarkierung: Farbe bei Fehler des Navigationswidgets.","Editormarkierung: Farbe bei Warnung des Navigationswidgets.","Editormarkierung: Farbe bei Warnung des Navigationswidgets.","Editormarkierung: Hintergrund des Navigationswidgets."], +"vs/editor/contrib/gotoSymbol/goToCommands":["Vorschau","Definitionen",'Keine Definition gefunden für "{0}".',"Keine Definition gefunden","Gehe zu Definition","Gehe &&zu Definition","Definition an der Seite öffnen","Peek-Definition","Deklarationen",'Keine Deklaration für "{0}" gefunden.',"Keine Deklaration gefunden.","Zur Deklaration wechseln","Gehe zu &&Deklaration",'Keine Deklaration für "{0}" gefunden.',"Keine Deklaration gefunden.","Vorschau für Deklaration anzeigen","Typdefinitionen",'Keine Typendefinition gefunden für "{0}"',"Keine Typendefinition gefunden","Zur Typdefinition wechseln","Zur &&Typdefinition wechseln","Vorschau der Typdefinition anzeigen","Implementierungen",'Keine Implementierung gefunden für "{0}"',"Keine Implementierung gefunden","Gehe zu Implementierungen","Gehe zu &&Implementierungen","Vorschau für Implementierungen anzeigen",'Für "{0}" wurden keine Verweise gefunden.',"Keine Referenzen gefunden","Gehe zu Verweisen","Gehe zu &&Verweisen","Verweise","Vorschau für Verweise anzeigen","Verweise","Gehe zu beliebigem Symbol","Speicherorte",'Keine Ergebnisse für "{0}"',"Verweise"], +"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Klicken Sie, um {0} Definitionen anzuzeigen."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Wird geladen...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["Fehler beim Auflösen der Datei.","{0} Verweise","{0} Verweis"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["Keine Vorschau verfügbar.","Verweise","Keine Ergebnisse","Verweise"],"vs/editor/contrib/gotoSymbol/referencesModel":["Symbol in {0} in Zeile {1}, Spalte {2}","1 Symbol in {0}, vollständiger Pfad {1}","{0} Symbole in {1}, vollständiger Pfad {2}","Es wurden keine Ergebnisse gefunden.","1 Symbol in {0} gefunden","{0} Symbole in {1} gefunden","{0} Symbole in {1} Dateien gefunden"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Symbol {0} von {1}, {2} für nächstes","Symbol {0} von {1}"],"vs/editor/contrib/hover/hover":["Hovern anzeigen","Definitionsvorschauhover anzeigen"], +"vs/editor/contrib/hover/modesContentHover":["Wird geladen...","Vorschauproblem","Es wird nach Schnellkorrekturen gesucht...","Keine Schnellkorrekturen verfügbar","Schnelle Problembehebung …"],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Durch vorherigen Wert ersetzen","Durch nächsten Wert ersetzen"], +"vs/editor/contrib/linesOperations/linesOperations":["Zeile nach oben kopieren","Zeile nach oben &&kopieren","Zeile nach unten kopieren","Zeile nach unten ko&&pieren","Auswahl duplizieren","&&Auswahl duplizieren","Zeile nach oben verschieben","Zeile nach oben &&verschieben","Zeile nach unten verschieben","Zeile nach &&unten verschieben","Zeilen aufsteigend sortieren","Zeilen absteigend sortieren","Nachgestelltes Leerzeichen kürzen","Zeile löschen","Zeileneinzug","Zeile ausrücken","Zeile oben einfügen","Zeile unten einfügen","Alle übrigen löschen","Alle rechts löschen","Zeilen verknüpfen","Zeichen um den Cursor herum transponieren","In Großbuchstaben umwandeln","In Kleinbuchstaben umwandeln","In große Anfangsbuchstaben umwandeln"],"vs/editor/contrib/links/links":["Befehl ausführen","Link folgen","BEFEHL + Klicken","STRG + Klicken","OPTION + Klicken","alt + klicken","Fehler beim Öffnen dieses Links, weil er nicht wohlgeformt ist: {0}","Fehler beim Öffnen dieses Links, weil das Ziel fehlt.","Link öffnen"], +"vs/editor/contrib/message/messageController":["Ein Bearbeiten ist im schreibgeschützten Editor nicht möglich"],"vs/editor/contrib/multicursor/multicursor":["Cursor oberhalb hinzufügen","Cursor oberh&&alb hinzufügen","Cursor unterhalb hinzufügen","Cursor unterhal&&b hinzufügen","Cursor an Zeilenenden hinzufügen","C&&ursor an Zeilenenden hinzufügen","Cursor am Ende hinzufügen","Cursor am Anfang hinzufügen","Auswahl zur nächsten Übereinstimmungssuche hinzufügen","&&Nächstes Vorkommen hinzufügen","Letzte Auswahl zu vorheriger Übereinstimmungssuche hinzufügen","Vo&&rheriges Vorkommen hinzufügen","Letzte Auswahl in nächste Übereinstimmungssuche verschieben","Letzte Auswahl in vorherige Übereinstimmungssuche verschieben","Alle Vorkommen auswählen und Übereinstimmung suchen","Alle V&&orkommen auswählen","Alle Vorkommen ändern"],"vs/editor/contrib/parameterHints/parameterHints":["Parameterhinweise auslösen"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, Hinweis"], +"vs/editor/contrib/peekView/peekView":["Schließen","Hintergrundfarbe des Titelbereichs der Peek-Ansicht.","Farbe des Titels in der Peek-Ansicht.","Farbe der Titelinformationen in der Peek-Ansicht.","Farbe der Peek-Ansichtsränder und des Pfeils.","Hintergrundfarbe der Ergebnisliste in der Peek-Ansicht.","Vordergrundfarbe für Zeilenknoten in der Ergebnisliste der Peek-Ansicht.","Vordergrundfarbe für Dateiknoten in der Ergebnisliste der Peek-Ansicht.","Hintergrundfarbe des ausgewählten Eintrags in der Ergebnisliste der Peek-Ansicht.","Vordergrundfarbe des ausgewählten Eintrags in der Ergebnisliste der Peek-Ansicht.","Hintergrundfarbe des Peek-Editors.","Hintergrundfarbe der Leiste im Peek-Editor.","Farbe für Übereinstimmungsmarkierungen in der Ergebnisliste der Peek-Ansicht.","Farbe für Übereinstimmungsmarkierungen im Peek-Editor.","Rahmen für Übereinstimmungsmarkierungen im Peek-Editor."], +"vs/editor/contrib/rename/rename":["Kein Ergebnis.","Ein unbekannter Fehler ist beim Auflösen der Umbenennung eines Ortes aufgetreten.",'"{0}" erfolgreich in "{1}" umbenannt. Zusammenfassung: {2}',"Fehler beim Ausführen der Umbenennung.","Symbol umbenennen"],"vs/editor/contrib/rename/renameInputField":["Benennen Sie die Eingabe um. Geben Sie einen neuen Namen ein, und drücken Sie die EINGABETASTE, um den Commit auszuführen."],"vs/editor/contrib/smartSelect/smartSelect":["Auswahl aufklappen","Auswahl &&erweitern","Markierung verkleinern","Au&&swahl verkleinern"],"vs/editor/contrib/snippet/snippetVariables":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","So","Mo","Di","Mi","Do","Fr","Sa","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember","Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"], +"vs/editor/contrib/suggest/suggestController":['Das Akzeptieren von "{0}" ergab {1} zusätzliche Bearbeitungen.',"Vorschlag auslösen"],"vs/editor/contrib/suggest/suggestWidget":["Hintergrundfarbe des Vorschlagswidgets.","Rahmenfarbe des Vorschlagswidgets.","Vordergrundfarbe des Vorschlagswidgets.","Hintergrundfarbe des ausgewählten Eintrags im Vorschlagswidget.","Farbe der Trefferhervorhebung im Vorschlagswidget.","Mehr anzeigen...{0}","Weniger anzeigen...{0}","Wird geladen...","Wird geladen...","Keine Vorschläge.","Element {0}, Dok.: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["TAB-Umschalttaste verschiebt Fokus","Beim Drücken auf Tab wird der Fokus jetzt auf das nächste fokussierbare Element verschoben","Beim Drücken von Tab wird jetzt das Tabulator-Zeichen eingefügt"],"vs/editor/contrib/tokenization/tokenization":["Entwickler: Force Retokenize"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["Hintergrundfarbe eines Symbols beim Lesezugriff, z.B. beim Lesen einer Variablen. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe eines Symbols bei Schreibzugriff, z.B. beim Schreiben in eine Variable. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Randfarbe eines Symbols beim Lesezugriff, wie etwa beim Lesen einer Variablen.","Randfarbe eines Symbols beim Schreibzugriff, wie etwa beim Schreiben einer Variablen.","Übersichtslinealmarkerfarbd für das Hervorheben von Symbolen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Übersichtslinealmarkerfarbe für Symbolhervorhebungen bei Schreibzugriff. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Gehe zur nächsten Symbolhervorhebungen","Gehe zur vorherigen Symbolhervorhebungen","Symbol-Hervorhebung ein-/ausschalten"], +"vs/platform/configuration/common/configurationRegistry":["Standard-Konfiguration überschreibt","Zu überschreibende Editor-Einstellungen für eine Sprache konfigurieren.",'"{0}" kann nicht registriert werden. Stimmt mit dem Eigenschaftsmuster "\\\\[.*\\\\]$" zum Beschreiben sprachspezifischer Editor-Einstellungen überein. Verwenden Sie den Beitrag "configurationDefaults".','{0}" kann nicht registriert werden. Diese Eigenschaft ist bereits registriert.'],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) wurde gedrückt. Es wird auf die zweite Taste der Kombination gewartet...","Die Tastenkombination ({0}, {1}) ist kein Befehl."], +"vs/platform/list/browser/listService":["Workbench","Ist unter Windows und Linux der STRG-Taste und unter macOSX der Befehlstaste zugeordnet.","Ist unter Windows und Linux der ALT-Taste und unter macOSX der Wahltaste zugeordnet.",'Der Modifizierer zum Hinzufügen eines Elements in Bäumen und Listen zu einer Mehrfachauswahl mit der Maus (zum Beispiel im Explorer, in geöffneten Editoren und in der SCM-Ansicht). Die Mausbewegung "Seitlich öffnen" wird – sofern unterstützt – so angepasst, dass kein Konflikt mit dem Modifizierer für Mehrfachauswahl entsteht.',"Steuert, wie Elemente in Strukturen und Listen mithilfe der Maus geöffnet werden (sofern unterstützt). Bei übergeordneten Elementen, deren untergeordnete Elemente sich in Strukturen befinden, steuert diese Einstellung, ob ein Einfachklick oder ein Doppelklick das übergeordnete Elemente erweitert. Beachten Sie, dass einige Strukturen und Listen diese Einstellung ggf. ignorieren, wenn sie nicht zutrifft.","Legt fest, ob Listen und Strukturen horizontales Scrollen in der Workbench unterstützen.","Steuert, ob Bäume horizontales Scrollen in der Workbench unterstützen.",'Diese Einstellung ist veraltet. Verwenden Sie stattdessen "{0}".',"Steuert den Struktureinzug in Pixeln.","Steuert, ob die Struktur Einzugsführungslinien rendern soll.","Bei der einfachen Tastaturnavigation werden Elemente in den Fokus genommen, die mit der Tastatureingabe übereinstimmen. Die Übereinstimmungen gelten nur für Präfixe.","Hervorheben von Tastaturnavigationshervorgebungselemente, die mit der Tastatureingabe übereinstimmen. Beim nach oben und nach unten Navigieren werden nur die hervorgehobenen Elemente durchlaufen.","Durch das Filtern der Tastaturnavigation werden alle Elemente herausgefiltert und ausgeblendet, die nicht mit der Tastatureingabe übereinstimmen.",'Steuert die Tastaturnavigation in Listen und Strukturen in der Workbench. Kann "simple" (einfach), "highlight" (hervorheben) und "filter" (filtern) sein.','Legt fest, ob die Tastaturnavigation in Listen und Strukturen automatisch durch Eingaben ausgelöst wird. Wenn der Wert auf "false" festgelegt ist, wird die Tastaturnavigation nur ausgelöst, wenn der Befehl "list.toggleKeyboardNavigation" ausgeführt wird. Diesem Befehl können Sie eine Tastenkombination zuweisen.'], +"vs/platform/markers/common/markers":["Fehler","Warnung","Info"], +"vs/platform/theme/common/colorRegistry":["Allgemeine Vordergrundfarbe. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente überschrieben wird.","Allgemeine Vordergrundfarbe. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente überschrieben wird.","Allgemeine Rahmenfarbe für fokussierte Elemente. Diese Farbe wird nur verwendet, wenn sie nicht durch eine Komponente überschrieben wird.","Ein zusätzlicher Rahmen um Elemente, mit dem diese von anderen getrennt werden, um einen größeren Kontrast zu erreichen.","Ein zusätzlicher Rahmen um aktive Elemente, mit dem diese von anderen getrennt werden, um einen größeren Kontrast zu erreichen.","Vordergrundfarbe für Links im Text.","Hintergrundfarbe für Codeblöcke im Text.","Schattenfarbe von Widgets wie zum Beispiel Suchen/Ersetzen innerhalb des Editors.","Hintergrund für Eingabefeld.","Vordergrund für Eingabefeld.","Rahmen für Eingabefeld.","Rahmenfarbe für aktivierte Optionen in Eingabefeldern.","Hintergrundfarbe für aktivierte Optionen in Eingabefeldern.","Hintergrundfarbe bei der Eingabevalidierung für den Schweregrad der Information.","Vordergrundfarbe bei der Eingabevalidierung für den Schweregrad der Information.","Rahmenfarbe bei der Eingabevalidierung für den Schweregrad der Information.","Hintergrundfarbe bei der Eingabevalidierung für den Schweregrad der Warnung.","Vordergrundfarbe bei der Eingabevalidierung für den Schweregrad der Warnung.","Rahmenfarbe bei der Eingabevalidierung für den Schweregrad der Warnung.","Hintergrundfarbe bei der Eingabevalidierung für den Schweregrad des Fehlers.","Vordergrundfarbe bei der Eingabevalidierung für den Schweregrad des Fehlers.","Rahmenfarbe bei der Eingabevalidierung für den Schweregrad des Fehlers.","Hintergrund für Dropdown.","Vordergrund für Dropdown.","Schnellauswahlfarbe für das Gruppieren von Bezeichnungen.","Schnellauswahlfarbe für das Gruppieren von Rahmen.","Hintergrundfarbe für Badge. Badges sind kurze Info-Texte, z.B. für Anzahl Suchergebnisse.","Vordergrundfarbe für Badge. Badges sind kurze Info-Texte, z.B. für Anzahl Suchergebnisse.","Schatten der Scrollleiste, um anzuzeigen, dass die Ansicht gescrollt wird.","Hintergrundfarbe vom Scrollbar-Schieber","Hintergrundfarbe des Schiebereglers, wenn darauf gezeigt wird.","Hintergrundfarbe des Schiebereglers, wenn darauf geklickt wird.","Hintergrundfarbe des Fortschrittbalkens, der für zeitintensive Vorgänge angezeigt werden kann.","Vordergrundfarbe von Fehlerunterstreichungen im Editor.","Randfarbe von Fehlerfeldern im Editor.","Vordergrundfarbe von Warnungsunterstreichungen im Editor.","Randfarbe der Warnfelder im Editor.","Vordergrundfarbe von Informationsunterstreichungen im Editor.","Randfarbe der Infofelder im Editor.","Vordergrundfarbe der Hinweisunterstreichungen im Editor.","Randfarbe der Hinweisfelder im Editor.","Hintergrundfarbe des Editors.","Standardvordergrundfarbe des Editors.","Hintergrundfarbe von Editor-Widgets wie zum Beispiel Suchen/Ersetzen.","Vordergrundfarbe für Editorwidgets wie Suchen/Ersetzen.","Rahmenfarbe von Editorwigdets. Die Farbe wird nur verwendet, wenn für das Widget ein Rahmen verwendet wird und die Farbe nicht von einem Widget überschrieben wird.","Rahmenfarbe der Größenanpassungsleiste von Editorwigdets. Die Farbe wird nur verwendet, wenn für das Widget ein Größenanpassungsrahmen verwendet wird und die Farbe nicht von einem Widget außer Kraft gesetzt wird.","Farbe der Editor-Auswahl.","Farbe des gewählten Text für einen hohen Kontrast","Die Farbe der Auswahl befindet sich in einem inaktiven Editor. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegende Dekorationen verdeckt.","Farbe für Bereiche mit dem gleichen Inhalt wie die Auswahl. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Randfarbe für Bereiche, deren Inhalt der Auswahl entspricht.","Farbe des aktuellen Suchergebnisses.","Farbe der anderen Suchergebnisse. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Farbe des Bereichs, der die Suche eingrenzt. Die Farbe darf nicht deckend sein, damit sie nicht die zugrunde liegenden Dekorationen verdeckt.","Randfarbe des aktuellen Suchergebnisses.","Randfarbe der anderen Suchtreffer.","Rahmenfarbe des Bereichs, der die Suche eingrenzt. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hervorhebung unterhalb des Worts, für das ein Hoverelement angezeigt wird. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Background color of the editor hover.","Vordergrundfarbe des Editor-Mauszeigers","Rahmenfarbe des Editor-Mauszeigers.","Hintergrundfarbe der Hoverstatusleiste des Editors.","Farbe der aktiven Links.",'Die für das Aktionssymbol "Glühbirne" verwendete Farbe.','Die für das Aktionssymbol "Automatische Glühbirnenkorrektur" verwendete Farbe.',"Hintergrundfarbe für eingefügten Text. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Hintergrundfarbe für Text, der entfernt wurde. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Konturfarbe für eingefügten Text.","Konturfarbe für entfernten Text.","Die Rahmenfarbe zwischen zwei Text-Editoren.","Hintergrundfarbe der Liste/Struktur für das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Vordergrundfarbe der Liste/Struktur für das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrundfarbe der Liste/Struktur für das ausgewählte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Vordergrundfarbe der Liste/Struktur für das ausgewählte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrundfarbe der Liste/Struktur für das ausgewählte Element, wenn die Liste/Struktur inaktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Vordergrundfarbe der Liste/Struktur für das ausgewählte Element, wenn die Liste/Baumstruktur inaktiv ist. Eine aktive Liste/Baumstruktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrundfarbe der Liste/Struktur für das fokussierte Element, wenn die Liste/Struktur aktiv ist. Eine aktive Liste/Struktur hat Tastaturfokus, eine inaktive hingegen nicht.","Hintergrund der Liste/Struktur, wenn mit der Maus auf Elemente gezeigt wird.","Vordergrund der Liste/Struktur, wenn mit der Maus auf Elemente gezeigt wird.","Drag & Drop-Hintergrund der Liste/Struktur, wenn Elemente mithilfe der Maus verschoben werden.","Vordergrundfarbe der Liste/Struktur zur Trefferhervorhebung beim Suchen innerhalb der Liste/Struktur.","Hintergrundfarbe des Typfilterwidgets in Listen und Strukturen.","Konturfarbe des Typfilterwidgets in Listen und Strukturen.","Konturfarbe des Typfilterwidgets in Listen und Strukturen, wenn es keine Übereinstimmungen gibt.","Strukturstrichfarbe für die Einzugsführungslinien.","Rahmenfarbe von Menüs.","Vordergrundfarbe von Menüelementen.","Hintergrundfarbe von Menüelementen.","Vordergrundfarbe des ausgewählten Menüelements im Menü.","Hintergrundfarbe des ausgewählten Menüelements im Menü.","Rahmenfarbe des ausgewählten Menüelements im Menü.","Farbe eines Trenner-Menüelements in Menüs.","Hervorhebungs-Hintergrundfarbe eines Codeausschnitt-Tabstopps.","Hervorhebungs-Rahmenfarbe eines Codeausschnitt-Tabstopps.","Hervorhebungs-Hintergrundfarbe des letzten Tabstopps eines Codeausschnitts.","Hervorhebungs-Rahmenfarbe des letzten Tabstopps eines Codeausschnitts.","Übersichtslinealmarkerfarbe für das Suchen von Übereinstimmungen. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Übersichtslinealmarkerfarbe für das Hervorheben der Auswahl. Die Farbe darf nicht deckend sein, weil sie sonst die zugrunde liegenden Dekorationen verdeckt.","Minimap-Markerfarbe für gefundene Übereinstimmungen.","Minimap-Markerfarbe für die Editorauswahl.","Minimapmarkerfarbe für Fehler","Minimapmarkerfarbe für Warnungen","Die Farbe, die für das Problemfehlersymbol verwendet wird.","Die Farbe, die für das Problemwarnsymbol verwendet wird.","Die Farbe, die für das Probleminfosymbol verwendet wird."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.de.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.es.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.es.js new file mode 100755 index 00000000..e5f5efc1 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.es.js @@ -0,0 +1,36 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.es",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (ocurrió de nuevo)","{0} (ocurrido {1} veces)"],"vs/base/browser/ui/findinput/findInput":["Entrada"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Coincidir mayúsculas y minúsculas","Solo palabras completas","Usar expresión regular"],"vs/base/browser/ui/findinput/replaceInput":["Entrada","Conservar may/min"],"vs/base/browser/ui/inputbox/inputBox":["Error: {0}","Advertencia: {0}","Información: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Sin enlazar"],"vs/base/browser/ui/list/listWidget":["{0}. Para navegar utilice las teclas de navegación."],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Borrar","Desactivar filtro en tipo","Activar filtro en el tipo","No se encontraron elementos","{0} de {1} elementos coincidentes"], +"vs/base/common/keybindingLabels":["Ctrl","Mayús","Alt","Windows","Ctrl","Mayús","Alt","Super","Control","Mayús","Alt","Comando","Control","Mayús","Alt","Windows","Control","Mayús","Alt","Super"],"vs/base/common/severity":["Error","Advertencia","Información"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}, selector","selector"],"vs/base/parts/quickopen/browser/quickOpenWidget":["Selector rápido. Escriba para restringir los resultados.","Selector rápido","{0} resultados"],"vs/editor/browser/controller/coreCommands":["&&Seleccionar todo","&&Deshacer","&&Rehacer"],"vs/editor/browser/controller/textAreaHandler":["No se puede acceder al editor en este momento. Presione Alt+F1 para ver opciones."],"vs/editor/browser/widget/codeEditorWidget":["El número de cursores se ha limitado a {0}."],"vs/editor/browser/widget/diffEditorWidget":["Los archivos no se pueden comparar porque uno de ellos es demasiado grande."], +"vs/editor/browser/widget/diffReview":["Cerrar","sin líneas","1 línea","{0} líneas","Diferencia {0} de {1}: original {2}, {3}, modificado {4}, {5}","vacío","original {0}, modificado {1}: {2}","+ modificado {0}: {1}","- original {0}: {1}","Ir a la siguiente diferencia","Ir a la diferencia anterior"],"vs/editor/browser/widget/inlineDiffMargin":["Copiar líneas eliminadas","Copiar línea eliminada","Copiar la línea eliminada ({0})","Revertir este cambio","Copiar la línea eliminada ({0})"], +"vs/editor/common/config/commonEditorConfig":["Editor",'El número de espacios a los que equivale una tabulación. Este valor se invalida en función del contenido del archivo cuando "#editor.detectIndentation#" está activado.','Insertar espacios al presionar "TAB". Este valor se invalida en función del contenido del archivo cuando "#editor.detectIndentation#" está activado. ','Controla si "#editor.tabSize#" y "#editor.insertSpaces#" se detectarán automáticamente al abrir un archivo en función del contenido de este.',"Quitar el espacio en blanco final autoinsertado.","Manejo especial para archivos grandes para desactivar ciertas funciones de memoria intensiva.","Habilita sugerencias basadas en palabras.",'Mantiene abiertos los editores interactivos, incluso al hacer doble clic en su contenido o presionar "Escape".',"Las lineas por encima de esta longitud no se tokenizarán por razones de rendimiento.","Tiempo de espera en milisegundos después del cual se cancela el cálculo de diferencias. Utilice 0 para no usar tiempo de espera.","Controla si el editor de diferencias muestra las diferencias en paralelo o alineadas.","Controla si el editor de diferencias muestra los cambios de espacio inicial o espacio final como diferencias.","Controla si el editor de diferencias muestra los indicadores +/- para los cambios agregados o quitados."], +"vs/editor/common/config/editorOptions":["El editor usará API de plataforma para detectar cuándo está conectado un lector de pantalla.","El editor se optimizará de forma permanente para su uso con un editor de pantalla.","El editor nunca se optimizará para su uso con un lector de pantalla.","Controla si el editor se debe ejecutar en un modo optimizado para lectores de pantalla.","Controla si al copiar sin selección se copia la línea actual.","Controla si la cadena de búsqueda del widget de búsqueda se inicializa desde la selección del editor.","No activar nunca Buscar en la selección automáticamente (predeterminado)","Activar siempre automáticamente Buscar en la selección","Active Buscar en la selección automáticamente cuando se seleccionen varias líneas de contenido.","Controla si la operación de búsqueda se lleva a cabo en el texto seleccionado o el archivo entero en el editor.","Controla si el widget de búsqueda debe leer o modificar el Portapapeles de búsqueda compartido en macOS.","Controla si Encontrar widget debe agregar más líneas en la parte superior del editor. Si es true, puede desplazarse más allá de la primera línea cuando Encontrar widget está visible.","Habilita o deshabilita las ligaduras tipográficas.","Configuración explícita de las características de fuente.","Configura ligaduras de fuentes.","Controla el tamaño de fuente en píxeles.","Mostrar vista de inspección de los resultados (predeterminado)","Ir al resultado principal y mostrar una vista de inspección","Vaya al resultado principal y habilite la navegación sin peek para otros",'Esta configuración está en desuso. Use configuraciones separadas como "editor.editor.gotoLocation.multipleDefinitions" o "editor.editor.gotoLocation.multipleImplementations" en su lugar.','Controla el comportamiento del comando "Ir a definición" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a implementaciones" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a declaración" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a implementaciones" cuando existen varias ubicaciones de destino.','Controla el comportamiento del comando "Ir a referencias" cuando existen varias ubicaciones de destino.','Identificador de comando alternativo que se ejecuta cuando el resultado de "Ir a definición" es la ubicación actual.','Id. de comando alternativo que se está ejecutando cuando el resultado de "Ir a definición de tipo" es la ubicación actual.','Id. de comando alternativo que se está ejecutando cuando el resultado de "Ir a declaración" es la ubicación actual.','Id. de comando alternativo que se está ejecutando cuando el resultado de "Ir a implementación" es la ubicación actual.','Identificador de comando alternativo que se ejecuta cuando el resultado de "Ir a referencia" es la ubicación actual.',"Controla si se muestra la información al mantener el puntero sobre un elemento.","Controla el retardo en milisegundos después del cual se muestra la información al mantener el puntero sobre un elemento.","Controla si la información que aparece al mantener el puntero sobre un elemento permanece visible al mover el mouse sobre este.","Habilita la bombilla de acción de código en el editor.","Controla la altura de línea. Usa 0 para utilizar la altura del tamaño de fuente.","Controla si se muestra el minimapa.","Controla en qué lado se muestra el minimapa.","Controla cuándo se muestra el control deslizante del minimapa.","Escala del contenido dibujado en el minimapa.","Represente los caracteres reales en una línea, por oposición a los bloques de color.","Limite el ancho del minimapa para representar como mucho un número de columnas determinado.","Habilita un elemento emergente que muestra documentación de los parámetros e información de los tipos mientras escribe.","Controla si el menú de sugerencias de parámetros se cicla o se cierra al llegar al final de la lista.","Habilita sugerencias rápidas en las cadenas.","Habilita sugerencias rápidas en los comentarios.","Habilita sugerencias rápidas fuera de las cadenas y los comentarios.","Controla si deben mostrarse sugerencias automáticamente mientras se escribe.","Los números de línea no se muestran.","Los números de línea se muestran como un número absoluto.","Los números de línea se muestran como distancia en líneas a la posición del cursor.","Los números de línea se muestran cada 10 líneas.","Controla la visualización de los números de línea.","Muestra reglas verticales después de un cierto número de caracteres monoespaciados. Usa múltiples valores para mostrar múltiples reglas. Si la matriz está vacía, no se muestran reglas.","Inserte la sugerencia sin sobrescribir el texto a la derecha del cursor.","Inserte la sugerencia y sobrescriba el texto a la derecha del cursor.","Controla si las palabras se sobrescriben al aceptar la finalización. Tenga en cuenta que esto depende de las extensiones que participan en esta característica.",'Controla si se deben destacar las modificaciones inesperadas en el texto mientras se aceptan las finalizaciones, por ejemplo, "insertMode" es "replace", pero la finalización solo es compatible con "insert".',"Controla si el filtrado y la ordenación de sugerencias se tienen en cuenta para los errores ortográficos pequeños.","Controla si la ordenación de palabras mejora lo que aparece cerca del cursor.",'Controla si las selecciones de sugerencias recordadas se comparten entre múltiples áreas de trabajo y ventanas (necesita "#editor.suggestSelection#").',"Controla si un fragmento de código activo impide las sugerencias rápidas.","Controla si mostrar u ocultar iconos en sugerencias.","Controla cuántas sugerencias mostrará IntelliSense antes de que aparezca una barra de desplazamiento (máximo 15).",'Esta configuración está en desuso. Use configuraciones separadas como "editor.suggest.showKeyword" o "editor.suggest.showSnippets" en su lugar.','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "method".','Cuando está habilitado, IntelliSense muestra sugerencias de "función".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "constructor".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "field".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "variable".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "class".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "struct".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "interface".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "module".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "property".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "event".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "operator".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "unit".','Cuando está habilitado, IntelliSense muestra sugerencias de "value".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "constant".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "enum".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "enumMember".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "keyword".','Si está habilitado, IntelliSense muestra sugerencias de tipo "text".','Cuando está habilitado, IntelliSense muestra sugerencias de "color".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "file".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "reference".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "customcolor".','Si está habilitado, IntelliSense muestra sugerencias de tipo "folder".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "typeParameter".','Cuando está habilitado, IntelliSense muestra sugerencias de tipo "snippet".','Controla si se deben aceptar sugerencias en los caracteres de confirmación. Por ejemplo, en Javascript, el punto y coma (";") puede ser un carácter de confirmación que acepta una sugerencia y escribe ese carácter.','Aceptar solo una sugerencia con "Entrar" cuando realiza un cambio textual.','Controla si las sugerencias deben aceptarse con "Entrar", además de "TAB". Ayuda a evitar la ambigüedad entre insertar nuevas líneas o aceptar sugerencias.',"Controla el número de líneas en el editor que puede leer un lector de pantalla. Advertencia: Esto puede afectar al rendimiento de números superiores al predeterminado.","Contenido del editor","Utilizar las configuraciones del lenguaje para determinar cuándo cerrar los corchetes automáticamente.","Cerrar automáticamente los corchetes cuando el cursor esté a la izquierda de un espacio en blanco.","Controla si el editor debe cerrar automáticamente los corchetes después de que el usuario agregue un corchete de apertura.","Escriba en las comillas o los corchetes solo si se insertaron automáticamente.","Controla si el editor debe escribir entre comillas o corchetes.","Utilizar las configuraciones del lenguaje para determinar cuándo cerrar las comillas automáticamente. ","Cerrar automáticamente las comillas cuando el cursor esté a la izquierda de un espacio en blanco. ","Controla si el editor debe cerrar automáticamente las comillas después de que el usuario agrega uma comilla de apertura.","El editor no insertará la sangría automáticamente.","El editor mantendrá la sangría de la línea actual.","El editor respetará la sangría de la línea actual y los corchetes definidos por el idioma.","El editor mantendrá la sangría de la línea actual, respetará los corchetes definidos por el idioma e invocará onEnterRules especiales definidos por idiomas.","El editor respetará la sangría de la línea actual, los corchetes definidos por idiomas y las reglas indentationRules definidas por idiomas, además de invocar reglas onEnterRules especiales.","Controla si el editor debe ajustar automáticamente la sangría mientras los usuarios escriben, pegan, mueven o sangran líneas.","Use las configuraciones de idioma para determinar cuándo delimitar las selecciones automáticamente.","Envolver con comillas, pero no con corchetes.","Envolver con corchetes, pero no con comillas.","Controla si el editor debe delimitar automáticamente las selecciones.","Controla si el editor muestra CodeLens.","Controla si el editor debe representar el Selector de colores y los elementos Decorator de color en línea.","Controla si el resaltado de sintaxis debe ser copiado al portapapeles.","Controla el estilo de animación del cursor.","Controla si la animación suave del cursor debe estar habilitada.","Controla el estilo del cursor.",'Controla el número mínimo de líneas iniciales y finales visibles que rodean al cursor. Se conoce como "scrollOff" o "scrollOffset" en algunos otros editores.','Solo se aplica "cursorSurroundingLines" cuando se desencadena mediante el teclado o la API.','"cursorSurroundingLines" se aplica siempre.','Controla cuando se debe aplicar "cursorSurroundingLines".','Controla el ancho del cursor cuando "#editor.cursorStyle#" se establece en "line".',"Controla si el editor debe permitir mover las selecciones mediante arrastrar y colocar.",'Multiplicador de la velocidad de desplazamiento al presionar "Alt".',"Controla si el editor tiene el plegado de código habilitado.",'Controla la estrategia para calcular los intervalos de plegado. "auto" usa una estrategia de plegado específica del idioma, si está disponible. "indentation" usa la estrategia de plegado basada en sangría.',"Controla la familia de fuentes.","Controla el grosor de la fuente.","Controla si el editor debe dar formato automáticamente al contenido pegado. Debe haber disponible un formateador capaz de aplicar formato a un rango dentro de un documento. ","Controla si el editor debe dar formato a la línea automáticamente después de escribirla.","Controla si el editor debe representar el margen de glifo vertical. El margen de glifo se usa, principalmente, para depuración.","Controla si el cursor debe ocultarse en la regla de información general.","Controla si el editor debe resaltar la guía de sangría activa.","Controla el espacio entre letras en pixels.","Controla si el editor debe detectar vínculos y hacerlos interactivos.","Resaltar paréntesis coincidentes.",'Se usará un multiplicador en los eventos de desplazamiento de la rueda del mouse "deltaX" y "deltaY". ','Ampliar la fuente del editor cuando se use la rueda del mouse mientras se presiona "Ctrl".',"Combinar varios cursores cuando se solapan.",'Se asigna a "Control" en Windows y Linux y a "Comando" en macOS.','Se asigna a "Alt" en Windows y Linux y a "Opción" en macOS.',"El modificador que se usará para agregar varios cursores con el mouse. Los gestos del mouse Ir a definición y Abrir vínculo se adaptarán de modo que no entren en conflicto con el modificador multicursor. [Más información](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Cada cursor pega una única línea del texto.","Cada cursor pega el texto completo.","Controla el pegado cuando el recuento de líneas del texto pegado coincide con el recuento de cursores.","Controla si el editor debe resaltar las apariciones de símbolos semánticos.","Controla si debe dibujarse un borde alrededor de la regla de información general.","Controla el retraso, en milisegundos, tras el cual aparecerán sugerencias rápidas.","Controla si el editor debe representar caracteres de control.","Controla si el editor debe representar guías de sangría.","Representar el número de la última línea cuando el archivo termina con un salto de línea.","Resalta el medianil y la línea actual.","Controla cómo debe representar el editor el resaltado de línea actual.","Render whitespace characters except for single spaces between words.","Represente los caracteres de espacio en blanco solo en el texto seleccionado.","Controla la forma en que el editor debe representar los caracteres de espacio en blanco.","Controla si las selecciones deberían tener las esquinas redondeadas.","Controla el número de caracteres adicionales a partir del cual el editor se desplazará horizontalmente.","Controla si el editor seguirá haciendo scroll después de la última línea.","Controla si el portapapeles principal de Linux debe admitirse.","Controla si el editor debe destacar las coincidencias similares a la selección.","Controla cuándo los controles de plegado del margen son ocultados automáticamente.","Controla el fundido de salida del código no usado.","Mostrar sugerencias de fragmentos de código por encima de otras sugerencias.","Mostrar sugerencias de fragmentos de código por debajo de otras sugerencias.","Mostrar sugerencias de fragmentos de código con otras sugerencias.","No mostrar sugerencias de fragmentos de código.","Controla si se muestran los fragmentos de código con otras sugerencias y cómo se ordenan.","Controla si el editor se desplazará con una animación.","Tamaño de la fuente para el widget de sugerencias. Cuando se establece a `0`, se utilizará el valor `#editor.fontSize#`.","Altura de la línea del widget de sugerencias. Cuando se establece a `0`, se utiliza el valor `#editor.lineHeight#`.","Controla si deben aparecer sugerencias de forma automática al escribir caracteres desencadenadores.","Seleccionar siempre la primera sugerencia.",'Seleccione sugerencias recientes a menos que al escribir más se seleccione una, por ejemplo, "console.| -> console.log" porque "log" se ha completado recientemente.','Seleccione sugerencias basadas en prefijos anteriores que han completado esas sugerencias, por ejemplo, "co -> console" y "con -> const".',"Controla cómo se preseleccionan las sugerencias cuando se muestra la lista,","La pestaña se completará insertando la mejor sugerencia de coincidencia encontrada al presionar la pestaña","Deshabilitar los complementos para pestañas.","La pestaña se completa con fragmentos de código cuando su prefijo coincide. Funciona mejor cuando las 'quickSuggestions' no están habilitadas.","Habilita completar pestañas.","La inserción y eliminación del espacio en blanco sigue a las tabulaciones.","Caracteres que se usarán como separadores de palabras al realizar operaciones o navegaciones relacionadas con palabras.","Las líneas no se ajustarán nunca.","Las líneas se ajustarán en el ancho de la ventanilla.",'Las líneas se ajustarán al valor de "#editor.wordWrapColumn#". ','Las líneas se ajustarán al valor que sea inferior: el tamaño de la ventanilla o el valor de "#editor.wordWrapColumn#".',"Controla cómo deben ajustarse las líneas.",'Controla la columna de ajuste del editor cuando "#editor.wordWrap#" es "wordWrapColumn" o "bounded".',"No hay sangría. Las líneas ajustadas comienzan en la columna 1.","A las líneas ajustadas se les aplica la misma sangría que al elemento primario.","A las líneas ajustadas se les aplica una sangría de +1 respecto al elemento primario.","A las líneas ajustadas se les aplica una sangría de +2 respecto al elemento primario.","Controla la sangría de las líneas ajustadas."], +"vs/editor/common/modes/modesRegistry":["Texto sin formato"], +"vs/editor/common/standaloneStrings":["Sin selección","Línea {0}, columna {1} ({2} seleccionadas)","Línea {0}, columna {1}","{0} selecciones ({1} caracteres seleccionados)","{0} selecciones",'Se cambiará ahora el valor "accessibilitySupport" a "activado".',"Se abrirá ahora la página de documentación de accesibilidad del editor.","en un panel de solo lectura de un editor de diferencias.","en un panel de un editor de diferencias.","en un editor de código de solo lectura"," en un editor de código","Para configurar el editor de forma que se optimice su uso con un lector de pantalla, presione ahora Comando+E.","Para configurar el editor de forma que se optimice su uso con un lector de pantalla, presione ahora Control+E.","El editor está configurado para optimizarse para su uso con un lector de pantalla.","El editor está configurado para que no se optimice nunca su uso con un lector de pantalla, que en este momento no es el caso.","Al presionar TAB en el editor actual, el foco se mueve al siguiente elemento activable. Presione {0} para activar o desactivar este comportamiento.","Al presionar TAB en el editor actual, el foco se mueve al siguiente elemento activable. El comando {0} no se puede desencadenar actualmente mediante un enlace de teclado.","Al presionar TAB en el editor actual, se insertará el carácter de tabulación. Presione {0} para activar o desactivar este comportamiento.","Al presionar TAB en el editor actual, se insertará el carácter de tabulación. El comando {0} no se puede desencadenar actualmente mediante un enlace de teclado.","Presione ahora Comando+H para abrir una ventana del explorador con más información relacionada con la accesibilidad del editor.","Presione ahora Control+H para abrir una ventana del explorador con más información relacionada con la accesibilidad del editor.","Para descartar esta información sobre herramientas y volver al editor, presione Esc o Mayús+Escape.","Mostrar ayuda de accesibilidad","Desarrollador: inspeccionar tokens","Ir a la línea {0} y al carácter {1}","Ir a la línea {0}","Escriba un número de línea comprendido entre 1 y {0} a la cual quiera navegar.","Escriba un carácter entre 1 y {0} para ir a","Línea actual: {0}. ir a la línea {1}.","Escriba un número de línea, seguido de un signo opcional de dos puntos y un número de caracteres para desplazarse a","Ir a la línea...","{0}, {1}, comandos","{0}, comandos","Escriba el nombre de una acción que desee ejecutar","Paleta de comandos","{0}, símbolos","Escriba el nombre de un identificador al que quiera ir","Ir a símbolo...","símbolos ({0})","módulos ({0})","clases ({0})","interfaces ({0})","métodos ({0})","funciones ({0})","propiedades ({0})","variables ({0})","variables ({0})","constructores ({0})","llama a ({0})","Contenido del editor","Presione Ctrl+F1 para ver las opciones de accesibilidad.","Presione Alt+F1 para ver las opciones de accesibilidad.","Alternar tema de contraste alto","{0} ediciones realizadas en {1} archivos"], +"vs/editor/common/view/editorColorRegistry":["Color de fondo para la línea resaltada en la posición del cursor.","Color de fondo del borde alrededor de la línea en la posición del cursor.","Color de fondo de rangos resaltados, como en abrir rápido y encontrar características. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo del borde alrededor de los intervalos resaltados.","Color de fondo del símbolo destacado, como Ir a definición o Ir al siguiente/anterior símbolo. El color no debe ser opaco para no ocultar la decoración subyacente.","Color de fondo del borde alrededor de los símbolos resaltados.","Color del cursor del editor.","Color de fondo del cursor de edición. Permite personalizar el color del caracter solapado por el bloque del cursor.","Color de los caracteres de espacio en blanco del editor.","Color de las guías de sangría del editor.","Color de las guías de sangría activas del editor.","Color de números de línea del editor.","Color del número de línea activa en el editor","ID es obsoleto. Usar en lugar 'editorLineNumber.activeForeground'. ","Color del número de línea activa en el editor","Color de las reglas del editor","Color principal de lentes de código en el editor","Color de fondo tras corchetes coincidentes","Color de bloques con corchetes coincidentes","Color del borde de la regla de visión general.","Color de fondo del margen del editor. Este espacio contiene los márgenes de glifos y los números de línea.","Color del borde de código fuente innecesario (sin usar) en el editor.","Opacidad de código fuente innecesario (sin usar) en el editor. Por ejemplo, \"#000000c0\" representará el código con un 75 % de opacidad. Para temas de alto contraste, utilice el color del tema 'editorUnnecessaryCode.border' para resaltar el código innecesario en vez de atenuarlo.","Color de marcador de regla de información general para errores. ","Color de marcador de regla de información general para advertencias.","Color de marcador de regla de información general para mensajes informativos. "], +"vs/editor/contrib/bracketMatching/bracketMatching":["Resumen color de marcador de regla para corchetes.","Ir al corchete","Seleccionar para corchete","Ir al &&corchete"],"vs/editor/contrib/caretOperations/caretOperations":["Mover símbolo de inserción a la izquierda","Mover símbolo de inserción a la derecha"],"vs/editor/contrib/caretOperations/transpose":["Transponer letras"],"vs/editor/contrib/clipboard/clipboard":["Cortar","Cor&&tar","Copiar","C&&opiar","Pegar","&&Pegar","Copiar con resaltado de sintaxis"], +"vs/editor/contrib/codeAction/codeActionCommands":["Tipo de la acción de código que se va a ejecutar.","Controla cuándo se aplican las acciones devueltas.","Aplicar siempre la primera acción de código devuelto.","Aplicar la primera acción de código devuelta si solo hay una.","No aplique las acciones de código devuelto.","Controla si solo se deben devolver las acciones de código preferidas.","Se ha producido un error desconocido al aplicar la acción de código","Corrección Rápida","No hay acciones de código disponibles",'No hay acciones de código preferidas para "{0}" disponibles','No hay ninguna acción de código para "{0}" disponible.',"No hay acciones de código preferidas disponibles","No hay acciones de código disponibles","Refactorizar...",'No hay refactorizaciones de "{0}" disponibles','No hay refactorizaciones de "{0}" disponibles',"No hay ninguna refactorización favorita disponible.","No hay refactorizaciones disponibles","Acción de Origen...",'No hay acciones de origen preferidas para "{0}" disponibles','No hay ninguna acción de origen para "{0}" disponible.',"No hay ninguna acción de origen favorita disponible.","No hay acciones de origen disponibles","Organizar Importaciones","No hay acciones de importación disponibles","Corregir todo","No está disponible la acción de corregir todo","Corregir automáticamente...","No hay autocorrecciones disponibles"], +"vs/editor/contrib/codeAction/lightBulbWidget":["Mostrar correcciones. Solución preferida disponible ({0})","Mostrar correcciones ({0})","Mostrar correcciones"],"vs/editor/contrib/comment/comment":["Alternar comentario de línea","&&Alternar comentario de línea","Agregar comentario de línea","Quitar comentario de línea","Alternar comentario de bloque","Alternar &&bloque de comentario"],"vs/editor/contrib/contextmenu/contextmenu":["Mostrar menú contextual del editor"],"vs/editor/contrib/cursorUndo/cursorUndo":["Cursor Deshacer","Cursor Rehacer"], +"vs/editor/contrib/documentSymbols/outlineTree":["Color de primer plano de los símbolos de matriz. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos booleanos. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de clase. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de color. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos constantes. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de constructor. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de enumerador. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de miembro del enumerador. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de evento. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de campo. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de archivo. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de carpeta. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de función. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de interfaz. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de claves. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de palabra clave. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de método. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de módulo. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de espacio de nombres. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos nulos. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano para los símbolos numéricos. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de objeto. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano para los símbolos del operador. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de paquete. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de propiedad. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de referencia. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de fragmento de código. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de cadena. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de estructura. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de texto. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano para los símbolos de parámetro de tipo. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos de unidad. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias.","Color de primer plano de los símbolos variables. Estos símbolos aparecen en el contorno, la ruta de navegación y el widget de sugerencias."], +"vs/editor/contrib/find/findController":["Buscar","&&Buscar","Buscar con selección","Buscar siguiente","Buscar siguiente","Buscar anterior","Buscar anterior","Buscar selección siguiente","Buscar selección anterior","Reemplazar","&&Reemplazar"],"vs/editor/contrib/find/findWidget":["Buscar","Buscar","Coincidencia anterior","Próxima coincidencia","Buscar en selección","Cerrar","Reemplazar","Reemplazar","Reemplazar","Reemplazar todo","Alternar modo de reemplazar","Sólo los primeros {0} resultados son resaltados, pero todas las operaciones de búsqueda trabajan en todo el texto.","{0} de {1}","No hay resultados","Encontrados: {0}","Encontrados: {0} para {1}","Encontrados: {0} para {1} en {2}","Encontrados: {0} para {1}","Ctrl+Entrar ahora inserta un salto de línea en lugar de reemplazar todo. Puede modificar el enlace de claves para editor.action.replaceAll para invalidar este comportamiento."], +"vs/editor/contrib/folding/folding":["Desplegar","Desplegar de forma recursiva","Plegar","Alternar plegado","Plegar de forma recursiva","Cerrar todos los comentarios de bloque","Plegar todas las regiones","Desplegar Todas las Regiones","Plegar todo","Desplegar todo","Nivel de plegamiento {0}"],"vs/editor/contrib/fontZoom/fontZoom":["Acercarse a la tipografía del editor","Alejarse de la tipografía del editor","Restablecer alejamiento de la tipografía del editor"],"vs/editor/contrib/format/format":["1 edición de formato en la línea {0}","{0} ediciones de formato en la línea {1}","1 edición de formato entre las líneas {0} y {1}","{0} ediciones de formato entre las líneas {1} y {2}"],"vs/editor/contrib/format/formatActions":["Dar formato al documento","Dar formato a la selección"], +"vs/editor/contrib/gotoError/gotoError":["Ir al siguiente problema (Error, Advertencia, Información)","Ir al problema anterior (Error, Advertencia, Información)","Ir al siguiente problema en Archivos (Error, Advertencia, Información)","Ir al problema anterior en Archivos (Error, Advertencia, Información)","Siguiente &&problema","Anterior &&problema"],"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} de {1} problemas","{0} de {1} problema","Color de los errores del widget de navegación de marcadores del editor.","Color de las advertencias del widget de navegación de marcadores del editor.","Color del widget informativo marcador de navegación en el editor.","Fondo del widget de navegación de marcadores del editor."], +"vs/editor/contrib/gotoSymbol/goToCommands":["Ver","Definiciones",'No se encontró ninguna definición para "{0}"',"No se encontró ninguna definición","Ir a definición","Ir a &&definición","Abrir definición en el lateral","Ver la definición","Declaraciones","No se encontró ninguna definición para '{0}'","No se encontró ninguna declaración","Ir a Definición","Ir a &&Declaración","No se encontró ninguna definición para '{0}'","No se encontró ninguna declaración","Inspeccionar Definición","Definiciones de tipo",'No se encontró ninguna definición de tipo para "{0}"',"No se encontró ninguna definición de tipo","Ir a la definición de tipo","Ir a la definición de &&tipo","Inspeccionar definición de tipo","Implementaciones",'No se encontró ninguna implementación para "{0}"',"No se encontró ninguna implementación","Ir a Implementaciones","Ir a &&Implementaciones","Inspeccionar implementaciones",'No se ha encontrado ninguna referencia para "{0}".',"No se encontraron referencias","Ir a Referencias","Ir a &&Referencias","Referencias","Inspeccionar Referencias","Referencias","Ir a cualquier símbolo","Ubicaciones",'No hay ningún resultado para "{0}".',"Referencias"], +"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Haga clic para mostrar {0} definiciones."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Cargando...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["Error al resolver el archivo.","{0} referencias","{0} referencia"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["vista previa no disponible","Referencias","No hay resultados","Referencias"],"vs/editor/contrib/gotoSymbol/referencesModel":["símbolo en {0} linea {1} en la columna {2}","1 símbolo en {0}, ruta de acceso completa {1}","{0} símbolos en {1}, ruta de acceso completa {2}","No se encontraron resultados","Encontró 1 símbolo en {0}","Encontró {0} símbolos en {1}","Encontró {0} símbolos en {1} archivos"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Símbolo {0} de {1}, {2} para el siguiente","Símbolo {0} de {1}"],"vs/editor/contrib/hover/hover":["Mostrar al mantener el puntero","Mostrar vista previa de la definición que aparece al mover el puntero"], +"vs/editor/contrib/hover/modesContentHover":["Cargando...","Problema de pico","Buscando correcciones rápidas...","No hay correcciones rápidas disponibles","Corrección Rápida"],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Reemplazar con el valor anterior","Reemplazar con el valor siguiente"],"vs/editor/contrib/linesOperations/linesOperations":["Copiar línea arriba","&&Copiar línea arriba","Copiar línea abajo","Co&&piar línea abajo","Selección duplicada","&&Duplicar selección","Mover línea hacia arriba","Mo&&ver línea arriba","Mover línea hacia abajo","Mover &&línea abajo","Ordenar líneas en orden ascendente","Ordenar líneas en orden descendente","Recortar espacio final","Eliminar línea","Sangría de línea","Anular sangría de línea","Insertar línea arriba","Insertar línea debajo","Eliminar todo a la izquierda","Eliminar todo lo que está a la derecha","Unir líneas","Transponer caracteres alrededor del cursor","Transformar a mayúsculas","Transformar a minúsculas","Transformar en Title Case"], +"vs/editor/contrib/links/links":["Ejecutar comando","Seguir vínculo","cmd + clic","ctrl + clic","opción + clic","alt + clic","No se pudo abrir este vínculo porque no tiene un formato correcto: {0}","No se pudo abrir este vínculo porque falta el destino.","Abrir vínculo"],"vs/editor/contrib/message/messageController":["No se puede editar en un editor de sólo lectura"], +"vs/editor/contrib/multicursor/multicursor":["Agregar cursor arriba","&&Agregar cursor arriba","Agregar cursor debajo","A&&gregar cursor abajo","Añadir cursores a finales de línea","Agregar c&&ursores a extremos de línea","Añadir cursores a la parte inferior","Añadir cursores a la parte superior","Agregar selección hasta la siguiente coincidencia de búsqueda","Agregar &&siguiente repetición","Agregar selección hasta la anterior coincidencia de búsqueda","Agregar r&&epetición anterior","Mover última selección hasta la siguiente coincidencia de búsqueda","Mover última selección hasta la anterior coincidencia de búsqueda","Seleccionar todas las repeticiones de coincidencia de búsqueda","Seleccionar todas las &&repeticiones","Cambiar todas las ocurrencias"],"vs/editor/contrib/parameterHints/parameterHints":["Sugerencias para parámetros Trigger"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, sugerencia"], +"vs/editor/contrib/peekView/peekView":["Cerrar","Color de fondo del área de título de la vista de inspección.","Color del título de la vista de inpección.","Color de la información del título de la vista de inspección.","Color de los bordes y la flecha de la vista de inspección.","Color de fondo de la lista de resultados de vista de inspección.","Color de primer plano de los nodos de inspección en la lista de resultados.","Color de primer plano de los archivos de inspección en la lista de resultados.","Color de fondo de la entrada seleccionada en la lista de resultados de vista de inspección.","Color de primer plano de la entrada seleccionada en la lista de resultados de vista de inspección.","Color de fondo del editor de vista de inspección.","Color de fondo del margen en el editor de vista de inspección.","Buscar coincidencia con el color de resaltado de la lista de resultados de vista de inspección.","Buscar coincidencia del color de resultado del editor de vista de inspección.","Hacer coincidir el borde resaltado en el editor de vista previa."], +"vs/editor/contrib/rename/rename":["No hay ningún resultado.","Error desconocido al resolver el cambio de nombre de la ubicación","Nombre cambiado correctamente de '{0}' a '{1}'. Resumen: {2}","No se pudo cambiar el nombre.","Cambiar el nombre del símbolo"],"vs/editor/contrib/rename/renameInputField":["Cambie el nombre de la entrada. Escriba el nuevo nombre y presione Entrar para confirmar."],"vs/editor/contrib/smartSelect/smartSelect":["Expandir selección","&&Expandir selección","Reducir la selección","&&Reducir selección"],"vs/editor/contrib/snippet/snippetVariables":["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Dom","Lun","Mar","Mié","Jue","Vie","Sáb","Enero","Febrero","Marzo","Abril","May","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre","Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],"vs/editor/contrib/suggest/suggestController":['Aceptando "{0}" ediciones adicionales de {1} realizadas',"Sugerencias para Trigger"], +"vs/editor/contrib/suggest/suggestWidget":["Color de fondo del widget sugerido.","Color de borde del widget sugerido.","Color de primer plano del widget sugerido.","Color de fondo de la entrada seleccionada del widget sugerido.","Color del resaltado coincidido en el widget sugerido.","Leer más...{0}","Leer menos...{0}","Cargando...","Cargando...","No hay sugerencias.","Elemento {0}, documentos: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Alternar tecla de tabulación para mover el punto de atención","Presionando la pestaña ahora moverá el foco al siguiente elemento enfocable.","Presionando la pestaña ahora insertará el carácter de tabulación"],"vs/editor/contrib/tokenization/tokenization":["Desarrollador: forzar nueva aplicación de token"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["Color de fondo de un símbolo durante el acceso de lectura, como la lectura de una variable. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo de un símbolo durante el acceso de escritura, como escribir en una variable. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de fondo de un símbolo durante el acceso de lectura; por ejemplo, cuando se lee una variable.","Color de fondo de un símbolo durante el acceso de escritura; por ejemplo, cuando se escribe una variable.","Color del marcador de regla general para destacados de símbolos. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de marcador de regla general para destacados de símbolos de acceso de escritura. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Ir al siguiente símbolo destacado","Ir al símbolo destacado anterior","Desencadenar los símbolos destacados"], +"vs/platform/configuration/common/configurationRegistry":["La configuración predeterminada se reemplaza","Establecer los valores de configuración que se reemplazarán para un lenguaje.",'No se puede registrar "{0}". Coincide con el patrón de propiedad \'\\\\[.*\\\\]$\' para describir la configuración del editor específica del lenguaje. Utilice la contribución "configurationDefaults".','No se puede registrar "{0}". Esta propiedad ya está registrada.'],"vs/platform/keybinding/common/abstractKeybindingService":["Se presionó ({0}). Esperando la siguiente tecla...","La combinación de teclas ({0}, {1}) no es ningún comando."], +"vs/platform/list/browser/listService":["Área de trabajo",'Se asigna a "Control" en Windows y Linux y a "Comando" en macOS.','Se asigna a "Alt" en Windows y Linux y a "Opción" en macOS.',"El modificador que se utilizará para agregar un elemento en los árboles y listas para una selección múltiple con el ratón (por ejemplo en el explorador, abiertos editores y vista de scm). Los gestos de ratón 'Abrir hacia' - si están soportados - se adaptarán de forma tal que no tenga conflicto con el modificador múltiple.","Controla cómo abrir elementos en árboles y listas usando el ratón (si está soportado). Para elementos padres con hijos en los árboles, esta configuración controlará si de un solo click o un doble click expande al elemento padre. Tenga en cuenta que algunos árboles y listas pueden optar por ignorar esta configuración si no se aplica.","Controla si las listas y los árboles admiten el desplazamiento horizontal en el área de trabajo.","Controla el esplazamiento horizontal de los árboles en la mesa de trabajo.",'Esta configuración está obsoleta, utilice "{0}" en su lugar.',"Controla la sangría de árbol en píxeles.","Controla si el árbol debe representar guías de sangría.","La navegación simple del teclado se centra en elementos que coinciden con la entrada del teclado. El emparejamiento se hace solo en prefijos.","Destacar la navegación del teclado resalta los elementos que coinciden con la entrada del teclado. Más arriba y abajo la navegación atravesará solo los elementos destacados.","La navegación mediante el teclado de filtro filtrará y ocultará todos los elementos que no coincidan con la entrada del teclado.","Controla el estilo de navegación del teclado para listas y árboles en el área de trabajo. Puede ser simple, resaltar y filtrar.",'Controla si la navegación del teclado en listas y árboles se activa automáticamente simplemente escribiendo. Si se establece en "false", la navegación con el teclado solo se activa al ejecutar el comando "list.toggleKeyboardNavigation", para el cual puede asignar un método abreviado de teclado.'], +"vs/platform/markers/common/markers":["Error","Advertencia","Información"], +"vs/platform/theme/common/colorRegistry":["Color de primer plano general. Este color solo se usa si un componente no lo invalida.","Color de primer plano general para los mensajes de erroe. Este color solo se usa si un componente no lo invalida.","Color de borde de los elementos con foco. Este color solo se usa si un componente no lo invalida.","Un borde adicional alrededor de los elementos para separarlos unos de otros y así mejorar el contraste.","Un borde adicional alrededor de los elementos activos para separarlos unos de otros y así mejorar el contraste.","Color de primer plano para los vínculos en el texto.","Color de fondo para los bloques de código en el texto.","Color de sombra de los widgets dentro del editor, como buscar/reemplazar","Fondo de cuadro de entrada.","Primer plano de cuadro de entrada.","Borde de cuadro de entrada.","Color de borde de opciones activadas en campos de entrada.","Color de fondo de las opciones activadas en los campos de entrada.","Color de fondo de validación de entrada para gravedad de información.","Color de primer plano de validación de entrada para información de gravedad.","Color de borde de validación de entrada para gravedad de información.","Color de fondo de validación de entrada para gravedad de advertencia.","Color de primer plano de validación de entrada para información de advertencia.","Color de borde de validación de entrada para gravedad de advertencia.","Color de fondo de validación de entrada para gravedad de error.","Color de primer plano de validación de entrada para información de error.","Color de borde de valdación de entrada para gravedad de error.","Fondo de lista desplegable.","Primer plano de lista desplegable.","Selector de color rápido para la agrupación de etiquetas.","Selector de color rápido para la agrupación de bordes.","Color de fondo de la insignia. Las insignias son pequeñas etiquetas de información, por ejemplo los resultados de un número de resultados.","Color de fondo de la insignia. Las insignias son pequeñas etiquetas de información, por ejemplo los resultados de un número de resultados.","Sombra de la barra de desplazamiento indica que la vista se ha despazado.","Color de fondo de control deslizante de barra de desplazamiento.","Color de fondo de barra de desplazamiento cursor cuando se pasar sobre el control.","Color de fondo de la barra de desplazamiento al hacer clic.","Color de fondo para la barra de progreso que se puede mostrar para las operaciones de larga duración.","Color de primer plano de squigglies de error en el editor.","Color del borde de los cuadros de error en el editor.","Color de primer plano de squigglies de advertencia en el editor.","Color del borde de los cuadros de advertencia en el editor.","Color de primer plano de los subrayados ondulados informativos en el editor.","Color del borde de los cuadros de información en el editor.","Color de primer plano de pista squigglies en el editor.","Color del borde de los cuadros de sugerencia en el editor.","Color de fondo del editor.","Color de primer plano predeterminado del editor.","Color de fondo del editor de widgets como buscar/reemplazar","Color de primer plano de los widgets del editor, como buscar y reemplazar.","Color de borde de los widgets del editor. El color solo se usa si el widget elige tener un borde y no invalida el color.","Color del borde de la barra de cambio de tamaño de los widgets del editor. El color se utiliza solo si el widget elige tener un borde de cambio de tamaño y si un widget no invalida el color.","Color de la selección del editor.","Color del texto seleccionado para alto contraste.","Color de la selección en un editor inactivo. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color en las regiones con el mismo contenido que la selección. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de borde de las regiones con el mismo contenido que la selección.","Color de la coincidencia de búsqueda actual.","Color de los otros resultados de la búsqueda. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de la gama que limita la búsqueda. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de borde de la coincidencia de búsqueda actual.","Color de borde de otra búsqueda que coincide.","Color del borde de la gama que limita la búsqueda. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Destacar debajo de la palabra para la que se muestra un mensaje al mantener el mouse. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de fondo al mantener el puntero en el editor.","Color de primer plano al mantener el puntero en el editor.","Color del borde al mantener el puntero en el editor.","Color de fondo de la barra de estado al mantener el puntero en el editor.","Color de los vínculos activos.","El color utilizado para el icono de bombilla de acciones.","El color utilizado para el icono de la bombilla de acciones de corrección automática.","Color de fondo para el texto que se insertó. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de fondo para el texto que se eliminó. El color no debe ser opaco para no ocultar decoraciones subyacentes.","Color de contorno para el texto insertado.","Color de contorno para el texto quitado.","Color del borde entre ambos editores de texto.","Color de fondo de la lista o el árbol del elemento con el foco cuando la lista o el árbol están activos. Una lista o un árbol tienen el foco del teclado cuando están activos, cuando están inactivos no.","Color de fondo de la lista o el árbol del elemento con el foco cuando la lista o el árbol están activos. Una lista o un árbol tienen el foco del teclado cuando están activos, cuando están inactivos no.","Color de fondo de la lista o el árbol del elemento seleccionado cuando la lista o el árbol están activos. Una lista o un árbol tienen el foco del teclado cuando están activos, cuando están inactivos no.","Color de primer plano de la lista o el árbol del elemento con el foco cuando la lista o el árbol están activos. Una lista o un árbol tienen el foco del teclado cuando están activos, cuando están inactivos no.","Color de fondo de la lista o el árbol del elemento seleccionado cuando la lista o el árbol están inactivos. Una lista o un árbol tienen el foco del teclado cuando están activos, cuando están inactivos no.","Color de primer plano de la lista o el árbol del elemento con el foco cuando la lista o el árbol esta inactiva. Una lista o un árbol tiene el foco del teclado cuando está activo, cuando esta inactiva no.","Color de fondo de la lista o el árbol del elemento con el foco cuando la lista o el árbol están inactivos. Una lista o un árbol tienen el foco del teclado cuando están activos, pero no cuando están inactivos.","Fondo de la lista o el árbol al mantener el mouse sobre los elementos.","Color de primer plano de la lista o el árbol al pasar por encima de los elementos con el ratón.","Fondo de arrastrar y colocar la lista o el árbol al mover los elementos con el mouse.","Color de primer plano de la lista o el árbol de las coincidencias resaltadas al buscar dentro de la lista o el ábol.","Color de fondo del widget de filtro de tipo en listas y árboles.","Color de contorno del widget de filtro de tipo en listas y árboles.","Color de contorno del widget de filtro de tipo en listas y árboles, cuando no hay coincidencias.","Color de trazo de árbol para las guías de sangría.","Color del borde de los menús.","Color de primer plano de los elementos de menú.","Color de fondo de los elementos de menú. ","Color de primer plano del menu para el elemento del menú seleccionado.","Color de fondo del menu para el elemento del menú seleccionado.","Color del borde del elemento seleccionado en los menús.","Color del separador del menu para un elemento del menú.","Resaltado del color de fondo para una ficha de un fragmento de código.","Resaltado del color del borde para una ficha de un fragmento de código.","Resaltado del color de fondo para la última ficha de un fragmento de código.","Resaltado del color del borde para la última ficha de un fragmento de código.","Color del marcador de regla general para buscar actualizaciones. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color del marcador de la regla general para los destacados de la selección. El color no debe ser opaco para no ocultar las decoraciones subyacentes.","Color de marcador de minimapa para coincidencias de búsqueda.","Color del marcador de minimapa para la selección del editor.","Color del marcador de minimapa para errores.","Color del marcador de minimapa para advertencias.","Color utilizado para el icono de error de problemas.","Color utilizado para el icono de advertencia de problemas.","Color utilizado para el icono de información de problemas."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.es.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.fr.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.fr.js new file mode 100755 index 00000000..5d4b2162 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.fr.js @@ -0,0 +1,37 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.fr",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (s'est reproduit)","{0} (survenu {1} fois)"],"vs/base/browser/ui/findinput/findInput":["Entrée"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Respecter la casse","Mot entier","Utiliser une expression régulière"],"vs/base/browser/ui/findinput/replaceInput":["Entrée","Préserver la casse"],"vs/base/browser/ui/inputbox/inputBox":["Erreur : {0}","Avertissement : {0}","Info : {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Indépendant"],"vs/base/browser/ui/list/listWidget":["{0}. Utiliser les touches de navigation pour naviguer."],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Effacer","Désactiver le filtre sur le type","Activer le filtre sur le type","Aucun élément","{0} éléments sur {1} correspondants"], +"vs/base/common/keybindingLabels":["Ctrl","Maj","Alt","Windows","Ctrl","Maj","Alt","Super","Contrôle","Maj","Alt","Commande","Contrôle","Maj","Alt","Windows","Contrôle","Maj","Alt","Super"],"vs/base/common/severity":["Erreur","Avertissement","Info"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}, sélecteur","sélecteur"],"vs/base/parts/quickopen/browser/quickOpenWidget":["Sélecteur rapide. Tapez pour réduire les résultats.","Sélecteur rapide","{0} résultats"],"vs/editor/browser/controller/coreCommands":["&&Sélectionner tout","Ann&&uler","&&Rétablir"],"vs/editor/browser/controller/textAreaHandler":["L'éditeur n'est pas accessible pour le moment. Appuyez sur Alt+F1 pour connaître les options."],"vs/editor/browser/widget/codeEditorWidget":["Le nombre de curseurs a été limité à {0}."],"vs/editor/browser/widget/diffEditorWidget":["Impossible de comparer les fichiers car l'un d'eux est trop volumineux."], +"vs/editor/browser/widget/diffReview":["Fermer","aucune ligne","1 ligne","{0} lignes","Différence {0} sur {1} : original {2}, {3}, modifié {4}, {5}","vide","{0} d'origine, {1} modifiées : {2}","+ {0} modifiées : {1}","- {0} d'origine : {1}","Accéder à la différence suivante","Accéder la différence précédente"],"vs/editor/browser/widget/inlineDiffMargin":["Copier les lignes supprimées","Copier la ligne supprimée","Copier la ligne supprimée ({0})","Annuler la modification","Copier la ligne supprimée ({0})"], +"vs/editor/common/config/commonEditorConfig":["Éditeur","Le nombre d'espaces auxquels une tabulation est égale. Ce paramètre est substitué basé sur le contenu du fichier lorsque `#editor.detectIndentation#` est à 'on'.","Espaces insérés quand vous appuyez sur la touche Tab. Ce paramètre est remplacé en fonction du contenu du fichier quand '#editor.detectIndentation#' est activé.","Contrôle si '#editor.tabSize#' et '#editor.insertSpaces#' sont automatiquement détectés lors de l’ouverture d’un fichier en fonction de son contenu.","Supprimer l'espace blanc de fin inséré automatiquement.","Traitement spécial des fichiers volumineux pour désactiver certaines fonctionnalités utilisant beaucoup de mémoire.","Contrôle si la saisie semi-automatique doit être calculée en fonction des mots présents dans le document.","Garder les éditeurs d'aperçu ouverts même si l'utilisateur double-clique sur son contenu ou appuie sur la touche Échap. ","Les lignes plus longues que cette valeur ne sont pas tokenisées pour des raisons de performances","Délai d'expiration en millisecondes avant annulation du calcul de diff. Utilisez 0 pour supprimer le délai d'expiration.","Contrôle si l'éditeur de différences affiche les différences en mode côte à côte ou inline.","Contrôle si l'éditeur de différences affiche les changements liés aux espaces blancs de début ou de fin comme des différences.","Contrôle si l'éditeur de différences affiche les indicateurs +/- pour les changements ajoutés/supprimés ."], +"vs/editor/common/config/editorOptions":["L'éditeur utilise les API de la plateforme pour détecter si un lecteur d'écran est attaché.","L'éditeur est optimisé en permanence pour une utilisation avec un lecteur d'écran.","L'éditeur n'est jamais optimisé pour une utilisation avec un lecteur d'écran.","Contrôle si l'éditeur doit s'exécuter dans un mode optimisé pour les lecteurs d'écran.","Contrôle si la copie sans sélection permet de copier la ligne actuelle.","Détermine si la chaîne de recherche dans le Widget Recherche est initialisée avec la sélection de l’éditeur.","Ne jamais activer Rechercher automatiquement dans la sélection (par défaut)","Toujours activer Rechercher automatiquement dans la sélection","Activez Rechercher automatiquement dans la sélection quand plusieurs lignes de contenu sont sélectionnées.","Contrôle si l’opération de recherche est effectuée sur le texte sélectionné ou sur l’intégralité du fichier dans l’éditeur.","Détermine si le Widget Recherche devrait lire ou modifier le presse-papiers de recherche partagé sur macOS.","Contrôle si le widget Recherche doit ajouter des lignes supplémentaires en haut de l'éditeur. Quand la valeur est true, vous pouvez faire défiler au-delà de la première ligne si le widget Recherche est visible.","Active/désactive les ligatures de police.","Paramètres de fonctionnalité de police explicites.","Configure les ligatures de police.","Contrôle la taille de police en pixels.","Montrer l'aperçu des résultats (par défaut)","Accéder au résultat principal et montrer un aperçu","Accéder au résultat principal et activer l'accès sans aperçu pour les autres","Ce paramètre est déprécié, utilisez des paramètres distincts comme 'editor.editor.gotoLocation.multipleDefinitions' ou 'editor.editor.gotoLocation.multipleImplementations' à la place.","Contrôle le comportement de la commande 'Atteindre la définition' quand plusieurs emplacements cibles existent.","Contrôle le comportement de la commande 'Atteindre la définition de type' quand plusieurs emplacements cibles existent.","Contrôle le comportement de la commande 'Atteindre la déclaration' quand plusieurs emplacements cibles existent.","Contrôle le comportement de la commande 'Atteindre les implémentations' quand plusieurs emplacements cibles existent.","Contrôle le comportement de la commande 'Atteindre les références' quand plusieurs emplacements cibles existent.","ID de commande alternatif exécuté quand le résultat de 'Atteindre la définition' est l'emplacement actuel.","ID de commande alternatif exécuté quand le résultat de 'Atteindre la définition de type' est l'emplacement actuel.","ID de commande alternatif exécuté quand le résultat de 'Atteindre la déclaration' est l'emplacement actuel.","ID de commande alternatif exécuté quand le résultat de 'Atteindre l'implémentation' est l'emplacement actuel.","ID de commande alternatif exécuté quand le résultat de 'Atteindre la référence' est l'emplacement actuel.","Contrôle si le pointage est affiché.","Contrôle le délai en millisecondes, après lequel le survol est affiché.","Contrôle si le pointage doit rester visible quand la souris est déplacée au-dessus.","Active l’ampoule d’action de code dans l’éditeur.","Contrôle la hauteur de ligne. Utilisez 0 pour calculer la hauteur de ligne de la taille de la police.","Contrôle si la minimap est affichée.","Contrôle le côté où afficher la minimap.","Contrôle quand afficher le curseur du minimap.","Échelle du contenu dessiné dans le minimap.","Afficher les caractères réels sur une ligne par opposition aux blocs de couleur.","Limiter la largeur de la minimap pour afficher au plus un certain nombre de colonnes.","Active une fenêtre contextuelle qui affiche de la documentation sur les paramètres et des informations sur les types à mesure que vous tapez.","Détermine si le menu de suggestions de paramètres se ferme ou reviens au début lorsque la fin de la liste est atteinte.","Activez les suggestions rapides dans les chaînes.","Activez les suggestions rapides dans les commentaires.","Activez les suggestions rapides en dehors des chaînes et des commentaires.","Contrôle si les suggestions doivent apparaître automatiquement pendant la saisie.","Les numéros de ligne ne sont pas affichés.","Les numéros de ligne sont affichés en nombre absolu.","Les numéros de ligne sont affichés sous la forme de distance en lignes à la position du curseur.","Les numéros de ligne sont affichés toutes les 10 lignes.","Contrôle l'affichage des numéros de ligne.","Rendre les règles verticales après un certain nombre de caractères à espacement fixe. Utiliser plusieurs valeurs pour plusieurs règles. Aucune règle n'est dessinée si le tableau est vide.","Insérez une suggestion sans remplacer le texte à droite du curseur.","Insérez une suggestion et remplacez le texte à droite du curseur.","Contrôle si les mots sont remplacés en cas d'acceptation de la saisie semi-automatique. Notez que cela dépend des extensions adhérant à cette fonctionnalité.","Contrôle si les modifications de texte inattendues en cas d'acceptation de la complétion doivent être mises en surbrillance, par exemple 'insertMode' est défini sur 'replace', mais la complétion prend seulement en charge 'insert'.","Détermine si le filtre et le tri des suggestions doivent prendre en compte les fautes de frappes mineures.","Contrôle si le tri favorise trier les mots qui apparaissent près du curseur.","Contrôle si les sélections de suggestion mémorisées sont partagées entre plusieurs espaces de travail et fenêtres (nécessite '#editor.suggestSelection#').","Contrôler si un extrait de code actif empêche les suggestions rapides.","Contrôle s'il faut montrer ou masquer les icônes dans les suggestions.","Contrôle le nombre de suggestions IntelliSense affichées avant de montrer une barre de défilement (15 maximum).","Ce paramètre est déprécié, veuillez utiliser des paramètres distincts comme 'editor.suggest.showKeywords' ou 'editor.suggest.showSnippets' à la place.","Si activé, IntelliSense montre des suggestions de type 'method'.","Si activé, IntelliSense montre des suggestions de type 'function'.","Si activé, IntelliSense montre des suggestions de type 'constructor'.","Si activé, IntelliSense montre des suggestions de type 'field'.","Si activé, IntelliSense montre des suggestions de type 'variable'.","Si activé, IntelliSense montre des suggestions de type 'class'.","Si activé, IntelliSense montre des suggestions de type 'struct'.","Si activé, IntelliSense montre des suggestions de type 'interface'.","Si activé, IntelliSense montre des suggestions de type 'module'.","Si activé, IntelliSense montre des suggestions de type 'property'.","Si activé, IntelliSense montre des suggestions de type 'event'.","Si activé, IntelliSense montre des suggestions de type 'operator'.","Si activé, IntelliSense montre des suggestions de type 'unit'.","Si activé, IntelliSense montre des suggestions de type 'value'.","Si activé, IntelliSense montre des suggestions de type 'constant'.","Si activé, IntelliSense montre des suggestions de type 'enum'.","Si activé, IntelliSense montre des suggestions de type 'enumMember'.","Si activé, IntelliSense montre des suggestions de type 'keyword'.","Si activé, IntelliSense montre des suggestions de type 'text'.","Si activé, IntelliSense montre des suggestions de type 'color'.","Si activé, IntelliSense montre des suggestions de type 'file'.","Si activé, IntelliSense montre des suggestions de type 'reference'.","Si activé, IntelliSense montre des suggestions de type 'customcolor'.","Si activé, IntelliSense montre des suggestions de type 'folder'.","Si activé, IntelliSense montre des suggestions de type 'typeParameter'.","Si activé, IntelliSense montre des suggestions de type 'snippet'.","Contrôle si les suggestions doivent être acceptées sur les caractères de validation. Par exemple, en JavaScript, le point-virgule (`;`) peut être un caractère de validation qui accepte une suggestion et tape ce caractère.","Accepter uniquement une suggestion avec 'Entrée' quand elle effectue une modification textuelle.","Contrôle si les suggestions sont acceptées après appui sur 'Entrée', en plus de 'Tab'. Permet d’éviter toute ambiguïté entre l’insertion de nouvelles lignes et l'acceptation de suggestions.","Contrôle le nombre de lignes dans l'éditeur qui peuvent être lues par un lecteur d'écran. Avertissement : Ce paramètre a une incidence sur les performances quand le nombre est supérieur à la valeur par défaut.","Contenu d'éditeur","Utilisez les configurations de langage pour déterminer quand fermer automatiquement les parenthèses.","Fermer automatiquement les parenthèses uniquement lorsque le curseur est à gauche de l’espace.","Contrôle si l’éditeur doit fermer automatiquement les parenthèses quand l’utilisateur ajoute une parenthèse ouvrante.","Tapez avant les guillemets ou les crochets fermants uniquement s'ils sont automatiquement insérés.","Contrôle si l'éditeur doit taper avant les guillemets ou crochets fermants.","Utilisez les configurations de langage pour déterminer quand fermer automatiquement les guillemets.","Fermer automatiquement les guillemets uniquement lorsque le curseur est à gauche de l’espace.","Contrôle si l’éditeur doit fermer automatiquement les guillemets après que l’utilisateur ajoute un guillemet ouvrant.","L'éditeur n'insère pas de retrait automatiquement.","L'éditeur conserve le retrait de la ligne actuelle.","L'éditeur conserve le retrait de la ligne actuelle et honore les crochets définis par le langage.","L'éditeur conserve le retrait de la ligne actuelle, honore les crochets définis par le langage et appelle des objets onEnterRules spéciaux définis par les langages.","L'éditeur conserve le retrait de la ligne actuelle, honore les crochets définis par le langage, appelle des objets onEnterRules spéciaux définis par les langages et honore les objets indentationRules définis par les langages.","Contrôle si l'éditeur doit ajuster automatiquement le retrait quand les utilisateurs tapent, collent, déplacent ou mettent en retrait des lignes.","Utilisez les configurations de langue pour déterminer quand entourer automatiquement les sélections.","Entourez avec des guillemets et non des crochets.","Entourez avec des crochets et non des guillemets.","Détermine si l'éditeur doit automatiquement entourer les sélections.","Contrôle si l'éditeur affiche CodeLens.","Contrôle si l'éditeur doit afficher les éléments décoratifs de couleurs inline et le sélecteur de couleurs.","Contrôle si la coloration syntaxique doit être copiée dans le presse-papiers.","Contrôler le style d’animation du curseur.","Contrôle si l'animation du point d'insertion doit être activée.","Contrôle le style du curseur.","Contrôle le nombre minimum de lignes visibles avant et après le curseur. Appelé 'scrollOff' ou 'scrollOffset' dans d'autres éditeurs.","'cursorSurroundingLines' est appliqué seulement s'il est déclenché via le clavier ou une API.","'cursorSurroundingLines' est toujours appliqué.","Contrôle quand 'cursorSurroundingLines' doit être appliqué.","Détermine la largeur du curseur lorsque `#editor.cursorStyle#` est à `line`.","Contrôle si l’éditeur autorise le déplacement de sélections par glisser-déplacer.","Multiplicateur de vitesse de défilement quand vous appuyez sur 'Alt'.","Contrôle si l'éditeur a le pliage de code activé.","Contrôle la stratégie pour le calcul des plages de pliage. 'auto' utilise une stratégie de pliage spécifique au langage, le cas échéant. 'indentation' utilise la stratégie de pliage en fonction de la mise en retrait.","Contrôle la famille de polices.","Contrôle l'épaisseur de police.","Détermine si l’éditeur doit automatiquement mettre en forme le contenu collé. Un formateur doit être disponible et être capable de mettre en forme une plage dans un document.","Contrôle si l’éditeur doit mettre automatiquement en forme la ligne après la saisie.","Contrôle si l'éditeur doit afficher la marge de glyphes verticale. La marge de glyphes sert principalement au débogage.","Contrôle si le curseur doit être masqué dans la règle de la vue d’ensemble.","Contrôle si l’éditeur doit mettre en surbrillance le guide de mise en retrait actif.","Contrôle l'espacement des lettres en pixels.","Contrôle si l’éditeur doit détecter les liens et les rendre cliquables.","Mettez en surbrillance les crochets correspondants.","Un multiplicateur à utiliser sur les `deltaX` et `deltaY` des événements de défilement de roulette de souris.","Faire un zoom sur la police de l'éditeur quand l'utilisateur fait tourner la roulette de la souris tout en maintenant la touche 'Ctrl' enfoncée.","Fusionnez plusieurs curseurs quand ils se chevauchent.","Mappe vers 'Contrôle' dans Windows et Linux, et vers 'Commande' dans macOS.","Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.","Le modificateur à utiliser pour ajouter plusieurs curseurs avec la souris. Les gestes de souris Atteindre la définition et Ouvrir le lien s'adapteront tels qu’ils n’entrent pas en conflit avec le modificateur multicursor. [Lire la suite] (https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Chaque curseur colle une seule ligne de texte.","Chaque curseur colle le texte en entier.","Contrôle le collage quand le nombre de lignes du texte collé correspond au nombre de curseurs.","Contrôle si l'éditeur doit mettre en surbrillance les occurrences de symboles sémantiques.","Contrôle si une bordure doit être dessinée autour de la règle de la vue d'ensemble.","Contrôle le délai en millisecondes après lequel des suggestions rapides sont affichées.","Contrôle si l’éditeur doit afficher les caractères de contrôle.","Contrôle si l’éditeur doit afficher les guides de mise en retrait.","Affichez le dernier numéro de ligne quand le fichier se termine par un saut de ligne.","Met en surbrillance la gouttière et la ligne actuelle.","Contrôle la façon dont l’éditeur doit afficher la mise en surbrillance de la ligne actuelle.","Render whitespace characters except for single spaces between words.","Afficher les espaces blancs uniquement sur le texte sélectionné.","Contrôle la façon dont l’éditeur doit restituer les caractères espaces.","Contrôle si les sélections doivent avoir des angles arrondis.","Contrôle le nombre de caractères supplémentaires, au-delà duquel l’éditeur défile horizontalement.","Contrôle si l’éditeur défile au-delà de la dernière ligne.","Contrôle si le presse-papiers principal Linux doit être pris en charge.","Contrôle si l'éditeur doit mettre en surbrillance les correspondances similaires à la sélection.","Définit si les contrôles de réduction sur la bordure sont cachés automatiquement","Contrôle la disparition du code inutile.","Afficher des suggestions d’extraits au-dessus d’autres suggestions.","Afficher des suggestions d’extraits en-dessous d’autres suggestions.","Afficher des suggestions d’extraits avec d’autres suggestions.","Ne pas afficher de suggestions d’extrait de code.","Contrôle si les extraits de code s'affichent en même temps que d'autres suggestions, ainsi que leur mode de tri.","Contrôle si l'éditeur défile en utilisant une animation.","Taille de la police pour le widget de suggestion. Lorsque la valeur est à `0`, la valeur de `#editor.fontSize` est utilisée.","Hauteur de ligne pour le widget de suggestion. Lorsque la valeur est à `0`, la valeur de `#editor.lineHeight#` est utilisée.","Contrôle si les suggestions devraient automatiquement s’afficher lorsque vous tapez les caractères de déclencheur.","Sélectionnez toujours la première suggestion.","Sélectionnez les suggestions récentes sauf si une entrée ultérieure en a sélectionné une, par ex., 'console.| -> console.log', car 'log' a été effectué récemment.","Sélectionnez des suggestions en fonction des préfixes précédents qui ont complété ces suggestions, par ex., 'co -> console' et 'con -> const'.","Contrôle comment les suggestions sont pré-sélectionnés lors de l’affichage de la liste de suggestion.","La complétion par tabulation insérera la meilleure suggestion lorsque vous appuyez sur tab.","Désactiver les complétions par tabulation.","Compléter les extraits de code par tabulation lorsque leur préfixe correspond. Fonctionne mieux quand les 'quickSuggestions' ne sont pas activées.","Active les complétions par tabulation","L'insertion et la suppression des espaces blancs suit les taquets de tabulation.","Caractères utilisés comme séparateurs de mots durant la navigation ou les opérations basées sur les mots","Le retour automatique à la ligne n'est jamais effectué.","Le retour automatique à la ligne s'effectue en fonction de la largeur de la fenêtre d'affichage.","Les lignes seront terminées à `#editor.wordWrapColumn#`.","Les lignes seront terminées au minimum du viewport et `#editor.wordWrapColumn#`.","Contrôle comment les lignes doivent être limitées.","Contrôle la colonne de terminaison de l’éditeur lorsque `#editor.wordWrap#` est à `wordWrapColumn` ou `bounded`.","Aucune mise en retrait. Les lignes enveloppées commencent à la colonne 1.","Les lignes enveloppées obtiennent la même mise en retrait que le parent.","Les lignes justifiées obtiennent une mise en retrait +1 vers le parent.","Les lignes justifiées obtiennent une mise en retrait +2 vers le parent. ","Contrôle la mise en retrait des lignes justifiées."], +"vs/editor/common/modes/modesRegistry":["Texte brut"], +"vs/editor/common/standaloneStrings":["Aucune sélection","Ligne {0}, colonne {1} ({2} sélectionné)","Ligne {0}, colonne {1}","{0} sélections ({1} caractères sélectionnés)","{0} sélections","Remplacement du paramètre 'accessibilitySupport' par 'on'.","Ouverture de la page de documentation sur l'accessibilité de l'éditeur.","dans un volet en lecture seule d'un éditeur de différences.","dans un volet d'un éditeur de différences."," dans un éditeur de code en lecture seule"," dans un éditeur de code","Pour configurer l'éditeur de manière à être optimisé en cas d'utilisation d'un lecteur d'écran, appuyez sur Commande+E maintenant.","Pour configurer l'éditeur de manière à être optimisé en cas d'utilisation d'un lecteur d'écran, appuyez sur Contrôle+E maintenant.","L'éditeur est configuré pour être optimisé en cas d'utilisation avec un lecteur d'écran.","L'éditeur est configuré pour ne jamais être optimisé en cas d'utilisation avec un lecteur d'écran, ce qui n'est pas le cas pour le moment.","Appuyez sur Tab dans l'éditeur pour déplacer le focus vers le prochain élément pouvant être désigné comme élément actif. Activez ou désactivez ce comportement en appuyant sur {0}.","Appuyez sur Tab dans l'éditeur pour déplacer le focus vers le prochain élément pouvant être désigné comme élément actif. La commande {0} ne peut pas être déclenchée par une combinaison de touches.","Appuyez sur Tab dans l'éditeur pour insérer le caractère de tabulation. Activez ou désactivez ce comportement en appuyant sur {0}.","Appuyez sur Tab dans l'éditeur pour insérer le caractère de tabulation. La commande {0} ne peut pas être déclenchée par une combinaison de touches.","Appuyez sur Commande+H maintenant pour ouvrir une fenêtre de navigateur avec plus d'informations sur l'accessibilité de l'éditeur.","Appuyez sur Contrôle+H maintenant pour ouvrir une fenêtre de navigateur avec plus d'informations sur l'accessibilité de l'éditeur.","Vous pouvez masquer cette info-bulle et revenir à l'éditeur en appuyant sur Échap ou Maj+Échap.","Afficher l'aide sur l'accessibilité","Développeur : Inspecter les jetons","Atteindre la ligne {0} et le caractère {1}","Atteindre la ligne {0}","Tapez un numéro de ligne à atteindre entre 1 et {0}","Taper un caractère entre 1 et {0} auquel accéder","Ligne actuelle : {0}. Accédez à la ligne {1}.","Taper un numéro de ligne, suivi d'un point-virgule facultatif et d'un numéro de caractère auquel accéder","Atteindre la ligne...","{0}, {1}, commandes","{0}, commandes","Taper le nom d'une action à exécuter","Palette de commandes","{0}, symboles","Taper le nom d'un identificateur auquel vous voulez accéder","Accéder au symbole...","symboles ({0})","modules ({0})","classes ({0})","interfaces ({0})","méthodes ({0})","fonctions ({0})","propriétés ({0})","variables ({0})","variables ({0})","constructeurs ({0})","appels ({0})","Contenu d'éditeur","Appuyez sur Ctrl+F1 pour voir les options d'accessibilité.","Appuyez sur Alt+F1 pour voir les options d'accessibilité.","Activer/désactiver le thème à contraste élevé","{0} modifications dans {1} fichiers"], +"vs/editor/common/view/editorColorRegistry":["Couleur d'arrière-plan de la mise en surbrillance de la ligne à la position du curseur.","Couleur d'arrière-plan de la bordure autour de la ligne à la position du curseur.","Couleur d'arrière-plan des plages mises en surbrillance, comme par les fonctionnalités de recherche et Quick Open. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arrière-plan de la bordure autour des plages mises en surbrillance.","Couleur d'arrière-plan du symbole mis en surbrillance, comme le symbole Atteindre la définition ou Suivant/Précédent. La couleur ne doit pas être opaque pour ne pas masquer les décorations sous-jacentes.","Couleur d'arrière-plan de la bordure autour des symboles mis en surbrillance.","Couleur du curseur de l'éditeur.","La couleur de fond du curseur de l'éditeur. Permet de personnaliser la couleur d'un caractère survolé par un curseur de bloc.","Couleur des espaces blancs dans l'éditeur.","Couleur des repères de retrait de l'éditeur.","Couleur des guides d'indentation de l'éditeur actif","Couleur des numéros de ligne de l'éditeur.","Couleur des numéros de lignes actives de l'éditeur","L’ID est déprécié. Utilisez à la place 'editorLineNumber.activeForeground'.","Couleur des numéros de lignes actives de l'éditeur","Couleur des règles de l'éditeur","Couleur pour les indicateurs CodeLens","Couleur d'arrière-plan pour les accolades associées","Couleur pour le contour des accolades associées","Couleur de la bordure de la règle d'aperçu.","Couleur de fond pour la bordure de l'éditeur. La bordure contient les marges pour les symboles et les numéros de ligne.","Couleur de bordure du code source inutile (non utilisé) dans l'éditeur.","Opacité du code source inutile (non utilisé) dans l'éditeur. Par exemple, '#000000c0' affiche le code avec une opacité de 75 %. Pour les thèmes à fort contraste, utilisez la couleur de thème 'editorUnnecessaryCode.border' pour souligner le code inutile au lieu d'utiliser la transparence.","Couleur du marqueur de la règle d'aperçu pour les erreurs.","Couleur du marqueur de la règle d'aperçu pour les avertissements.","Couleur du marqueur de la règle d'aperçu pour les informations."], +"vs/editor/contrib/bracketMatching/bracketMatching":["Couleur du marqueur de la règle d'aperçu pour rechercher des parenthèses.","Atteindre le crochet","Select to Bracket","Accéder au &&crochet"],"vs/editor/contrib/caretOperations/caretOperations":["Déplacer le point d'insertion vers la gauche","Déplacer le point d'insertion vers la droite"],"vs/editor/contrib/caretOperations/transpose":["Transposer les lettres"],"vs/editor/contrib/clipboard/clipboard":["Couper","Co&&uper","Copier","&&Copier","Coller","Co&&ller","Copier avec la coloration syntaxique"], +"vs/editor/contrib/codeAction/codeActionCommands":["Type d'action de code à exécuter.","Contrôle quand les actions retournées sont appliquées.","Appliquez toujours la première action de code retournée.","Appliquez la première action de code retournée si elle est la seule.","N'appliquez pas les actions de code retournées.","Contrôle si seules les actions de code par défaut doivent être retournées.","Une erreur inconnue s'est produite à l'application de l'action du code","Correction rapide...","Aucune action de code disponible","Aucune action de code préférée n'est disponible pour '{0}'","Aucune action de code disponible pour '{0}'","Aucune action de code par défaut disponible","Aucune action de code disponible","Remanier...","Aucune refactorisation par défaut disponible pour '{0}'","Aucune refactorisation disponible pour '{0}'","Aucune refactorisation par défaut disponible","Aucune refactorisation disponible","Action de la source","Aucune action source par défaut disponible pour '{0}'","Aucune action source disponible pour '{0}'","Aucune action source par défaut disponible","Aucune action n'est disponible","Organiser les Imports","Aucune action organiser les imports disponible","Tout corriger","Aucune action Tout corriger disponible","Corriger automatiquement...","Aucun correctif automatique disponible"], +"vs/editor/contrib/codeAction/lightBulbWidget":["Affichez les corrections. Correction préférée disponible ({0})","Afficher les correctifs ({0})","Afficher les correctifs"],"vs/editor/contrib/comment/comment":["Activer/désactiver le commentaire de ligne","Afficher/masquer le commen&&taire de ligne","Ajouter le commentaire de ligne","Supprimer le commentaire de ligne","Activer/désactiver le commentaire de bloc","Afficher/masquer le commentaire de &&bloc"],"vs/editor/contrib/contextmenu/contextmenu":["Afficher le menu contextuel de l'éditeur"],"vs/editor/contrib/cursorUndo/cursorUndo":["Annulation du curseur","Restauration du curseur"], +"vs/editor/contrib/documentSymbols/outlineTree":["Couleur de premier plan des symboles de tableau. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles booléens. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de classe. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de couleur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan pour les symboles de constante. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de constructeur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'énumérateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de membre d'énumérateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'événement. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de champ. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de fichier. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de dossier. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de fonction. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'interface. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de clé. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de mot clé. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de méthode. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de module. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'espace de noms. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles null. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de nombre. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'objet. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'opérateur. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de package. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de propriété. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de référence. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'extrait de code. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de chaîne. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de struct. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de texte. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de paramètre de type. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles d'unité. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion.","Couleur de premier plan des symboles de variable. Ces symboles apparaissent dans le plan, la barre de navigation et le widget de suggestion."], +"vs/editor/contrib/find/findController":["Rechercher","&&Rechercher","Rechercher dans la sélection","Rechercher suivant","Rechercher suivant","Rechercher précédent","Rechercher précédent","Sélection suivante","Sélection précédente","Remplacer","&&Remplacer"],"vs/editor/contrib/find/findWidget":["Rechercher","Rechercher","Correspondance précédente","Prochaine correspondance","Rechercher dans la sélection","Fermer","Remplacer","Remplacer","Remplacer","Tout remplacer","Changer le mode de remplacement","Seuls les {0} premiers résultats sont mis en évidence, mais toutes les opérations de recherche fonctionnent sur l’ensemble du texte.","{0} sur {1}","Aucun résultat","{0} trouvé(s)","{0} trouvé(s) pour {1}","{0} trouvé(s) pour {1} à {2}","{0} trouvé(s) pour {1}","La combinaison Ctrl+Entrée permet désormais d'ajouter un saut de ligne au lieu de tout remplacer. Vous pouvez modifier le raccourci clavier de editor.action.replaceAll pour redéfinir le comportement."], +"vs/editor/contrib/folding/folding":["Déplier","Déplier de manière récursive","Plier","Activer/désactiver le pliage","Plier de manière récursive","Replier tous les commentaires de bloc","Replier toutes les régions","Déplier toutes les régions","Plier tout","Déplier tout","Niveau de pliage {0}"],"vs/editor/contrib/fontZoom/fontZoom":["Agrandissement de l'éditeur de polices de caractères","Rétrécissement de l'éditeur de polices de caractères","Remise à niveau du zoom de l'éditeur de polices de caractères"],"vs/editor/contrib/format/format":["1 modification de format effectuée à la ligne {0}","{0} modifications de format effectuées à la ligne {1}","1 modification de format effectuée entre les lignes {0} et {1}","{0} modifications de format effectuées entre les lignes {1} et {2}"],"vs/editor/contrib/format/formatActions":["Mettre le document en forme","Mettre la sélection en forme"], +"vs/editor/contrib/gotoError/gotoError":["Aller au problème suivant (Erreur, Avertissement, Info)","Aller au problème précédent (Erreur, Avertissement, Info)","Aller au problème suivant dans Fichiers (Erreur, Avertissement, Info)","Aller au problème précédent dans Fichiers (Erreur, Avertissement, Info)","&&Problème suivant","&&Problème précédent"],"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} problèmes sur {1}","{0} problème(s) sur {1}","Couleur d'erreur du widget de navigation dans les marqueurs de l'éditeur.","Couleur d'avertissement du widget de navigation dans les marqueurs de l'éditeur.","Couleur d’information du widget de navigation du marqueur de l'éditeur.","Arrière-plan du widget de navigation dans les marqueurs de l'éditeur."], +"vs/editor/contrib/gotoSymbol/goToCommands":["Aperçu","Définitions","Définition introuvable pour '{0}'","Définition introuvable","Atteindre la définition","Atteindre la &&définition","Ouvrir la définition sur le côté","Aperçu de définition","Déclarations","Aucune déclaration pour '{0}'","Aucune déclaration","Accéder à la déclaration","Atteindre la &&déclaration","Aucune déclaration pour '{0}'","Aucune déclaration","Aperçu de la déclaration","Définitions de type","Définition de type introuvable pour '{0}'","Définition de type introuvable","Atteindre la définition de type","Accéder à la définition de &&type","Aperçu de la définition du type","Implémentations","Implémentation introuvable pour '{0}'","Implémentation introuvable","Atteindre les implémentations","Atteindre les &&implémentations","Implémentations d'aperçu","Aucune référence pour '{0}'","Aucune référence","Atteindre les références","Atteindre les &&références","Références","Aperçu des références","Références","Atteindre un symbole","Emplacements","Aucun résultat pour '{0}'","Références"], +"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Cliquez pour afficher {0} définitions."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Chargement en cours...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["Échec de la résolution du fichier.","{0} références","{0} référence"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["aperçu non disponible","Références","Aucun résultat","Références"],"vs/editor/contrib/gotoSymbol/referencesModel":["symbole dans {0} sur la ligne {1}, colonne {2}","1 symbole dans {0}, chemin complet {1}","{0} symboles dans {1}, chemin complet {2}","Résultats introuvables","1 symbole dans {0}","{0} symboles dans {1}","{0} symboles dans {1} fichiers"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Symbole {0} sur {1}, {2} pour le suivant","Symbole {0} sur {1}"],"vs/editor/contrib/hover/hover":["Afficher par pointage","Afficher le pointeur de l'aperçu de définition"], +"vs/editor/contrib/hover/modesContentHover":["Chargement en cours...","Aperçu du problème","Recherche de correctifs rapides...","Aucune solution disponible dans l'immédiat","Correction rapide..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Remplacer par la valeur précédente","Remplacer par la valeur suivante"], +"vs/editor/contrib/linesOperations/linesOperations":["Copier la ligne en haut","&&Copier la ligne en haut","Copier la ligne en bas","Co&&pier la ligne en bas","Dupliquer la sélection","&&Dupliquer la sélection","Déplacer la ligne vers le haut","Déplacer la ligne &&vers le haut","Déplacer la ligne vers le bas","Déplacer la &&ligne vers le bas","Trier les lignes dans l'ordre croissant","Trier les lignes dans l'ordre décroissant","Découper l'espace blanc de fin","Supprimer la ligne","Mettre en retrait la ligne","Ajouter un retrait négatif à la ligne","Insérer une ligne au-dessus","Insérer une ligne sous","Supprimer tout ce qui est à gauche","Supprimer tout ce qui est à droite","Joindre les lignes","Transposer les caractères autour du curseur","Transformer en majuscule","Transformer en minuscule",'Appliquer la casse "1re lettre des mots en majuscule"'], +"vs/editor/contrib/links/links":["Exécuter la commande","suivre le lien","cmd + clic","ctrl + clic","option + clic","alt + clic","Échec de l'ouverture de ce lien, car il n'est pas bien formé : {0}","Échec de l'ouverture de ce lien, car sa cible est manquante.","Ouvrir le lien"],"vs/editor/contrib/message/messageController":["Impossible de modifier dans l’éditeur en lecture seule"], +"vs/editor/contrib/multicursor/multicursor":["Ajouter un curseur au-dessus","&&Ajouter un curseur au-dessus","Ajouter un curseur en dessous","Aj&&outer un curseur en dessous","Ajouter des curseurs à la fin des lignes","Ajouter des c&&urseurs à la fin des lignes","Ajouter des curseurs en bas","Ajouter des curseurs en haut","Ajouter la sélection à la correspondance de recherche suivante","Ajouter l'occurrence suiva&&nte","Ajouter la sélection à la correspondance de recherche précédente","Ajouter l'occurrence p&&récédente","Déplacer la dernière sélection vers la correspondance de recherche suivante","Déplacer la dernière sélection à la correspondance de recherche précédente","Sélectionner toutes les occurrences des correspondances de la recherche","Sélectionner toutes les &&occurrences","Modifier toutes les occurrences"],"vs/editor/contrib/parameterHints/parameterHints":["Indicateurs des paramètres Trigger"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, conseil"], +"vs/editor/contrib/peekView/peekView":["Fermer","Couleur d'arrière-plan de la zone de titre de l'affichage d'aperçu.","Couleur du titre de l'affichage d'aperçu.","Couleur des informations sur le titre de l'affichage d'aperçu.","Couleur des bordures et de la flèche de l'affichage d'aperçu.","Couleur d'arrière-plan de la liste des résultats de l'affichage d'aperçu.","Couleur de premier plan des noeuds de lignes dans la liste des résultats de l'affichage d'aperçu.","Couleur de premier plan des noeuds de fichiers dans la liste des résultats de l'affichage d'aperçu.","Couleur d'arrière-plan de l'entrée sélectionnée dans la liste des résultats de l'affichage d'aperçu.","Couleur de premier plan de l'entrée sélectionnée dans la liste des résultats de l'affichage d'aperçu.","Couleur d'arrière-plan de l'éditeur d'affichage d'aperçu.","Couleur d'arrière-plan de la bordure de l'éditeur d'affichage d'aperçu.","Couleur de mise en surbrillance d'une correspondance dans la liste des résultats de l'affichage d'aperçu.","Couleur de mise en surbrillance d'une correspondance dans l'éditeur de l'affichage d'aperçu.","Bordure de mise en surbrillance d'une correspondance dans l'éditeur de l'affichage d'aperçu."], +"vs/editor/contrib/rename/rename":["Aucun résultat.","Une erreur inconnue s’est produite lors de la résolution de l'emplacement de renommage : {0}","'{0}' renommé en '{1}'. Récapitulatif : {2}","Échec de l'exécution du renommage.","Renommer le symbole"],"vs/editor/contrib/rename/renameInputField":["Renommez l'entrée. Tapez le nouveau nom et appuyez sur Entrée pour valider."],"vs/editor/contrib/smartSelect/smartSelect":["Étendre la sélection","Dév&&elopper la sélection","Réduire la sélection","&&Réduire la sélection"],"vs/editor/contrib/snippet/snippetVariables":["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dim","Lun","Mar","Mer","Jeu","Ven","Sam","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre","Jan","Fév","Mar","Avr","Mai","Juin","Jul","Aoû","Sept","Oct","Nov","Déc"],"vs/editor/contrib/suggest/suggestController":["L'acceptation de '{0}' a entraîné {1} modifications supplémentaires","Suggestions pour Trigger"], +"vs/editor/contrib/suggest/suggestWidget":["Couleur d'arrière-plan du widget de suggestion.","Couleur de bordure du widget de suggestion.","Couleur de premier plan du widget de suggestion.","Couleur d'arrière-plan de l'entrée sélectionnée dans le widget de suggestion.","Couleur de la surbrillance des correspondances dans le widget de suggestion.","En savoir plus...{0}","En savoir moins...{0}","Chargement en cours...","Chargement en cours...","Pas de suggestions.","Item {0}, docs: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Activer/désactiver l'utilisation de la touche Tab pour déplacer le focus","Appuyer sur Tab déplacera le focus vers le prochain élément pouvant être désigné comme élément actif","Appuyer sur Tab insérera le caractère de tabulation"],"vs/editor/contrib/tokenization/tokenization":["Développeur : forcer la retokenisation"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["Couleur d'arrière-plan d'un symbole pendant l'accès en lecture, comme la lecture d'une variable. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arrière-plan d'un symbole pendant l'accès en écriture, comme l'écriture d'une variable. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de bordure d'un symbole durant l'accès en lecture, par exemple la lecture d'une variable.","Couleur de bordure d'un symbole durant l'accès en écriture, par exemple l'écriture dans une variable.","Couleur de marqueur de la règle d'aperçu pour la mise en surbrillance des symboles. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de marqueur de la règle d'aperçu pour la mise en surbrillance des symboles d'accès en écriture. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Aller à la prochaine mise en évidence de symbole","Aller à la mise en évidence de symbole précédente","Déclencher la mise en évidence de symbole"], +"vs/platform/configuration/common/configurationRegistry":["Substitutions de configuration par défaut","Configurez les paramètres d'éditeur à remplacer pour un langage.","Impossible d'inscrire '{0}'. Ceci correspond au modèle de propriété '\\\\[.*\\\\]$' permettant de décrire les paramètres d'éditeur spécifiques à un langage. Utilisez la contribution 'configurationDefaults'.","Impossible d'inscrire '{0}'. Cette propriété est déjà inscrite."],"vs/platform/keybinding/common/abstractKeybindingService":["Touche ({0}) utilisée. En attente de la seconde touche pour la pression simultanée...","La combinaison de touches ({0}, {1}) n'est pas une commande."], +"vs/platform/list/browser/listService":["Banc d'essai","Mappe vers 'Contrôle' dans Windows et Linux, et vers 'Commande' dans macOS.","Mappe vers 'Alt' dans Windows et Linux, et vers 'Option' dans macOS.","Le modificateur à utiliser pour ajouter un élément dans les arbres et listes pour une sélection multiple avec la souris (par exemple dans l’Explorateur, les éditeurs ouverts et la vue scm). Les mouvements de la souris 'Ouvrir à côté' (si pris en charge) s'adapteront tels qu’ils n'entrent pas en conflit avec le modificateur multiselect.","Contrôle l’ouverture des éléments dans les arbres et listes à l’aide de la souris (si pris en charge). Pour les parents ayant des enfants dans les arbres, ce paramètre contrôlera si un simple clic déploie le parent ou un double-clic. Notez que certains arbres et listes peuvent choisir d’ignorer ce paramètre, si ce n’est pas applicable. ","Contrôle si les listes et les arborescences prennent en charge le défilement horizontal dans le banc d'essai.","Contrôle si les arborescences prennent en charge le défilement horizontal dans le plan de travail.","Ce paramètre est déprécié, utilisez '{0}' à la place.","Contrôle la mise en retrait de l'arborescence, en pixels.","Contrôle si l'arborescence doit afficher les repères de mise en retrait.","La navigation au clavier Simple place le focus sur les éléments qui correspondent à l'entrée de clavier. La mise en correspondance est effectuée sur les préfixes uniquement.","La navigation de mise en surbrillance au clavier met en surbrillance les éléments qui correspondent à l'entrée de clavier. La navigation ultérieure vers le haut ou vers le bas parcourt uniquement les éléments mis en surbrillance.","La navigation au clavier Filtrer filtre et masque tous les éléments qui ne correspondent pas à l'entrée de clavier.","Contrôle le style de navigation au clavier pour les listes et les arborescences dans le banc d'essai. Les options sont Simple, Mise en surbrillance et Filtrer.","Contrôle si la navigation au clavier dans les listes et les arborescences est automatiquement déclenchée simplement par la frappe. Si défini sur 'false', la navigation au clavier est seulement déclenchée avec l'exécution de la commande 'list.toggleKeyboardNavigation', à laquelle vous pouvez attribuer un raccourci clavier."], +"vs/platform/markers/common/markers":["Erreur","Avertissement","Info"], +"vs/platform/theme/common/colorRegistry":["Couleur de premier plan globale. Cette couleur est utilisée si elle n'est pas remplacée par un composant.","Couleur principale de premier plan pour les messages d'erreur. Cette couleur est utilisée uniquement si elle n'est pas redéfinie par un composant.","Couleur de bordure globale des éléments ayant le focus. Cette couleur est utilisée si elle n'est pas remplacée par un composant.","Bordure supplémentaire autour des éléments pour les séparer des autres et obtenir un meilleur contraste.","Bordure supplémentaire autour des éléments actifs pour les séparer des autres et obtenir un meilleur contraste.","Couleur des liens dans le texte.","Couleur d'arrière-plan des blocs de code dans le texte.","Couleur de l'ombre des widgets, comme rechercher/remplacer, au sein de l'éditeur.","Arrière-plan de la zone d'entrée.","Premier plan de la zone d'entrée.","Bordure de la zone d'entrée.","Couleur de la bordure des options activées dans les champs d'entrée.","Couleur d'arrière-plan des options activées dans les champs d'entrée.","Couleur d'arrière-plan de la validation d'entrée pour la gravité des informations.","Couleur de premier plan de validation de saisie pour la sévérité Information.","Couleur de bordure de la validation d'entrée pour la gravité des informations.","Couleur d'arrière-plan de la validation d'entrée pour la gravité de l'avertissement.","Couleur de premier plan de la validation de la saisie pour la sévérité Avertissement.","Couleur de bordure de la validation d'entrée pour la gravité de l'avertissement.","Couleur d'arrière-plan de la validation d'entrée pour la gravité de l'erreur.","Couleur de premier plan de la validation de saisie pour la sévérité Erreur.","Couleur de bordure de la validation d'entrée pour la gravité de l'erreur. ","Arrière-plan de la liste déroulante.","Premier plan de la liste déroulante.","Couleur du sélecteur rapide pour les étiquettes de regroupement.","Couleur du sélecteur rapide pour les bordures de regroupement.","Couleur de fond des badges. Les badges sont de courts libellés d'information, ex. le nombre de résultats de recherche.","Couleur des badges. Les badges sont de courts libellés d'information, ex. le nombre de résultats de recherche.","Ombre de la barre de défilement pour indiquer que la vue défile.","Couleur de fond du curseur de la barre de défilement.","Couleur de fond du curseur de la barre de défilement lors du survol.","Couleur d’arrière-plan de la barre de défilement lorsqu'on clique dessus.","Couleur de fond pour la barre de progression qui peut s'afficher lors d'opérations longues.","Couleur de premier plan de la ligne ondulée marquant les erreurs dans l'éditeur.","Couleur de bordure des zones d'erreur dans l'éditeur.","Couleur de premier plan de la ligne ondulée marquant les avertissements dans l'éditeur.","Couleur de bordure des zones d'avertissement dans l'éditeur.","Couleur de premier plan de la ligne ondulée marquant les informations dans l'éditeur.","Couleur de bordure des zones d'informations dans l'éditeur.","Couleur de premier plan de la ligne ondulée d'indication dans l'éditeur.","Couleur de bordure des zones d'indication dans l'éditeur.","Couleur d'arrière-plan de l'éditeur.","Couleur de premier plan par défaut de l'éditeur.","Couleur d'arrière-plan des gadgets de l'éditeur tels que rechercher/remplacer.","Couleur de premier plan des widgets de l'éditeur, notamment Rechercher/remplacer.","Couleur de bordure des widgets de l'éditeur. La couleur est utilisée uniquement si le widget choisit d'avoir une bordure et si la couleur n'est pas remplacée par un widget.","Couleur de bordure de la barre de redimensionnement des widgets de l'éditeur. La couleur est utilisée uniquement si le widget choisit une bordure de redimensionnement et si la couleur n'est pas remplacée par un widget.","Couleur de la sélection de l'éditeur.","Couleur du texte sélectionné pour le contraste élevé.","Couleur de la sélection dans un éditeur inactif. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur des régions dont le contenu est le même que celui de la sélection. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de bordure des régions dont le contenu est identique à la sélection.","Couleur du résultat de recherche actif.","Couleur des autres correspondances de recherche. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de la plage limitant la recherche. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de bordure du résultat de recherche actif.","Couleur de bordure des autres résultats de recherche.","Couleur de bordure de la plage limitant la recherche. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Surlignage sous le mot sélectionné par pointage. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arrière-plan du pointage de l'éditeur.","Couleur de premier plan du pointage de l'éditeur.","Couleur de bordure du pointage de l'éditeur.","Couleur d'arrière-plan de la barre d'état du pointage de l'éditeur.","Couleur des liens actifs.","Couleur utilisée pour l'icône d'ampoule suggérant des actions.","Couleur utilisée pour l'icône d'ampoule suggérant des actions de correction automatique.","Couleur d'arrière-plan du texte inséré. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur d'arrière-plan du texte supprimé. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de contour du texte inséré.","Couleur de contour du texte supprimé.","Couleur de bordure entre les deux éditeurs de texte.","Couleur d'arrière-plan de la liste/l'arborescence pour l'élément ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut être sélectionnée au clavier, elle ne l'est pas quand elle est inactive.","Couleur de premier plan de la liste/l'arborescence pour l'élément ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut être sélectionnée au clavier, elle ne l'est pas quand elle est inactive.","Couleur d'arrière-plan de la liste/l'arborescence de l'élément sélectionné quand la liste/l'arborescence est active. Une liste/arborescence active peut être sélectionnée au clavier, elle ne l'est pas quand elle est inactive.","Couleur de premier plan de la liste/l'arborescence pour l'élément sélectionné quand la liste/l'arborescence est active. Une liste/arborescence active peut être sélectionnée au clavier, elle ne l'est pas quand elle est inactive.","Couleur d'arrière-plan de la liste/l'arborescence pour l'élément sélectionné quand la liste/l'arborescence est inactive. Une liste/arborescence active peut être sélectionnée au clavier, elle ne l'est pas quand elle est inactive.","Couleur de premier plan de la liste/l'arborescence pour l'élément sélectionné quand la liste/l'arborescence est active. Une liste/arborescence active peut être sélectionnée au clavier, elle ne l'est pas quand elle est inactive.","Couleur d'arrière-plan de la liste/l'arborescence pour l'élément ayant le focus quand la liste/l'arborescence est active. Une liste/arborescence active peut être sélectionnée au clavier (elle ne l'est pas quand elle est inactive).","Arrière-plan de la liste/l'arborescence pendant le pointage sur des éléments avec la souris.","Premier plan de la liste/l'arborescence pendant le pointage sur des éléments avec la souris.","Arrière-plan de l'opération de glisser-déplacer dans une liste/arborescence pendant le déplacement d'éléments avec la souris.","Couleur de premier plan dans la liste/l'arborescence pour la surbrillance des correspondances pendant la recherche dans une liste/arborescence.","Couleur d'arrière-plan du widget de filtre de type dans les listes et les arborescences.","Couleur de contour du widget de filtre de type dans les listes et les arborescences.","Couleur de contour du widget de filtre de type dans les listes et les arborescences, en l'absence de correspondance.","Couleur de trait de l'arborescence pour les repères de mise en retrait.","Couleur de bordure des menus.","Couleur de premier plan des éléments de menu.","Couleur d'arrière-plan des éléments de menu.","Couleur de premier plan de l'élément de menu sélectionné dans les menus.","Couleur d'arrière-plan de l'élément de menu sélectionné dans les menus.","Couleur de bordure de l'élément de menu sélectionné dans les menus.","Couleur d'un élément de menu séparateur dans les menus.","Couleur d’arrière-plan de mise en surbrillance d’un extrait tabstop.","Couleur de bordure de mise en surbrillance d’un extrait tabstop.","Couleur d’arrière-plan de mise en surbrillance du tabstop final d’un extrait.","Couleur de la bordure de mise en surbrillance du tabstop final d’un extrait.","Couleur de marqueur de la règle d'aperçu pour rechercher les correspondances. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de marqueur de la règle d'aperçu pour la mise en surbrillance des sélections. La couleur ne doit pas être opaque pour ne pas masquer les ornements sous-jacents.","Couleur de marqueur de la minimap pour les correspondances.","Couleur de marqueur du minimap pour la sélection de l'éditeur.","Couleur de marqueur de minimap pour les erreurs.","Couleur de marqueur de minimap pour les avertissements.","Couleur utilisée pour l'icône d'erreur des problèmes.","Couleur utilisée pour l'icône d'avertissement des problèmes.","Couleur utilisée pour l'icône d'informations des problèmes."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.fr.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.it.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.it.js new file mode 100755 index 00000000..183bdd66 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.it.js @@ -0,0 +1,37 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.it",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (nuova occorrenza)","{0} ( accaduto {1} volte)"],"vs/base/browser/ui/findinput/findInput":["Input"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Maiuscole/minuscole","Parola intera","Usa espressione regolare"],"vs/base/browser/ui/findinput/replaceInput":["Input","Mantieni maiuscole/minuscole"],"vs/base/browser/ui/inputbox/inputBox":["Errore: {0}","Avviso: {0}","Informazioni: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Non associato"],"vs/base/browser/ui/list/listWidget":["{0}. utilizzare i tasti di navigazione per navigare."],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Cancella","Disabilita filtro sul tipo","Abilita filtro sul tipo","Non sono stati trovati elementi","Abbinamento di {0} su {1} elementi"], +"vs/base/common/keybindingLabels":["CTRL","MAIUSC","ALT","Windows","CTRL","MAIUSC","ALT","Super","CTRL","MAIUSC","ALT","Comando","CTRL","MAIUSC","ALT","Windows","CTRL","MAIUSC","ALT","Super"],"vs/base/common/severity":["Errore","Avviso","Info"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}, selezione","selezione"],"vs/base/parts/quickopen/browser/quickOpenWidget":["Selezione rapida. Digitare per ridurre il numero di risultati.","Selezione rapida","{0} risultati"],"vs/editor/browser/controller/coreCommands":["&&Seleziona tutto","&&Annulla","&&Ripeti"],"vs/editor/browser/controller/textAreaHandler":["L'editor non è accessibile in questo momento. Premere Alt+F1 per le opzioni."],"vs/editor/browser/widget/codeEditorWidget":["Il numero di cursori è stato limitato a {0}."],"vs/editor/browser/widget/diffEditorWidget":["Non è possibile confrontare i file perché uno è troppo grande."], +"vs/editor/browser/widget/diffReview":["Chiudi","nessuna linea","1 linea","{0} linee","Differenza {0} di {1}: originale {2}, {3}, modificate {4}, {5}","vuota","originali {0}, modificate {1}: {2}","+ modificate {0}: {1}","- originali {0}: {1}","Vai alla differenza successiva","Vai alla differenza precedente"],"vs/editor/browser/widget/inlineDiffMargin":["Copia le righe eliminate","Copia la riga eliminata","Copia la riga eliminata ({0})","Ripristina questa modifica","Copia la riga eliminata ({0})"], +"vs/editor/common/config/commonEditorConfig":["Editor","Numero di spazi a cui equivale una tabulazione. Quando `#editor.detectIndentation#` è attivo, questa impostazione viene sostituita in base al contenuto del file.","Inserisce spazi quando viene premuto TAB. Quando `#editor.detectIndentation#` è attivo, questa impostazione viene sostituita in base al contenuto del file.","Controlla se `#editor.tabSize#` e `#editor.insertSpaces#` verranno rilevati automaticamente quando un file viene aperto in base al contenuto del file.","Rimuovi gli spazi finali inseriti automaticamente.","Gestione speciale dei file di grandi dimensioni per disabilitare alcune funzionalità che fanno un uso intensivo della memoria.","Controlla se calcolare i completamenti in base alle parole presenti nel documento.","Mantiene aperti gli editor rapidi anche quando si fa doppio clic sul contenuto o si preme 'ESC'.","Per motivi di prestazioni le righe di lunghezza superiore non verranno tokenizzate","Timeout in millisecondi dopo il quale il calcolo delle differenze viene annullato. Usare 0 per indicare nessun timeout.","Controlla se l'editor diff mostra le differenze affiancate o incorporate.","Controlla se l'editor diff mostra come differenze le modifiche relative a spazi vuoti iniziali e finali.","Consente di controllare se l'editor diff mostra gli indicatori +/- per le modifiche aggiunte/rimosse."], +"vs/editor/common/config/editorOptions":["L'editor utilizzerà API della piattaforma per rilevare quando è collegata un'utilità per la lettura dello schermo.","L'editor sarà definitivamente ottimizzato per l'utilizzo con un'utilità per la lettura dello schermo.","L'editor non sarà mai ottimizzato per l'utilizzo con un'utilità per la lettura dello schermo.","Controlla se l'editor deve essere eseguito in una modalità ottimizzata per le utilità per la lettura dello schermo.","Consente di controllare se, quando si copia senza aver effettuato una selezione, viene copiata la riga corrente.","Controlla se inizializzare la stringa di ricerca nel Widget Trova con il testo selezionato nell'editor","Non attivare mai automaticamente la funzione Trova nella selezione (impostazione predefinita)","Attiva sempre automaticamente la funzione Trova nella selezione","Attiva automaticamente la funzione Trova nella selezione quando sono selezionate più righe di contenuto.","Controlla se l'operazione di ricerca viene eseguita all'interno del testo selezionato o in tutto il file aperto nell'editor.","Controlla se il widget Trova deve leggere o modificare gli appunti di ricerca condivisi in macOS.","Controlla se il widget Trova deve aggiungere altre righe nella parte superiore dell'editor. Quando è true, è possibile scorrere oltre la prima riga quando il widget Trova è visibile.","Abilita/Disabilita i caratteri legatura.","Impostazioni esplicite delle funzionalità dei tipi di carattere.","Configura i caratteri legatura.","Controlla le dimensioni del carattere in pixel.","Mostra la visualizzazione rapida dei risultati (impostazione predefinita)","Passa al risultato principale e mostra una visualizzazione rapida","Passa al risultato principale e abilita l'esplorazione senza anteprima per gli altri","Questa impostazione è deprecata. In alternativa, usare impostazioni diverse, come 'editor.editor.gotoLocation.multipleDefinitions' o 'editor.editor.gotoLocation.multipleImplementations'.","Controlla il comportamento del comando 'Vai a definizione' quando esistono più posizioni di destinazione.","Controlla il comportamento del comando 'Vai a definizione di tipo' quando esistono più posizioni di destinazione.","Controlla il comportamento del comando 'Vai a dichiarazione' quando esistono più posizioni di destinazione.","Controlla il comportamento del comando 'Vai a implementazioni' quando esistono più posizioni di destinazione.","Controlla il comportamento del comando 'Vai a riferimenti' quando esistono più posizioni di destinazione.","ID comando alternativo eseguito quando il risultato di 'Vai a definizione' è la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a definizione di tipo' è la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a dichiarazione' è la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a implementazione' è la posizione corrente.","ID comando alternativo eseguito quando il risultato di 'Vai a riferimento' è la posizione corrente.","Controlla se mostrare l'area sensibile al passaggio del mouse.","Controlla il ritardo in millisecondi dopo il quale viene mostrato il passaggio del mouse.","Controlla se l'area sensibile al passaggio del mouse deve rimanere visibile quando vi si passa sopra con il puntatore del mouse","Abilita la lampadina delle azioni codice nell'editor.","Controlla l'altezza della riga. Usare 0 per calcolare l'altezza della riga dalle dimensioni del carattere.","Controlla se la minimappa è visualizzata.","Definisce il lato in cui eseguire il rendering della minimappa.","Controlla se il dispositivo di scorrimento della minimappa è visualizzato.","Scala del contenuto disegnato nella minimappa.","Esegue il rendering dei caratteri effettivi di una riga in contrapposizione ai blocchi colore.","Limita la larghezza della minimappa in modo da eseguire il rendering al massimo di un certo numero di colonne.","Abilita un popup che mostra documentazione sui parametri e informazioni sui tipi mentre si digita.","Controlla se il menu dei suggerimenti per i parametri esegue un ciclo o si chiude quando viene raggiunta la fine dell'elenco.","Abilita i suggerimenti rapidi all'interno di stringhe.","Abilita i suggerimenti rapidi all'interno di commenti.","Abilita i suggerimenti rapidi all'esterno di stringhe e commenti.","Controlla se visualizzare automaticamente i suggerimenti durante la digitazione.","I numeri di riga non vengono visualizzati.","I numeri di riga vengono visualizzati come numeri assoluti.","I numeri di riga vengono visualizzati come distanza in linee alla posizione del cursore.","I numeri di riga vengono visualizzati ogni 10 righe.","Controlla la visualizzazione dei numeri di riga.","Esegue il rendering dei righelli verticali dopo un certo numero di caratteri a spaziatura fissa. Usare più valori per più righelli. Se la matrice è vuota, non vengono disegnati righelli.","Inserisce il suggerimento senza sovrascrivere il testo a destra del cursore.","Inserisce il suggerimento e sovrascrive il testo a destra del cursore.","Controlla se le parole vengono sovrascritte quando si accettano i completamenti. Tenere presente che questa opzione dipende dalle estensioni che accettano esplicitamente questa funzionalità.","Controlla se le modifiche al testo impreviste durante l'accettazione dei completamenti devono essere evidenziate, ad esempio `insertMode` è `replace` ma il completamento supporta solo `insert`.","Controlla se i suggerimenti di filtro e ordinamento valgono per piccoli errori di battitura","Controlla se l'ordinamento privilegia le parole che appaiono più vicine al cursore.","Controlla se condividere le selezioni dei suggerimenti memorizzati tra aree di lavoro e finestre (richiede `#editor.suggestSelection#`).","Controlla se un frammento attivo previene i suggerimenti rapidi.","Consente di controllare se mostrare o nascondere le icone nei suggerimenti.","Consente di controllare il numero di suggerimenti mostrati da IntelliSense prima di visualizzare una barra di scorrimento (massimo 15).","Questa impostazione è deprecata. In alternativa, usare impostazioni diverse, come 'editor.suggest.showKeywords' o 'editor.suggest.showSnippets'.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `method`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `function`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `constructor`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `field`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `variable`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `class`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `struct`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `interface`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `module`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `property`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `event`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `operator`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `unit`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `value`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `constant`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `enum`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `enumMember`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `keyword`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `text`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `color`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `file`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `reference`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `customcolor`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `folder`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `typeParameter`.","Se è abilitata, IntelliSense mostra i suggerimenti relativi a `snippet`.","Controlla se accettare i suggerimenti con i caratteri di commit. Ad esempio, in JavaScript il punto e virgola (';') può essere un carattere di commit che accetta un suggerimento e digita tale carattere.","Accetta un suggerimento con 'Invio' solo quando si apporta una modifica al testo.","Controlla se i suggerimenti devono essere accettati con 'INVIO' in aggiunta a 'TAB'. In questo modo è possibile evitare ambiguità tra l'inserimento di nuove righe e l'accettazione di suggerimenti.","Controlla il numero di righe nell'editor che possono essere lette da un utilità per la lettura dello schermo. Avviso: questa opzione può influire sulle prestazioni se il numero di righe è superiore a quello predefinito.","Contenuto editor","Utilizza le configurazioni del linguaggio per determinare la chiusura automatica delle parentesi.","Chiudi automaticamente le parentesi solo quando il cursore si trova alla sinistra di uno spazio vuoto.","Controlla se l'editor deve chiudere automaticamente le parentesi quadre dopo che sono state aperte.","Digita sopra le virgolette o le parentesi quadre di chiusura solo se sono state inserite automaticamente.","Controlla se l'editor deve digitare su virgolette o parentesi quadre.","Utilizza le configurazioni del linguaggio per determinare la chiusura automatica delle virgolette.","Chiudi automaticamente le virgolette solo quando il cursore si trova alla sinistra di uno spazio vuoto.","Controlla se l'editor deve chiudere automaticamente le citazioni dopo che sono state aperte.","L'editor non inserirà automaticamente il rientro.","L'editor manterrà il rientro della riga corrente.","L'editor manterrà il rientro della riga corrente e rispetterà le parentesi definite dalla lingua.","L'editor manterrà il rientro della riga corrente, rispetterà le parentesi definite dalla lingua e richiamerà le regole onEnterRules speciali definite dalle lingue.","L'editor manterrà il rientro della riga corrente, rispetterà le parentesi definite dalla lingua, richiamerà le regole onEnterRules speciali definite dalle lingue e rispetterà le regole indentationRules definite dalle lingue.","Controlla se l'editor deve regolare automaticamente il rientro quando gli utenti digitano, incollano, spostano le righe o applicano il rientro.","Usa le configurazioni del linguaggio per determinare quando racchiudere automaticamente le selezioni tra parentesi quadre o virgolette.","Racchiude la selezione tra virgolette ma non tra parentesi quadre.","Racchiude la selezione tra parentesi quadre ma non tra virgolette.","Controlla se l'editor deve racchiudere automaticamente le selezioni tra parentesi quadre o virgolette.","Controlla se l'editor visualizza CodeLens.","Controlla se l'editor deve eseguire il rendering del selettore di colore e degli elementi Decorator di tipo colore inline.","Controlla se l'evidenziazione della sintassi deve essere copiata negli Appunti.","Controllo dello stile di animazione del cursore.","Controlla se l'animazione del cursore con anti-aliasing deve essere abilitata.","Controlla lo stile del cursore.","Controlla il numero minimo di righe iniziali e finali visibili che circondano il cursore. Noto come 'scrollOff' o `scrollOffset` in altri editor.","`cursorSurroundingLines` viene applicato solo quando è attivato tramite la tastiera o l'API.","`cursorSurroundingLines` viene sempre applicato.","Controlla quando deve essere applicato `cursorSurroundingLines`.","Controlla la larghezza del cursore quando `#editor.cursorStyle#` è impostato su `line`.","Controlla se l'editor deve consentire lo spostamento di selezioni tramite trascinamento della selezione.","Moltiplicatore della velocità di scorrimento quando si preme `Alt`.","Controlla se per l'editor è abilitata la riduzione del codice.","Controlla in che modo vengono calcolati gli intervalli di riduzione. Con 'auto' viene usata la strategia di riduzione specifica della lingua. Con 'indentation' viene usata forzatamente la strategia di riduzione basata sui rientri.","Controlla la famiglia di caratteri.","Controlla lo spessore del carattere.","Controlla se l'editor deve formattare automaticamente il contenuto incollato. Deve essere disponibile un formattatore che deve essere in grado di formattare un intervallo in un documento.","Controlla se l'editor deve formattare automaticamente la riga dopo la digitazione.","Controlla se l'editor deve eseguire il rendering del margine verticale del glifo. Il margine del glifo viene usato principalmente per il debug.","Controlla se il cursore deve essere nascosto nel righello delle annotazioni.","Controlla se l'editor deve evidenziare la guida con rientro attiva","Controlla la spaziatura tra le lettere in pixel.","Controlla se l'editor deve individuare i collegamenti e renderli selezionabili.","Evidenzia le parentesi graffe corrispondenti.","Moltiplicatore da usare sui valori `deltaX` e `deltaY` degli eventi di scorrimento della rotellina del mouse.","Ingrandisce il carattere dell'editor quando si usa la rotellina del mouse e si tiene premuto 'CTRL'.","Unire i cursori multipli se sovrapposti.","Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.","Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.","Modificatore da usare per aggiungere più cursori con il mouse. I gesti del mouse Vai alla definizione e Apri il collegamento si adatteranno in modo da non entrare in conflitto con il modificatore di selezione multipla. [Altre informazioni](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Ogni cursore incolla una singola riga del testo.","Ogni cursore incolla il testo completo.","Controlla l'operazione Incolla quando il conteggio delle righe del testo incollato corrisponde al conteggio dei cursori.","Controlla se l'editor deve evidenziare le occorrenze di simboli semantici.","Controlla se deve essere disegnato un bordo intorno al righello delle annotazioni.","Controlla il ritardo in millisecondi dopo il quale verranno visualizzati i suggerimenti rapidi.","Controlla se l'editor deve eseguire il rendering dei caratteri di controllo.","Controlla se l'editor deve eseguire il rendering delle guide con rientro.","Esegue il rendering dell'ultimo numero di riga quando il file termina con un carattere di nuova riga.","Mette in evidenza sia la barra di navigazione sia la riga corrente.","Consente di controllare in che modo l'editor deve eseguire il rendering dell'evidenziazione di riga corrente.","Render whitespace characters except for single spaces between words.","Esegui il rendering dei caratteri di spazio vuoto solo nel testo selezionato.","Controlla in che modo l'editor deve eseguire il rendering dei caratteri di spazio vuoto.","Controlla se le selezioni devono avere gli angoli arrotondati.","Controlla il numero di caratteri aggiuntivi oltre i quali l'editor scorrerà orizzontalmente.","Controlla se l'editor scorrerà oltre l'ultima riga.","Controlla se gli appunti primari di Linux devono essere supportati.","Controlla se l'editor deve evidenziare gli elementi corrispondenti simili alla selezione.","Controlla se i controlli di riduzione sul margine della barra di scorrimento sono automaticamente nascosti.","Controllo dissolvenza del codice inutilizzato.","Visualizza i suggerimenti del frammento prima degli altri suggerimenti.","Visualizza i suggerimenti del frammento dopo gli altri suggerimenti.","Visualizza i suggerimenti del frammento insieme agli altri suggerimenti.","Non mostrare i suggerimenti del frammento.","Controlla se i frammenti di codice sono visualizzati con altri suggerimenti e il modo in cui sono ordinati.","Controlla se per lo scorrimento dell'editor verrà usata un'animazione.","Dimensione del carattere per il widget dei suggerimenti. Se impostato su '0', viene utilizzato il valore di '#editor.fontSize#'.","Altezza della riga per il widget dei suggerimenti. Se impostato su '0', viene utilizzato il valore '#editor.lineHeight#'.","Controlla se i suggerimenti devono essere visualizzati automaticamente durante la digitazione dei caratteri trigger.","Consente di selezionare sempre il primo suggerimento.","Consente di selezionare suggerimenti recenti a meno che continuando a digitare non ne venga selezionato uno, ad esempio `console.| -> console.log` perché `log` è stato completato di recente.","Consente di selezionare i suggerimenti in base a prefissi precedenti che hanno completato tali suggerimenti, ad esempio `co -> console` e `con -> const`.","Controlla la modalità di preselezione dei suggerimenti durante la visualizzazione dell'elenco dei suggerimenti.","La funzionalità di completamento con tasto TAB inserirà il migliore suggerimento alla pressione del tasto TAB.","Disabilita le funzionalità di completamento con tasto TAB.","Completa i frammenti con il tasto TAB quando i rispettivi prefissi corrispondono. Funziona in modo ottimale quando 'quickSuggestions' non è abilitato.","Abilità la funzionalità di completamento con tasto TAB.","Inserimento ed eliminazione dello spazio vuoto dopo le tabulazioni.","Caratteri che verranno usati come separatori di parola quando si eseguono operazioni o spostamenti correlati a parole.","Il wrapping delle righe non viene eseguito.","Verrà eseguito il wrapping delle righe in base alla larghezza del viewport.","Verrà eseguito il wrapping delle righe alla posizione corrispondente a `#editor.wordWrapColumn#`.","Verrà eseguito il wrapping delle righe alla posizione minima del viewport e di `#editor.wordWrapColumn#`.","Controlla il wrapping delle righe.","Controlla la colonna di wrapping dell'editor quando il valore di `#editor.wordWrap#` è `wordWrapColumn` o `bounded`.","Nessun rientro. Le righe con ritorno a capo iniziano dalla colonna 1. ","Le righe con ritorno a capo hanno lo stesso rientro della riga padre.","Le righe con ritorno a capo hanno un rientro di +1 rispetto alla riga padre.","Le righe con ritorno a capo hanno un rientro di +2 rispetto alla riga padre.","Controlla il rientro delle righe con ritorno a capo."], +"vs/editor/common/modes/modesRegistry":["Testo normale"], +"vs/editor/common/standaloneStrings":["Nessuna selezione","Riga {0}, colonna {1} ({2} selezionate)","Riga {0}, colonna {1}","{0} selezioni ({1} caratteri selezionati)","{0} selezioni","Modifica dell'impostazione 'accessibilitySupport' su 'on' in corso.","Apertura della pagina di documentazione sull'accessibilità dell'editor in corso.","in un riquadro di sola lettura di un editor diff.","in un riquadro di un editor diff."," in un editor di codice di sola lettura"," in un editor di codice","Per configurare l'editor da ottimizzare per l'utilizzo con un'utilità per la lettura dello schermo, premere Comando+E.","Per configurare l'editor da ottimizzare per l'utilizzo con un'utilità per la lettura dello schermo, premere CTRL+E.","L'editor è configurato per essere ottimizzato per l'utilizzo con un'utilità per la lettura dello schermo.","L'editor è configurato per non essere ottimizzato per l'utilizzo con un'utilità per la lettura dello schermo, che non viene usata in questo momento.","Premere TAB nell'editor corrente per spostare lo stato attivo sull'elemento con stato attivabile successivo. Per attivare/disattivare questo comportamento, premere {0}.","Premere TAB nell'editor corrente per spostare lo stato attivo sull'elemento con stato attivabile successivo. Il comando {0} non può essere attualmente attivato con un tasto di scelta rapida.","Premere TAB nell'editor corrente per inserire il carattere di tabulazione. Per attivare/disattivare questo comportamento, premere {0}.","Premere TAB nell'editor corrente per inserire il carattere di tabulazione. Il comando {0} non può essere attualmente attivato con un tasto di scelta rapida.","Premere Comando+H per aprire una finestra del browser contenente maggiori informazioni correlate all'accessibilità dell'editor.","Premere CTRL+H per aprire una finestra del browser contenente maggiori informazioni correlate all'accessibilità dell'editor.","Per chiudere questa descrizione comando e tornare all'editor, premere ESC o MAIUSC+ESC.","Visualizza la Guida sull'accessibilità","Sviluppatore: Controlla token","Vai a riga {0} e carattere {1}","Vai a riga {0}","Digitare un numero di riga a cui passare compreso tra 1 e {0}","Digitare un carattere compreso tra 1 e {0} a cui passare","Riga corrente: {0}. Passa a riga {1}.","Digitare un numero di riga, seguito da due punti facoltativi e da un numero di carattere a cui passare","Vai alla riga...","{0}, {1}, comandi","{0}, comandi","Digitare il nome di un'azione da eseguire","Riquadro comandi","{0}, simboli","Digitare il nome di un identificatore a cui passare","Vai al simbolo...","simboli ({0})","moduli ({0})","classi ({0})","interfacce ({0})","metodi ({0})","funzioni ({0})","proprietà ({0})","variabili ({0})","variabili ({0})","costruttori ({0})","chiamate ({0})","Contenuto editor","Premere CTRL+F1 per le opzioni di accessibilità.","Premere ALT+F1 per le opzioni di accessibilità.","Attiva/disattiva tema a contrasto elevato","Effettuate {0} modifiche in {1} file"], +"vs/editor/common/view/editorColorRegistry":["Colore di sfondo per l'evidenziazione della riga alla posizione del cursore.","Colore di sfondo per il bordo intorno alla riga alla posizione del cursore.","Colore di sfondo degli intervalli evidenziati, ad esempio dalle funzionalità Quick Open e Trova. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo del bordo intorno agli intervalli selezionati.","Colore di sfondo del simbolo evidenziato, ad esempio per passare alla definizione o al simbolo successivo/precedente. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo del bordo intorno ai simboli selezionati.","Colore del cursore dell'editor.","Colore di sfondo del cursore editor. Permette di personalizzare il colore di un carattere quando sovrapposto da un blocco cursore.","Colore dei caratteri di spazio vuoto nell'editor.","Colore delle guide per i rientri dell'editor.","Colore delle guide di indentazione dell'editor attivo","Colore dei numeri di riga dell'editor.","Colore dei numeri per la riga attiva dell'editor","Id è deprecato. In alternativa utilizzare 'editorLineNumber.activeForeground'.","Colore dei numeri per la riga attiva dell'editor","Colore dei righelli dell'editor.","Colore primo piano delle finestre di CodeLens dell'editor","Colore di sfondo delle parentesi corrispondenti","Colore delle caselle di parentesi corrispondenti","Colore del bordo del righello delle annotazioni.","Colore di sfondo della barra di navigazione dell'editor. La barra contiene i margini di glifo e i numeri di riga.","Colore del bordo del codice sorgente non necessario (non usato) nell'editor.","Opacità del codice sorgente non necessario (non usato) nell'editor. Ad esempio, con \"#000000c0\" il rendering del codice verrà eseguito con il 75% di opacità. Per i temi a contrasto elevato, usare il colore del tema 'editorUnnecessaryCode.border' per sottolineare il codice non necessario invece di opacizzarlo.","Colore del marcatore del righello delle annotazioni per gli errori.","Colore del marcatore del righello delle annotazioni per gli avvisi.","Colore del marcatore del righello delle annotazioni per i messaggi di tipo informativo."], +"vs/editor/contrib/bracketMatching/bracketMatching":["Colore del marcatore del righello delle annotazioni per la corrispondenza delle parentesi.","Vai alla parentesi","Seleziona fino alla parentesi","Vai alla parentesi &&quadra"],"vs/editor/contrib/caretOperations/caretOperations":["Sposta il punto di inserimento a sinistra","Sposta il punto di inserimento a destra"],"vs/editor/contrib/caretOperations/transpose":["Trasponi lettere"],"vs/editor/contrib/clipboard/clipboard":["Taglia","&&Taglia","Copia","&&Copia","Incolla","&&Incolla","Copia con evidenziazione sintassi"], +"vs/editor/contrib/codeAction/codeActionCommands":["Tipo dell'azione codice da eseguire.","Controlla quando vengono applicate le azioni restituite.","Applica sempre la prima azione codice restituita.","Applica la prima azione codice restituita se è l'unica.","Non applicare le azioni codice restituite.","Controlla se devono essere restituite solo le azioni codice preferite.","Si è verificato un errore sconosciuto durante l'applicazione dell'azione del codice","Correzione rapida...","Azioni codice non disponibili","Non sono disponibili azioni codice preferite per '{0}'","Non sono disponibili azioni codice per '{0}'","Non sono disponibili azioni codice preferite","Azioni codice non disponibili","Effettua refactoring...","Non sono disponibili refactoring preferiti per '{0}'","Non sono disponibili refactoring per '{0}'","Non sono disponibili refactoring preferiti","Refactoring non disponibili","Azione origine...","Non sono disponibili azioni origine preferite per '{0}'","Non sono disponibili azioni origine per '{0}'","Non sono disponibili azioni origine preferite","Azioni origine non disponibili","Organizza gli Imports","Azioni di organizzazione Imports non disponibili","Correggi tutto","Non è disponibile alcuna azione Correggi tutto","Correzione automatica...","Non sono disponibili correzioni automatiche"], +"vs/editor/contrib/codeAction/lightBulbWidget":["Mostra correzioni. Correzione preferita disponibile ({0})","Mostra correzioni ({0})","Mostra correzioni"],"vs/editor/contrib/comment/comment":["Attiva/disattiva commento per la riga","Attiva/Disattiva commento per &&riga","Aggiungi commento per la riga","Rimuovi commento per la riga","Attiva/Disattiva commento per il blocco","Attiva/Disattiva commento per &&blocco"],"vs/editor/contrib/contextmenu/contextmenu":["Mostra il menu di scelta rapida editor"],"vs/editor/contrib/cursorUndo/cursorUndo":["Cursore - Annulla","Cursore - Ripeti"], +"vs/editor/contrib/documentSymbols/outlineTree":["Colore primo piano per i simboli di matrice. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli booleani. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di classe. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di colore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di costante. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di costruttore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di enumeratore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di membro di enumeratore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di evento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di campo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di file. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di cartella. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di funzione. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di interfaccia. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di chiave. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di parola chiave. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di metodo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di modulo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di spazio dei nomi. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli Null. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli numerici. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di oggetto. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di operatore. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di pacchetto. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di proprietà. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di riferimento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di frammento. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di stringa. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di struct. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di testo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di parametro di tipo. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di unità. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti.","Colore primo piano per i simboli di variabile. Questi simboli vengono visualizzati nella struttura, nell'elemento di navigazione e nel widget dei suggerimenti."], +"vs/editor/contrib/find/findController":["Trova","&&Trova","Trova nella selezione","Trova successivo","Trova successivo","Trova precedente","Trova precedente","Trova selezione successiva","Trova selezione precedente","Sostituisci","&&Sostituisci"],"vs/editor/contrib/find/findWidget":["Trova","Trova","Corrispondenza precedente","Corrispondenza successiva","Trova nella selezione","Chiudi","Sostituisci","Sostituisci","Sostituisci","Sostituisci tutto","Attiva/Disattiva modalità sostituzione","Solo i primi {0} risultati vengono evidenziati, ma tutte le operazioni di ricerca funzionano su tutto il testo.","{0} di {1}","Nessun risultato","{0} trovato","{0} trovato per {1}","{0} trovato per {1} a riga {2}","{0} trovato per {1}","Il tasto di scelta rapida CTRL+INVIO ora consente di inserire l'interruzione di linea invece di sostituire tutto. Per eseguire l'override di questo comportamento, è possibile modificare il tasto di scelta rapida per editor.action.replaceAll."], +"vs/editor/contrib/folding/folding":["Espandi","Espandi in modo ricorsivo","Riduci","Attiva/Disattiva riduzione","Riduci in modo ricorsivo","Riduci tutti i blocchi commento","Riduci tutte le regioni","Espandi tutte le regioni","Riduci tutto","Espandi tutto","Livello riduzione {0}"],"vs/editor/contrib/fontZoom/fontZoom":["Zoom In del Font Editor","Zoom Reset del Font Editor","Reset dello Zoom del Font Editor"],"vs/editor/contrib/format/format":["È stata apportata 1 modifica di formattazione a riga {0}","Sono state apportate {0} modifiche di formattazione a riga {1}","È stata apportata 1 modifica di formattazione tra le righe {0} e {1}","Sono state apportate {0} modifiche di formattazione tra le righe {1} e {2}"],"vs/editor/contrib/format/formatActions":["Formatta documento","Formatta selezione"], +"vs/editor/contrib/gotoError/gotoError":["Vai al problema successivo (Errore, Avviso, Informazioni)","Vai al problema precedente (Errore, Avviso, Informazioni)","Vai al problema successivo nei file (Errore, Avviso, Informazioni)","Vai al problema precedente nei file (Errore, Avviso, Informazioni)","&&Problema successivo","&&Problema precedente"],"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} di {1} problemi","{0} di {1} problema","Colore per gli errori del widget di spostamento tra marcatori dell'editor.","Colore per gli avvisi del widget di spostamento tra marcatori dell'editor.","Colore delle informazioni del widget di navigazione marcatori dell'editor.","Sfondo del widget di spostamento tra marcatori dell'editor."], +"vs/editor/contrib/gotoSymbol/goToCommands":["Anteprima","Definizioni","Non è stata trovata alcuna definizione per '{0}'","Non è stata trovata alcuna definizione","Vai a definizione","Vai alla &&definizione","Apri definizione lateralmente","Visualizza la definizione","Dichiarazioni","Non è stata trovata alcuna dichiarazione per '{0}'","Dichiarazione non trovata","Vai a dichiarazione","Vai a &&dichiarazione","Non è stata trovata alcuna dichiarazione per '{0}'","Dichiarazione non trovata","Anteprima dichiarazione","Definizioni di tipo","Non sono state trovate definizioni di tipi per '{0}'","Non sono state trovate definizioni di tipi","Vai alla definizione di tipo","Vai alla &&definizione di tipo","Anteprima definizione di tipo","Implementazioni","Non sono state trovate implementazioni per '{0}'","Non sono state trovate implementazioni","Vai a implementazioni","Vai a &&Implementazioni","Visualizza implementazioni","Non sono stati trovati riferimenti per '{0}'","Non sono stati trovati riferimenti","Vai a Riferimenti","Vai a &&riferimenti","Riferimenti","Anteprima riferimenti","Riferimenti","Vai a qualsiasi simbolo","Posizioni","Non sono stati trovati risultati per '{0}'","Riferimenti"], +"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Fare clic per visualizzare {0} definizioni."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Caricamento...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["Non è stato possibile risolvere il file.","{0} riferimenti","{0} riferimento"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["anteprima non disponibile","Riferimenti","Nessun risultato","Riferimenti"],"vs/editor/contrib/gotoSymbol/referencesModel":["simbolo in {0} alla riga {1} colonna {2}","1 simbolo in {0}, percorso completo {1}","{0} simboli in {1}, percorso completo {2}","Non sono stati trovati risultati","Trovato 1 simbolo in {0}","Trovati {0} simboli in {1}","Trovati {0} simboli in {1} file"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Simbolo {0} di {1}, {2} per il successivo","Simbolo {0} di {1}"],"vs/editor/contrib/hover/hover":["Visualizza passaggio del mouse","Mostra anteprima definizione al passaggio del mouse"], +"vs/editor/contrib/hover/modesContentHover":["Caricamento...","Posiziona puntatore sul problema","Verifica disponibilità correzioni rapide...","Non sono disponibili correzioni rapide","Correzione rapida..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Sostituisci con il valore precedente","Sostituisci con il valore successivo"], +"vs/editor/contrib/linesOperations/linesOperations":["Copia la riga in alto","&&Copia riga in alto","Copia la riga in basso","Co&&pia riga in basso","Duplica selezione","&&Duplica selezione","Sposta la riga in alto","Sposta riga in &&alto","Sposta la riga in basso","Sposta riga in &&basso","Ordinamento righe crescente","Ordinamento righe decrescente","Taglia spazio vuoto finale","Elimina riga","Imposta un rientro per la riga","Riduci il rientro per la riga","Inserisci la riga sopra","Inserisci la riga sotto","Elimina tutto a sinistra","Elimina tutto a destra","Unisci righe","Trasponi caratteri intorno al cursore","Converti in maiuscolo","Converti in minuscolo","Trasforma in Tutte Iniziali Maiuscole"], +"vs/editor/contrib/links/links":["Esegui il comando","selezionare il collegamento","CMD+clic","CTRL+clic","Opzione+clic","ALT+clic","Non è stato possibile aprire questo collegamento perché il formato non è valido: {0}","Non è stato possibile aprire questo collegamento perché manca la destinazione.","Apri il collegamento"],"vs/editor/contrib/message/messageController":["Non è possibile modificare nell'editor di sola lettura"], +"vs/editor/contrib/multicursor/multicursor":["Aggiungi cursore sopra","&&Aggiungi cursore sopra","Aggiungi cursore sotto","A&&ggiungi cursore sotto","Aggiungi cursore alla fine delle righe","Aggiungi c&&ursori a fine riga","Aggiungi cursori alla fine","Aggiungi cursori all'inizio","Aggiungi selezione a risultato ricerca successivo","Aggiungi &&occorrenza successiva","Aggiungi selezione a risultato ricerca precedente","Aggiungi occorrenza &&precedente","Sposta ultima selezione a risultato ricerca successivo","Sposta ultima selezione a risultato ricerca precedente","Seleziona tutte le occorrenze del risultato ricerca","Seleziona &&tutte le occorrenze","Cambia tutte le occorrenze"],"vs/editor/contrib/parameterHints/parameterHints":["Attiva i suggerimenti per i parametri"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, suggerimento"], +"vs/editor/contrib/peekView/peekView":["Chiudi","Colore di sfondo dell'area del titolo della visualizzazione rapida.","Colore del titolo della visualizzazione rapida.","Colore delle informazioni del titolo della visualizzazione rapida.","Colore dei bordi e della freccia della visualizzazione rapida.","Colore di sfondo dell'elenco risultati della visualizzazione rapida.","Colore primo piano dei nodi riga nell'elenco risultati della visualizzazione rapida.","Colore primo piano dei nodi file nell'elenco risultati della visualizzazione rapida.","Colore di sfondo della voce selezionata nell'elenco risultati della visualizzazione rapida.","Colore primo piano della voce selezionata nell'elenco risultati della visualizzazione rapida.","Colore di sfondo dell'editor di visualizzazioni rapide.","Colore di sfondo della barra di navigazione nell'editor visualizzazione rapida.","Colore dell'evidenziazione delle corrispondenze nell'elenco risultati della visualizzazione rapida.","Colore dell'evidenziazione delle corrispondenze nell'editor di visualizzazioni rapide.","Bordo dell'evidenziazione delle corrispondenze nell'editor di visualizzazioni rapide."], +"vs/editor/contrib/rename/rename":["Nessun risultato.","Si è verificato un errore sconosciuto durante la risoluzione del percorso di ridenominazione","Correttamente rinominato '{0}' in '{1}'. Sommario: {2}","L'esecuzione dell'operazione di ridenominazione non è riuscita.","Rinomina simbolo"],"vs/editor/contrib/rename/renameInputField":["Consente di rinominare l'input. Digitare il nuovo nome e premere INVIO per eseguire il commit."],"vs/editor/contrib/smartSelect/smartSelect":["Espandi selezione","Espan&&di selezione","Riduci selezione","&&Riduci selezione"],"vs/editor/contrib/snippet/snippetVariables":["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato","Dom","Lun","Mar","Mer","Gio","Ven","Sab","Gennaio","Febbraio","Marzo","Aprile","Mag","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre","Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"], +"vs/editor/contrib/suggest/suggestController":["In seguito all'accettazione di '{0}' sono state apportate altre {1} modifiche","Attiva suggerimento"],"vs/editor/contrib/suggest/suggestWidget":["Colore di sfondo del widget dei suggerimenti.","Colore del bordo del widget dei suggerimenti.","Colore primo piano del widget dei suggerimenti.","Colore di sfondo della voce selezionata del widget dei suggerimenti.","Colore delle evidenziazioni corrispondenze nel widget dei suggerimenti.","Altre informazioni...{0}","Meno informazioni... {0}","Caricamento...","Caricamento...","Non ci sono suggerimenti.","Elemento {0}, documenti: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Attiva/Disattiva l'uso di TAB per spostare lo stato attivo","Se si preme TAB, lo stato attivo verrà spostato sull'elemento con stato attivabile successivo.","Se si preme TAB, verrà inserito il carattere di tabulazione"],"vs/editor/contrib/tokenization/tokenization":["Sviluppatore: Forza retokenizzazione"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["Colore di sfondo di un simbolo durante l'accesso in lettura, ad esempio durante la lettura di una variabile. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo di un simbolo durante l'accesso in scrittura, ad esempio durante la scrittura in una variabile. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del bordo di un simbolo durante l'accesso in lettura, ad esempio durante la lettura di una variabile.","Colore del bordo di un simbolo durante l'accesso in scrittura, ad esempio durante la scrittura in una variabile.","Colore del marcatore del righello delle annotazioni per le evidenziazioni dei simboli. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore del righello delle annotazioni per le evidenziazioni dei simboli di accesso in scrittura. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Vai al prossimo simbolo evidenziato","Vai al precedente simbolo evidenziato","Attiva/disattiva evidenziazione simbolo"], +"vs/platform/configuration/common/configurationRegistry":["Override configurazione predefinita","Consente di configurare le impostazioni dell'editor di cui eseguire l'override per un linguaggio.","Non è possibile registrare '{0}'. Corrisponde al criterio di proprietà '\\\\[.*\\\\]$' per la descrizione delle impostazioni dell'editor specifiche del linguaggio. Usare il contributo 'configurationDefaults'.","Non è possibile registrare '{0}'. Questa proprietà è già registrata."],"vs/platform/keybinding/common/abstractKeybindingService":["È stato premuto ({0}). In attesa del secondo tasto...","La combinazione di tasti ({0}, {1}) non è un comando."], +"vs/platform/list/browser/listService":["Workbench","Rappresenta il tasto 'Control' in Windows e Linux e il tasto 'Comando' in macOS.","Rappresenta il tasto 'Alt' in Windows e Linux e il tasto 'Opzione' in macOS.","Il modificatore da utilizzare per aggiungere un elemento di alberi e liste ad una selezione multipla con il mouse (ad esempio in Esplora Risorse, apre gli editor e le viste scm). Le gesture del mouse 'Apri a lato' - se supportate - si adatteranno in modo da non creare conflitti con il modificatore di selezione multipla.","Controlla l'apertura degli elementi di alberi ed elenchi tramite il mouse (se supportato). Per i nodi con figli, questa impostazione ne controlla l'apertura tramite singolo o doppio clic. Si noti che alcuni alberi ed elenchi potrebbero scegliere di ignorare questa impostazione se non applicabile.","Controlla se elenchi e alberi supportano lo scorrimento orizzontale in Workbench.","Controlla se gli alberi supportano lo scorrimento orizzontale in Workbench.","Questa impostazione è deprecata. In alternativa, usare '{0}'.","Controlla il rientro dell'albero in pixel.","Controlla se l'albero deve eseguire il rendering delle guide per i rientri.","Con lo stile di spostamento da tastiera simple lo stato attivo si trova sugli elementi che corrispondono all'input da tastiera. L'abbinamento viene effettuato solo in base ai prefissi.","Con lo stile di spostamento da tastiera highlight vengono evidenziati gli elementi corrispondenti all'input da tastiera. Spostandosi ulteriormente verso l'alto o verso il basso ci si sposterà solo negli elementi evidenziati.","Con lo stile di spostamento da tastiera filter verranno filtrati e nascosti tutti gli elementi che non corrispondono all'input da tastiera.","Controlla lo stile di spostamento da tastiera per elenchi e alberi nel workbench. Le opzioni sono: simple, highlight e filter.","Controlla se gli spostamenti da tastiera per elenchi e alberi vengono attivati semplicemente premendo un tasto. Se è impostato su `false`, gli spostamenti da tastiera vengono attivati solo durante l'esecuzione del comando `list.toggleKeyboardNavigation`, al quale è possibile assegnare un tasto di scelta rapida."], +"vs/platform/markers/common/markers":["Errore","Avviso","Info"], +"vs/platform/theme/common/colorRegistry":["Colore primo piano generale. Questo colore viene usato solo se non è sostituito da quello di un componente.","Colore primo piano globale per i messaggi di errore. Questo colore è utilizzato solamente se non viene sottoposto a override da un componente.","Colore dei bordi degli elementi evidenziati. Questo colore è utilizzato solo se non viene sovrascritto da un componente.","Un bordo supplementare attorno agli elementi per contrastarli maggiormente rispetto agli altri.","Un bordo supplementare intorno agli elementi attivi per contrastarli maggiormente rispetto agli altri.","Colore primo piano dei link nel testo.","Colore di sfondo per i blocchi di codice nel testo.","Colore ombreggiatura dei widget, ad es. Trova/Sostituisci all'interno dell'editor.","Sfondo della casella di input.","Primo piano della casella di input.","Bordo della casella di input.","Colore del bordo di opzioni attivate nei campi di input.","Colore di sfondo di opzioni attivate nei campi di input.","Colore di sfondo di convalida dell'input di tipo Informazione.","Colore primo piano di convalida dell'input di tipo Informazione.","Colore del bordo della convalida dell'input di tipo Informazione.","Colore di sfondo di convalida dell'input di tipo Avviso.","Colore primo piano di convalida dell'input di tipo Avviso.","Colore del bordo della convalida dell'input di tipo Avviso.","Colore di sfondo di convalida dell'input di tipo Errore.","Colore primo piano di convalida dell'input di tipo Errore.","Colore del bordo della convalida dell'input di tipo Errore.","Sfondo dell'elenco a discesa.","Primo piano dell'elenco a discesa.","Colore di selezione rapida per il raggruppamento delle etichette.","Colore di selezione rapida per il raggruppamento dei bordi.","Colore di sfondo del badge. I badge sono piccole etichette informative, ad esempio per mostrare il conteggio dei risultati di una ricerca.","Colore primo piano del badge. I badge sono piccole etichette informative, ad esempio per mostrare il conteggio dei risultati di una ricerca.","Ombra della barra di scorrimento per indicare lo scorrimento della visualizzazione.","Colore di sfondo del cursore della barra di scorrimento.","Colore di sfondo del cursore della barra di scorrimento al passaggio del mouse.","Colore di sfondo del cursore della barra di scorrimento quando si fa clic con il mouse.","Colore di sfondo dell'indicatore di stato che può essere mostrato per operazioni a esecuzione prolungata.","Colore primo piano degli indicatori di errore nell'editor.","Colore del bordo delle caselle di errore nell'editor.","Colore primo piano degli indicatori di avviso nell'editor.","Colore del bordo delle caselle di avviso nell'editor.","Colore primo piano degli indicatori di informazioni nell'editor.","Colore del bordo delle caselle informative nell'editor.","Colore primo piano degli indicatori di suggerimento nell'editor.","Colore del bordo delle caselle dei suggerimenti nell'editor.","Colore di sfondo dell'editor.","Colore primo piano predefinito dell'editor.","Colore di sfondo dei widget dell'editor, ad esempio Trova/Sostituisci.","Colore primo piano dei widget dell'editor, ad esempio Trova/Sostituisci.","Colore del bordo dei widget dell'editor. Il colore viene usato solo se il widget sceglie di avere un bordo e se il colore non è sottoposto a override da un widget.","Colore del bordo della barra di ridimensionamento dei widget dell'editor. Il colore viene utilizzato solo se il widget sceglie di avere un bordo di ridimensionamento e se il colore non è sottoposto ad override da un widget.","Colore della selezione dell'editor.","Colore del testo selezionato per il contrasto elevato.","Colore della selezione in un editor inattivo. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore delle aree con lo stesso contenuto della selezione. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del bordo delle regioni con lo stesso contenuto della selezione.","Colore della corrispondenza di ricerca corrente.","Colore degli altri risultati della ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore dell'intervallo di limite della ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del bordo della corrispondenza della ricerca corrente.","Colore del bordo delle altre corrispondenze della ricerca.","Colore del bordo dell'intervallo che limita la ricerca. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Evidenziazione sotto la parola per cui è visualizzata un'area sensibile al passaggio del mouse. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo dell'area sensibile al passaggio del mouse dell'editor.","Colore primo piano dell'area sensibile al passaggio del mouse dell'editor.","Colore del bordo dell'area sensibile al passaggio del mouse dell'editor.","Colore di sfondo della barra di stato sensibile al passaggio del mouse dell'editor.","Colore dei collegamenti attivi.","Colore usato per l'icona delle azioni con lampadina.","Colore usato per l'icona delle azioni di correzione automatica con lampadina.","Colore di sfondo per il testo che è stato inserito. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore di sfondo per il testo che è stato rimosso. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del contorno del testo che è stato inserito.","Colore del contorno del testo che è stato rimosso.","Colore del bordo tra due editor di testo.","Colore di sfondo dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero è attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore primo piano dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero è attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore di sfondo dell'elenco/albero per l'elemento selezionato quando l'elenco/albero è attivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore primo piano Elenco/Struttura ad albero per l'elemento selezionato quando l'Elenco/Struttura ad albero è attivo. Un Elenco/Struttura ad albero attivo\nha il focus della tastiera, uno inattivo no.","Colore di sfondo dell'elenco/albero per l'elemento selezionato quando l'elenco/albero è inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore primo piano dell'elenco/albero per l'elemento selezionato quando l'elenco/albero è inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, a differenza di uno inattivo.","Colore di sfondo dell'elenco/albero per l'elemento con lo stato attivo quando l'elenco/albero è inattivo. Un elenco/albero attivo ha lo stato attivo della tastiera, uno inattivo no.","Sfondo Elenco/Struttura ad albero al passaggio del mouse sugli elementi.","Primo piano Elenco/Struttura ad albero al passaggio del mouse sugli elementi.","Sfondo Elenco/Struttura ad albero durante il trascinamento degli elementi selezionati.","Colore primo piano Elenco/Struttura ad albero delle occorrenze trovate durante la ricerca nell'Elenco/Struttura ad albero.","Colore di sfondo del widget del filtro per tipo in elenchi e alberi.","Colore del contorno del widget del filtro per tipo in elenchi e alberi.","Colore del contorno del widget del filtro per tipo in elenchi e alberi quando non sono presenti corrispondenze.","Colore del tratto dell'albero per le guide per i rientri.","Colore del bordo del menu.","Colore di primo piano delle voci di menu.","Colore di sfondo delle voci di menu.","Colore di primo piano della voce di menu selezionata nei menu.","Colore di sfondo della voce di menu selezionata nei menu.","Colore del bordo della voce di menu selezionata nei menu.","Colore di un elemento separatore delle voci di menu.","Colore di sfondo dell'evidenziazione della tabulazione di un frammento.","Colore del bordo dell'evidenziazione della tabulazione di un frammento.","Colore di sfondo dell'evidenziazione della tabulazione finale di un frammento.","Colore del bordo dell'evidenziazione della tabulazione finale di un frammento.","Colore del marcatore del righello delle annotazioni per la ricerca di corrispondenze. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore del righello delle annotazioni per le evidenziazioni delle selezioni. Il colore non deve essere opaco per evitare di nascondere le decorazioni sottostanti.","Colore del marcatore della minimappa per la ricerca delle corrispondenze.","Colore del marcatore della minimappa per la selezione dell'editor.","Colore del marcatore della minimappa per gli errori.","Colore del marcatore della minimappa per gli avvisi.","Colore usato per l'icona di errore dei problemi.","Colore usato per l'icona di avviso dei problemi.","Colore usato per l'icona informazioni dei problemi."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.it.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ja.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ja.js new file mode 100755 index 00000000..15ae7f04 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ja.js @@ -0,0 +1,29 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.ja",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (再発)","{0} (発生 {1} 回目)"],"vs/base/browser/ui/findinput/findInput":["入力"],"vs/base/browser/ui/findinput/findInputCheckboxes":["大文字と小文字を区別する","単語単位で検索する","正規表現を使用する"],"vs/base/browser/ui/findinput/replaceInput":["入力","保持する"],"vs/base/browser/ui/inputbox/inputBox":["エラー: {0}","警告: {0}","情報: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["バインドなし"],"vs/base/browser/ui/list/listWidget":["{0}。移動キーを使用して移動します。"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["クリア","型のフィルターを無効にする","型のフィルターを有効にする","要素が見つかりません","{1} 個の要素のうち {0} 個の要素が一致しました"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Alt","コマンド","Control","Shift","Alt","Windows","Control","Shift","Alt","Super"],"vs/base/common/severity":["エラー","警告","情報"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}、選択","選択"], +"vs/base/parts/quickopen/browser/quickOpenWidget":["クイック選択。入力すると結果が絞り込まれます。","クイック選択","{0} 件の結果"],"vs/editor/browser/controller/coreCommands":["すべて選択(&&S)","元に戻す(&&U)","やり直し(&&R)"],"vs/editor/browser/controller/textAreaHandler":["現在エディターにアクセスすることはできません。 Alt + F1 キーを押してオプションを選択します。"],"vs/editor/browser/widget/codeEditorWidget":["カーソルの数は {0} 個に制限されています。"],"vs/editor/browser/widget/diffEditorWidget":["一方のファイルが大きすぎるため、ファイルを比較できません。"],"vs/editor/browser/widget/diffReview":["閉じる","行なし","1 行","{0} 行","{1} の差異 {0}: 変更前 {2}, {3}, 変更後 {4}, {5}","空白","変更前の {0}、変更後の {1}: {2}","+ 変更後の {0}: {1}","- 変更前の {0}: {1}","次の差分に移動","前の差分に移動"],"vs/editor/browser/widget/inlineDiffMargin":["削除された行のコピー","削除された行のコピー","削除された行のコピー ({0})","この変更を元に戻す","削除された行のコピー ({0})"], +"vs/editor/common/config/commonEditorConfig":["エディター","1 つのタブに相当するスペースの数。`#editor.detectIndentation#` がオンの場合、この設定はファイル コンテンツに基づいて上書きされます。","`Tab` キーを押すとスペースが挿入されます。`#editor.detectIndentation#` がオンの場合、この設定はファイル コンテンツに基づいて上書きされます。","ファイルがファイルの内容に基づいて開かれる場合、`#editor.tabSize#` と `#editor.insertSpaces#` を自動的に検出するかどうかを制御します。","自動挿入された末尾の空白を削除します。","大きなファイルでメモリが集中する特定の機能を無効にするための特別な処理。","ドキュメント内の単語に基づいて入力候補を計算するかどうかを制御します。","エディターのコンテンツをダブルクリックするか、`Escape` キーを押しても、ピーク エディターを開いたままにします。","この長さを越える行は、パフォーマンス上の理由によりトークン化されません。","差分計算が取り消された後のタイムアウト (ミリ秒単位)。タイムアウトなしには 0 を使用します。","差分エディターが差分を横に並べて表示するか、行内に表示するかを制御します。","差分エディターが、先頭または末尾の空白の変更を差分として表示するかどうかを制御します。","差分エディターが追加/削除された変更に +/- インジケーターを示すかどうかを制御します。"], +"vs/editor/common/config/editorOptions":["エディターはスクリーン リーダーがいつ接続されたかを検出するためにプラットフォーム API を使用します。","エディターは永続的にスクリーン リーダー向けに最適化されます。","エディターはスクリーン リーダー向けに最適化されません。","エディターをスクリーン リーダーに最適化されたモードで実行するかどうかを制御します。","選択範囲を指定しないでコピーする場合に現在の行をコピーするかどうかを制御します。","エディターの選択範囲から検索ウィジェット内の検索文字列を与えるかどうかを制御します。","[選択範囲を検索] を自動的にオンにしない (既定)","[選択範囲を検索] を常に自動的にオンにする","複数行のコンテンツが選択されている場合は、自動的に [選択範囲を検索] をオンにします。","エディターでの検索操作の実行対象を、選択したテキストとファイル全体のどちらにするかを制御します。","macOS で検索ウィジェットが共有の検索クリップボードを読み取りまたは変更するかどうかを制御します。","検索ウィジェットがエディターの上に行をさらに追加するかどうかを制御します。true の場合、検索ウィジェットが表示されているときに最初の行を超えてスクロールできます。","フォントの合字を有効/無効にします。","明示的なフォント機能設定。","フォントの合字を構成します。","フォント サイズ (ピクセル単位) を制御します。","結果のピーク ビューを表示 (既定)","主な結果に移動し、ピーク ビューを表示します","プライマリ結果に移動し、他のユーザーへのピークレス ナビゲーションを有効にします","この設定は非推奨です。代わりに、'editor.editor.gotoLocation.multipleDefinitions' や 'editor.editor.gotoLocation.multipleImplementations' などの個別の設定を使用してください。","複数のターゲットの場所があるときの '定義へ移動' コマンドの動作を制御します。","複数のターゲットの場所があるときの '型定義へ移動' コマンドの動作を制御します。","複数のターゲットの場所があるときの '宣言へ移動' コマンドの動作を制御します。","複数のターゲットの場所があるときの '実装に移動' コマンドの動作を制御します。","ターゲットの場所が複数存在する場合の '参照へ移動' コマンドの動作を制御します。","'定義へ移動' の結果が現在の場所である場合に実行される代替コマンド ID。","'型定義へ移動' の結果が現在の場所である場合に実行される代替コマンド ID。","'宣言へ移動' の結果が現在の場所である場合に実行される代替コマンド ID。","'実装へ移動' の結果が現在の場所である場合に実行される代替コマンド ID。","'参照へ移動' の結果が現在の場所である場合に実行される代替コマンド ID。","ホバーを表示するかどうかを制御します。","ホバーを表示後の待ち時間 (ミリ秒) を制御します。","ホバーにマウスを移動したときに、ホバーを表示し続けるかどうかを制御します。","エディターでコード アクションの電球を有効にします。","行の高さを制御します。フォント サイズに基づいて行の高さを計算する場合には、0 を使用します。","ミニマップを表示するかどうかを制御します。","ミニマップを表示する場所を制御します。","ミニマップ スライダーを表示するタイミングを制御します。","ミニマップに描画されるコンテンツのスケール。","行にカラー ブロックではなく実際の文字を表示します。","表示するミニマップの最大幅を特定の列数に制限します。","入力時にパラメーター ドキュメントと型情報を表示するポップアップを有効にします。","パラメーター ヒント メニューを周回するか、リストの最後で閉じるかどうかを制御します。","文字列内でクイック候補を有効にします。","コメント内でクイック候補を有効にします。","文字列およびコメント外でクイック候補を有効にします。","入力中に候補を自動的に表示するかどうかを制御します。","行番号は表示されません。","行番号は、絶対値として表示されます。","行番号は、カーソル位置までの行数として表示されます。","行番号は 10 行ごとに表示されます。","行番号の表示を制御します。","特定の等幅文字数の後に垂直ルーラーを表示します。複数のルーラーには複数の値を使用します。配列が空の場合はルーラーを表示しません。","カーソルの右のテキストを上書きせずに候補を挿入します。","候補を挿入し、カーソルの右のテキストを上書きします。","入力候補を受け入れるときに単語を上書きするかどうかを制御します。これは、この機能の利用を選択する拡張機能に依存することにご注意ください。","入力候補を受け入れている間の予期しないテキストの変更を強調表示するかどうかを制御します。たとえば、`insertMode` は `replace` ですが、入力候補は `insert` のみをサポートしています。","候補のフィルター処理と並び替えでささいな入力ミスを考慮するかどうかを制御します。","並べ替えがカーソル付近に表示される単語を優先するかどうかを制御します。","保存された候補セクションを複数のワークプレースとウィンドウで共有するかどうかを制御します (`#editor.suggestSelection#` が必要)。","アクティブなスニペットがクイック候補を止めるかどうかを制御します。","提案のアイコンを表示するか、非表示にするかを制御します。","スクロール バーを表示する前に IntelliSense が表示する候補の数を制御します (最大 15 個)。","この設定は非推奨です。代わりに、'editor.suggest.showKeywords' や 'editor.suggest.showSnippets' などの個別の設定を使用してください。","有効にすると、IntelliSense に `メソッド` 候補が表示されます。","有効にすると、IntelliSense に `関数` 候補が表示されます。","有効にすると、IntelliSense に `コンストラクター` 候補が表示されます。","有効にすると、IntelliSense に `フィールド` 候補が表示されます。","有効にすると、IntelliSense に `変数` 候補が表示されます。","有効にすると、IntelliSense に 'クラス' 候補が表示されます。","有効にすると、IntelliSense に `構造体` 候補が表示されます。","有効にすると、IntelliSense に `インターフェイス` 候補が表示されます。","有効にすると、IntelliSense に `モジュール` 候補が表示されます。","有効にすると、IntelliSense に `プロパティ` 候補が表示されます。","有効にすると、IntelliSense に `イベント` 候補が表示されます。","有効にすると、IntelliSense に `演算子` 候補が表示されます。","有効にすると、IntelliSense に `ユニット` 候補が表示されます。","有効にすると、IntelliSense に `値` 候補が表示されます。","有効にすると、IntelliSense に `定数` 候補が表示されます。","有効にすると、IntelliSense に `列挙型` 候補が表示されます。","有効にすると、IntelliSense に `enumMember` 候補が表示されます。","有効にすると、IntelliSense に `キーワード` 候補が表示されます。","有効にすると、IntelliSense に 'テキスト' -候補が表示されます。","有効にすると、IntelliSense に `色` 候補が表示されます。","有効にすると、IntelliSense に 'ファイル' 候補が表示されます。","有効にすると、IntelliSense に `参照` 候補が表示されます。","有効にすると、IntelliSense に `customcolor` 候補が表示されます。","有効にすると、IntelliSense に `フォルダー` 候補が表示されます。","有効にすると、IntelliSense に `typeParameter` 候補が表示されます。","有効にすると、IntelliSense に `スニペット` 候補が表示されます。","コミット文字で候補を受け入れるかどうかを制御します。たとえば、JavaScript ではセミコロン (`;`) をコミット文字にして、候補を受け入れてその文字を入力することができます。","テキストの変更を行うとき、`Enter` を使用する場合にのみ候補を受け付けます。","`Tab` キーに加えて `Enter` キーで候補を受け入れるかどうかを制御します。改行の挿入や候補の反映の間であいまいさを解消するのに役立ちます。","スクリーン リーダーで読み上げることができるエディターの行数を制御します。警告: 既定値を上回る数を指定すると、パフォーマンスに影響を与えます。","エディターのコンテンツ","言語設定を使用して、いつかっこを自動クローズするか決定します。","カーソルが空白文字の左にあるときだけ、かっこを自動クローズします。","エディターで左角かっこを追加した後に自動的に右角かっこを挿入するかどうかを制御します。","終わり引用符または括弧が自動的に挿入された場合にのみ、それらを上書きします。","エディターで終わり引用符または括弧を上書きするかどうかを制御します。","言語設定を使用して、いつ引用符を自動クローズするか決定します。","カーソルが空白文字の左にあるときだけ、引用符を自動クローズします。","ユーザーが開始引用符を追加した後、エディター自動的に引用符を閉じるかどうかを制御します。","エディターはインデントを自動的に挿入しません。","エディターは、現在の行のインデントを保持します。","エディターは、現在の行のインデントを保持し、言語が定義されたかっこを優先します。","エディターは、現在の行のインデントを保持し、言語が定義されたかっこを優先し、言語で定義された特別な onEnterRules を呼び出します。","エディターは、現在の行のインデントを保持し、言語が定義されたかっこを優先し、言語で定義された特別な onEnterRules を呼び出し、言語で定義された indentationRules を優先します。","ユーザーが行を入力、貼り付け、移動、またはインデントするときに、エディターでインデントを自動的に調整するかどうかを制御します。","言語構成を使用して、選択範囲をいつ自動的に囲むかを判断します。","角かっこではなく、引用符で囲みます。","引用符ではなく、角かっこで囲みます。","エディターが自動的に選択範囲を囲む必要があるかどうかを制御します。","エディターで CodeLens を表示するかどうかを制御します。","エディターでインライン カラー デコレーターと色の選択を表示する必要があるかどうかを制御します。","構文ハイライトをクリップボードにコピーするかどうかを制御します。","カーソルのアニメーション方式を制御します。","滑らかなキャレットアニメーションを有効にするかどうかを制御します。","カーソルのスタイルを制御します。","カーソル前後の表示可能な先頭と末尾の行の最小数を制御します。他の一部のエディターでは 'scrollOff' または `scrollOffset` と呼ばれます。","`cursorSurroundingLines` は、キーボードまたは API でトリガーされた場合にのみ強制されます。","`cursorSurroundingLines` は常に適用されます。","'カーソルの周囲の行' を適用するタイミングを制御します。","`#editor.cursorStyle#` が `line` に設定されている場合、カーソルの幅を制御します。","ドラッグ アンド ドロップによる選択範囲の移動をエディターが許可するかどうかを制御します。","`Alt` を押すと、スクロール速度が倍増します。","エディターでコードの折りたたみを有効にするかどうかを制御します。","折りたたみ範囲の計算方式を制御します。`auto` は利用可能であれば言語固有の折りたたみ方式を使用します。`indentation` はインデントに基づく折りたたみ方式を使用します。","フォント ファミリを制御します。","フォントの太さを制御します。","貼り付けた内容がエディターにより自動的にフォーマットされるかどうかを制御します。フォーマッタを使用可能にする必要があります。また、フォーマッタがドキュメント内の範囲をフォーマットできなければなりません。","エディターで入力後に自動的に行のフォーマットを行うかどうかを制御します。","エディターで縦のグリフ余白が表示されるかどうかを制御します。ほとんどの場合、グリフ余白はデバッグに使用されます。","概要ルーラーでカーソルを非表示にするかどうかを制御します。","エディターでアクティブなインデントのガイドを強調表示するかどうかを制御します。","文字間隔 (ピクセル単位) を制御します。","エディターがリンクを検出してクリック可能な状態にするかどうかを制御します。","対応するかっこを強調表示します。","マウス ホイール スクロール イベントの `deltaX` と `deltaY` で使用される乗数。","`Ctrl` キーを押しながらマウス ホイールを使用してエディターのフォントをズームします。","複数のカーソルが重なっているときは、マージします。","Windows および Linux 上の `Control` キーと macOS 上の `Command` キーに割り当てます。","Windows および Linux 上の `Alt` キーと macOS 上の `Option` キーに割り当てます。","マウスを使用して複数のカーソルを追加するときに使用する修飾キーです。「定義に移動」や「リンクを開く」のマウス操作は、マルチカーソルの修飾キーと競合しないように適用されます。[詳細](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)","カーソルごとにテキストを 1 行ずつ貼り付けます。","各カーソルは全文を貼り付けます。","貼り付けたテキストの行数がカーソル数と一致する場合の貼り付けを制御します。","エディターでセマンティック シンボルの出現箇所を強調表示するかどうかを制御します。","概要ルーラーの周囲に境界線が描画されるかどうかを制御します。","クイック候補が表示されるまでのミリ秒を制御します。","エディターで制御文字を表示するかどうかを制御します。","エディターでインデント ガイドを表示するかどうかを制御します。","ファイルの末尾が改行の場合は、最後の行番号を表示します。","余白と現在の行を強調表示します。","エディターが現在の行をどのように強調表示するかを制御します。","Render whitespace characters except for single spaces between words.","選択したテキストにのみ空白文字を表示します。","エディターで空白文字を表示するかどうかを制御します。","選択範囲の角を丸くするかどうかを制御します。","エディターが水平方向に余分にスクロールする文字数を制御します。","エディターが最後の行を越えてスクロールするかどうかを制御します。","Linux の PRIMARY クリップボードをサポートするかどうかを制御します。","エディターが選択項目と類似の一致項目を強調表示するかどうかを制御します。","余白上の折りたたみコントロールを自動的に非表示にするかどうかを制御します。","使用されていないコードのフェードアウトを制御します。","他の候補の上にスニペットの候補を表示します。","他の候補の下にスニペットの候補を表示します。","他の候補と一緒にスニペットの候補を表示します。","スニペットの候補を表示しません。","他の修正候補と一緒にスニペットを表示するかどうか、およびその並び替えの方法を制御します。","アニメーションでエディターをスクロールするかどうかを制御します。","候補ウィジェットのフォント サイズ。`0` に設定すると、`#editor.fontSize#` の値が使用されます。","候補ウィジェットの行の高さ。`0` に設定すると、`#editor.lineHeight#` の値が使用されます。","トリガー文字の入力時に候補が自動的に表示されるようにするかどうかを制御します。","常に最初の候補を選択します。","`console.| -> console.log` などと選択対象に関して入力しない限りは、最近の候補を選択します。`log` は最近完了したためです。","これらの候補を完了した以前のプレフィックスに基づいて候補を選択します。例: `co -> console` および `con -> const`。","候補リストを表示するときに候補を事前に選択する方法を制御します。","タブ補完は、tab キーを押したときに最適な候補を挿入します。","タブ補完を無効にします。","プレフィックスが一致する場合に、タブでスニペットを補完します。'quickSuggestions' が無効な場合に最適です。","タブ補完を有効にします。","空白の挿入や削除はタブ位置に従って行われます。","単語に関連したナビゲーションまたは操作を実行するときに、単語の区切り文字として使用される文字。","行を折り返しません。","行をビューポートの幅で折り返します。","`#editor.wordWrapColumn#` で行を折り返します。","ビューポートと `#editor.wordWrapColumn#` の最小値で行を折り返します。","行の折り返し方法を制御します。","`#editor.wordWrap#` が `wordWrapColumn` または `bounded` の場合に、エディターの折り返し桁を制御します。","インデントしません。 折り返し行は列 1 から始まります。","折り返し行は、親と同じインデントになります。","折り返し行は、親 +1 のインデントになります。","折り返し行は、親 +2 のインデントになります。","折り返し行のインデントを制御します。"], +"vs/editor/common/modes/modesRegistry":["プレーンテキスト"], +"vs/editor/common/standaloneStrings":["選択されていません","行 {0}、列 {1} ({2} 個選択済み)","行 {0}、列 {1}","{0} 個の選択項目 ({1} 文字を選択)","{0} 個の選択項目","`accessibilitySupport` 設定を 'on' に変更しています。","エディターのアクセシビリティに関連するドキュメント ページを開いています。","差分エディターの読み取り専用ウィンドウ内。","差分エディターのウィンドウ内。","読み取り専用コード エディター内","コード エディター内","エディターを構成してスクリーン エディターで使用するように最適化するには、Command+E を押してください。","エディターを構成してスクリーン リーダーで使用するように最適化するには、Control+E を押します。","エディターは、スクリーン リーダーで使用するよう最適化されるように構成されています。","エディターは、スクリーン リーダーで使用するよう最適化されないように構成されていますが、現時点でこの設定は当てはまりません。","現在のエディターで Tab キーを押すと、次のフォーカス可能な要素にフォーカスを移動します。{0} を押すと、この動作が切り替わります。","現在のエディターで Tab キーを押すと、次のフォーカス可能な要素にフォーカスを移動します。コマンド {0} は、キー バインドでは現在トリガーできません。","現在のエディターで Tab キーを押すと、タブ文字が挿入されます。{0} を押すと、この動作が切り替わります。","現在のエディターで Tab キーを押すと、タブ文字が挿入されます。コマンド {0} は、キー バインドでは現在トリガーできません。","エディターのアクセシビリティに関する詳細情報が記されたブラウザー ウィンドウを開くには、Command+H を押してください。","エディターのアクセシビリティに関する詳細情報が記されたブラウザー ウィンドウを開くには、Control+H を押してください。","Esc キー か Shift+Esc を押すと、ヒントを消してエディターに戻ることができます。","アクセシビリティのヘルプを表示します","開発者: トークンの検査","行 {0} 文字 {1} へ移動","行 {0} へ移動","移動先の行番号を 1 ~ {0} の範囲で入力してください","移動先を 1 から {0} までの文字で入力","現在の行: {0}。 {1} 行目に移動。","移動先の行番号と、必要な場合はその後にコロンと文字番号を入力してください","指定行へ移動...","{0}、{1}、コマンド","{0}、コマンド","実行するアクションの名前を入力","コマンド パレット","{0}、シンボル","移動先の識別子の名前を入力します","シンボルに移動...","シンボル ({0})","モジュール ({0})","クラス ({0})","インターフェイス ({0})","メソッド ({0})","関数 ({0})","プロパティ ({0})","変数 ({0})","変数 ({0})","コンストラクター ({0})","({0}) を呼び出す","エディターのコンテンツ","アクセシビリティ オプションを表示するには Ctrl+F1 を押します。","アクティビティ オプションを表示するには、Alt+F1 キーを押します。","ハイ コントラスト テーマの切り替え","{1} 個のファイルに {0} 個の編集が行われました"], +"vs/editor/common/view/editorColorRegistry":["カーソル位置の行を強調表示する背景色。","カーソル位置の行の境界線を強調表示する背景色。","(Quick Open や検出機能などにより) 強調表示されている範囲の色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","強調表示された範囲の境界線の背景色。","強調表示された記号の背景色 (定義へ移動、次または前の記号へ移動など)。基になる装飾が覆われないようにするため、色を不透明にすることはできません。","強調表示された記号の周りの境界線の背景色。","エディターのカーソルの色。","選択された文字列の背景色です。選択された文字列の背景色をカスタマイズ出来ます。","エディターのスペース文字の色。","エディター インデント ガイドの色。","アクティブなエディターのインデント ガイドの色。","エディターの行番号の色。","エディターのアクティブ行番号の色","id は使用しないでください。代わりに 'EditorLineNumber.activeForeground' を使用してください。","エディターのアクティブ行番号の色","エディター ルーラーの色。","CodeLens エディターの前景色。","一致するかっこの背景色","一致するかっこ内のボックスの色","概要ルーラーの境界色。","エディターの余白の背景色。余白にはグリフ マージンと行番号が含まれます。","エディターでの不要な (未使用の) ソース コードの罫線の色。","エディター内の不要な (未使用の) ソース コードの不透明度。たとえば、\"#000000c0\" は不透明度 75% でコードを表示します。ハイ コントラストのテーマの場合、'editorUnnecessaryCode.border' テーマ色を使用して、不要なコードをフェードアウトするのではなく下線を付けます。","エラーを示す概要ルーラーのマーカー色。","警告を示す概要ルーラーのマーカー色。","情報を示す概要ルーラーのマーカー色。"], +"vs/editor/contrib/bracketMatching/bracketMatching":["一致するブラケットを示す概要ルーラーのマーカー色。","ブラケットへ移動","ブラケットに選択","ブラケットに移動(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["キャレットを左に移動","キャレットを右に移動"],"vs/editor/contrib/caretOperations/transpose":["文字の入れ替え"],"vs/editor/contrib/clipboard/clipboard":["切り取り","切り取り(&&T)","コピー","コピー(&&C)","貼り付け","貼り付け(&&P)","構文を強調表示してコピー"], +"vs/editor/contrib/codeAction/codeActionCommands":["実行するコード アクションの種類。","返されたアクションが適用されるタイミングを制御します。","最初に返されたコード アクションを常に適用します。","最初に返されたコード アクション以外に返されたコード アクションがない場合は、そのアクションを適用します。","返されたコード アクションは適用しないでください。","優先コード アクションのみを返すかどうかを制御します。","コード アクションの適用中に不明なエラーが発生しました","クイック フィックス...","利用可能なコード アクションはありません","'{0}' に対して使用できる優先コード アクションがありません","{0}' に対して使用できるコード アクションがありません","使用できる優先コード アクションがありません","利用可能なコード アクションはありません","リファクター...","'{0}' に対して使用できる優先リファクタリングがありません","'{0}' に対して使用できるリファクタリングがありません","使用できる優先リファクタリングがありません","利用可能なリファクタリングはありません","ソース アクション...","'{0}' に対して使用できる優先ソース アクションがありません","'{0}' に対して使用できるソース アクションがありません","使用できる優先ソース アクションがありません","利用可能なソース アクションはありません","インポートを整理","利用可能なインポートの整理アクションはありません","すべて修正","すべてを修正するアクションは利用できません","自動修正...","利用可能な自動修正はありません"],"vs/editor/contrib/codeAction/lightBulbWidget":["修正プログラムを表示します。推奨される利用可能な修正プログラム ({0})","修正プログラム ({0}) を表示する","修正プログラムを表示する"], +"vs/editor/contrib/comment/comment":["行コメントの切り替え","行コメントの切り替え(&&T)","行コメントの追加","行コメントの削除","ブロック コメントの切り替え","ブロック コメントの切り替え(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["エディターのコンテキスト メニューの表示"],"vs/editor/contrib/cursorUndo/cursorUndo":["カーソルを元に戻す","カーソルのやり直し"], +"vs/editor/contrib/documentSymbols/outlineTree":["配列記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","ブール値記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","クラス記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","色記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","定数記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","コンストラクター記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","列挙子記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","列挙子メンバー記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","イベント記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","フィールド記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","ファイル記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","フォルダー記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","関数記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","インターフェイス記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","キー記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","キーワード記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","メソッド記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","モジュール記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","名前空間記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","Null 記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","数値記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","オブジェクト記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","演算子記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","パッケージ記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","プロパティ記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","参照記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","スニペット記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","文字列記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","構造体記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","テキスト記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","パラメーター記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","単位記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。","変数記号の前景色。これらの記号は、アウトライン、階層リンク、および候補のウィジェットに表示されます。"], +"vs/editor/contrib/find/findController":["検索","検索(&&F)","選択範囲で検索","次を検索","次を検索","前を検索","前を検索","次の選択項目を検索","前の選択項目を検索","置換","置換(&&R)"],"vs/editor/contrib/find/findWidget":["検索","検索","前の検索結果","次の一致項目","選択範囲を検索","閉じる","置換","置換","置換","すべて置換","置換モードの切り替え","最初の {0} 件の結果だけが強調表示されますが、すべての検索操作はテキスト全体で機能します。","{0} / {1} 件","結果はありません。","{0} が見つかりました","{0} が {1} で見つかりました","{0} が {2} に {1} で見つかりました","{0} が {1} で見つかりました","Ctrl + Enter キーを押すと、すべて置換するのではなく、改行が挿入されるようになりました。editor.action.replaceAll のキーバインドを変更して、この動作をオーバーライドできます。"],"vs/editor/contrib/folding/folding":["展開","再帰的に展開する","折りたたみ","折りたたみの切り替え","再帰的に折りたたむ","すべてのブロック コメントの折りたたみ","すべての領域を折りたたむ","すべての領域を展開","すべて折りたたみ","すべて展開","レベル {0} で折りたたむ"],"vs/editor/contrib/fontZoom/fontZoom":["エディターのフォントを拡大","エディターのフォントを縮小","エディターのフォントのズームをリセット"],"vs/editor/contrib/format/format":["行 {0} で 1 つの書式設定を編集","行 {1} で {0} 個の書式設定を編集","行 {0} と {1} の間で 1 つの書式設定を編集","行 {1} と {2} の間で {0} 個の書式設定を編集"],"vs/editor/contrib/format/formatActions":["ドキュメントのフォーマット","選択範囲のフォーマット"], +"vs/editor/contrib/gotoError/gotoError":["次の問題 (エラー、警告、情報) へ移動","前の問題 (エラー、警告、情報) へ移動","ファイル内の次の問題 (エラー、警告、情報) へ移動","ファイル内の前の問題 (エラー、警告、情報) へ移動","次の問題箇所(&&P)","前の問題箇所(&&P)"],"vs/editor/contrib/gotoError/gotoErrorWidget":["{1} 件中 {0} 件の問題","問題 {0} / {1}","エディターのマーカー ナビゲーション ウィジェットのエラーの色。","エディターのマーカー ナビゲーション ウィジェットの警告の色。","エディターのマーカー ナビゲーション ウィジェットの情報の色。","エディターのマーカー ナビゲーション ウィジェットの背景。"],"vs/editor/contrib/gotoSymbol/goToCommands":["ピーク","定義","'{0}' の定義は見つかりません","定義が見つかりません","定義へ移動","定義に移動(&&D)","定義を横に開く","定義をここに表示","宣言","'{0}' の宣言が見つかりません","宣言が見つかりません","宣言へ移動","宣言へ移動(&&D)","'{0}' の宣言が見つかりません","宣言が見つかりません","宣言をここに表示","型定義","'{0}' の型定義が見つかりません","型定義が見つかりません","型定義へ移動","型定義に移動(&&T)","型定義を表示","実装","'{0}' の実装が見つかりません","実装が見つかりません","実装へ移動","実装箇所に移動","実装のピーク","'{0}' の参照が見つかりません","参照が見つかりません","参照へ移動","参照へ移動(&&R)","参照設定","参照をここに表示","参照設定","任意の記号へ移動","場所","'{0}' の結果がありません","参照設定"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["クリックして、{0} の定義を表示します。"], +"vs/editor/contrib/gotoSymbol/peek/referencesController":["読み込んでいます...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["ファイルを解決できませんでした。","{0} 個の参照","{0} 個の参照"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["プレビューを表示できません","参照設定","結果はありません。","参照設定"],"vs/editor/contrib/gotoSymbol/referencesModel":["列 {2} の {1} 行目に {0} つのシンボル","{0} に 1 個のシンボル、完全なパス {1}","{1} に {0} 個のシンボル、完全なパス {2}","一致する項目はありません","{0} に 1 個のシンボルが見つかりました","{1} に {0} 個のシンボルが見つかりました","{1} 個のファイルに {0} 個のシンボルが見つかりました"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1} のシンボル {0}、次に {2}","シンボル {0}/{1}"],"vs/editor/contrib/hover/hover":["ホバーの表示","定義プレビューのホバーを表示する"],"vs/editor/contrib/hover/modesContentHover":["読み込んでいます...","問題を表示","クイックフィックスを確認しています...","利用できるクイックフィックスはありません","クイック フィックス..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["前の値に置換","次の値に置換"], +"vs/editor/contrib/linesOperations/linesOperations":["行を上へコピー","行を上へコピー(&&C)","行を下へコピー","行を下へコピー(&&P)","選択範囲の複製","選択範囲の複製(&&D)","行を上へ移動","行を上へ移動(&&V)","行を下へ移動","行を下へ移動(&&L)","行を昇順に並べ替え","行を降順に並べ替え","末尾の空白のトリミング","行の削除","行のインデント","行のインデント解除","行を上に挿入","行を下に挿入","左側をすべて削除","右側をすべて削除","行をつなげる","カーソルの周囲の文字を入れ替える","大文字に変換","小文字に変換","先頭文字を大文字に変換する"],"vs/editor/contrib/links/links":["コマンドの実行","リンク先を表示","cmd + クリック","ctrl + クリック","option + クリック","alt + クリック","このリンクは形式が正しくないため開くことができませんでした: {0}","このリンクはターゲットが存在しないため開くことができませんでした。","リンクを開く"],"vs/editor/contrib/message/messageController":["読み取り専用のエディターは編集できません"],"vs/editor/contrib/multicursor/multicursor":["カーソルを上に挿入","カーソルを上に挿入(&&A)","カーソルを下に挿入","カーソルを下に挿入(&&D)","カーソルを行末に挿入","カーソルを行末に挿入(&&U)","カーソルを下に挿入","カーソルを上に挿入","選択した項目を次の一致項目に追加","次の出現個所を追加(&&N)","選択項目を次の一致項目に追加","前の出現箇所を追加(&&R)","最後に選択した項目を次の一致項目に移動","最後に選んだ項目を前の一致項目に移動する","一致するすべての出現箇所を選択します","すべての出現箇所を選択(&&O)","すべての出現箇所を変更"],"vs/editor/contrib/parameterHints/parameterHints":["パラメーター ヒントをトリガー"], +"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}、ヒント"],"vs/editor/contrib/peekView/peekView":["閉じる","ピーク ビューのタイトル領域の背景色。","ピーク ビュー タイトルの色。","ピーク ビューのタイトル情報の色。","ピーク ビューの境界と矢印の色。","ピーク ビュー結果リストの背景色。","ピーク ビュー結果リストのライン ノードの前景色。","ピーク ビュー結果リストのファイル ノードの前景色。","ピーク ビュー結果リストの選択済みエントリの背景色。","ピーク ビュー結果リストの選択済みエントリの前景色。","ピーク ビュー エディターの背景色。","ピーク ビュー エディターの余白の背景色。","ピーク ビュー結果リストの一致した強調表示色。","ピーク ビュー エディターの一致した強調表示色。","ピーク ビュー エディターの一致した強調境界色。"],"vs/editor/contrib/rename/rename":["結果がありません。","名前変更の場所を解決しようとして不明なエラーが発生しました","'{0}' から '{1}' への名前変更が正常に完了しました。概要: {2}","名前の変更を実行できませんでした。","シンボルの名前変更"],"vs/editor/contrib/rename/renameInputField":["名前変更入力。新しい名前を入力し、Enter キーを押してコミットしてください。"],"vs/editor/contrib/smartSelect/smartSelect":["選択範囲を拡張","選択範囲の展開(&&E)","選択範囲を縮小","選択範囲の縮小(&&S)"], +"vs/editor/contrib/snippet/snippetVariables":["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日","月","火","水","木","金","土","1 月","2 月","3 月","4 月","5 月","6 月","7 月","8 月","9 月","10 月","11 月","12 月","1 月","2 月","3 月","4 月","5 月","6 月","7 月","8 月","9 月","10 月","11 月","12 月"],"vs/editor/contrib/suggest/suggestController":["{1} が追加編集した '{0}' を受け入れる","候補をトリガー"],"vs/editor/contrib/suggest/suggestWidget":["候補のウィジェットの背景色。","候補ウィジェットの境界線色。","候補ウィジェットの前景色。","候補ウィジェット内で選択済みエントリの背景色。","候補のウィジェット内で一致したハイライトの色。","詳細を表示...{0}","詳細を隠す...{0}","読み込んでいます...","読み込んでいます...","候補はありません。","アイテム {0}、ドキュメント: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Tab キーを切り替えるとフォーカスが移動します","Tab キーを押すと、次のフォーカス可能な要素にフォーカスを移動します","Tab キーを押すと、タブ文字が挿入されます"],"vs/editor/contrib/tokenization/tokenization":["開発者: トークン再作成の強制"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["変数の読み取りなど、読み取りアクセス中のシンボルの背景色。下にある装飾を隠さないために、色は不透過であってはなりません。","変数への書き込みなど、書き込みアクセス中のシンボル背景色。下にある装飾を隠さないために、色は不透過であってはなりません。","変数の読み取りなど読み取りアクセス中のシンボルの境界線の色。","変数への書き込みなど書き込みアクセス中のシンボルの境界線の色。","シンボルによって強調表示される概要ルーラーのマーカーの色。マーカーの色は、基になる装飾を隠さないように不透明以外にします。","書き込みアクセス シンボルを強調表示する概要ルーラーのマーカー色。下にある装飾を隠さないために、色は不透過であってはなりません。","次のシンボル ハイライトに移動","前のシンボル ハイライトに移動","シンボル ハイライトをトリガー"],"vs/platform/configuration/common/configurationRegistry":["既定の構成オーバーライド","言語に対して上書きされるエディター設定を構成します。","'{0}' を登録できません。これは、言語固有のエディター設定を記述するプロパティ パターン '\\\\[.*\\\\]$' に一致しています。'configurationDefaults' コントリビューションを使用してください。","'{0}' を登録できません。このプロパティは既に登録されています。"],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) が押されました。2 番目のキーを待っています...","キーの組み合わせ ({0}、{1}) はコマンドではありません。"], +"vs/platform/list/browser/listService":["ワークベンチ","Windows および Linux 上の `Control` キーと macOS 上の `Command` キーに割り当てます。","Windows および Linux 上の `Alt` キーと macOS 上の `Option` キーに割り当てます。","マウスを使用して項目を複数選択するときに使用する修飾キーです (たとえば、エクスプローラーでエディターと scm ビューを開くなど)。'横に並べて開く' マウス ジェスチャー (がサポートされている場合) は、複数選択の修飾キーと競合しないように調整されます。","マウスを使用して、ツリー リスト内の項目を開く方法を制御します (サポートされている場合)。ツリー内の子を持つ親項目で、この設定は親項目をシングル クリックで展開するか、ダブル クリックで展開するかどうかを制御します。この設定の選択 (適応するかどうか) を無視するツリー リストがあることに注意してください。","リストやツリーがワークベンチの水平スクロールをサポートするかどうかを制御します。","ワークベンチでツリーが水平スクロールをサポートするかどうかを制御します。","この設定は推奨されていません。代わりに '{0}' を使用してください。","ツリーのインデントをピクセル単位で制御します。","ツリーでインシデントのガイドを表示する必要があるかどうかを制御します。","簡単なキーボード ナビゲーションは、キーボード入力に一致する要素に焦点を当てます。一致処理はプレフィックスでのみ実行されます。","キーボード ナビゲーションの強調表示を使用すると、キーボード入力に一致する要素が強調表示されます。上および下への移動は、強調表示されている要素のみを移動します。","キーボード ナビゲーションのフィルターでは、キーボード入力に一致しないすべての要素がフィルター処理され、非表示になります。","ワークベンチのリストおよびツリーのキーボード ナビゲーション スタイルを制御します。単純、強調表示、フィルターを指定できます。","リストやツリーでのキーボード ナビゲーションを、単に入力するだけで自動的にトリガーするかどうかを制御します。`false` に設定した場合、キーボード ナビゲーションは `list.toggleKeyboardNavigation` コマンドを実行したときにのみトリガーされます。これに対してキーボード ショートカットを割り当てることができます。"], +"vs/platform/markers/common/markers":["エラー","警告","情報"], +"vs/platform/theme/common/colorRegistry":["全体の前景色。この色は、コンポーネントによってオーバーライドされていない場合にのみ使用されます。","エラー メッセージ全体の前景色。この色は、コンポーネントによって上書きされていない場合にのみ使用されます。","フォーカスされた要素の境界線全体の色。この色はコンポーネントによって上書きされていない場合にのみ使用されます。","コントラストを強めるために、他の要素と隔てる追加の境界線。","コントラストを強めるために、アクティブな他要素と隔てる追加の境界線。","テキスト内のリンクの前景色。","テキスト内のコード ブロックの背景色。","エディター内の検索/置換窓など、エディター ウィジェットの影の色。","入力ボックスの背景。","入力ボックスの前景。","入力ボックスの境界線。","入力フィールドのアクティブ オプションの境界線の色。","入力フィールドでアクティブ化されたオプションの背景色。","情報の重大度を示す入力検証の背景色。","情報の重大度を示す入力検証の前景色。","情報の重大度を示す入力検証の境界線色。","警告の重大度を示す入力検証の背景色。","警告の重大度を示す入力検証の前景色。","警告の重大度を示す入力検証の境界線色。","エラーの重大度を示す入力検証の背景色。","エラーの重大度を示す入力検証の前景色。","エラーの重大度を示す入力検証の境界線色。","ドロップダウンの背景。","ドロップダウンの前景。","ラベルをグループ化するためのクリック選択の色。","境界線をグループ化するためのクイック選択の色。","バッジの背景色。バッジとは小さな情報ラベルのことです。例:検索結果の数","バッジの前景色。バッジとは小さな情報ラベルのことです。例:検索結果の数","ビューがスクロールされたことを示すスクロール バーの影。","スクロール バーのスライダーの背景色。","ホバー時のスクロール バー スライダー背景色。","クリック時のスクロール バー スライダー背景色。","時間のかかる操作で表示するプログレス バーの背景色。","エディターでエラーを示す波線の前景色。","エディター内のエラー ボックスの境界線の色です。","エディターで警告を示す波線の前景色。","エディターでの警告ボックスの境界線の色です。","エディターで情報を示す波線の前景色。","エディター内の情報ボックスの境界線の色です。","エディターでヒントを示す波線の前景色。","エディター内のヒント ボックスの境界線の色。","エディターの背景色。","エディターの既定の前景色。","検索/置換窓など、エディター ウィジェットの背景色。","検索/置換などを行うエディター ウィジェットの前景色。","エディター ウィジェットの境界線色。ウィジェットに境界線があり、ウィジェットによって配色を上書きされていない場合でのみこの配色は使用されます。","エディター ウィジェットのサイズ変更バーの境界線色。ウィジェットにサイズ変更の境界線があり、ウィジェットによって配色を上書きされていない場合でのみこの配色は使用されます。","エディターの選択範囲の色。","ハイ コントラストの選択済みテキストの色。","非アクティブなエディターの選択範囲の色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","選択範囲の同じコンテンツの領域の色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","選択範囲と同じコンテンツの境界線の色。","現在の検索一致項目の色。","その他の検索条件に一致する項目の色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","検索を制限する範囲の色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","現在の検索一致項目の境界線の色。","他の検索一致項目の境界線の色。","検索を制限する範囲の境界線色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","ホバーが表示されている語の下を強調表示します。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","エディター ホバーの背景色。","エディター ホバーの前景色。","エディター ホバーの境界線の色。","エディターのホバーのステータス バーの背景色。","アクティブなリンクの色。","電球アクション アイコンに使用する色。","自動修正の電球アクション アイコンとして使用される色。","挿入されたテキストの背景色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","削除したテキストの背景色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","挿入されたテキストの輪郭の色。","削除されたテキストの輪郭の色。","2 つのテキスト エディターの間の境界線の色。","ツリーリストがアクティブのとき、フォーカスされた項目のツリーリスト背景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","ツリーリストがアクティブのとき、フォーカスされた項目のツリーリスト前景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","ツリーリストが非アクティブのとき、選択された項目のツリーリスト背景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","ツリーリストがアクティブのとき、選択された項目のツリーリスト前景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","ツリーリストが非アクティブのとき、選択された項目のツリーリスト背景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","ツリーリストが非アクティブのとき、選択された項目のツリーリスト前景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","ツリーリストが非アクティブのとき、フォーカスされた項目のツリーリスト背景色。アクティブなツリーリストはキーボード フォーカスがあり、非アクティブではこれがありません。","マウス操作で項目をホバーするときのツリーリスト背景。","マウス操作で項目をホバーするときのツリーリスト前景。","マウス操作で項目を移動するときのツリーリスト ドラッグ アンド ドロップの背景。","ツリーリスト内を検索しているとき、一致した強調のツリーリスト前景色。","リストおよびツリーの型フィルター ウェジェットの背景色。","リストおよびツリーの型フィルター ウィジェットのアウトライン色。","一致項目がない場合の、リストおよびツリーの型フィルター ウィジェットのアウトライン色。","インデント ガイドのツリー ストロークの色。","メニューの境界線色。","メニュー項目の前景色。","メニュー項目の背景色。","メニューで選択されたメニュー項目の前景色。","メニューで選択されたメニュー項目の背景色。","メニューで選択されたメニュー項目の境界線色。","メニュー内のメニュー項目の境界線色。","スニペット tabstop の背景色を強調表示します。","スニペット tabstop の境界線の色を強調表示します。","スニペットの最後の tabstop の背景色を強調表示します。","スニペットの最後の tabstop の境界線の色を強調表示します。","検出された一致項目の概要ルーラー マーカーの色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","選択範囲を強調表示するための概要ルーラー マーカーの色。この色は、基本装飾が非表示にならないよう不透明にすることはできません。","一致を検索するためのミニマップ マーカーの色。","エディターの選択範囲のミニマップ マーカーの色。","エラーのミニマップ マーカーの色。","警告のミニマップ マーカーの色。","問題のエラー アイコンに使用される色。","問題の警告アイコンに使用される色。","問題情報アイコンに使用される色。"] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.ja.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.js new file mode 100755 index 00000000..c93d6ba8 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.js @@ -0,0 +1,34 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (occurred again)","{0} (occurred {1} times)"],"vs/base/browser/ui/findinput/findInput":["input"],"vs/base/browser/ui/findinput/findInputCheckboxes":["Match Case","Match Whole Word","Use Regular Expression"],"vs/base/browser/ui/findinput/replaceInput":["input","Preserve Case"],"vs/base/browser/ui/inputbox/inputBox":["Error: {0}","Warning: {0}","Info: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["Unbound"],"vs/base/browser/ui/list/listWidget":["{0}. Use the navigation keys to navigate."],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Clear","Disable Filter on Type","Enable Filter on Type","No elements found","Matched {0} out of {1} elements"], +"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Alt","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","Super"],"vs/base/common/severity":["Error","Warning","Info"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}, picker","picker"],"vs/base/parts/quickopen/browser/quickOpenWidget":["Quick picker. Type to narrow down results.","Quick Picker","{0} Results"],"vs/editor/browser/controller/coreCommands":["&&Select All","&&Undo","&&Redo"],"vs/editor/browser/controller/textAreaHandler":["The editor is not accessible at this time. Press Alt+F1 for options."],"vs/editor/browser/widget/codeEditorWidget":["The number of cursors has been limited to {0}."],"vs/editor/browser/widget/diffEditorWidget":["Cannot compare files because one file is too large."], +"vs/editor/browser/widget/diffReview":["Close","no lines","1 line","{0} lines","Difference {0} of {1}: original {2}, {3}, modified {4}, {5}","blank","original {0}, modified {1}: {2}","+ modified {0}: {1}","- original {0}: {1}","Go to Next Difference","Go to Previous Difference"],"vs/editor/browser/widget/inlineDiffMargin":["Copy deleted lines","Copy deleted line","Copy deleted line ({0})","Revert this change","Copy deleted line ({0})"], +"vs/editor/common/config/commonEditorConfig":["Editor","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.","Remove trailing auto inserted whitespace.","Special handling for large files to disable certain memory intensive features.","Controls whether completions should be computed based on words in the document.","Keep peek editors open even when double clicking their content or when hitting `Escape`.","Lines above this length will not be tokenized for performance reasons","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.","Controls whether the diff editor shows the diff side by side or inline.","Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.","Controls whether the diff editor shows +/- indicators for added/removed changes."], +"vs/editor/common/config/editorOptions":["The editor will use platform APIs to detect when a Screen Reader is attached.","The editor will be permanently optimized for usage with a Screen Reader.","The editor will never be optimized for usage with a Screen Reader.","Controls whether the editor should run in a mode where it is optimized for screen readers.","Controls whether copying without a selection copies the current line.","Controls whether the search string in the Find Widget is seeded from the editor selection.","Never turn on Find in selection automatically (default)","Always turn on Find in selection automatically","Turn on Find in selection automatically when multiple lines of content are selected.","Controls whether the find operation is carried out on selected text or the entire file in the editor.","Controls whether the Find Widget should read or modify the shared find clipboard on macOS.","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.","Enables/Disables font ligatures.","Explicit font-feature-settings.","Configures font ligatures.","Controls the font size in pixels.","Show peek view of the results (default)","Go to the primary result and show a peek view","Go to the primary result and enable peek-less navigation to others","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.","Controls the behavior the 'Go to References'-command when multiple target locations exist.","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.","Controls whether the hover is shown.","Controls the delay in milliseconds after which the hover is shown.","Controls whether the hover should remain visible when mouse is moved over it.","Enables the code action lightbulb in the editor.","Controls the line height. Use 0 to compute the line height from the font size.","Controls whether the minimap is shown.","Controls the side where to render the minimap.","Controls when the minimap slider is shown.","Scale of content drawn in the minimap.","Render the actual characters on a line as opposed to color blocks.","Limit the width of the minimap to render at most a certain number of columns.","Enables a pop-up that shows parameter documentation and type information as you type.","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.","Enable quick suggestions inside strings.","Enable quick suggestions inside comments.","Enable quick suggestions outside of strings and comments.","Controls whether suggestions should automatically show up while typing.","Line numbers are not rendered.","Line numbers are rendered as absolute number.","Line numbers are rendered as distance in lines to cursor position.","Line numbers are rendered every 10 lines.","Controls the display of line numbers.","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.","Insert suggestion without overwriting text right of the cursor.","Insert suggestion and overwrite text right of the cursor.","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.","Controls whether unexpected text modifications while accepting completions should be highlighted, e.g `insertMode` is `replace` but the completion only supports `insert`.","Controls whether filtering and sorting suggestions accounts for small typos.","Controls whether sorting favours words that appear close to the cursor.","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).","Control whether an active snippet prevents quick suggestions.","Controls whether to show or hide icons in suggestions.","Controls how many suggestions IntelliSense will show before showing a scrollbar (maximum 15).","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.","When enabled IntelliSense shows `method`-suggestions.","When enabled IntelliSense shows `function`-suggestions.","When enabled IntelliSense shows `constructor`-suggestions.","When enabled IntelliSense shows `field`-suggestions.","When enabled IntelliSense shows `variable`-suggestions.","When enabled IntelliSense shows `class`-suggestions.","When enabled IntelliSense shows `struct`-suggestions.","When enabled IntelliSense shows `interface`-suggestions.","When enabled IntelliSense shows `module`-suggestions.","When enabled IntelliSense shows `property`-suggestions.","When enabled IntelliSense shows `event`-suggestions.","When enabled IntelliSense shows `operator`-suggestions.","When enabled IntelliSense shows `unit`-suggestions.","When enabled IntelliSense shows `value`-suggestions.","When enabled IntelliSense shows `constant`-suggestions.","When enabled IntelliSense shows `enum`-suggestions.","When enabled IntelliSense shows `enumMember`-suggestions.","When enabled IntelliSense shows `keyword`-suggestions.","When enabled IntelliSense shows `text`-suggestions.","When enabled IntelliSense shows `color`-suggestions.","When enabled IntelliSense shows `file`-suggestions.","When enabled IntelliSense shows `reference`-suggestions.","When enabled IntelliSense shows `customcolor`-suggestions.","When enabled IntelliSense shows `folder`-suggestions.","When enabled IntelliSense shows `typeParameter`-suggestions.","When enabled IntelliSense shows `snippet`-suggestions.","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.","Only accept a suggestion with `Enter` when it makes a textual change.","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.","Controls the number of lines in the editor that can be read out by a screen reader. Warning: this has a performance implication for numbers larger than the default.","Editor content","Use language configurations to determine when to autoclose brackets.","Autoclose brackets only when the cursor is to the left of whitespace.","Controls whether the editor should automatically close brackets after the user adds an opening bracket.","Type over closing quotes or brackets only if they were automatically inserted.","Controls whether the editor should type over closing quotes or brackets.","Use language configurations to determine when to autoclose quotes.","Autoclose quotes only when the cursor is to the left of whitespace.","Controls whether the editor should automatically close quotes after the user adds an opening quote.","The editor will not insert indentation automatically.","The editor will keep the current line's indentation.","The editor will keep the current line's indentation and honor language defined brackets.","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.","Use language configurations to determine when to automatically surround selections.","Surround with quotes but not brackets.","Surround with brackets but not quotes.","Controls whether the editor should automatically surround selections.","Controls whether the editor shows CodeLens.","Controls whether the editor should render the inline color decorators and color picker.","Controls whether syntax highlighting should be copied into the clipboard.","Control the cursor animation style.","Controls whether the smooth caret animation should be enabled.","Controls the cursor style.","Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or `scrollOffset` in some other editors.","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API.","`cursorSurroundingLines` is enforced always.","Controls when `cursorSurroundingLines` should be enforced.","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.","Controls whether the editor should allow moving selections via drag and drop.","Scrolling speed multiplier when pressing `Alt`.","Controls whether the editor has code folding enabled.","Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy.","Controls the font family.","Controls the font weight.","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.","Controls whether the editor should automatically format the line after typing.","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.","Controls whether the cursor should be hidden in the overview ruler.","Controls whether the editor should highlight the active indent guide.","Controls the letter spacing in pixels.","Controls whether the editor should detect links and make them clickable.","Highlight matching brackets.","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.","Merge multiple cursors when they are overlapping.","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","Each cursor pastes a single line of the text.","Each cursor pastes the full text.","Controls pasting when the line count of the pasted text matches the cursor count.","Controls whether the editor should highlight semantic symbol occurrences.","Controls whether a border should be drawn around the overview ruler.","Controls the delay in milliseconds after which quick suggestions will show up.","Controls whether the editor should render control characters.","Controls whether the editor should render indent guides.","Render last line number when the file ends with a newline.","Highlights both the gutter and the current line.","Controls how the editor should render the current line highlight.","Render whitespace characters except for single spaces between words.","Render whitespace characters only on selected text.","Controls how the editor should render whitespace characters.","Controls whether selections should have rounded corners.","Controls the number of extra characters beyond which the editor will scroll horizontally.","Controls whether the editor will scroll beyond the last line.","Controls whether the Linux primary clipboard should be supported.","Controls whether the editor should highlight matches similar to the selection.","Controls whether the fold controls on the gutter are automatically hidden.","Controls fading out of unused code.","Show snippet suggestions on top of other suggestions.","Show snippet suggestions below other suggestions.","Show snippets suggestions with other suggestions.","Do not show snippet suggestions.","Controls whether snippets are shown with other suggestions and how they are sorted.","Controls whether the editor will scroll using an animation.","Font size for the suggest widget. When set to `0`, the value of `#editor.fontSize#` is used.","Line height for the suggest widget. When set to `0`, the value of `#editor.lineHeight#` is used.","Controls whether suggestions should automatically show up when typing trigger characters.","Always select the first suggestion.","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently.","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.","Controls how suggestions are pre-selected when showing the suggest list.","Tab complete will insert the best matching suggestion when pressing tab.","Disable tab completions.","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.","Enables tab completions.","Inserting and deleting whitespace follows tab stops.","Characters that will be used as word separators when doing word related navigations or operations.","Lines will never wrap.","Lines will wrap at the viewport width.","Lines will wrap at `#editor.wordWrapColumn#`.","Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.","Controls how lines should wrap.","Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.","No indentation. Wrapped lines begin at column 1.","Wrapped lines get the same indentation as the parent.","Wrapped lines get +1 indentation toward the parent.","Wrapped lines get +2 indentation toward the parent.","Controls the indentation of wrapped lines."], +"vs/editor/common/modes/modesRegistry":["Plain Text"], +"vs/editor/common/standaloneStrings":["No selection","Line {0}, Column {1} ({2} selected)","Line {0}, Column {1}","{0} selections ({1} characters selected)","{0} selections","Now changing the setting `accessibilitySupport` to 'on'.","Now opening the Editor Accessibility documentation page."," in a read-only pane of a diff editor."," in a pane of a diff editor."," in a read-only code editor"," in a code editor","To configure the editor to be optimized for usage with a Screen Reader press Command+E now.","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.","The editor is configured to be optimized for usage with a Screen Reader.","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding.","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.","Press Command+H now to open a browser window with more information related to editor accessibility.","Press Control+H now to open a browser window with more information related to editor accessibility.","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.","Show Accessibility Help","Developer: Inspect Tokens","Go to line {0} and character {1}","Go to line {0}","Type a line number between 1 and {0} to navigate to","Type a character between 1 and {0} to navigate to","Current Line: {0}. Go to line {1}.","Type a line number, followed by an optional colon and a character number to navigate to","Go to Line...","{0}, {1}, commands","{0}, commands","Type the name of an action you want to execute","Command Palette","{0}, symbols","Type the name of an identifier you wish to navigate to","Go to Symbol...","symbols ({0})","modules ({0})","classes ({0})","interfaces ({0})","methods ({0})","functions ({0})","properties ({0})","variables ({0})","variables ({0})","constructors ({0})","calls ({0})","Editor content","Press Ctrl+F1 for Accessibility Options.","Press Alt+F1 for Accessibility Options.","Toggle High Contrast Theme","Made {0} edits in {1} files"], +"vs/editor/common/view/editorColorRegistry":["Background color for the highlight of line at the cursor position.","Background color for the border around the line at the cursor position.","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.","Background color of the border around highlighted ranges.","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.","Background color of the border around highlighted symbols.","Color of the editor cursor.","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.","Color of whitespace characters in the editor.","Color of the editor indentation guides.","Color of the active editor indentation guides.","Color of editor line numbers.","Color of editor active line number","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.","Color of editor active line number","Color of the editor rulers.","Foreground color of editor code lenses","Background color behind matching brackets","Color for matching brackets boxes","Color of the overview ruler border.","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.","Border color of unnecessary (unused) source code in the editor.","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.","Overview ruler marker color for errors.","Overview ruler marker color for warnings.","Overview ruler marker color for infos."], +"vs/editor/contrib/bracketMatching/bracketMatching":["Overview ruler marker color for matching brackets.","Go to Bracket","Select to Bracket","Go to &&Bracket"],"vs/editor/contrib/caretOperations/caretOperations":["Move Caret Left","Move Caret Right"],"vs/editor/contrib/caretOperations/transpose":["Transpose Letters"],"vs/editor/contrib/clipboard/clipboard":["Cut","Cu&&t","Copy","&&Copy","Paste","&&Paste","Copy With Syntax Highlighting"], +"vs/editor/contrib/codeAction/codeActionCommands":["Kind of the code action to run.","Controls when the returned actions are applied.","Always apply the first returned code action.","Apply the first returned code action if it is the only one.","Do not apply the returned code actions.","Controls if only preferred code actions should be returned.","An unknown error occurred while applying the code action","Quick Fix...","No code actions available","No preferred code actions for '{0}' available","No code actions for '{0}' available","No preferred code actions available","No code actions available","Refactor...","No preferred refactorings for '{0}' available","No refactorings for '{0}' available","No preferred refactorings available","No refactorings available","Source Action...","No preferred source actions for '{0}' available","No source actions for '{0}' available","No preferred source actions available","No source actions available","Organize Imports","No organize imports action available","Fix All","No fix all action available","Auto Fix...","No auto fixes available"], +"vs/editor/contrib/codeAction/lightBulbWidget":["Show Fixes. Preferred Fix Available ({0})","Show Fixes ({0})","Show Fixes"],"vs/editor/contrib/comment/comment":["Toggle Line Comment","&&Toggle Line Comment","Add Line Comment","Remove Line Comment","Toggle Block Comment","Toggle &&Block Comment"],"vs/editor/contrib/contextmenu/contextmenu":["Show Editor Context Menu"],"vs/editor/contrib/cursorUndo/cursorUndo":["Cursor Undo","Cursor Redo"], +"vs/editor/contrib/documentSymbols/outlineTree":["The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."], +"vs/editor/contrib/find/findController":["Find","&&Find","Find With Selection","Find Next","Find Next","Find Previous","Find Previous","Find Next Selection","Find Previous Selection","Replace","&&Replace"],"vs/editor/contrib/find/findWidget":["Find","Find","Previous match","Next match","Find in selection","Close","Replace","Replace","Replace","Replace All","Toggle Replace mode","Only the first {0} results are highlighted, but all find operations work on the entire text.","{0} of {1}","No Results","{0} found","{0} found for {1}","{0} found for {1} at {2}","{0} found for {1}","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior."],"vs/editor/contrib/folding/folding":["Unfold","Unfold Recursively","Fold","Toggle Fold","Fold Recursively","Fold All Block Comments","Fold All Regions","Unfold All Regions","Fold All","Unfold All","Fold Level {0}"], +"vs/editor/contrib/fontZoom/fontZoom":["Editor Font Zoom In","Editor Font Zoom Out","Editor Font Zoom Reset"],"vs/editor/contrib/format/format":["Made 1 formatting edit on line {0}","Made {0} formatting edits on line {1}","Made 1 formatting edit between lines {0} and {1}","Made {0} formatting edits between lines {1} and {2}"],"vs/editor/contrib/format/formatActions":["Format Document","Format Selection"],"vs/editor/contrib/gotoError/gotoError":["Go to Next Problem (Error, Warning, Info)","Go to Previous Problem (Error, Warning, Info)","Go to Next Problem in Files (Error, Warning, Info)","Go to Previous Problem in Files (Error, Warning, Info)","Next &&Problem","Previous &&Problem"],"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} of {1} problems","{0} of {1} problem","Editor marker navigation widget error color.","Editor marker navigation widget warning color.","Editor marker navigation widget info color.","Editor marker navigation widget background."], +"vs/editor/contrib/gotoSymbol/goToCommands":["Peek","Definitions","No definition found for '{0}'","No definition found","Go to Definition","Go to &&Definition","Open Definition to the Side","Peek Definition","Declarations","No declaration found for '{0}'","No declaration found","Go to Declaration","Go to &&Declaration","No declaration found for '{0}'","No declaration found","Peek Declaration","Type Definitions","No type definition found for '{0}'","No type definition found","Go to Type Definition","Go to &&Type Definition","Peek Type Definition","Implementations","No implementation found for '{0}'","No implementation found","Go to Implementations","Go to &&Implementations","Peek Implementations","No references found for '{0}'","No references found","Go to References","Go to &&References","References","Peek References","References","Go To Any Symbol","Locations","No results for '{0}'","References"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Click to show {0} definitions."], +"vs/editor/contrib/gotoSymbol/peek/referencesController":["Loading...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["Failed to resolve file.","{0} references","{0} reference"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["no preview available","References","No results","References"],"vs/editor/contrib/gotoSymbol/referencesModel":["symbol in {0} on line {1} at column {2}","1 symbol in {0}, full path {1}","{0} symbols in {1}, full path {2}","No results found","Found 1 symbol in {0}","Found {0} symbols in {1}","Found {0} symbols in {1} files"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Symbol {0} of {1}, {2} for next","Symbol {0} of {1}"],"vs/editor/contrib/hover/hover":["Show Hover","Show Definition Preview Hover"],"vs/editor/contrib/hover/modesContentHover":["Loading...","Peek Problem","Checking for quick fixes...","No quick fixes available","Quick Fix..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Replace with Previous Value","Replace with Next Value"], +"vs/editor/contrib/linesOperations/linesOperations":["Copy Line Up","&&Copy Line Up","Copy Line Down","Co&&py Line Down","Duplicate Selection","&&Duplicate Selection","Move Line Up","Mo&&ve Line Up","Move Line Down","Move &&Line Down","Sort Lines Ascending","Sort Lines Descending","Trim Trailing Whitespace","Delete Line","Indent Line","Outdent Line","Insert Line Above","Insert Line Below","Delete All Left","Delete All Right","Join Lines","Transpose characters around the cursor","Transform to Uppercase","Transform to Lowercase","Transform to Title Case"],"vs/editor/contrib/links/links":["Execute command","Follow link","cmd + click","ctrl + click","option + click","alt + click","Failed to open this link because it is not well-formed: {0}","Failed to open this link because its target is missing.","Open Link"],"vs/editor/contrib/message/messageController":["Cannot edit in read-only editor"], +"vs/editor/contrib/multicursor/multicursor":["Add Cursor Above","&&Add Cursor Above","Add Cursor Below","A&&dd Cursor Below","Add Cursors to Line Ends","Add C&&ursors to Line Ends","Add Cursors To Bottom","Add Cursors To Top","Add Selection To Next Find Match","Add &&Next Occurrence","Add Selection To Previous Find Match","Add P&&revious Occurrence","Move Last Selection To Next Find Match","Move Last Selection To Previous Find Match","Select All Occurrences of Find Match","Select All &&Occurrences","Change All Occurrences"],"vs/editor/contrib/parameterHints/parameterHints":["Trigger Parameter Hints"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, hint"], +"vs/editor/contrib/peekView/peekView":["Close","Background color of the peek view title area.","Color of the peek view title.","Color of the peek view title info.","Color of the peek view borders and arrow.","Background color of the peek view result list.","Foreground color for line nodes in the peek view result list.","Foreground color for file nodes in the peek view result list.","Background color of the selected entry in the peek view result list.","Foreground color of the selected entry in the peek view result list.","Background color of the peek view editor.","Background color of the gutter in the peek view editor.","Match highlight color in the peek view result list.","Match highlight color in the peek view editor.","Match highlight border in the peek view editor."],"vs/editor/contrib/rename/rename":["No result.","An unknown error occurred while resolving rename location","Successfully renamed '{0}' to '{1}'. Summary: {2}","Rename failed to execute.","Rename Symbol"], +"vs/editor/contrib/rename/renameInputField":["Rename input. Type new name and press Enter to commit."],"vs/editor/contrib/smartSelect/smartSelect":["Expand Selection","&&Expand Selection","Shrink Selection","&&Shrink Selection"],"vs/editor/contrib/snippet/snippetVariables":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sun","Mon","Tue","Wed","Thu","Fri","Sat","January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"vs/editor/contrib/suggest/suggestController":["Accepting '{0}' made {1} additional edits","Trigger Suggest"], +"vs/editor/contrib/suggest/suggestWidget":["Background color of the suggest widget.","Border color of the suggest widget.","Foreground color of the suggest widget.","Background color of the selected entry in the suggest widget.","Color of the match highlights in the suggest widget.","Read More...{0}","Read less...{0}","Loading...","Loading...","No suggestions.","Item {0}, docs: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Toggle Tab Key Moves Focus","Pressing Tab will now move focus to the next focusable element","Pressing Tab will now insert the tab character"],"vs/editor/contrib/tokenization/tokenization":["Developer: Force Retokenize"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations.","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations.","Border color of a symbol during read-access, like reading a variable.","Border color of a symbol during write-access, like writing to a variable.","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations.","Go to Next Symbol Highlight","Go to Previous Symbol Highlight","Trigger Symbol Highlight"], +"vs/platform/configuration/common/configurationRegistry":["Default Configuration Overrides","Configure editor settings to be overridden for a language.","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.","Cannot register '{0}'. This property is already registered."],"vs/platform/keybinding/common/abstractKeybindingService":["({0}) was pressed. Waiting for second key of chord...","The key combination ({0}, {1}) is not a command."], +"vs/platform/list/browser/listService":["Workbench","Maps to `Control` on Windows and Linux and to `Command` on macOS.","Maps to `Alt` on Windows and Linux and to `Option` on macOS.","The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.","Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. ","Controls whether lists and trees support horizontal scrolling in the workbench.","Controls whether trees support horizontal scrolling in the workbench.","This setting is deprecated, please use '{0}' instead.","Controls tree indentation in pixels.","Controls whether the tree should render indent guides.","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes.","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements.","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter.","Controls whether keyboard navigation in lists and trees is automatically triggered simply by typing. If set to `false`, keyboard navigation is only triggered when executing the `list.toggleKeyboardNavigation` command, for which you can assign a keyboard shortcut."], +"vs/platform/markers/common/markers":["Error","Warning","Info"], +"vs/platform/theme/common/colorRegistry":["Overall foreground color. This color is only used if not overridden by a component.","Overall foreground color for error messages. This color is only used if not overridden by a component.","Overall border color for focused elements. This color is only used if not overridden by a component.","An extra border around elements to separate them from others for greater contrast.","An extra border around active elements to separate them from others for greater contrast.","Foreground color for links in text.","Background color for code blocks in text.","Shadow color of widgets such as find/replace inside the editor.","Input box background.","Input box foreground.","Input box border.","Border color of activated options in input fields.","Background color of activated options in input fields.","Input validation background color for information severity.","Input validation foreground color for information severity.","Input validation border color for information severity.","Input validation background color for warning severity.","Input validation foreground color for warning severity.","Input validation border color for warning severity.","Input validation background color for error severity.","Input validation foreground color for error severity.","Input validation border color for error severity.","Dropdown background.","Dropdown foreground.","Quick picker color for grouping labels.","Quick picker color for grouping borders.","Badge background color. Badges are small information labels, e.g. for search results count.","Badge foreground color. Badges are small information labels, e.g. for search results count.","Scrollbar shadow to indicate that the view is scrolled.","Scrollbar slider background color.","Scrollbar slider background color when hovering.","Scrollbar slider background color when clicked on.","Background color of the progress bar that can show for long running operations.","Foreground color of error squigglies in the editor.","Border color of error boxes in the editor.","Foreground color of warning squigglies in the editor.","Border color of warning boxes in the editor.","Foreground color of info squigglies in the editor.","Border color of info boxes in the editor.","Foreground color of hint squigglies in the editor.","Border color of hint boxes in the editor.","Editor background color.","Editor default foreground color.","Background color of editor widgets, such as find/replace.","Foreground color of editor widgets, such as find/replace.","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.","Color of the editor selection.","Color of the selected text for high contrast.","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.","Border color for regions with the same content as the selection.","Color of the current search match.","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.","Border color of the current search match.","Border color of the other search matches.","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.","Background color of the editor hover.","Foreground color of the editor hover.","Border color of the editor hover.","Background color of the editor hover status bar.","Color of active links.","The color used for the lightbulb actions icon.","The color used for the lightbulb auto fix actions icon.","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.","Outline color for the text that got inserted.","Outline color for text that got removed.","Border color between the two text editors.","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.","List/Tree background when hovering over items using the mouse.","List/Tree foreground when hovering over items using the mouse.","List/Tree drag and drop background when moving items around using the mouse.","List/Tree foreground color of the match highlights when searching inside the list/tree.","Background color of the type filter widget in lists and trees.","Outline color of the type filter widget in lists and trees.","Outline color of the type filter widget in lists and trees, when there are no matches.","Tree stroke color for the indentation guides.","Border color of menus.","Foreground color of menu items.","Background color of menu items.","Foreground color of the selected menu item in menus.","Background color of the selected menu item in menus.","Border color of the selected menu item in menus.","Color of a separator menu item in menus.","Highlight background color of a snippet tabstop.","Highlight border color of a snippet tabstop.","Highlight background color of the final tabstop of a snippet.","Highlight border color of the final stabstop of a snippet.","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.","Minimap marker color for find matches.","Minimap marker color for the editor selection.","Minimap marker color for errors.","Minimap marker color for warnings.","The color used for the problems error icon.","The color used for the problems warning icon.","The color used for the problems info icon."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ko.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ko.js new file mode 100755 index 00000000..886b8fa8 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ko.js @@ -0,0 +1,29 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.ko",{"vs/base/browser/ui/actionbar/actionbar":["{0}({1})"],"vs/base/browser/ui/aria/aria":["{0}(다시 발생함)","{0} ({1}번 발생하다)"],"vs/base/browser/ui/findinput/findInput":["입력"],"vs/base/browser/ui/findinput/findInputCheckboxes":["대/소문자 구분","단어 단위로","정규식 사용"],"vs/base/browser/ui/findinput/replaceInput":["입력","대/소문자 보존"],"vs/base/browser/ui/inputbox/inputBox":["오류: {0}","경고: {0}","정보: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["바인딩 안 됨"],"vs/base/browser/ui/list/listWidget":["{0}. 탐색하려면 탐색 키를 사용하세요."],"vs/base/browser/ui/menu/menu":["{0}({1})"],"vs/base/browser/ui/tree/abstractTree":["지우기","형식을 기준으로 필터링 사용 안 함","형식을 기준으로 필터링 사용","찾은 요소 없음","{1}개 요소 중 {0}개 일치"],"vs/base/common/keybindingLabels":["Ctrl","","","Windows","Ctrl","","","슈퍼","제어","","","명령","제어","","","Windows","제어","","","슈퍼"],"vs/base/common/severity":["오류","경고","정보"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}, 선택기","선택기"], +"vs/base/parts/quickopen/browser/quickOpenWidget":["빠른 선택기입니다. 결과의 범위를 축소하려면 입력합니다.","빠른 선택기","{0}개 결과"],"vs/editor/browser/controller/coreCommands":["모두 선택(&&S)","실행 취소(&&U)","다시 실행(&&R)"],"vs/editor/browser/controller/textAreaHandler":["지금은 편집기를 사용할 수 없습니다. Alt+F1을 눌러 옵션을 보세요."],"vs/editor/browser/widget/codeEditorWidget":["커서 수는 {0}(으)로 제한되었습니다."],"vs/editor/browser/widget/diffEditorWidget":["파일 1개가 너무 커서 파일을 비교할 수 없습니다."],"vs/editor/browser/widget/diffReview":["닫기","줄 없음","1줄","{0}줄","차이 {0}/{1}개: 원본 {2}, {3}, 수정 {4}, {5}","비어 있음","원본 {0}, 수정 {1}: {2}","+ 수정됨 {0}: {1}","- 원본 {0}: {1}","다음 다른 항목으로 이동","다음 다른 항목으로 이동"],"vs/editor/browser/widget/inlineDiffMargin":["삭제된 줄 복사","삭제된 줄 복사","삭제된 줄 복사({0})","이 변경 내용 되돌리기","삭제된 줄 복사({0})"], +"vs/editor/common/config/commonEditorConfig":["편집기","탭 한 개에 해당하는 공백 수입니다. `#editor.detectIndentation#`이 켜져 있는 경우 이 설정은 파일 콘텐츠에 따라 재정의됩니다.","'탭' 키를 누를 때 공백을 삽입합니다. `#editor.detectIndentation#`이 켜져 있는 경우 이 설정은 파일 콘텐츠에 따라 재정의됩니다.","파일을 열 때 파일 콘텐츠를 기반으로 `#editor.tabSize#`와 `#editor.insertSpaces#`가 자동으로 검색되는지 여부를 제어합니다.","끝에 자동 삽입된 공백을 제거합니다.","큰 파일에 대한 특수 처리로, 메모리를 많이 사용하는 특정 기능을 사용하지 않도록 설정합니다.","문서 내 단어를 기반으로 완성을 계산할지 여부를 제어합니다.","해당 콘텐츠를 두 번 클릭하거나 'Esc' 키를 누르더라도 Peek 편집기를 열린 상태로 유지합니다.","이 길이를 초과하는 줄은 성능상의 이유로 토큰화되지 않습니다.","diff 계산이 취소된 후 밀리초 단위로 시간을 제한합니다. 제한 시간이 없는 경우 0을 사용합니다.","diff 편집기에서 diff를 나란히 표시할지 인라인으로 표시할지를 제어합니다.","diff 편집기에서 선행 공백 또는 후행 공백 변경을 diff로 표시할지 여부를 제어합니다.","diff 편집기에서 추가/제거된 변경 내용에 대해 +/- 표시기를 표시하는지 여부를 제어합니다."], +"vs/editor/common/config/editorOptions":["편집기가 스크린 리더가 연결되면 플랫폼 API를 사용하여 감지합니다.","편집기가 스크린 리더 사용을 위해 영구적으로 최적화됩니다.","편집기가 스크린 리더 사용을 위해 최적화되지 않습니다.","편집기를 스크린 리더를 위해 최적화된 모드로 실행할지 결정합니다.","선택 영역 없이 현재 줄 복사 여부를 제어합니다.","편집기 선택에서 Find Widget의 검색 문자열을 시딩할지 여부를 제어합니다.","선택 항목에서 찾기를 자동으로 켜지 않음(기본값)","선택 항목에서 자동으로 항상 찾기 켜기","여러 줄의 콘텐츠를 선택하면 선택 항목에서 찾기가 자동으로 켜집니다.","편집기에서 찾기 작업을 할 때 선택한 텍스트에서 할지 전체 파일에서 할지 제어합니다.","macOS에서 Find Widget이 공유 클립보드 찾기를 읽을지 수정할지 제어합니다.","위젯 찾기에서 편집기 맨 위에 줄을 추가해야 하는지 여부를 제어합니다. true인 경우 위젯 찾기가 표시되면 첫 번째 줄 위로 스크롤할 수 있습니다.","글꼴 합자 사용하거나 사용하지 않도록 설정합니다.","명시적 글꼴 기능 설정입니다.","글꼴 합자를 구성합니다.","픽셀 단위로 글꼴 크기를 제어합니다.","결과 Peek 뷰 표시(기본)","기본 결과로 이동하여 Peek 보기를 표시합니다.","기본 결과로 이동하고 다른 항목에 대해 peek 없는 탐색을 사용하도록 설정","이 설정은 더 이상 사용되지 않습니다. 대신 'editor.editor.gotoLocation.multipleDefinitions' 또는 'editor.editor.gotoLocation.multipleImplementations'와 같은 별도의 설정을 사용하세요.","여러 대상 위치가 있는 경우 '정의로 이동' 명령 동작을 제어합니다.","여러 대상 위치가 있는 경우 '유형 정의로 이동' 명령 동작을 제어합니다.","여러 대상 위치가 있는 경우 'Go to Declaration' 명령 동작을 제어합니다.","여러 대상 위치가 있는 경우 '구현으로 이동' 명령 동작을 제어합니다.","여러 대상 위치가 있는 경우 '참조로 이동' 명령 동작을 제어합니다.","'정의로 이동'의 결과가 현재 위치일 때 실행되는 대체 명령 ID입니다.","'형식 정의로 이동'의 결과가 현재 위치일 때 실행되는 대체 명령 ID입니다.","'선언으로 이동'의 결과가 현재 위치일 때 실행되는 대체 명령 ID입니다.","'구현으로 이동'의 결과가 현재 위치일 때 실행되는 대체 명령 ID입니다.","'참조로 이동'의 결과가 현재 위치일 때 실행되는 대체 명령 ID입니다.","호버 표시 여부를 제어합니다.","호버가 표시되기 전까지의 지연 시간(밀리초)을 제어합니다.","마우스를 해당 항목 위로 이동할 때 호버를 계속 표시할지 여부를 제어합니다.","편집기에서 코드 동작 전구를 사용하도록 설정합니다.","줄 높이를 제어합니다. 글꼴 크기에서 줄 높이를 계산하려면 0을 사용합니다.","미니맵 표시 여부를 제어합니다.","미니맵을 렌더링할 측면을 제어합니다.","미니맵 슬라이더가 표시되는 시기를 제어합니다.","미니맵에 그려진 콘텐츠의 배율입니다.","줄의 실제 문자(색 블록 아님)를 렌더링합니다.","최대 특정 수의 열을 렌더링하도록 미니맵의 너비를 제한합니다.","입력과 동시에 매개변수 문서와 유형 정보를 표시하는 팝업을 사용하도록 설정합니다."," 매개변수 힌트 메뉴의 주기 혹은 목록의 끝에 도달하였을때 종료할 것인지 여부를 결정합니다. ","문자열 내에서 빠른 제안을 사용합니다.","주석 내에서 빠른 제안을 사용합니다.","문자열 및 주석 외부에서 빠른 제안을 사용합니다.","입력하는 동안 제안을 자동으로 표시할지 여부를 제어합니다.","줄 번호는 렌더링되지 않습니다.","줄 번호는 절대값으로 렌더링 됩니다.","줄 번호는 커서 위치에서 줄 간격 거리로 렌더링 됩니다.","줄 번호는 매 10 줄마다 렌더링이 이루어집니다.","줄 번호의 표시 여부를 제어합니다.","특정 수의 고정 폭 문자 뒤에 세로 눈금자를 렌더링합니다. 여러 눈금자의 경우 여러 값을 사용합니다. 배열이 비어 있는 경우 눈금자가 그려지지 않습니다.","커서의 텍스트 오른쪽을 덮어 쓰지않고 제안을 삽입합니다.","제안을 삽입하고 커서의 오른쪽 텍스트를 덮어씁니다.","완료를 수락할 때 단어를 덮어쓸지 여부를 제어합니다. 이것은 이 기능을 선택하는 확장에 따라 다릅니다.","완료를 수락하는 동안 예기치 않은 텍스트 수정이 강조 표시되도록 할지 여부를 제어합니다.(예: 'insertMode'는 '바꾸기'이지만 완료는 '삽입'만 지원합니다.)","제안 필터링 및 정렬에서 작은 오타를 설명하는지 여부를 제어합니다.","정렬할 때 커서 근처에 표시되는 단어를 우선할지 여부를 제어합니다.","저장된 제안 사항 선택 항목을 여러 작업 영역 및 창에서 공유할 것인지 여부를 제어합니다(`#editor.suggestSelection#` 필요).","활성 코드 조각이 빠른 제안을 할 수 없도록 하는지 여부를 제어합니다.","제안의 아이콘을 표시할지 여부를 제어합니다.","스크롤바를 표시하기 전에 IntelliSense가 표시할 제안 수를 제어합니다(최대 15개).","이 설정은 더 이상 사용되지 않습니다. 대신 'editor.suggest.showKeywords'또는 'editor.suggest.showSnippets'와 같은 별도의 설정을 사용하세요.","사용하도록 설정되면 IntelliSense에 `메서드` 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '함수' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '생성자' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '필드' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '변수' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '클래스' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '구조' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '인터페이스' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '모듈' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '속성' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '이벤트' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 `연산자` 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '단위' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '값' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '상수' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '열거형' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 `enumMember` 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '키워드' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '텍스트' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '색' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 `파일` 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '참조' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '사용자 지정 색' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '폴더' 제안이 표시됩니다.","사용하도록 설정된 경우 IntelliSense에 'typeParameter' 제안이 표시됩니다.","사용하도록 설정되면 IntelliSense에 '코드 조각' 제안이 표시됩니다.","커밋 문자에 대한 제안을 허용할지를 제어합니다. 예를 들어 JavaScript에서는 세미콜론(';')이 제안을 허용하고 해당 문자를 입력하는 커밋 문자일 수 있습니다.","텍스트를 변경할 때 `Enter` 키를 사용한 제안만 허용합니다.","'Tab' 키 외에 'Enter' 키에 대한 제안도 허용할지를 제어합니다. 새 줄을 삽입하는 동작과 제안을 허용하는 동작 간의 모호함을 없앨 수 있습니다.","화면 판독기가 읽을 수 있는 편집기의 줄 수를 제어합니다. 경고: 기본값보다 큰 숫자인 경우 성능에 영향을 미칩니다.","편집기 콘텐츠","언어 구성을 사용하여 대괄호를 자동으로 닫을 경우를 결정합니다.","커서가 공백의 왼쪽에 있는 경우에만 대괄호를 자동으로 닫습니다.","사용자가 여는 괄호를 추가한 후 편집기에서 괄호를 자동으로 닫을지 여부를 제어합니다.","닫기 따옴표 또는 대괄호가 자동으로 삽입된 경우에만 해당 항목 위에 입력합니다.","편집자가 닫는 따옴표 또는 대괄호 위에 입력할지 여부를 제어합니다.","언어 구성을 사용하여 따옴표를 자동으로 닫을 경우를 결정합니다.","커서가 공백의 왼쪽에 있는 경우에만 따옴표를 자동으로 닫습니다.","사용자가 여는 따옴표를 추가한 후 편집기에서 따옴표를 자동으로 닫을지 여부를 제어합니다.","편집기는 들여쓰기를 자동으로 삽입하지 않습니다.","편집기는 현재 줄의 들여쓰기를 유지합니다.","편집기는 현재 줄의 들여쓰기를 유지하고 언어 정의 대괄호를 사용합니다.","편집기는 현재 줄의 들여쓰기를 유지하고 언어 정의 대괄호를 존중하며 언어별로 정의된 특별 EnterRules를 호출합니다.","편집기는 현재 줄의 들여쓰기를 유지하고, 언어 정의 대괄호를 존중하고, 언어에 의해 정의된 특별 EnterRules를 호출하고, 언어에 의해 정의된 들여쓰기 규칙을 존중합니다.","사용자가 줄을 입력, 붙여넣기, 이동 또는 들여쓰기 할 때 편집기에서 들여쓰기를 자동으로 조정하도록 할지 여부를 제어합니다.","언어 구성을 사용하여 선택 항목을 자동으로 둘러쌀 경우를 결정합니다.","대괄호가 아닌 따옴표로 둘러쌉니다.","따옴표가 아닌 대괄호로 둘러쌉니다.","편집기에서 선택 항목을 자동으로 둘러쌀지 여부를 제어합니다.","편집기에서 CodeLens를 표시할 것인지 여부를 제어합니다.","편집기에서 인라인 색 데코레이터 및 색 선택을 렌더링할지를 제어합니다.","터미널에서 선택한(블록 지정한) 텍스트가 클립보드로 자동 복사 여부를 제어합니다.\n'true'로 설정 할 시 선택할 때마다 클립보드로 복사 됩니다.","커서 애니메이션 스타일을 제어합니다.","매끄러운 캐럿 애니메이션의 사용 여부를 제어합니다.","커서 스타일을 제어합니다.","커서 주위에 표시되는 선행 및 후행 줄의 최소 수를 제어합니다. 다른 편집기에서는 'scrollOff' 또는 'scrollOffset'이라고 합니다.","'cursorSurroundingLines'는 키보드 나 API를 통해 트리거될 때만 적용됩니다.","`cursorSurroundingLines`는 항상 적용됩니다.","'cursorSurroundingLines'를 적용해야 하는 경우를 제어합니다.","`#editor.cursorStyle#` 설정이 'line'으로 설정되어 있을 때 커서의 넓이를 제어합니다.","편집기에서 끌어서 놓기로 선택 영역을 이동할 수 있는지 여부를 제어합니다.","'Alt' 키를 누를 때 스크롤 속도 승수입니다.","편집기에 코드 접기가 사용하도록 설정되는지 여부를 제어합니다.","접기 범위를 계산하는 전략을 제어합니다. '자동'이면 사용 가능한 경우 언어 관련 접기 전략을 사용합니다. '들여쓰기'이면 들여쓰기 기반 접기 전략을 사용합니다.","글꼴 패밀리를 제어합니다.","글꼴 두께를 조정합니다.","붙여넣은 콘텐츠의 서식을 편집기에서 자동으로 지정할지 여부를 제어합니다. 포맷터를 사용할 수 있어야 하며 포맷터가 문서에서 범위의 서식을 지정할 수 있어야 합니다.","입력 후 편집기에서 자동으로 줄의 서식을 지정할지 여부를 제어합니다.","편집기에서 세로 문자 모양 여백을 렌더링할지 여부를 제어합니다. 문자 모양 여백은 주로 디버깅에 사용됩니다.","커서가 개요 눈금자에서 가려져야 하는지 여부를 제어합니다.","편집기에서 활성 들여쓰기 가이드를 강조 표시할지 여부를 제어합니다.","픽셀 단위로 문자 간격을 제어 합니다.","편집기에서 링크를 감지하고 클릭할 수 있게 만들지 여부를 제어합니다.","일치하는 대괄호를 강조 표시합니다.","마우스 휠 스크롤 이벤트의 `deltaX` 및 `deltaY`에서 사용할 승수입니다.","마우스 휠을 사용할 때 'Ctrl' 키를 누르고 있으면 편집기의 글꼴을 확대/축소합니다.","여러 커서가 겹치는 경우 커서를 병합합니다.","Windows와 Linux의 'Control'을 macOS의 'Command'로 매핑합니다.","Windows와 Linux의 'Alt'를 macOS의 'Option'으로 매핑합니다.","마우스로 여러 커서를 추가할 때 사용할 수정자입니다. [정의로 이동] 및 [링크 열기] 마우스 제스처가 멀티커서 수정자와 충돌하지 않도록 조정됩니다. [자세한 정보](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).","각 커서는 텍스트 한 줄을 붙여넣습니다.","각 커서는 전체 텍스트를 붙여넣습니다.","붙여넣은 텍스트의 줄 수가 커서 수와 일치하는 경우 붙여넣기를 제어합니다.","편집기에서 의미 체계 기호 항목을 강조 표시할지 여부를 제어합니다.","개요 눈금자 주위에 테두리를 그릴지 여부를 제어합니다.","빠른 제안을 표시하기 전까지의 지연 시간(밀리초)을 제어합니다.","편집기에서 제어 문자를 렌더링할지를 제어합니다.","편집기에서 들여쓰기 가이드를 렌더링할지를 제어합니다.","파일이 줄 바꿈으로 끝나면 마지막 줄 번호를 렌더링합니다.","제본용 여백과 현재 줄을 모두 강조 표시합니다.","편집기가 현재 줄 강조 표시를 렌더링하는 방식을 제어합니다. ","Render whitespace characters except for single spaces between words.","선택한 텍스트에서만 공백 문자를 렌더링합니다.","편집기에서 공백 문자를 렌더링할 방법을 제어합니다.","선택 항목의 모서리를 둥글게 할지 여부를 제어합니다.","편집기에서 가로로 스크롤되는 범위를 벗어나는 추가 문자의 수를 제어합니다.","편집기에서 마지막 줄 이후로 스크롤할지 여부를 제어합니다.","Linux 주 클립보드의 지원 여부를 제어합니다.","편집기가 선택 항목과 유사한 일치 항목을 강조 표시해야하는지 여부를 제어합니다.","거터의 폴드 컨트롤을 자동으로 숨길지 결정합니다.","사용하지 않는 코드의 페이드 아웃을 제어합니다.","다른 제안 위에 조각 제안을 표시합니다.","다른 제안 아래에 조각 제안을 표시합니다.","다른 제안과 함께 조각 제안을 표시합니다.","코드 조각 제안을 표시하지 않습니다.\n","코드 조각이 다른 추천과 함께 표시되는지 여부 및 정렬 방법을 제어합니다.","편집기에서 애니메이션을 사용하여 스크롤할지 여부를 제어합니다.","제안 위젯의 글꼴 크기입니다. '0'으로 설정하면 '#editor.fontSize#'의 값이 사용됩니다.","제안 위젯의 줄 높이입니다. '0'으로 설정하면 `#editor.lineHeight#`의 값이 사용됩니다.","트리거 문자를 입력할 때 제안을 자동으로 표시할지 여부를 제어합니다.","항상 첫 번째 제안을 선택합니다.","`log`가 최근에 완료되었으므로 추가 입력에서 제안을 선택하지 않은 경우 최근 제안을 선택하세요(예: `console.| -> console.log`).","해당 제안을 완료한 이전 접두사에 따라 제안을 선택합니다(예: `co -> console` 및 `con -> const`).","제안 목록을 표시할 때 제한이 미리 선택되는 방식을 제어합니다.","탭 완료는 탭을 누를 때 가장 일치하는 제안을 삽입합니다.","탭 완성을 사용하지 않도록 설정합니다.","접두사가 일치하는 경우 코드 조각을 탭 완료합니다. 'quickSuggestions'를 사용하지 않을 때 가장 잘 작동합니다.","탭 완성을 사용하도록 설정합니다.","탭 정지 뒤에 공백을 삽입 및 삭제합니다.","단어 관련 탐색 또는 작업을 수행할 때 단어 구분 기호로 사용할 문자입니다.","줄이 바뀌지 않습니다.","뷰포트 너비에서 줄이 바뀝니다.","`#editor.wordWrapColumn#`에서 줄이 바뀝니다.","뷰포트의 최소값 및 `#editor.wordWrapColumn#`에서 줄이 바뀝니다.","줄 바꿈 여부를 제어합니다.","`#editor.wordWrap#`이 `wordWrapColumn` 또는 'bounded'인 경우 편집기의 열 줄 바꿈을 제어합니다.","들여쓰기가 없습니다. 줄 바꿈 행이 열 1에서 시작됩니다.","줄 바꿈 행의 들여쓰기가 부모와 동일합니다.","줄 바꿈 행이 부모 쪽으로 +1만큼 들여쓰기됩니다.","줄 바꿈 행이 부모 쪽으로 +2만큼 들여쓰기됩니다.","줄 바꿈 행의 들여쓰기를 제어합니다."], +"vs/editor/common/modes/modesRegistry":["일반 텍스트"], +"vs/editor/common/standaloneStrings":["없음 선택","줄 {0}, 열 {1}({2} 선택됨)입니다.","행 {0}, 열 {1}","{0} 선택 항목({1}자 선택됨)","{0} 선택 항목","이제 'accessibilitySupport' 설정을 'on'으로 변경합니다.","지금 편집기 접근성 문서 페이지를 여세요.","차이 편집기의 읽기 전용 창에서.","diff 편집기 창에서."," 읽기 전용 코드 편집기에서"," 코드 편집기에서","화면 판독기 사용에 최적화되도록 편집기를 구성하려면 지금 Command+E를 누르세요.","화면 판독기에 사용할 수 있도록 편집기를 최적화하려면 지금 Ctrl+E를 누르세요.","에디터를 화면 판독기와 함께 사용하기에 적합하도록 구성했습니다.","편집기는 화면 판독기 사용을 위해 절대로 최적화되지 않도록 구성됩니다. 현재로서는 그렇지 않습니다.","현재 편집기에서 키를 누르면 포커스가 다음 포커스 가능한 요소로 이동합니다. {0}을(를) 눌러서 이 동작을 설정/해제합니다.","현재 편집기에서 키를 누르면 포커스가 다음 포커스 가능한 요소로 이동합니다. {0} 명령은 현재 키 바인딩으로 트리거할 수 없습니다.","현재 편집기에서 키를 누르면 탭 문자가 삽입됩니다. {0}을(를) 눌러서 이 동작을 설정/해제합니다.","현재 편집기에서 키를 누르면 탭 문자가 삽입됩니다. {0} 명령은 현재 키 바인딩으로 트리거할 수 없습니다.","Command+H를 눌러 편집기 접근성과 관련된 자세한 정보가 있는 브라우저 창을 여세요.","Ctrl+H를 눌러 편집기 접근성과 관련된 자세한 정보가 있는 브라우저 창을 엽니다.","이 도구 설명을 해제하고 Esc 키 또는 Shift+Esc를 눌러서 편집기로 돌아갈 수 있습니다.","접근성 도움말 표시","개발자: 검사 토큰","줄 {0} 및 문자 {1}(으)로 이동","줄 {0}(으)로 이동","이동할 1과 {0} 사이의 줄 번호 입력","검색하려면 1-{0}자 사이의 문자를 입력하세요.","현재 줄: {0}. 줄 {1}(으)로 이동합니다.","행 번호를 입력하고 콜론(:)과 문자 번호를 입력하여 검색하세요.","줄 이동...","{0}, {1}, 명령","{0}, 명령","실행하려는 작업의 이름을 입력하세요.","명령 팔레트","{0}, 기호","검색하려는 ID의 이름을 입력하세요.","기호로 가서...","기호({0})","모듈({0})","클래스({0})","인터페이스({0})","메서드({0})","함수({0})","속성({0})","변수({0})","변수({0})","생성자({0})","호출({0})","편집기 콘텐츠","내게 필요한 옵션을 보려면 Ctrl+F1을 누릅니다.","접근성 옵션은 Alt+F1을 눌러여 합니다.","고대비 테마로 전환","{1} 파일에서 편집을 {0}개 했습니다."], +"vs/editor/common/view/editorColorRegistry":["커서 위치의 줄 강조 표시에 대한 배경색입니다.","커서 위치의 줄 테두리에 대한 배경색입니다.","빠른 열기 및 찾기 기능 등을 통해 강조 표시된 영역의 배경색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","강조 영역 주변의 테두리에 대한 배경색입니다","강조 표시된 기호(예: 정의로 이동 또는 다음/이전 기호로 이동)의 배경색입니다. 이 색상은 기본 장식을 숨기지 않도록 불투명하지 않아야 합니다.","강조 표시된 기호 주위의 테두리 배경색입니다.","편집기 커서 색입니다.","편집기 커서의 배경색입니다. 블록 커서와 겹치는 글자의 색상을 사용자 정의할 수 있습니다.","편집기의 공백 문자 색입니다.","편집기 들여쓰기 안내선 색입니다.","활성 편집기 들여쓰기 안내선 색입니다.","편집기 줄 번호 색입니다.","편집기 활성 영역 줄번호 색상","ID는 사용되지 않습니다. 대신 'editorLineNumber.activeForeground'를 사용하세요.","편집기 활성 영역 줄번호 색상","편집기 눈금의 색상입니다.","편집기 코드 렌즈의 전경색입니다.","일치하는 괄호 뒤의 배경색","일치하는 브래킷 박스의 색상","개요 눈금 경계의 색상입니다.","편집기 거터의 배경색입니다. 거터에는 글리프 여백과 행 수가 있습니다.","편집기의 불필요한(사용하지 않는) 소스 코드 테두리 색입니다.","편집기의 불필요한(사용하지 않는) 소스 코드 불투명도입니다. 예를 들어 \"#000000c0\"은 75% 불투명도로 코드를 렌더링합니다. 고대비 테마의 경우 페이드 아웃하지 않고 'editorUnnecessaryCode.border' 테마 색을 사용하여 불필요한 코드에 밑줄을 그으세요.","오류의 개요 눈금자 마커 색입니다.","경고의 개요 눈금자 마커 색입니다.","정보의 개요 눈금자 마커 색입니다."], +"vs/editor/contrib/bracketMatching/bracketMatching":["괄호에 해당하는 영역을 표시자에 채색하여 표시합니다.","대괄호로 이동","괄호까지 선택","대괄호로 이동(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["캐럿을 왼쪽으로 이동","캐럿을 오른쪽으로 이동"],"vs/editor/contrib/caretOperations/transpose":["문자 바꾸기"],"vs/editor/contrib/clipboard/clipboard":["잘라내기","잘라내기(&&T)","복사","복사(&&C)","붙여넣기","붙여넣기(&&P)","구문을 강조 표시하여 복사"], +"vs/editor/contrib/codeAction/codeActionCommands":["실행할 코드 작업의 종류입니다.","반환된 작업이 적용되는 경우를 제어합니다.","항상 반환된 첫 번째 코드 작업을 적용합니다.","첫 번째 반환된 코드 작업을 적용합니다(이 작업만 있는 경우).","반환된 코드 작업을 적용하지 마십시오.","기본 코드 작업만 반환되도록 할지 여부를 제어합니다.","코드 작업을 적용하는 중 알 수 없는 오류가 발생했습니다.","빠른 수정...","사용 가능한 코드 동작이 없습니다.","'{0}'에 대한 기본 코드 작업을 사용할 수 없음","'{0}'에 대한 코드 작업을 사용할 수 없음","사용할 수 있는 기본 코드 작업 없음","사용 가능한 코드 동작이 없습니다.","리팩터링...","'{0}'에 대한 기본 리팩터링 없음","'{0}'에 대한 리팩터링 없음","기본 설정 리팩터링을 사용할 수 없음","사용 가능한 리펙터링이 없습니다.","소스 작업...","'{0}'에 대한 기본 소스 작업을 사용할 수 없음","'{0}'에 대한 소스 작업을 사용할 수 없음","사용할 수 있는 기본 원본 작업 없음","사용 가능한 소스 작업이 없습니다.","가져오기 구성","사용 가능한 가져오기 구성 작업이 없습니다.","모두 수정","모든 작업 수정 사용 불가","자동 수정...","사용할 수 있는 자동 수정 없음"],"vs/editor/contrib/codeAction/lightBulbWidget":["수정 사항을 표시합니다. 사용 가능한 기본 수정({0})","수정 사항 표시({0})","수정 사항 표시"],"vs/editor/contrib/comment/comment":["줄 주석 설정/해제","줄 주석 설정/해제(&&T)","줄 주석 추가","줄 주석 제거","블록 주석 설정/해제","블록 주석 설정/해제(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["편집기 상황에 맞는 메뉴 표시"], +"vs/editor/contrib/cursorUndo/cursorUndo":["커서 실행 취소","커서 다시 실행"], +"vs/editor/contrib/documentSymbols/outlineTree":["배열 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","부울 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","클래스 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","색 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안에 표시됩니다.","상수 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","생성자 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","열거자 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","열거자 멤버 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","이벤트 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","필드 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","파일 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","폴더 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","함수 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","인터페이스 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","키 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","키워드 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","메서드 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","모듈 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","네임스페이스 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","null 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","숫자 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","개체 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","연산자 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","패키지 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","속성 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","참조 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","코드 조각 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","문자열 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","구조 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","텍스트 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 나타납니다.","형식 매개변수 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","단위 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다.","변수 기호의 전경색입니다. 이러한 기호는 개요, 이동 경로 및 제안 위젯에 표시됩니다."], +"vs/editor/contrib/find/findController":["찾기","찾기(&&F)","선택 영역에서 찾기","다음 찾기","다음 찾기","이전 찾기","이전 찾기","다음 선택 찾기","이전 선택 찾기","바꾸기","바꾸기(&&R)"],"vs/editor/contrib/find/findWidget":["찾기","찾기","이전 일치","다음 일치 항목","선택 항목에서 찾기","닫기","바꾸기","바꾸기","바꾸기","모두 바꾸기","바꾸기 모드 설정/해제","처음 {0}개의 결과가 강조 표시되지만 모든 찾기 작업은 전체 텍스트에 대해 수행됩니다.","{1}의 {0}","결과 없음","{0}개 찾음","{1}에 대해 {0} 찾음","{2}에서 {1}에 대해 {0} 찾음","{1}에 대해 {0} 찾음","Ctrl+Enter를 누르면 이제 모든 항목을 바꾸지 않고 줄 바꿈을 삽입합니다. editor.action.replaceAll의 키 바인딩을 수정하여 이 동작을 재정의할 수 있습니다."],"vs/editor/contrib/folding/folding":["펼치기","재귀적으로 펼치기","접기","접기 전환","재귀적으로 접기","모든 블록 코멘트를 접기","모든 영역 접기","모든 영역 펼치기","모두 접기","모두 펼치기","수준 {0} 접기"],"vs/editor/contrib/fontZoom/fontZoom":["편집기 글꼴 확대","편집기 글꼴 축소","편집기 글꼴 확대/축소 다시 설정"],"vs/editor/contrib/format/format":["줄 {0}에서 1개 서식 편집을 수행했습니다.","줄 {1}에서 {0}개 서식 편집을 수행했습니다.","줄 {0}과(와) {1} 사이에서 1개 서식 편집을 수행했습니다.","줄 {1}과(와) {2} 사이에서 {0}개 서식 편집을 수행했습니다."],"vs/editor/contrib/format/formatActions":["문서 서식","선택 영역 서식"], +"vs/editor/contrib/gotoError/gotoError":["다음 문제로 이동 (오류, 경고, 정보)","이전 문제로 이동 (오류, 경고, 정보)","파일의 다음 문제로 이동 (오류, 경고, 정보)","파일의 이전 문제로 이동 (오류, 경고, 정보)","다음 문제(&&P)","이전 문제(&&P)"],"vs/editor/contrib/gotoError/gotoErrorWidget":["문제 {1}개 중 {0}개","문제 {1}개 중 {0}개","편집기 표식 탐색 위젯 오류 색입니다.","편집기 표식 탐색 위젯 경고 색입니다.","편집기 표식 탐색 위젯 정보 색입니다.","편집기 표식 탐색 위젯 배경입니다."],"vs/editor/contrib/gotoSymbol/goToCommands":["피킹","정의","'{0}'에 대한 정의를 찾을 수 없습니다.","정의를 찾을 수 없음","정의로 이동","정의로 이동(&&D)","측면에서 정의 열기","정의 피킹(Peeking)","선언","'{0}'에 대한 선언을 찾을 수 없음","선언을 찾을 수 없음","선언으로 이동","&&선언으로 이동","'{0}'에 대한 선언을 찾을 수 없음","선언을 찾을 수 없음","선언 미리 보기","형식 정의","'{0}'에 대한 형식 정의를 찾을 수 없습니다.","형식 정의를 찾을 수 없습니다.","형식 정의로 이동","형식 정의로 이동(&&T)","형식 정의 미리 보기","구현","'{0}'에 대한 구현을 찾을 수 없습니다.","구현을 찾을 수 없습니다.","구현으로 이동","구현으로 이동","피킹 구현","'{0}'에 대한 참조가 없습니다.","참조가 없습니다.","참조로 이동","&&참조로 이동","참조","참조 미리 보기","참조","기호로 이동","위치","'{0}'에 대한 결과가 없습니다.","참조"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["{0}개 정의를 표시하려면 클릭하세요."], +"vs/editor/contrib/gotoSymbol/peek/referencesController":["로드 중...","{0}({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["파일을 확인하지 못했습니다.","참조 {0}개","참조 {0}개"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["미리 보기를 사용할 수 없음","참조","결과 없음","참조"],"vs/editor/contrib/gotoSymbol/referencesModel":["{2}열, {1}줄, {0}의 기호","{0}의 기호 1개, 전체 경로 {1}","{1}의 기호 {0}개, 전체 경로 {2}","결과 없음","{0}에서 기호 1개를 찾았습니다.","{1}에서 기호 {0}개를 찾았습니다.","{1}개 파일에서 기호 {0}개를 찾았습니다."],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1}의 {0} 기호, 다음의 경우 {2}","{1}의 기호 {0}"],"vs/editor/contrib/hover/hover":["가리키기 표시","정의 미리 보기 가리킨 항목 표시"],"vs/editor/contrib/hover/modesContentHover":["로드 중...","문제 보기","빠른 수정을 확인하는 중...","빠른 수정을 사용할 수 없음","빠른 수정..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["이전 값으로 바꾸기","다음 값으로 바꾸기"], +"vs/editor/contrib/linesOperations/linesOperations":["위에 줄 복사","위에 줄 복사(&&C)","아래에 줄 복사","아래에 줄 복사(&&P)","중복된 선택 영역","&&중복된 선택 영역","줄 위로 이동","줄 위로 이동(&&V)","줄 아래로 이동","줄 아래로 이동(&&L)","줄을 오름차순 정렬","줄을 내림차순으로 정렬","후행 공백 자르기","줄 삭제","줄 들여쓰기","줄 내어쓰기","위에 줄 삽입","아래에 줄 삽입","왼쪽 모두 삭제","우측에 있는 항목 삭제","줄 연결","커서 주위 문자 바꾸기","대문자로 변환","소문자로 변환","단어의 첫 글자를 대문자로 변환"],"vs/editor/contrib/links/links":["명령 실행","링크로 이동","Cmd+클릭","Ctrl+클릭","Option+클릭","Alt+클릭","{0} 형식이 올바르지 않으므로 이 링크를 열지 못했습니다","대상이 없으므로 이 링크를 열지 못했습니다.","링크 열기"],"vs/editor/contrib/message/messageController":["읽기 전용 편집기에서는 편집할 수 없습니다."],"vs/editor/contrib/multicursor/multicursor":["위에 커서 추가","위에 커서 추가(&&A)","아래에 커서 추가","아래에 커서 추가(&&D)","줄 끝에 커서 추가","줄 끝에 커서 추가(&&U)","맨 아래에 커서 추가","맨 위에 커서 추가","다음 일치 항목 찾기에 선택 항목 추가","다음 항목 추가(&&N)","이전 일치 항목 찾기에 선택 항목 추가","이전 항목 추가(&&R)","다음 일치 항목 찾기로 마지막 선택 항목 이동","마지막 선택 항목을 이전 일치 항목 찾기로 이동","일치 항목 찾기의 모든 항목 선택","모든 항목 선택(&&O)","모든 항목 변경"],"vs/editor/contrib/parameterHints/parameterHints":["매개 변수 힌트 트리거"], +"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, 힌트"],"vs/editor/contrib/peekView/peekView":["닫기","Peek 뷰 제목 영역의 배경색입니다.","Peek 뷰 제목 색입니다.","Peek 뷰 제목 정보 색입니다.","Peek 뷰 테두리 및 화살표 색입니다.","Peek 뷰 결과 목록의 배경색입니다.","Peek 뷰 결과 목록에서 라인 노드의 전경색입니다.","Peek 뷰 결과 목록에서 파일 노드의 전경색입니다.","Peek 뷰 결과 목록에서 선택된 항목의 배경색입니다.","Peek 뷰 결과 목록에서 선택된 항목의 전경색입니다.","Peek 뷰 편집기의 배경색입니다.","Peek 뷰 편집기의 거터 배경색입니다.","Peek 뷰 결과 목록의 일치 항목 강조 표시 색입니다.","Peek 뷰 편집기의 일치 항목 강조 표시 색입니다.","Peek 뷰 편집기의 일치 항목 강조 표시 테두리입니다."],"vs/editor/contrib/rename/rename":["결과가 없습니다.","위치 이름을 바꾸는 중 알 수 없는 오류가 발생했습니다.","'{0}'을(를) '{1}'(으)로 이름을 변경했습니다. 요약: {2}","이름 변경을 실행하지 못했습니다.","기호 이름 바꾸기"],"vs/editor/contrib/rename/renameInputField":["입력 이름을 바꾸세요. 새 이름을 입력한 다음 [Enter] 키를 눌러 커밋하세요."],"vs/editor/contrib/smartSelect/smartSelect":["선택 영역 확장","선택 영역 확장(&&E)","선택 영역 축소","선택 영역 축소(&&S)"], +"vs/editor/contrib/snippet/snippetVariables":["일요일","월요일","화요일","수요일","목요일","금요일 ","토요일","일","월","화","수","목","금","토","1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월","1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],"vs/editor/contrib/suggest/suggestController":["{0}의 {1}개의 수정사항을 수락하는 중","제안 항목 트리거"],"vs/editor/contrib/suggest/suggestWidget":["제안 위젯의 배경색입니다.","제안 위젯의 테두리 색입니다.","제안 위젯의 전경색입니다.","제한 위젯에서 선택된 항목의 배경색입니다.","제안 위젯의 일치 항목 강조 표시 색입니다.","자세히 알아보기...{0}","간단히 보기...{0}","로드 중...","로드 중...","제안 항목이 없습니다.","항목 {0}, 문서: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":[" 키로 포커스 이동 설정/해제","이제 키를 누르면 포커스가 다음 포커스 가능한 요소로 이동합니다.","이제 키를 누르면 탭 문자가 삽입됩니다."],"vs/editor/contrib/tokenization/tokenization":["개발자: 강제로 다시 토큰화"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["변수 읽기와 같은 읽기 액세스 중 기호의 배경색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","변수에 쓰기와 같은 쓰기 액세스 중 기호의 배경색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","변수 읽기와 같은 읽기 액세스 중 기호의 테두리 색입니다.","변수에 쓰기와 같은 쓰기 액세스 중 기호의 테두리 색입니다.","기호 강조 표시의 개요 눈금자 표식 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","쓰기 액세스 기호에 대한 개요 눈금자 표식 색이 강조 표시됩니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","다음 강조 기호로 이동","이전 강조 기호로 이동","기호 강조 표시 트리거"],"vs/platform/configuration/common/configurationRegistry":["기본 구성 재정의","언어에 대해 재정의할 편집기 설정을 구성합니다.","'{0}'을(를) 등록할 수 없습니다. 이는 언어별 편집기 설정을 설명하는 속성 패턴인 '\\\\[.*\\\\]$'과(와) 일치합니다. 'configurationDefaults' 기여를 사용하세요.","'{0}'을(를) 등록할 수 없습니다. 이 속성은 이미 등록되어 있습니다."],"vs/platform/keybinding/common/abstractKeybindingService":["({0})을(를) 눌렀습니다. 둘째 키는 잠시 기다렸다가 누르세요.","키 조합({0}, {1})은 명령이 아닙니다."], +"vs/platform/list/browser/listService":["워크벤치","Windows와 Linux의 'Control'을 macOS의 'Command'로 매핑합니다.","Windows와 Linux의 'Alt'를 macOS의 'Option'으로 매핑합니다.","마우스로 트리와 목록의 항목을 다중 선택에 추가할 때 사용할 한정자입니다(예를 들어 탐색기에서 편집기와 SCM 보기를 여는 경우). '옆에서 열기' 마우스 제스처(지원되는 경우)는 다중 선택 한정자와 충돌하지 않도록 조정됩니다.","트리와 목록에서 마우스를 사용하여 항목을 여는 방법을 제어합니다(지원되는 경우). 트리에서 자식 항목이 있는 부모 항목의 경우 이 설정은 부모 항목을 한 번 클릭으로 확장할지 또는 두 번 클릭으로 확장할지 여부를 제어합니다. 일부 트리와 목록에서는 이 설정을 적용할 수 없는 경우 무시하도록 선택할 수 있습니다. ","Workbench에서 목록 및 트리가 가로 스크롤을 지원하는지 여부를 제어합니다.","워크벤치에서 수평 스크롤 지원 여부를 제어 합니다.","이 설정은 사용되지 않습니다. 대신 '{0}'을(를) 사용하세요.","트리 들여쓰기를 픽셀 단위로 제어합니다.","트리에서 들여쓰기 가이드를 렌더링할지 여부를 제어합니다.","간단한 키보드 탐색에서는 키보드 입력과 일치하는 요소에 집중합니다. 일치는 접두사에서만 수행됩니다.","키보드 탐색 강조 표시에서는 키보드 입력과 일치하는 요소를 강조 표시합니다. 이후로 탐색에서 위 및 아래로 이동하는 경우 강조 표시된 요소만 트래버스합니다.","키보드 탐색 필터링에서는 키보드 입력과 일치하지 않는 요소를 모두 필터링하여 숨깁니다.","워크벤치의 목록 및 트리 키보드 탐색 스타일을 제어합니다. 간소화하고, 강조 표시하고, 필터링할 수 있습니다.","목록 및 트리에서 키보드 탐색이 입력만으로 자동 트리거되는지 여부를 제어합니다. 'false'로 설정하면 'list.toggleKeyboardNavigation' 명령을 실행할 때만 키보드 탐색이 트리거되어 바로 가기 키를 할당할 수 있습니다."], +"vs/platform/markers/common/markers":["오류","경고","정보"], +"vs/platform/theme/common/colorRegistry":["전체 전경색입니다. 이 색은 구성 요소에서 재정의하지 않은 경우에만 사용됩니다.","오류 메시지에 대한 전체 전경색입니다. 이 색은 구성 요소에서 재정의하지 않은 경우에만 사용됩니다.","포커스가 있는 요소의 전체 테두리 색입니다. 이 색은 구성 요소에서 재정의하지 않은 경우에만 사용됩니다.","더 뚜렷이 대비되도록 요소를 다른 요소와 구분하는 요소 주위의 추가 테두리입니다.","더 뚜렷이 대비되도록 요소를 다른 요소와 구분하는 활성 요소 주위의 추가 테두리입니다.","텍스트 내 링크의 전경색입니다.","텍스트 내 코드 블록의 전경색입니다.","편집기 내에서 찾기/바꾸기 같은 위젯의 그림자 색입니다.","입력 상자 배경입니다.","입력 상자 전경입니다.","입력 상자 테두리입니다.","입력 필드에서 활성화된 옵션의 테두리 색입니다.","입력 필드에서 활성화된 옵션의 배경색입니다.","정보 심각도의 입력 유효성 검사 배경색입니다.","정보 심각도의 입력 유효성 검사 전경색입니다.","정보 심각도의 입력 유효성 검사 테두리 색입니다.","경고 심각도의 입력 유효성 검사 배경색입니다.","경고 심각도의 입력 유효성 검사 전경색입니다.","경고 심각도의 입력 유효성 검사 테두리 색입니다.","오류 심각도의 입력 유효성 검사 배경색입니다.","오류 심각도의 입력 유효성 검사 전경색입니다.","오류 심각도의 입력 유효성 검사 테두리 색입니다.","드롭다운 배경입니다.","드롭다운 전경입니다.","그룹화 레이블에 대한 빠른 선택기 색입니다.","그룹화 테두리에 대한 빠른 선택기 색입니다.","배지 배경색입니다. 배지는 검색 결과 수와 같은 소량의 정보 레이블입니다.","배지 전경색입니다. 배지는 검색 결과 수와 같은 소량의 정보 레이블입니다.","스크롤되는 보기를 나타내는 스크롤 막대 그림자입니다.","스크롤 막대 슬라이버 배경색입니다.","마우스로 가리킬 때 스크롤 막대 슬라이더 배경색입니다.","클릭된 상태일 때 스크롤 막대 슬라이더 배경색입니다.","오래 실행 중인 작업에 대해 표시되는 진행률 표시 막대의 배경색입니다.","편집기 내 오류 표시선의 전경색입니다.","편집기에서 오류 상자의 테두리 색입니다.","편집기 내 경고 표시선의 전경색입니다.","편집기에서 경고 상자의 테두리 색입니다.","편집기 내 정보 표시선의 전경색입니다.","편집기에서 정보 상자의 테두리 색입니다.","편집기에서 힌트 표시선의 전경색입니다.","편집기에서 힌트 상자의 테두리 색입니다.","편집기 배경색입니다.","편집기 기본 전경색입니다.","찾기/바꾸기 같은 편집기 위젯의 배경색입니다.","찾기/바꾸기와 같은 편집기 위젯의 전경색입니다.","편집기 위젯의 테두리 색입니다. 위젯에 테두리가 있고 위젯이 색상을 무시하지 않을 때만 사용됩니다.","편집기 위젯 크기 조정 막대의 테두리 색입니다. 이 색은 위젯에서 크기 조정 막대를 표시하도록 선택하고 위젯에서 색을 재지정하지 않는 경우에만 사용됩니다.","편집기 선택 영역의 색입니다.","고대비를 위한 선택 텍스트의 색입니다.","비활성 편집기의 선택 항목 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","선택 영역과 동일한 콘텐츠가 있는 영역의 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","선택 영역과 동일한 콘텐츠가 있는 영역의 테두리 색입니다.","현재 검색 일치 항목의 색입니다.","기타 검색 일치 항목의 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","검색을 제한하는 범위의 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","현재 검색과 일치하는 테두리 색입니다.","다른 검색과 일치하는 테두리 색입니다.","검색을 제한하는 범위의 테두리 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","호버가 표시된 단어 아래를 강조 표시합니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","편집기 호버의 배경색.","편집기 호버의 전경색입니다.","편집기 호버의 테두리 색입니다.","편집기 호버 상태 표시줄의 배경색입니다.","활성 링크의 색입니다.","전구 작업 아이콘에 사용되는 색상입니다.","전구 자동 수정 작업 아이콘에 사용되는 색상입니다.","삽입된 텍스트의 배경색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","제거된 텍스트 배경색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","삽입된 텍스트의 윤곽선 색입니다.","제거된 텍스트의 윤곽선 색입니다.","두 텍스트 편집기 사이의 테두리 색입니다.","목록/트리가 활성 상태인 경우 포커스가 있는 항목의 목록/트리 배경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","목록/트리가 활성 상태인 경우 포커스가 있는 항목의 목록/트리 전경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","목록/트리가 활성 상태인 경우 선택한 항목의 목록/트리 배경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","목록/트리가 활성 상태인 경우 선택한 항목의 목록/트리 전경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","목록/트리가 비활성 상태인 경우 선택한 항목의 목록/트리 배경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","목록/트리가 비활성 상태인 경우 선택한 항목의 목록/트리 전경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","목록/트리가 비활성 상태인 경우 포커스가 있는 항목의 목록/트리 배경색입니다. 목록/트리가 활성 상태이면 키보드 포커스를 가지며, 비활성 상태이면 포커스가 없습니다.","마우스로 항목을 가리킬 때 목록/트리 배경입니다.","마우스로 항목을 가리킬 때 목록/트리 전경입니다.","마우스로 항목을 이동할 때 목록/트리 끌어서 놓기 배경입니다.","목록/트리 내에서 검색할 때 일치 항목 강조 표시의 목록/트리 전경색입니다.","목록 및 트리에서 형식 필터 위젯의 배경색입니다.","목록 및 트리에서 형식 필터 위젯의 윤곽 색입니다.","일치하는 항목이 없을 때 목록 및 트리에서 표시되는 형식 필터 위젯의 윤곽 색입니다.","들여쓰기 가이드의 트리 스트로크 색입니다.","메뉴 테두리 색입니다.","메뉴 항목 전경색입니다.","메뉴 항목 배경색입니다.","메뉴의 선택된 메뉴 항목 전경색입니다.","메뉴의 선택된 메뉴 항목 배경색입니다.","메뉴의 선택된 메뉴 항목 테두리 색입니다.","메뉴에서 구분 기호 메뉴 항목의 색입니다.","코드 조각 탭 정지의 강조 표시 배경색입니다.","코드 조각 탭 정지의 강조 표시 테두리 색입니다.","코드 조각 마지막 탭 정지의 강조 표시 배경색입니다.","코드 조각 마지막 탭 정지의 강조 표시 배경색입니다.","일치 항목 찾기의 개요 눈금자 표식 색입니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","선택 항목의 개요 눈금자 표식 색이 강조 표시됩니다. 기본 장식을 숨기지 않도록 색은 불투명하지 않아야 합니다.","일치하는 항목을 찾기 위한 미니맵 표식 색입니다.","편집기 선택 작업을 위한 미니맵 마커 색입니다.","오류에 대한 미니맵 마커 색상입니다.","경고의 미니맵 마커 색상입니다.","문제 오류 아이콘에 사용되는 색입니다.","문제 경고 아이콘에 사용되는 색입니다.","문제 정보 아이콘에 사용되는 색입니다."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.ko.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ru.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ru.js new file mode 100755 index 00000000..ac4ad5a1 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.ru.js @@ -0,0 +1,36 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.ru",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (произошло снова)","{0} (было {1} раз)"],"vs/base/browser/ui/findinput/findInput":["Ввод"],"vs/base/browser/ui/findinput/findInputCheckboxes":["С учетом регистра","Слово целиком","Использовать регулярное выражение"],"vs/base/browser/ui/findinput/replaceInput":["Ввод","Сохранить регистр"],"vs/base/browser/ui/inputbox/inputBox":["Ошибка: {0}","Предупреждение: {0}","Информация: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["свободный"],"vs/base/browser/ui/list/listWidget":["{0}. Для перехода используйте клавиши навигации."],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["Сброс","Отключить фильтр по типу","Включить фильтр по типу","Элементы не найдены","Сопоставлено элементов: {0} из {1}"], +"vs/base/common/keybindingLabels":["CTRL","SHIFT","ALT","Windows","CTRL","SHIFT","ALT","Превосходно","CTRL","SHIFT","ALT","Команда","CTRL","SHIFT","ALT","Windows","CTRL","SHIFT","ALT","Превосходно"],"vs/base/common/severity":["Ошибка","Предупреждение","Информация"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0}, средство выбора","средство выбора"],"vs/base/parts/quickopen/browser/quickOpenWidget":["Средство быстрого выбора. Введите, чтобы сузить результаты.","Средство быстрого выбора","Результаты: {0}"],"vs/editor/browser/controller/coreCommands":["&&Выделить все","&&Отменить","&&Повторить"],"vs/editor/browser/controller/textAreaHandler":["Редактор сейчас недоступен. Чтобы открыть список действий, нажмите ALT+F1."],"vs/editor/browser/widget/codeEditorWidget":["Количество курсоров ограничено {0}."],"vs/editor/browser/widget/diffEditorWidget":["Нельзя сравнить файлы, потому что один из файлов слишком большой."], +"vs/editor/browser/widget/diffReview":["Закрыть","строки отсутствуют","1 строка","строк: {0}","Различие {0} из {1}; исходная версия: {2}, {3}, измененная версия: {4}, {5}","пустой","Исходная версия: {0}, измененная версия: {1}: {2}","+ измененная версия: {0}: {1}","- исходная версия: {0}: {1}","Перейти к следующему различию","Перейти к предыдущему различию"],"vs/editor/browser/widget/inlineDiffMargin":["Копировать удаленные строки","Копировать удаленную строку","Копировать удаленную строку ({0})","Отменить это изменение","Копировать удаленную строку ({0})"], +"vs/editor/common/config/commonEditorConfig":["Редактор",'Число пробелов в табуляции. Этот параметр переопределяется на основе содержимого файла, если установлен параметр "#editor.detectIndentation#".','Вставлять пробелы при нажатии клавиши TAB. Этот параметр переопределяется на основе содержимого файла, если установлен параметр "#editor.detectIndentation#". ','Управляет тем, будут ли параметры "#editor.tabSize#" и "#editor.insertSpaces#" определяться автоматически при открытии файла на основе содержимого файла.',"Удалить автоматически вставляемый конечный пробел.","Специальная обработка для больших файлов с отключением некоторых функций, которые интенсивно используют память.","Определяет, следует ли оценивать завершения на основе слов в документе.","Оставлять быстрый редактор открытым даже при двойном щелчке по его содержимому и при нажатии ESC.","Строки, длина которых превышает указанное значение, не будут размечены из соображений производительности","Время ожидания в миллисекундах, по истечении которого вычисление несовпадений отменяется. Укажите значение 0, чтобы не использовать время ожидания.","Определяет, как редактор несовпадений отображает отличия: рядом или в тексте.","Определяет, должен ли редактор несовпадений трактовать несовпадения символов-разделителей как различия.","Определяет, должны ли в редакторе отображаться индикаторы +/- для добавленных или удаленных изменений."], +"vs/editor/common/config/editorOptions":["Редактор будет определять, подключено ли средство чтения с экрана, с помощью API-интерфейсов платформы.","Редактор будет оптимизирован для использования со средством чтения с экрана в постоянном режиме.","Редактор никогда не будет оптимизироваться для использования со средством чтения с экрана.","Определяет, следует ли запустить редактор в режиме оптимизации для средства чтения с экрана.","Управляет тем, копируется ли текущая строка при копировании без выделения.","Определяет, можно ли передать строку поиска в мини-приложение поиска из текста, выделенного в редакторе.",'Никогда не включать функцию "Найти в выделении" автоматически (по умолчанию)','Всегда включать функцию "Найти в выделении" автоматически','Автоматическое включение функции "Найти в выделении" при выборе нескольких строк содержимого.',"Определяет, выполняется ли поиск для выбранного текста или для всего файла в редакторе.","Определяет, должно ли мини-приложение поиска считывать или изменять общий буфер обмена поиска в macOS.","Определяет, должно ли мини-приложение поиска добавлять дополнительные строки в начале окна редактора. Если задано значение true, вы можете прокрутить первую строку при отображаемом мини-приложении поиска.","Включает/отключает лигатуры шрифта.","Явные параметры для функций шрифтов.","Настраивает лигатуры.","Управляет размером шрифта в пикселях.","Показать предварительные результаты (по умолчанию)","Перейти к основному результату и показать быстрый редактор","Перейдите к основному результату и включите быструю навигацию для остальных","Этот параметр устарел. Используйте вместо него отдельные параметры, например, 'editor.editor.gotoLocation.multipleDefinitions' или 'editor.editor.gotoLocation.multipleImplementations'.",'Управляет поведением команды "Перейти к определению" при наличии нескольких целевых расположений.','Управляет поведением команды "Перейти к определению типа" при наличии нескольких целевых расположений.','Управляет поведением команды "Перейти к объявлению" при наличии нескольких целевых расположений.','Управляет поведением команды "Перейти к реализациям" при наличии нескольких целевых расположений.','Управляет поведением команды "Перейти к ссылкам" при наличии нескольких целевых расположений.','Идентификатор альтернативной команды, выполняемой в том случае, когда результатом операции "Перейти к определению" является текущее расположение.','Идентификатор альтернативной команды, которая выполняется в том случае, если результатом операции "Перейти к определению типа" является текущее расположение.','Идентификатор альтернативный команды, выполняемой в том случае, когда результатом операции "Перейти к объявлению" является текущее расположение.','Идентификатор альтернативный команды, выполняемой, когда результатом команды "Перейти к реализации" является текущее расположение.','Идентификатор альтернативной команды, выполняемой в том случае, когда результатом выполнения операции "Перейти к ссылке" является текущее расположение.',"Управляет тем, отображается ли наведение.","Определяет время задержки в миллисекундах перед отображением наведения.","Управляет тем, должно ли наведение оставаться видимым при наведении на него курсора мыши.","Включает индикатор действия кода в редакторе.","Управляет высотой строк. Укажите 0 для вычисления высоты строки по размеру шрифта.","Определяет, отображается ли мини-карта.","Определяет, с какой стороны будет отображаться мини-карта.","Определяет, когда отображается ползунок мини-карты.","Масштаб содержимого, выводимого на мини-карте.","Отображает фактические символы в строке вместо цветных блоков.","Ограничивает ширину мини-карты, чтобы количество отображаемых столбцов не превышало определенное количество.","Включает всплывающее окно с документацией по параметру и сведениями о типе, которое отображается во время набора.","Определяет, меню подсказок остается открытым или закроется при достижении конца списка.","Разрешение кратких предложений в строках.","Разрешение кратких предложений в комментариях.","Разрешение кратких предложений вне строк и комментариев.","Определяет, должны ли при вводе текста автоматически отображаться предложения.","Номера строк не отображаются.","Отображаются абсолютные номера строк.","Отображаемые номера строк вычисляются как расстояние в строках до положения курсора.","Номера строк отображаются каждые 10 строк.","Управляет отображением номеров строк.","Отображать вертикальные линейки после определенного числа моноширинных символов. Для отображения нескольких линеек укажите несколько значений. Если не указано ни одного значения, вертикальные линейки отображаться не будут.","Вставить предложение без перезаписи текста справа от курсора.","Вставить предложение и перезаписать текст справа от курсора.","Определяет, будут ли перезаписываться слова при принятии вариантов завершения. Обратите внимание, что это зависит от расширений, использующих эту функцию.",'Определяет, следует ли выделять неожиданные изменения текста при принятии вариантов завершения, например, для замены необходим вариант "insertMode", но завершение поддерживает только вариант "insert".',"Управляет тем, допускаются ли небольшие опечатки в предложениях фильтрации и сортировки.","Определяет, следует ли учитывать при сортировке слова, расположенные рядом с курсором.",'Определяет, используются ли сохраненные варианты выбора предложений совместно несколькими рабочими областями и окнами (требуется "#editor.suggestSelection#").',"Управляет тем, могут ли использоваться быстрые предложения в активном фрагменте.","Указывает, нужно ли отображать значки в предложениях.","Определяет, сколько предложений IntelliSense будет показано до отображения полосы прокрутки (максимум 15).","Этот параметр устарел. Используйте вместо него отдельные параметры, например, 'editor.suggest.showKeywords' или 'editor.suggest.showSnippets'.",'Когда параметр включен, в IntelliSense отображаются предложения "method".','Когда параметр включен, в IntelliSense отображаются предложения "function".','Когда параметр включен, в IntelliSense отображаются предложения "constructor".','Когда параметр включен, в IntelliSense отображаются предложения "field".','Когда параметр включен, в IntelliSense отображаются предложения "variable".','Когда параметр включен, в IntelliSense отображаются предложения "class".','Когда параметр включен, в IntelliSense отображаются предложения "struct".','Когда параметр включен, в IntelliSense отображаются предложения "interface".','Когда параметр включен, в IntelliSense отображаются предложения "module".','Когда параметр включен, в IntelliSense отображаются предложения "property".','Когда параметр включен, в IntelliSense отображаются предложения "event".','Когда параметр включен, в IntelliSense отображаются предложения "operator".','Когда параметр включен, в IntelliSense отображаются предложения "unit".','Когда параметр включен, в IntelliSense отображаются предложения "value".','Когда параметр включен, в IntelliSense отображаются предложения "constant".','Когда параметр включен, в IntelliSense отображаются предложения "enum".','Когда параметр включен, в IntelliSense отображаются предложения "enumMember".','Когда параметр включен, в IntelliSense отображаются предложения "keyword".','Когда параметр включен, в IntelliSense отображаются предложения "text".','Когда параметр включен, в IntelliSense отображаются предложения "color".','Когда параметр включен, в IntelliSense отображаются предложения "file".','Когда параметр включен, в IntelliSense отображаются предложения "reference".','Когда параметр включен, в IntelliSense отображаются предложения "customcolor".','Когда параметр включен, в IntelliSense отображаются предложения "folder".','Когда параметр включен, в IntelliSense отображаются предложения "typeParameter".','Когда параметр включен, в IntelliSense отображаются предложения "snippet".','Определяет, будут ли предложения приниматься при вводе символов фиксации. Например, в JavaScript точка с запятой (";") может быть символом фиксации, при вводе которого предложение принимается.',"Принимать предложение при нажатии клавиши ВВОД только в том случае, если оно изменяет текст.","Определяет, будут ли предложения приниматься клавишей ВВОД в дополнение к клавише TAB. Это помогает избежать неоднозначности между вставкой новых строк и принятием предложений.","Задает количество строк в редакторе, которые могут быть прочитаны средством чтения с экрана. Предупреждение: из-за технических ограничений этот число не может превышать значение по умолчанию.","Содержимое редактора","Использовать конфигурации языка для автоматического закрытия скобок.","Автоматически закрывать скобки только в том случае, если курсор находится слева от пробела.","Определяет, должен ли редактор автоматически добавлять закрывающую скобку при вводе пользователем открывающей скобки.","Заменять закрывающие кавычки и скобки при вводе только в том случае, если кавычки или скобки были вставлены автоматически.","Определяет, должны ли в редакторе заменяться закрывающие кавычки или скобки при вводе.","Использовать конфигурации языка для автоматического закрытия кавычек.","Автоматически закрывать кавычки только в том случае, если курсор находится слева от пробела.","Определяет, должен ли редактор автоматически закрывать кавычки, если пользователь добавил открывающую кавычку.","Редактор не будет вставлять отступы автоматически.","Редактор будет сохранять отступ текущей строки.","Редактор будет сохранять отступы текущей строки и учитывать скобки в соответствии с синтаксисом языка.","Редактор будет сохранять отступ текущей строки, учитывать определенные языком скобки и вызывать специальные правила onEnterRules, определяемые языками.","Редактор будет сохранять отступ текущей строки, учитывать определенные языком скобки, вызывать специальные правила onEnterRules, определяемые языками и учитывать правила отступа indentationRules, определяемые языками.","Определяет, должен ли редактор автоматически изменять отступы, когда пользователи вводят, вставляют или перемещают текст или изменяют отступы строк.","Использовать конфигурации языка для автоматического обрамления выделений.","Обрамлять с помощью кавычек, а не скобок.","Обрамлять с помощью скобок, а не кавычек.","Определяет, должен ли редактор автоматически обрамлять выделения.","Определяет, отображается ли CodeLens в редакторе.","Определяет, должны ли в редакторе отображаться внутренние декораторы цвета и средство выбора цвета.","Определяет, будет ли текст скопирован в буфер обмена с подсветкой синтаксиса.","Управляет стилем анимации курсора.","Управляет тем, следует ли включить плавную анимацию курсора.","Управляет стилем курсора.",'Определяет минимальное число видимых начальных и конечных линий, окружающих курсор. Этот параметр имеет название "scrollOff" или "scrollOffset" в некоторых других редакторах.','"cursorSurroundingLines" применяется только при запуске с помощью клавиатуры или API.','"cursorSurroundingLines" принудительно применяется во всех случаях.','Определяет, когда необходимо применять "cursorSurroundingLines".',"Управляет шириной курсора, когда для параметра \"#editor.cursorStyle#\" установлено значение 'line'","Определяет, следует ли редактору разрешить перемещение выделенных элементов с помощью перетаскивания.","Коэффициент увеличения скорости прокрутки при нажатии клавиши ALT.","Определяет, включено ли свертывание кода в редакторе.","Управляет тем, как вычисляются диапазоны сворачивания. При указании параметра 'auto' используется стратегия сворачивания на основе языка, если она доступна. При указании параметра 'indentation' принудительно используется стратегия на основе отступов.","Определяет семейство шрифтов.","Управляет насыщенностью шрифта.","Определяет, будет ли редактор автоматически форматировать вставленное содержимое. Модуль форматирования должен быть доступен и иметь возможность форматировать диапазон в документе.","Управляет параметром, определяющим, должен ли редактор автоматически форматировать строку после ввода.","Управляет отображением вертикальных полей глифа в редакторе. Поля глифа в основном используются для отладки.","Управляет скрытием курсора в обзорной линейке.","Управляет тем, должна ли выделяться активная направляющая отступа в редакторе.","Управляет интервалом между буквами в пикселях.","Определяет, должен ли редактор определять ссылки и делать их доступными для щелчка.","Выделять соответствующие скобки.","Множитель, используемый для параметров deltaX и deltaY событий прокрутки колесика мыши.","Изменение размера шрифта в редакторе при нажатой клавише CTRL и движении колесика мыши.","Объединить несколько курсоров, когда они перекрываются.","Соответствует клавише CTRL в Windows и Linux и клавише COMMAND в macOS.","Соответствует клавише ALT в Windows и Linux и клавише OPTION в macOS.",'Модификатор, который будет использоваться для добавления нескольких курсоров с помощью мыши. Жесты мыши "Перейти к определению" и "Открыть ссылку" будут изменены так, чтобы они не конфликтовали с несколькими курсорами. [Дополнительные сведения](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier). ',"Каждый курсор вставляет одну строку текста.","Каждый курсор вставляет полный текст.","Управляет вставкой, когда число вставляемых строк соответствует числу курсоров.","Определяет, должен ли редактор выделять экземпляры семантических символов.","Определяет, должна ли отображаться граница на обзорной линейке.","Управляет длительностью задержки (в мс) перед отображением кратких предложений.","Определяет, должны ли в редакторе отображаться управляющие символы.","Определяет, должны ли в редакторе отображаться направляющие отступа.","Отображение номера последней строки, когда файл заканчивается новой строкой.","Выделяет поле и текущую строку.","Определяет, должен ли редактор выделять текущую строку.","Render whitespace characters except for single spaces between words.","Отображать пробелы только в выделенном тексте.","Определяет, должны ли в редакторе отображаться пробелы.","Управляет тем, необходимо ли отображать скругленные углы для выделения.","Управляет количеством дополнительных символов, на которое содержимое редактора будет прокручиваться по горизонтали.","Определяет, будет ли содержимое редактора прокручиваться за последнюю строку.","Контролирует, следует ли поддерживать первичный буфер обмена Linux.","Определяет, должен ли редактор выделять совпадения, аналогичные выбранному фрагменту.","Определяет, будут ли автоматически скрываться элементы управления свертыванием на полях.","Управляет скрытием неиспользуемого кода.","Отображать предложения фрагментов поверх других предложений.","Отображать предложения фрагментов под другими предложениями.","Отображать предложения фрагментов рядом с другими предложениями.","Не отображать предложения фрагментов.","Управляет отображением фрагментов вместе с другими предложениями и их сортировкой.","Определяет, будет ли использоваться анимация при прокрутке содержимого редактора",'Размер шрифта мини-приложения с предложениями. Если установить значение "0", будет использовано значение "#editor.fontSize#".','Высота строки мини-приложения с предложениями. Если установить значение "0", будет использовано значение "#editor.lineHeight#".',"Определяет, должны ли при вводе триггерных символов автоматически отображаться предложения.","Всегда выбирать первое предложение.",'Выбор недавних предложений, если только дальнейший ввод не приводит к использованию одного из них, например "console.| -> console.log", так как "log" недавно использовался для завершения.','Выбор предложений с учетом предыдущих префиксов, использованных для завершения этих предложений, например "co -> console" и "con -> const".',"Управляет предварительным выбором предложений при отображении списка предложений.","При использовании дополнения по TAB будет добавляться наилучшее предложение при нажатии клавиши TAB.","Отключить дополнение по TAB.",'Вставка дополнений по TAB при совпадении их префиксов. Функция работает оптимально, если параметр "quickSuggestions" отключен.',"Включает дополнения по TAB.","Вставка и удаление пробелов после позиции табуляции","Символы, которые будут использоваться как разделители слов при выполнении навигации или других операций, связанных со словами.","Строки не будут переноситься никогда.","Строки будут переноситься по ширине окна просмотра.",'Строки будут переноситься по "#editor.wordWrapColumn#".','Строки будут перенесены по минимальному значению из двух: ширина окна просмотра и "#editor.wordWrapColumn#".',"Управляет тем, как следует переносить строки.",'Определяет столбец переноса редактора, если значение "#editor.wordWrap#" — "wordWrapColumn" или "bounded".',"Без отступа. Перенос строк начинается со столбца 1.","Перенесенные строки получат тот же отступ, что и родительская строка.","Перенесенные строки получат отступ, увеличенный на единицу по сравнению с родительской строкой. ","Перенесенные строки получат отступ, увеличенный на два по сравнению с родительской строкой.","Управляет отступом строк с переносом по словам."], +"vs/editor/common/modes/modesRegistry":["Простой текст"], +"vs/editor/common/standaloneStrings":["Ничего не выбрано","Строка {0}, столбец {1} (выбрано: {2})","Строка {0}, столбец {1}","Выделений: {0} (выделено символов: {1})","Выделений: {0}",'Теперь для параметра "accessibilitySupport" устанавливается значение "вкл".',"Открывается страница документации о специальных возможностях редактора.","в панели только для чтения редактора несовпадений.","на панели редактора несовпадений."," в редакторе кода только для чтения"," в редакторе кода","Чтобы оптимизировать редактор для использования со средством чтения с экрана, нажмите COMMAND+E.","Чтобы оптимизировать редактор для использования со средством чтения с экрана, нажмите CTRL+E.","Редактор настроен для оптимальной работы со средством чтения с экрана.","Редактор настроен без оптимизации для использования средства чтения с экрана, что не подходит в данной ситуации.","При нажатии клавиши TAB в текущем редакторе фокус ввода переместится на следующий элемент, способный его принять. Чтобы изменить это поведение, нажмите клавишу {0}.","При нажатии клавиши TAB в текущем редакторе фокус ввода переместится на следующий элемент, способный его принять. Команду {0} сейчас невозможно выполнить с помощью настраиваемого сочетания клавиш.","При нажатии клавиши TAB в текущем редакторе будет вставлен символ табуляции. Чтобы изменить это поведение, нажмите клавишу {0}.","При нажатии клавиши TAB в текущем редакторе будет вставлен символ табуляции. Команду {0} сейчас невозможно выполнить с помощью настраиваемого сочетания клавиш.","Нажмите COMMAND+H, чтобы открыть окно браузера с дополнительной информацией о специальных возможностях редактора.","Нажмите CTRL+H, чтобы открыть окно браузера с дополнительной информацией о специальных возможностях редактора.","Вы можете закрыть эту подсказку и вернуться в редактор, нажав клавиши ESCAPE или SHIFT+ESCAPE.","Показать справку по специальным возможностям","Разработчик: проверить токены","Перейти к строке {0} и символу {1}","Перейти к строке {0}","Введите номер строки от 1 до {0} для перехода","Введите символ между 1 и {0} для перехода к","Текущая строка: {0}. Перейти к строке {1}.","Введите номер строки с последующим необязательным двоеточием и номер символа, к которому нужно перейти","Перейти к строке...","{0}, {1}, команды","{0}, команды","Введите имя действия, которое нужно выполнить","Палитра команд","{0}, символы","Введите имя идентификатора, к которому вы хотите перейти","Перейти к символу...","символы ({0})","модули ({0})","классы ({0})","интерфейсы ({0})","методы ({0})","функции ({0})","свойства ({0})","переменные ({0})","переменные ({0})","конструкторы ({0})","вызовы ({0})","Содержимое редактора","Нажмите клавиши CTRL+F1 для доступа к параметрам специальных возможностей.","Нажмите ALT+F1 для доступа к параметрам специальных возможностей.","Переключить высококонтрастную тему","Внесено изменений в файлах ({1}): {0}."], +"vs/editor/common/view/editorColorRegistry":["Цвет фона для выделения строки в позиции курсора.","Цвет фона границ вокруг строки в позиции курсора.","Цвет фона для выделенных диапазонов, например при использовании функций Quick Open или поиска. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет фона обводки выделения.",'Цвет фона выделенного символа, например, в функциях "Перейти к определению" или "Перейти к следующему/предыдущему символу". Цвет должен быть прозрачным, чтобы не скрывать оформление текста под ним.',"Цвет фона для границы вокруг выделенных символов.","Цвет курсора редактора.","Цвет фона курсора редактора. Позволяет настраивать цвет символа, перекрываемого прямоугольным курсором.","Цвет пробелов в редакторе.","Цвет направляющих для отступов редактора.","Цвет активных направляющих для отступов редактора.","Цвет номеров строк редактора.","Цвет номера активной строки редактора","Параметр 'Id' является устаревшим. Используйте вместо него параметр 'editorLineNumber.activeForeground'.","Цвет номера активной строки редактора","Цвет линейки редактора.","Цвет переднего плана элемента CodeLens в редакторе","Цвет фона парных скобок","Цвет прямоугольников парных скобок","Цвет границы для линейки в окне просмотра.","Цвет фона поля в редакторе. В поле размещаются отступы глифов и номера строк.","Цвет границы для ненужного (неиспользуемого) исходного кода в редакторе.",'Непрозрачность ненужного (неиспользуемого) исходного кода в редакторе. Например, "#000000c0" отображает код с непрозрачностью 75 %. В высококонтрастных темах для выделения ненужного кода вместо затенения используйте цвет темы "editorUnnecessaryCode.border".',"Цвет метки линейки в окне просмотра для ошибок.","Цвет метки линейки в окне просмотра для предупреждений.","Цвет метки линейки в окне просмотра для информационных сообщений."], +"vs/editor/contrib/bracketMatching/bracketMatching":["Цвет метки линейки в окне просмотра для пар скобок.","Перейти к скобке","Выбрать скобку","Перейти к &&скобке"],"vs/editor/contrib/caretOperations/caretOperations":["Переместить курсор влево","Переместить курсор вправо"],"vs/editor/contrib/caretOperations/transpose":["Транспортировать буквы"],"vs/editor/contrib/clipboard/clipboard":["Вырезать","&&Вырезать","Копирование","&&Копировать","Вставить","&&Вставить","Копировать с выделением синтаксиса"], +"vs/editor/contrib/codeAction/codeActionCommands":["Тип запускаемого действия кода.","Определяет, когда применяются возвращенные действия.","Всегда применять первое возвращенное действие кода.","Применить первое действие возвращенного кода, если оно является единственным.","Не применять действия возвращенного кода.","Определяет, следует ли возвращать только предпочтительные действия кода.","При применении действия кода произошла неизвестная ошибка","Быстрое исправление...","Доступные действия кода отсутствуют",'Нет доступных предпочтительных действий кода для "{0}".','Действия кода для "{0}" недоступны',"Нет доступных предпочтительных действий кода","Доступные действия кода отсутствуют","Рефакторинг...",'Нет доступных предпочтительных рефакторингов для "{0}"','Нет доступного рефакторинга для "{0}"',"Нет доступных предпочтительных рефакторингов","Доступные операции рефакторинга отсутствуют","Действие с исходным кодом...","Нет доступных предпочтительных действий источника для '{0}'",'Нет доступных исходных действий для "{0}"',"Предпочтительные действия источника недоступны","Доступные исходные действия отсутствуют","Организация импортов","Действие для упорядочения импортов отсутствует","Исправить все","Нет доступного действия по общему исправлению","Автоисправление...","Нет доступных автоисправлений"], +"vs/editor/contrib/codeAction/lightBulbWidget":["Отображение исправлений. Доступно предпочитаемое исправление ({0})","Показать исправления ({0})","Показать исправления"],"vs/editor/contrib/comment/comment":["Закомментировать или раскомментировать строку","Переключить комментарий &&строки","Закомментировать строку","Раскомментировать строку","Закомментировать или раскомментировать блок","Переключить комментарий &&блока"],"vs/editor/contrib/contextmenu/contextmenu":["Показать контекстное меню редактора"],"vs/editor/contrib/cursorUndo/cursorUndo":["Отмена действия курсора","Повтор действия курсора"], +"vs/editor/contrib/documentSymbols/outlineTree":["Цвет переднего плана для символов массива. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для логических символов. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов класса. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов цвета. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов константы. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов конструктора. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов перечислителя. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов члена перечислителя. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов события. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов поля. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов файла. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов папки. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов функции. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов интерфейса. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов ключа. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов ключевого слова. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов метода. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов модуля. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов пространства имен. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов NULL. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов числа. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов объекта. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов оператора. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов пакета. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов свойства. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов ссылки. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов фрагмента кода. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов строки. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов структуры. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов текста. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов типа параметров. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов единиц. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений.","Цвет переднего плана для символов переменной. Эти символы отображаются в структуре, элементе навигации и мини-приложении предложений."], +"vs/editor/contrib/find/findController":["Найти","&&Найти","Найти в выбранном","Найти далее","Найти далее","Найти ранее","Найти ранее","Найти следующее выделение","Найти предыдущее выделение","Заменить","&&Заменить"],"vs/editor/contrib/find/findWidget":["Найти","Найти","Предыдущее соответствие","Следующее соответствие","Найти в выделении","Закрыть","Заменить","Заменить","Заменить","Заменить все",'Режим "Переключение замены"',"Отображаются только первые {0} результатов, но все операции поиска выполняются со всем текстом.","{0} из {1}","Результаты отсутствуют","{0} обнаружено","{0} обнаружено для {1}","{0} обнаружено для {1} в {2}","{0} обнаружено для {1}","Теперь при нажатии клавиш CTRL+ВВОД вставляется символ перехода на новую строку вместо замены всего текста. Вы можете изменить сочетание клавиш editor.action.replaceAll, чтобы переопределить это поведение."], +"vs/editor/contrib/folding/folding":["Развернуть","Развернуть рекурсивно","Свернуть","Переключить свертывание","Свернуть рекурсивно","Свернуть все блоки комментариев","Свернуть все регионы","Развернуть все регионы","Свернуть все","Развернуть все","Уровень папки {0}"],"vs/editor/contrib/fontZoom/fontZoom":["Увеличить шрифт редактора","Уменьшить шрифт редактора","Сбросить масштаб шрифта редактора"],"vs/editor/contrib/format/format":["Внесена одна правка форматирования в строке {0}.","Внесены правки форматирования ({0}) в строке {1}.","Внесена одна правка форматирования между строками {0} и {1}.","Внесены правки форматирования ({0}) между строками {1} и {2}."],"vs/editor/contrib/format/formatActions":["Форматировать документ","Форматировать выделенный фрагмент"], +"vs/editor/contrib/gotoError/gotoError":["Перейти к Следующей Проблеме (Ошибке, Предупреждению, Информации)","Перейти к Предыдущей Проблеме (Ошибке, Предупреждению, Информации)","Перейти к следующей проблеме в файлах (ошибки, предупреждения, информационные сообщения)","Перейти к предыдущей проблеме в файлах (ошибки, предупреждения, информационные сообщения)","Следующая &&проблема","Предыдущая &&проблема"],"vs/editor/contrib/gotoError/gotoErrorWidget":["Проблемы: {0} из {1}","Проблемы: {0} из {1}","Цвет ошибки в мини-приложении навигации по меткам редактора.","Цвет предупреждения в мини-приложении навигации по меткам редактора.","Цвет информационного сообщения в мини-приложении навигации по меткам редактора.","Фон мини-приложения навигации по меткам редактора."], +"vs/editor/contrib/gotoSymbol/goToCommands":["Обзор","Определения",'Определение для "{0}" не найдено.',"Определения не найдены.","Перейти к определению","Перейти к &&определению","Открыть определение сбоку","Показать определение","Объявления",'Объявление для "{0}" не найдено.',"Объявление не найдено","Перейти к объявлению","Перейти к &&объявлению",'Объявление для "{0}" не найдено.',"Объявление не найдено","Просмотреть объявление","Определения типов",'Не найдено определение типа для "{0}".',"Не найдено определение типа.","Перейти к определению типа","Перейти к &&определению типа","Показать определение типа","Реализации",'Не найдена реализация для "{0}".',"Не найдена реализация.","Перейти к реализациям","Перейти к &&реализациям","Просмотреть реализации",'Ссылки для "{0}" не найдены',"Ссылки не найдены","Перейти к ссылкам","Перейти к &&ссылкам","Ссылки","Показать ссылки","Ссылки","Перейти к любому символу","Расположения",'Результаты для "{0}" отсутствуют',"Ссылки"], +"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["Щелкните, чтобы отобразить определения ({0})."],"vs/editor/contrib/gotoSymbol/peek/referencesController":["Загрузка...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["Не удалось разрешить файл.","Ссылок: {0}","{0} ссылка"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["предварительный просмотр недоступен","Ссылки","Результаты отсутствуют","Ссылки"],"vs/editor/contrib/gotoSymbol/referencesModel":["ссылка в {0} в строке {1} и символе {2}","1 символ в {0}, полный путь: {1}","{0} символов в {1}, полный путь: {2} ","Результаты не найдены","Обнаружен 1 символ в {0}","Обнаружено {0} символов в {1}","Обнаружено {0} символов в {1} файлах"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["Символ {0} из {1}, {2} для следующего","Символ {0} из {1}"],"vs/editor/contrib/hover/hover":["Показать при наведении","Отображать предварительный просмотр определения при наведении курсора мыши"], +"vs/editor/contrib/hover/modesContentHover":["Загрузка...","Проблема при обзоре","Проверка наличия исправлений...","Исправления недоступны","Быстрое исправление..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["Заменить предыдущим значением","Заменить следующим значением"],"vs/editor/contrib/linesOperations/linesOperations":["Копировать строку сверху","&&Копировать на строку выше","Копировать строку снизу","Копировать на строку &&ниже","Дублировать выбранное","&&Дублировать выбранное","Переместить строку вверх","Переместить на с&&троку выше","Переместить строку вниз","&&Переместить на строку ниже","Сортировка строк по возрастанию","Сортировка строк по убыванию","Удалить конечные символы-разделители","Удалить строку","Увеличить отступ","Уменьшить отступ","Вставить строку выше","Вставить строку ниже","Удалить все слева","Удалить все справа","_Объединить строки","Транспонировать символы вокруг курсора","Преобразовать в верхний регистр","Преобразовать в нижний регистр","Преобразовать в заглавные буквы"], +"vs/editor/contrib/links/links":["Выполнить команду","перейти по ссылке","Кнопка OPTION и щелчок левой кнопкой мыши","Кнопка CTRL и щелчок левой кнопкой мыши","Кнопка OPTION и щелчок левой кнопкой мыши","Кнопка ALT и щелчок левой кнопкой мыши","Не удалось открыть ссылку, так как она имеет неправильный формат: {0}","Не удалось открыть ссылку, у нее отсутствует целевой объект.","Открыть ссылку"],"vs/editor/contrib/message/messageController":["Не удается выполнить изменение в редакторе только для чтения"], +"vs/editor/contrib/multicursor/multicursor":["Добавить курсор выше","Добавить курсор &&выше","Добавить курсор ниже","Добавить курсор &&ниже","Добавить курсоры к окончаниям строк","Добавить курсоры в &&окончания строк","Добавить курсоры ниже","Добавить курсоры выше","Добавить выделение в следующее найденное совпадение","Добавить &&следующее вхождение","Добавить выделенный фрагмент в предыдущее найденное совпадение","Добавить &&предыдущее вхождение","Переместить последнее выделение в следующее найденное совпадение","Переместить последний выделенный фрагмент в предыдущее найденное совпадение","Выбрать все вхождения найденных совпадений","Выбрать все &&вхождения","Изменить все вхождения"],"vs/editor/contrib/parameterHints/parameterHints":["Переключить подсказки к параметрам"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0}, подсказка"], +"vs/editor/contrib/peekView/peekView":["Закрыть","Цвет фона области заголовка быстрого редактора.","Цвет заголовка быстрого редактора.","Цвет сведений о заголовке быстрого редактора.","Цвет границ быстрого редактора и массива.","Цвет фона в списке результатов представления быстрого редактора.","Цвет переднего плана узлов строки в списке результатов быстрого редактора.","Цвет переднего плана узлов файла в списке результатов быстрого редактора.","Цвет фона выбранной записи в списке результатов быстрого редактора.","Цвет переднего плана выбранной записи в списке результатов быстрого редактора.","Цвет фона быстрого редактора.","Цвет фона поля в окне быстрого редактора.","Цвет выделения совпадений в списке результатов быстрого редактора.","Цвет выделения совпадений в быстром редакторе.","Граница выделения совпадений в быстром редакторе."], +"vs/editor/contrib/rename/rename":["Результаты отсутствуют.","Произошла неизвестная ошибка при определении расположения после переименования","«{0}» успешно переименован в «{1}». Сводка: {2}","Не удалось выполнить переименование.","Переименовать символ"],"vs/editor/contrib/rename/renameInputField":["Введите новое имя для входных данных и нажмите клавишу ВВОД для подтверждения."],"vs/editor/contrib/smartSelect/smartSelect":["Развернуть выбранный фрагмент","&&Развернуть выделение","Уменьшить выделенный фрагмент","&&Сжать выделение"],"vs/editor/contrib/snippet/snippetVariables":["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота","Вс","Пн","Вт","Ср","Чт","Пт","Сб","Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь","Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],"vs/editor/contrib/suggest/suggestController":['Принятие "{0}" привело к внесению дополнительных правок ({1})',"Переключить предложение"], +"vs/editor/contrib/suggest/suggestWidget":["Цвет фона виджета подсказок.","Цвет границ виджета подсказок.","Цвет переднего плана мини-приложения предложений.","Фоновый цвет выбранной записи в мини-приложении предложений.","Цвет выделения соответствия в мини-приложении предложений.","Подробнее...{0}","Кратко...{0}","Загрузка...","Загрузка...","Предложения отсутствуют.","Элемент {0}, документы: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["Переключение клавиши TAB перемещает фокус.","При нажатии клавиши TAB фокус перейдет на следующий элемент, который может получить фокус","Теперь при нажатии клавиши TAB будет вставлен символ табуляции"],"vs/editor/contrib/tokenization/tokenization":["Разработчик: принудительная повторная установка токенов"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["Цвет фона символа при доступе на чтение, например, при чтении переменной. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет фона для символа во время доступа на запись, например при записи в переменную. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет границы символа при доступе на чтение, например, при считывании переменной.","Цвет границы символа при доступе на запись, например, при записи переменной. ","Цвет маркера обзорной линейки для выделения символов. Этот цвет не должен быть непрозрачным, чтобы не скрывать расположенные ниже элементы оформления.","Цвет маркера обзорной линейки для выделения символов доступа на запись. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Перейти к следующему выделению символов","Перейти к предыдущему выделению символов","Включить или отключить выделение символов"], +"vs/platform/configuration/common/configurationRegistry":["Переопределения конфигурации по умолчанию","Настройка параметров редактора, переопределяемых для языка.","Невозможно зарегистрировать \"{0}\". Оно соответствует шаблону свойства '\\\\[.*\\\\]$' для описания параметров редактора, определяемых языком. Используйте участие configurationDefaults.",'Невозможно зарегистрировать "{0}". Это свойство уже зарегистрировано.'],"vs/platform/keybinding/common/abstractKeybindingService":["Была нажата клавиша ({0}). Ожидание нажатия второй клавиши сочетания...","Сочетание клавиш ({0} и {1}) не является командой."], +"vs/platform/list/browser/listService":["Рабочее место","Соответствует клавише CTRL в Windows и Linux и клавише COMMAND в macOS.","Соответствует клавише ALT в Windows и Linux и клавише OPTION в macOS.",'Модификатор, который будет использоваться для добавления элементов в деревьях и списках в элемент множественного выбора с помощью мыши (например, в проводнике, в открытых редакторах и в представлении scm). Жесты мыши "Открыть сбоку" (если они поддерживаются) будут изменены таким образом, чтобы они не конфликтовали с модификатором элемента множественного выбора.',"Управляет тем, как открывать элементы в деревьях и списках с помощью мыши (если поддерживается). Для родительских элементов с дочерними элементами в деревьях этот параметр управляет тем, будет ли родительский элемент разворачиваться по одинарному или по двойному щелчку мыши. Обратите внимание, что этот параметр может игнорироваться в некоторых деревьях и списках, если он не применяется к ним. ","Определяет, поддерживают ли списки и деревья горизонтальную прокрутку в Workbench.","Определяет, поддерживают ли древа горизонтальную прокрутку в рабочей области.",'Этот параметр объявлен нерекомендуемым, используйте вместо него "{0}".',"Определяет отступ для дерева в пикселях.","Определяет, нужно ли в дереве отображать направляющие отступа.","Про простой навигации с клавиатуры выбираются элементы, соответствующие вводимым с клавиатуры данным. Сопоставление осуществляется только по префиксам.","Функция подсветки навигации с клавиатуры выделяет элементы, соответствующие вводимым с клавиатуры данным. При дальнейшей навигации вверх и вниз выполняется обход только выделенных элементов.","Фильтр навигации с клавиатуры позволяет отфильтровать и скрыть все элементы, не соответствующие вводимым с клавиатуры данным.","Управляет стилем навигации с клавиатуры для списков и деревьев в Workbench. Доступен простой режим, режим выделения и режим фильтрации.",'Указывает, активируется ли навигация с помощью клавиатуры в списках и деревьях автоматически простым вводом. Если задано значение "false", навигация с клавиатуры активируется только при выполнении команды "list.toggleKeyboardNavigation", для которой можно назначить сочетание клавиш.'], +"vs/platform/markers/common/markers":["Ошибка","Предупреждение","Информация"], +"vs/platform/theme/common/colorRegistry":["Общий цвет переднего плана. Этот цвет используется, только если его не переопределит компонент.","Общий цвет переднего плана для сообщений об ошибках. Этот цвет используется только если его не переопределяет компонент.","Общий цвет границ для элементов с фокусом. Этот цвет используется только в том случае, если не переопределен в компоненте.","Дополнительная граница вокруг элементов, которая отделяет их от других элементов для улучшения контраста.","Дополнительная граница вокруг активных элементов, которая отделяет их от других элементов для улучшения контраста.","Цвет переднего плана для ссылок в тексте.","Цвет фона для программного кода в тексте.",'Цвет тени мини-приложений редактора, таких как "Найти/заменить".',"Фон поля ввода.","Передний план поля ввода.","Граница поля ввода.","Цвет границ активированных параметров в полях ввода.","Цвет фона активированных параметров в полях ввода.",'Фоновый цвет проверки ввода для уровня серьезности "Сведения".','Цвет переднего плана области проверки ввода для уровня серьезности "Сведения".','Цвет границы проверки ввода для уровня серьезности "Сведения".','Фоновый цвет проверки ввода для уровня серьезности "Предупреждение".','Цвет переднего плана области проверки ввода для уровня серьезности "Предупреждение".','Цвет границы проверки ввода для уровня серьезности "Предупреждение".','Фоновый цвет проверки ввода для уровня серьезности "Ошибка".','Цвет переднего плана области проверки ввода для уровня серьезности "Ошибка".','Цвет границы проверки ввода для уровня серьезности "Ошибка".',"Фон раскрывающегося списка.","Передний план раскрывающегося списка.","Цвет средства быстрого выбора для группировки меток.","Цвет средства быстрого выбора для группировки границ.","Цвет фона бэджа. Бэджи - небольшие информационные элементы, отображающие количество, например, результатов поиска.","Цвет текста бэджа. Бэджи - небольшие информационные элементы, отображающие количество, например, результатов поиска.","Цвет тени полосы прокрутки, которая свидетельствует о том, что содержимое прокручивается.","Цвет фона для ползунка полосы прокрутки.","Цвет фона ползунка полосы прокрутки при наведении курсора.","Цвет фона ползунка полосы прокрутки при щелчке по нему.","Цвет фона индикатора выполнения, который может отображаться для длительных операций.","Цвет волнистой линии для выделения ошибок в редакторе.","Цвет границы для окон ошибок в редакторе.","Цвет волнистой линии для выделения предупреждений в редакторе.","Цвет границы для окон предупреждений в редакторе.","Цвет волнистой линии для выделения информационных сообщений в редакторе.","Цвет границы для окон сведений в редакторе.","Цвет волнистой линии для выделения подсказок в редакторе.","Цвет границы для окон указаний в редакторе.","Цвет фона редактора.","Цвет переднего плана редактора по умолчанию.","Цвет фона виджетов редактора, таких как найти/заменить.",'Цвет переднего плана мини-приложений редактора, таких как "Поиск/замена".',"Цвет границы мини-приложений редактора. Этот цвет используется только в том случае, если у мини-приложения есть граница и если этот цвет не переопределен мини-приложением.","Цвет границы панели изменения размера мини-приложений редактора. Этот цвет используется только в том случае, если у мини-приложения есть граница для изменения размера и если этот цвет не переопределен мини-приложением.","Цвет выделения редактора.","Цвет выделенного текста в режиме высокого контраста.","Цвет выделения в неактивном редакторе. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет для областей, содержимое которых совпадает с выбранным фрагментом. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет границы регионов с тем же содержимым, что и в выделении.","Цвет текущего поиска совпадений.","Цвет других совпадений при поиске. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет диапазона, ограничивающего поиск. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет границы текущего результата поиска.","Цвет границы других результатов поиска.","Цвет границы для диапазона, ограничивающего поиск. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Выделение под словом, для которого отображается меню при наведении курсора. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет фона при наведении указателя на редактор.","Цвет переднего плана для наведения указателя на редактор.","Цвет границ при наведении указателя на редактор.","Цвет фона строки состояния при наведении в редакторе.","Цвет активных ссылок.","Цвет, используемый для значка действий в меню лампочки.","Цвет, используемый для значка действий автоматического исправления в меню лампочки.","Цвет фона для вставленного текста. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет фона для удаленного текста. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет контура для добавленных строк.","Цвет контура для удаленных строк.","Цвет границы между двумя текстовыми редакторами.","Фоновый цвет находящегося в фокусе элемента List/Tree, когда элемент List/Tree активен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Цвет переднего плана находящегося в фокусе элемента List/Tree, когда элемент List/Tree активен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Фоновый цвет выбранного элемента List/Tree, когда элемент List/Tree активен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Цвет переднего плана выбранного элемента List/Tree, когда элемент List/Tree активен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Фоновый цвет выбранного элемента List/Tree, когда элемент List/Tree неактивен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Цвет текста выбранного элемента List/Tree, когда элемент List/Tree неактивен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Фоновый цвет находящегося в фокусе элемента List/Tree, когда элемент List/Tree не активен. На активном элементе List/Tree есть фокус клавиатуры, на неактивном — нет.","Фоновый цвет элементов List/Tree при наведении курсора мыши.","Цвет переднего плана элементов List/Tree при наведении курсора мыши.","Фоновый цвет элементов List/Tree при перемещении с помощью мыши.","Цвет переднего плана для выделения соответствия при поиске по элементу List/Tree.","Цвет фона для мини-приложения фильтра типов в списках и деревьях.","Цвет контура для мини-приложения фильтра типов в списках и деревьях.","Цвет контура для мини-приложения фильтра типов в списках и деревьях при отсутствии совпадений.","Цвет штриха дерева для направляющих отступа.","Цвет границ меню.","Цвет переднего плана пунктов меню.","Цвет фона пунктов меню.","Цвет переднего плана выбранного пункта меню в меню.","Цвет фона для выбранного пункта в меню.","Цвет границы для выбранного пункта в меню.","Цвет разделителя меню в меню.","Цвет фона выделения в позиции табуляции фрагмента.","Цвет границы выделения в позиции табуляции фрагмента.","Цвет фона выделения в последней позиции табуляции фрагмента.","Цвет границы выделения в последней позиции табуляции фрагмента. ","Цвет маркера обзорной линейки для совпадений при поиске. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Маркер обзорной линейки для выделения выбранного фрагмента. Цвет не должен быть непрозрачным, чтобы не скрыть расположенные ниже элементы оформления.","Цвет маркера мини-карты для поиска совпадений.","Цвет маркера мини-карты для выбора редактора.","Цвет маркера миникарты для ошибок.","Цвет маркера миникарты для предупреждений.","Цвет, используемый для значка ошибки, указывающего на наличие проблем.","Цвет, используемый для предупреждающего значка, указывающего на наличие проблем.","Цвет, используемый для информационного значка, указывающего на наличие проблем."] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.ru.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js new file mode 100755 index 00000000..9f94fa02 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js @@ -0,0 +1,25 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.zh-cn",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (再次发生)","{0} (发生了 {1} 次)"],"vs/base/browser/ui/findinput/findInput":["输入"],"vs/base/browser/ui/findinput/findInputCheckboxes":["区分大小写","全字匹配","使用正则表达式"],"vs/base/browser/ui/findinput/replaceInput":["输入","保留大小写"],"vs/base/browser/ui/inputbox/inputBox":["错误: {0}","警告: {0}","信息: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["未绑定"],"vs/base/browser/ui/list/listWidget":["{0}. 使用导航键进行导航。"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["清除","禁用输入时筛选","启用输入时筛选","未找到元素","已匹配 {0} 个元素(共 {1} 个)"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","Super","Control","Shift","Alt","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","Super"],"vs/base/common/severity":["错误","警告","信息"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0},选取器","选取器"], +"vs/base/parts/quickopen/browser/quickOpenWidget":["快速选取器。键入以缩小结果范围。","快速选取器","{0} 个结果"],"vs/editor/browser/controller/coreCommands":["全选(&&S)","撤消(&&U)","恢复(&&R)"],"vs/editor/browser/controller/textAreaHandler":["现在无法访问编辑器。按 Alt+F1 显示选项。"],"vs/editor/browser/widget/codeEditorWidget":["光标数量被限制为 {0}。"],"vs/editor/browser/widget/diffEditorWidget":["文件过大,无法比较。"],"vs/editor/browser/widget/diffReview":["关闭","无内容","1 行","{0} 行","差异 {0},总共 {1}: 原始,{2},{3};改后,{4},{5}","空白","未修改 {0},已修改 {1}: {2}","+ 已修改 {0}: {1}","- 未修改 {0}: {1} ","转至下一个差异","转至上一个差异"],"vs/editor/browser/widget/inlineDiffMargin":["复制已删除的行","复制已删除的行","复制已删除的行({0})","还原此更改","复制已删除的行({0})"], +"vs/editor/common/config/commonEditorConfig":["编辑器","一个制表符等于的空格数。在 `#editor.detectIndentation#` 启用时,根据文件内容,该设置可能会被覆盖。","按 `Tab` 键时插入空格。该设置在 `#editor.detectIndentation#` 启用时根据文件内容可能会被覆盖。","控制是否在打开文件时,基于文件内容自动检测 `#editor.tabSize#` 和 `#editor.insertSpaces#`。","删除自动插入的尾随空白符号。","对大型文件进行特殊处理,禁用某些内存密集型功能。","控制是否根据文档中的文字计算自动完成列表。","在速览编辑器中,即使双击其中的内容或者按 `Esc` 键,也保持其打开状态。","由于性能原因,超过这个长度的行将不会被标记","超时(以毫秒为单位),之后将取消差异计算。使用0表示没有超时。","控制差异编辑器的显示方式是并排还是内联。","控制在差异编辑器中是否把前导空格或尾随空格的改动显示为差异。","控制差异编辑器是否为添加/删除的更改显示 +/- 指示符号。"], +"vs/editor/common/config/editorOptions":["编辑器将使用平台 API 以检测是否附加了屏幕阅读器。","编辑器将对屏幕阅读器的使用进行永久优化。","编辑器将不再对屏幕阅读器的使用进行优化。","控制编辑器是否应运行在对屏幕阅读器进行优化的模式。","控制在没有选择内容时进行复制是否复制当前行。","控制是否将编辑器选中内容作为搜索词填入到查找小组件中。","切勿自动打开“选择中查找”(默认)","始终自动打开“在选择中查找”","选择多行内容时,自动打开“在选择中查找”。","在执行查找操作时,在编辑器中的选中文本中还是整个文件中进行查找。","控制“查找”小组件是否读取或修改 macOS 的共享查找剪贴板。",'控制 "查找小部件" 是否应在编辑器顶部添加额外的行。如果为 true, 则可以在 "查找小工具" 可见时滚动到第一行之外。',"启用或禁用字体连字。","显式字体功能设置。","配置字体连字。","以像素为单位控制字体大小。","显示结果的预览视图 (默认值)","转到主结果并显示预览视图","转到主结果,并对其他人启用防偷窥导航",'此设置已弃用,请改用单独的设置,如"editor.editor.gotoLocation.multipleDefinitions"或"editor.editor.gotoLocation.multipleImplementations"。','控制存在多个目标位置时"转到定义"命令的行为。','控制存在多个目标位置时"转到类型定义"命令的行为。','控制存在多个目标位置时"转到声明"命令的行为。','控制存在多个目标位置时"转到实现"命令的行为。','控制存在多个目标位置时"转到引用"命令的行为。','当"转到定义"的结果为当前位置时将要执行的替代命令的 ID。','当"转到类型定义"的结果是当前位置时正在执行的备用命令 ID。','当"转到声明"的结果为当前位置时将要执行的替代命令的 ID。','当"转到实现"的结果为当前位置时将要执行的替代命令的 ID。','当"转到引用"的结果是当前位置时正在执行的替代命令 ID。',"控制是否显示悬停提示。","控制显示悬停提示前的等待时间 (毫秒)。","控制当鼠标移动到悬停提示上时,其是否保持可见。","在编辑器中启用代码操作小灯泡提示。","控制行高。为 0 时则通过字体大小自动计算。","控制是否显示缩略图。","控制在哪一侧显示缩略图。","控制何时显示迷你地图滑块。","在缩略图中绘制内容的比例。","渲染每行的实际字符,而不是色块。","限制缩略图的宽度,控制其最多显示的列数。","在输入时显示含有参数文档和类型信息的小面板。","控制参数提示菜单在到达列表末尾时进行循环还是关闭。","在字符串内启用快速建议。","在注释内启用快速建议。","在字符串和注释外启用快速建议。","控制是否在键入时自动显示建议。","不显示行号。","将行号显示为绝对行数。","将行号显示为与光标相隔的行数。","每 10 行显示一次行号。","控制行号的显示。","在一定数量的等宽字符后显示垂直标尺。输入多个值,显示多个标尺。若数组为空,则不绘制标尺。","插入建议而不覆盖光标右侧的文本。","插入建议并覆盖光标右侧的文本。","控制接受补全时是否覆盖单词。请注意,这取决于扩展选择使用此功能。",'控制在接受补全时是否应高亮显示意外的文本修改,例如"插入模式"是"替换",但补全仅支持"插入"。',"控制对建议的筛选和排序是否考虑小的拼写错误。","控制排序时是否提高靠近光标的词语的优先级。","控制是否在多个工作区和窗口间共享记忆的建议选项(需要 `#editor.suggestSelection#`)。","控制在活动代码片段内是否禁用快速建议。","控制是否在建议中显示或隐藏图标。","控制在显示滚动条之前 IntelliSense 将显示的建议数 (最多 15个)。",'此设置已弃用,请改用单独的设置,如"editor.suggest.showKeywords"或"editor.suggest.showSnippets"。',"启用后,IntelliSense 将显示“方法”建议。","启用后,IntelliSense 将显示“函数”建议。","启用后,IntelliSense 将显示“构造函数”建议。","启用后,IntelliSense 将显示“字段”建议。","启用后,IntelliSense 将显示“变量”建议。","启用后,IntelliSense 将显示“类”建议。","启用后,IntelliSense 将显示“结构”建议。","启用后,IntelliSense 将显示“接口”建议。","启用后,IntelliSense 将显示“模块”建议。","启用后,IntelliSense 将显示“属性”建议。","启用后,IntelliSense 将显示“事件”建议。","启用后,IntelliSense 将显示“操作符”建议。","启用后,IntelliSense 将显示“单位”建议。","启用后,IntelliSense 将显示“值”建议。","启用后,IntelliSense 将显示“常量”建议。","启用后,IntelliSense 将显示“枚举”建议。",'启用后,IntelliSense 将显示 "enumMember" 建议。',"启用后,IntelliSense 将显示“关键字”建议。","启用后,IntelliSense 将显示“文本”建议。","启用后,IntelliSense 将显示“颜色”建议。","启用后,IntelliSense 将显示“文件”建议。","启用后,IntelliSense 将显示“参考”建议。","启用后,IntelliSense 将显示“自定义颜色”建议。","启用后,IntelliSense 将显示“文件夹”建议。",'启用后,IntelliSense 将显示 "typeParameter" 建议。',"启用后,IntelliSense 将显示“片段”建议。","控制是否应在遇到提交字符时接受建议。例如,在 JavaScript 中,半角分号 (`;`) 可以为提交字符,能够在接受建议的同时键入该字符。","仅当建议包含文本改动时才可使用 `Enter` 键进行接受。","控制除了 `Tab` 键以外, `Enter` 键是否同样可以接受建议。这能减少“插入新行”和“接受建议”命令之间的歧义。","控制编辑器中可由屏幕阅读器读取的行数。警告:对于大于默认值的数字,这会影响性能。","编辑器内容","使用语言配置确定何时自动闭合括号。","仅当光标位于空白字符左侧时,才自动闭合括号。","控制编辑器是否在左括号后自动插入右括号。","仅在自动插入时才改写右引号或右括号。","控制编辑器是否应改写右引号或右括号。","使用语言配置确定何时自动闭合引号。","仅当光标位于空白字符左侧时,才自动闭合引号。","控制编辑器是否在左引号后自动插入右引号。","编辑器不会自动插入缩进。","编辑器将保留当前行的缩进。","编辑器将保留当前行的缩进并遵循语言定义的括号。","编辑器将保留当前行的缩进、使用语言定义的括号并调用语言定义的特定 onEnterRules。","编辑器将保留当前行的缩进,使用语言定义的括号,调用由语言定义的特殊输入规则,并遵循由语言定义的缩进规则。","控制编辑器是否应在用户键入、粘贴、移动或缩进行时自动调整缩进。","使用语言配置确定何时自动包住所选内容。","使用引号而非括号来包住所选内容。","使用括号而非引号来包住所选内容。","控制编辑器是否应自动包住所选内容。","控制是否在编辑器中显示 CodeLens。","控制编辑器是否显示内联颜色修饰器和颜色选取器。","控制在复制时是否同时复制语法高亮。","控制光标的动画样式。","控制是否启用平滑插入动画。","控制光标样式。","控制光标周围可见的前置行和尾随行的最小数目。在其他一些编辑器中称为“scrollOff”或“scrollOffset”。",'仅当通过键盘或 API 触发时,才会强制执行"光标环绕行"。','始终强制执行 "cursorSurroundingLines"','控制何时应强制执行"光标环绕行"。',"当 `#editor.cursorStyle#` 设置为 `line` 时,控制光标的宽度。","控制在编辑器中是否允许通过拖放来移动选中内容。",'按下"Alt"时滚动速度倍增。',"控制编辑器是否启用了代码折叠。","控制计算折叠范围的策略。`auto` 将使用语言特定的折叠策略 (若可用)。`indentation` 将使用基于缩进的折叠策略。","控制字体系列。","控制字体粗细。","控制编辑器是否自动格式化粘贴的内容。格式化程序必须可用,并且能针对文档中的某一范围进行格式化。","控制编辑器在键入一行后是否自动格式化该行。","控制编辑器是否应呈现垂直字形边距。字形边距最常用于调试。","控制是否在概览标尺中隐藏光标。","控制是否突出显示编辑器中活动的缩进参考线。","控制以像素为单位的字母间距。","控制是否在编辑器中检测链接并使其可被点击。","突出显示匹配的括号。","对鼠标滚轮滚动事件的 `deltaX` 和 `deltaY` 乘上的系数。","按住 `Ctrl` 键并滚动鼠标滚轮时对编辑器字体大小进行缩放。","当多个光标重叠时进行合并。","映射为 `Ctrl` (Windows 和 Linux) 或 `Command` (macOS)。","映射为 `Alt` (Windows 和 Linux) 或 `Option` (macOS)。","在通过鼠标添加多个光标时使用的修改键。“转到定义”和“打开链接”功能所需的鼠标动作将会相应调整,不与多光标修改键冲突。[阅读详细信息](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)。","每个光标粘贴一行文本。","每个光标粘贴全文。","控制粘贴时粘贴文本的行计数与光标计数相匹配。","控制编辑器是否突出显示语义符号的匹配项。","控制是否在概览标尺周围绘制边框。","控制显示快速建议前的等待时间 (毫秒)。","控制编辑器是否显示控制字符。","控制编辑器是否显示缩进参考线。","当文件以换行符结束时, 呈现最后一行的行号。","同时突出显示导航线和当前行。","控制编辑器的当前行进行高亮显示的方式。","Render whitespace characters except for single spaces between words.","仅在选定文本上呈现空白字符。","控制编辑器在空白字符上显示符号的方式。","控制选区是否有圆角。","控制编辑器水平滚动时可以超过范围的字符数。","控制编辑器是否可以滚动到最后一行之后。","控制是否支持 Linux 主剪贴板。","控制编辑器是否应突出显示与所选内容类似的匹配项。","控制是否自动隐藏导航线上的折叠控件。","控制是否淡化未使用的代码。","在其他建议上方显示代码片段建议。","在其他建议下方显示代码片段建议。","在其他建议中穿插显示代码片段建议。","不显示代码片段建议。","控制代码片段是否与其他建议一起显示及其排列的位置。","控制编辑器是否在滚动时使用动画。","建议小部件的字号。如果设置为 `0`,则使用 `#editor.fontSize#` 的值。","建议小部件的行高。如果设置为 `0`,则使用 `#editor.lineHeight#` 的值。","控制在键入触发字符后是否自动显示建议。","始终选择第一个建议。","选择最近的建议,除非进一步键入选择其他项。例如 `console. -> console.log`,因为最近补全过 `log`。","根据之前补全过的建议的前缀来进行选择。例如,`co -> console`、`con -> const`。","控制在建议列表中如何预先选择建议。","在按下 Tab 键时进行 Tab 补全,将插入最佳匹配建议。","禁用 Tab 补全。",'在前缀匹配时进行 Tab 补全。在 "quickSuggestions" 未启用时体验最好。',"启用 Tab 补全。","根据制表位插入和删除空格。","执行单词相关的导航或操作时作为单词分隔符的字符。","永不换行。","将在视区宽度处换行。","在 `#editor.wordWrapColumn#` 处折行。","在视区宽度和 `#editor.wordWrapColumn#` 中的较小值处折行。","控制折行的方式。","在 `#editor.wordWrap#` 为 `wordWrapColumn` 或 `bounded` 时,控制编辑器的折行列。","没有缩进。折行从第 1 列开始。","折行的缩进量与其父级相同。","折行的缩进量比其父级多 1。","折行的缩进量比其父级多 2。","控制折行的缩进。"], +"vs/editor/common/modes/modesRegistry":["纯文本"], +"vs/editor/common/standaloneStrings":["无选择","行 {0}, 列 {1} (选中 {2})","行 {0}, 列 {1}","{0} 选择(已选择 {1} 个字符)","{0} 选择",'现在将 "辅助功能支持" 设置更改为 "打开"。',"现在正在打开“编辑器辅助功能”文档页。","在差异编辑器的只读窗格中。","在一个差异编辑器的窗格中。","在只读代码编辑器中","在代码编辑器中","若要配置编辑器,将其进行优化以最好地配合屏幕阅读器的使用,请立即按 Command+E。","若要配置编辑器,将其进行优化以最高效地配合屏幕阅读器的使用,按下 Ctrl+E。","配置编辑器,将其进行优化以最好地配合屏幕读取器的使用。","编辑器被配置为永远不进行优化以配合屏幕读取器的使用, 而当前不是这种情况。","在当前编辑器中按 Tab 会将焦点移动到下一个可聚焦的元素。通过按 {0} 切换此行为。","在当前编辑器中按 Tab 会将焦点移动到下一个可聚焦的元素。当前无法通过按键绑定触发命令 {0}。","在当前编辑器中按 Tab 将插入制表符。通过按 {0} 切换此行为。","在当前编辑器中按 Tab 会插入制表符。当前无法通过键绑定触发命令 {0}。","现在按 Command+H 打开一个浏览器窗口, 其中包含有关编辑器辅助功能的详细信息。","现在按 Ctrl+H 打开一个浏览器窗口, 其中包含有关编辑器辅助功能的更多信息。","你可以按 Esc 或 Shift+Esc 消除此工具提示并返回到编辑器。","显示辅助功能帮助","开发人员: 检查令牌","转到第 {0} 行,第 {1} 列","转至行 {0}","键入要导航到的介于 1 和 {0} 之间的行号","键入 1 和 {0} 之间的字符以导航到","当前行: {0}. 转到行 {1}。","键入行号, 后跟可选冒号和要导航到的字符数","转到行...","{0}、{1} ,命令","{0},命令","键入要执行的操作的名称","命令面板","{0},符号","键入要导航到的标识符的名称","转到符号...","符号({0})","模块({0})","类({0})","接口({0})","方法({0})","函数({0})","属性 ({0})","变量({0})","变量({0})","构造函数 ({0})","调用 ({0})","编辑器内容","按 Ctrl+F1 可打开辅助功能选项。","按 Alt+F1 可打开辅助功能选项。","切换高对比度主题","在 {1} 个文件中进行了 {0} 次编辑"], +"vs/editor/common/view/editorColorRegistry":["光标所在行高亮内容的背景颜色。","光标所在行四周边框的背景颜色。","背景颜色的高亮范围,喜欢通过快速打开和查找功能。颜色不能不透明,以免隐藏底层装饰。","高亮区域边框的背景颜色。","高亮显示符号的背景颜色,例如转到定义或转到下一个/上一个符号。颜色不能是不透明的,以免隐藏底层装饰。","高亮显示符号周围的边框的背景颜色。","编辑器光标颜色。","编辑器光标的背景色。可以自定义块型光标覆盖字符的颜色。","编辑器中空白字符的颜色。","编辑器缩进参考线的颜色。","编辑器活动缩进参考线的颜色。","编辑器行号的颜色。","编辑器活动行号的颜色",'"Id" 已被弃用,请改用 "editorLineNumber.activeForeground"。',"编辑器活动行号的颜色","编辑器标尺的颜色。","编辑器 CodeLens 的前景色","匹配括号的背景色","匹配括号外框的颜色","概览标尺边框的颜色。","编辑器导航线的背景色。导航线包括边缘符号和行号。","编辑器中不必要(未使用)的源代码的边框颜色。",'非必须(未使用)代码的在编辑器中显示的不透明度。例如,"#000000c0" 将以 75% 的不透明度显示代码。对于高对比度主题,请使用 ”editorUnnecessaryCode.border“ 主题来为非必须代码添加下划线,以避免颜色淡化。',"概览标尺中错误标记的颜色。","概览标尺中警告标记的颜色。","概览标尺中信息标记的颜色。"],"vs/editor/contrib/bracketMatching/bracketMatching":["概览标尺上表示匹配括号的标记颜色。","转到括号","选择括号所有内容","转到括号(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["将插入点左移","将插入点右移"],"vs/editor/contrib/caretOperations/transpose":["转置字母"],"vs/editor/contrib/clipboard/clipboard":["剪切","剪切(&&T)","复制","复制(&&C)","粘贴","粘贴(&&P)","复制并突出显示语法"], +"vs/editor/contrib/codeAction/codeActionCommands":["要运行的代码操作的种类。","控制何时应用返回的操作。","始终应用第一个返回的代码操作。","如果仅返回的第一个代码操作,则应用该操作。","不要应用返回的代码操作。","如果只应返回首选代码操作,则应返回控件。","应用代码操作时发生未知错误","快速修复...","没有可用的代码操作",'没有适用于"{0}"的首选代码操作','没有适用于"{0}"的代码操作',"没有可用的首选代码操作","没有可用的代码操作","重构...",'没有适用于"{0}"的首选重构','没有可用的"{0}"重构',"没有可用的首选重构","没有可用的重构操作","源代码操作...",'没有适用于"{0}"的首选源操作',"没有适用于“ {0}”的源操作","没有可用的首选源操作","没有可用的源代码操作","整理 import 语句","没有可用的整理 import 语句操作","全部修复","没有可用的“全部修复”操作","自动修复...","没有可用的自动修复程序"],"vs/editor/contrib/codeAction/lightBulbWidget":["显示修复程序。首选可用修复程序 ({0})","显示修补程序({0})","显示修补程序"],"vs/editor/contrib/comment/comment":["切换行注释","切换行注释(&&T)","添加行注释","删除行注释","切换块注释","切换块注释(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["显示编辑器上下文菜单"],"vs/editor/contrib/cursorUndo/cursorUndo":["光标撤消","光标重做"], +"vs/editor/contrib/documentSymbols/outlineTree":["数组符号的前景色。这些符号将显示在大纲、痕迹导航栏和建议小组件中。","布尔符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","类符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","颜色符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","常量符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","构造函数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","枚举符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","枚举器成员符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","事件符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","字段符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文件符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文件夹符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","函数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","接口符号的前景色。这些符号将显示在大纲、痕迹导航栏和建议小组件中。","键符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","关键字符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","方法符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","模块符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","命名空间符号的前景颜色。这些符号出现在轮廓、痕迹导航栏和建议小部件中。","空符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","数字符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","对象符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","运算符符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","包符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","属性符号的前景色。这些符号出现在大纲、痕迹导航栏和建议小组件中。","参考符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","片段符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","字符串符号的前景颜色。这些符号出现在轮廓、痕迹导航栏和建议小部件中。","结构符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文本符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","类型参数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","单位符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","变量符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。"], +"vs/editor/contrib/find/findController":["查找","查找(&&F)","查找选定内容","查找下一个","查找下一个","查找上一个","查找上一个","查找下一个选择","查找上一个选择","替换","替换(&&R)"],"vs/editor/contrib/find/findWidget":["查找","查找","上一个匹配项","下一个匹配项","在选定内容中查找","关闭","替换","替换","替换","全部替换","切换替换模式","仅高亮了前 {0} 个结果,但所有查找操作均针对全文。","{1} 中的 {0}","无结果","找到 {0}","为{1}找到了{0}","{0} 在 {2} 处找到 {1}","{0} 已找到 {1}","Ctrl+Enter 现在由全部替换改为插入换行。你可以修改editor.action.replaceAll 的按键绑定以覆盖此行为。"],"vs/editor/contrib/folding/folding":["展开","以递归方式展开","折叠","切换折叠","以递归方式折叠","折叠所有块注释","折叠所有区域","展开所有区域","全部折叠","全部展开","折叠级别 {0}"],"vs/editor/contrib/fontZoom/fontZoom":["放大编辑器字体","缩小编辑器字体","重置编辑器字体大小"],"vs/editor/contrib/format/format":["在第 {0} 行进行了 1 次格式编辑","在第 {1} 行进行了 {0} 次格式编辑","第 {0} 行到第 {1} 行间进行了 1 次格式编辑","第 {1} 行到第 {2} 行间进行了 {0} 次格式编辑"],"vs/editor/contrib/format/formatActions":["格式化文档","格式化选定内容"],"vs/editor/contrib/gotoError/gotoError":["转到下一个问题 (错误、警告、信息)","转到上一个问题 (错误、警告、信息)","转到文件中的下一个问题 (错误、警告、信息)","转到文件中的上一个问题 (错误、警告、信息)","下一个问题(&&P)","上一个问题(&&P)"], +"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} 个问题(共 {1} 个)","{0} 个问题(共 {1} 个})","编辑器标记导航小组件错误颜色。","编辑器标记导航小组件警告颜色。","编辑器标记导航小组件信息颜色。","编辑器标记导航小组件背景色。"],"vs/editor/contrib/gotoSymbol/goToCommands":["快速查看","定义","未找到“{0}”的任何定义","找不到定义","转到定义","转到定义(&&D)...","打开侧边的定义","查看定义","声明","未找到“{0}”的声明","未找到声明","转到声明",'转到"声明"',"未找到“{0}”的声明","未找到声明","查看声明","类型定义","未找到“{0}”的类型定义","未找到类型定义","转到类型定义","转到类型定义(&&T)","快速查看类型定义","实现","未找到“{0}”的实现","未找到实现","转到实现","跳转到实现","查看实现",'未找到"{0}"的引用',"未找到引用","转到引用","转到引用","引用","查看引用","引用","转到任何符号","位置",'"{0}"无结果',"引用"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["单击显示 {0} 个定义。"],"vs/editor/contrib/gotoSymbol/peek/referencesController":["正在加载...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["解析文件失败。","{0} 个引用","{0} 个引用"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["无可用预览","引用","无结果","引用"], +"vs/editor/contrib/gotoSymbol/referencesModel":["在文件 {0} 的 {1} 行 {2} 列的符号","{0} 中有 1 个符号,完整路径: {1}","{1} 中有 {0} 个符号,完整路径: {2}","未找到结果","在 {0} 中找到 1 个符号","在 {1} 中找到 {0} 个符号","在 {1} 个文件中找到 {0} 个符号"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1} 的符号 {0},下一个使用 {2}","{1} 的符号 {0}"],"vs/editor/contrib/hover/hover":["显示悬停","显示定义预览悬停"],"vs/editor/contrib/hover/modesContentHover":["正在加载...","速览问题","正在检查快速修复...","没有可用的快速修复","快速修复..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["替换为上一个值","替换为下一个值"],"vs/editor/contrib/linesOperations/linesOperations":["向上复制行","向上复制行(&&C)","向下复制行","向下复制一行(&&P)","重复选择","重复选择","向上移动行","向上移动一行(&&V)","向下移动行","向下移动一行(&&L)","按升序排列行","按降序排列行","裁剪尾随空格","删除行","行缩进","行减少缩进","在上面插入行","在下面插入行","删除左侧所有内容","删除右侧所有内容","合并行","转置光标处的字符","转换为大写","转换为小写","转换为词首字母大写"],"vs/editor/contrib/links/links":["执行命令","转到链接","cmd + 单击","ctrl + 单击","option + 单击","alt + 单击","此链接格式不正确,无法打开: {0}","此链接目标已丢失,无法打开。","打开链接"],"vs/editor/contrib/message/messageController":["无法在只读编辑器中编辑"], +"vs/editor/contrib/multicursor/multicursor":["在上面添加光标","在上面添加光标(&&A)","在下面添加光标","在下面添加光标(&&D)","在行尾添加光标","在行尾添加光标(&&U)","在底部添加光标","在顶部添加光标","将下一个查找匹配项添加到选择","添加下一个匹配项(&&N)","将选择内容添加到上一查找匹配项","添加上一个匹配项(&&R)","将上次选择移动到下一个查找匹配项","将上个选择内容移动到上一查找匹配项","选择所有找到的查找匹配项","选择所有匹配项(&&O)","更改所有匹配项"],"vs/editor/contrib/parameterHints/parameterHints":["触发参数提示"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0},提示"],"vs/editor/contrib/peekView/peekView":["关闭","速览视图标题区域背景颜色。","速览视图标题颜色。","速览视图标题信息颜色。","速览视图边框和箭头颜色。","速览视图结果列表背景色。","速览视图结果列表中行节点的前景色。","速览视图结果列表中文件节点的前景色。","速览视图结果列表中所选条目的背景色。","速览视图结果列表中所选条目的前景色。","速览视图编辑器背景色。","速览视图编辑器中装订线的背景色。","在速览视图结果列表中匹配突出显示颜色。","在速览视图编辑器中匹配突出显示颜色。","在速览视图编辑器中匹配项的突出显示边框。"],"vs/editor/contrib/rename/rename":["无结果。","解析重命名位置时发生未知错误","成功将“{0}”重命名为“{1}”。摘要: {2}","无法进行重命名。","重命名符号"],"vs/editor/contrib/rename/renameInputField":['重命名输入。键入新名称并按 "Enter" 提交。'],"vs/editor/contrib/smartSelect/smartSelect":["展开选择","展开选定内容(&&E)","收起选择","缩小选定范围(&&S)"], +"vs/editor/contrib/snippet/snippetVariables":["星期天","星期一","星期二","星期三","星期四","星期五","星期六","周日","周一","周二","周三","周四","周五","周六","一月","二月","三月","四月","5月","六月","七月","八月","九月","十月","十一月","十二月","1月","2月","三月","4月","5月","6月","七月","八月","九月","10月","11 月","12月"],"vs/editor/contrib/suggest/suggestController":["选择“{0}”后进行了其他 {1} 次编辑","触发建议"],"vs/editor/contrib/suggest/suggestWidget":["建议小组件的背景色。","建议小组件的边框颜色。","建议小组件的前景色。","建议小组件中所选条目的背景色。","建议小组件中匹配内容的高亮颜色。","阅读更多...{0}","阅读简略信息...{0}","正在加载...","正在加载...","无建议。","项目 {0},文档: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["切换 Tab 键移动焦点","Tab 键将移动到下一可聚焦的元素","Tab 键将插入制表符"],"vs/editor/contrib/tokenization/tokenization":["开发者: 强制重新进行标记"],"vs/editor/contrib/wordHighlighter/wordHighlighter":["读取访问期间符号的背景色,例如读取变量时。颜色必须透明,以免隐藏下面的修饰效果。","写入访问过程中符号的背景色,例如写入变量时。颜色必须透明,以免隐藏下面的修饰效果。","符号在进行读取访问操作时的边框颜色,例如读取变量。","符号在进行写入访问操作时的边框颜色,例如写入变量。","用于突出显示符号的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于突出显示写权限符号的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","转到下一个突出显示的符号","转到上一个突出显示的符号","触发符号高亮"], +"vs/platform/configuration/common/configurationRegistry":["默认配置替代","针对某种语言,配置替代编辑器设置。",'无法注册“{0}”。其符合描述特定语言编辑器设置的表达式 "\\\\[.*\\\\]$"。请使用 "configurationDefaults"。',"无法注册“{0}”。此属性已注册。"],"vs/platform/keybinding/common/abstractKeybindingService":["已按下({0})。正在等待同时按下第二个键...","组合键({0}, {1})不是命令。"],"vs/platform/list/browser/listService":["工作台","映射为 `Ctrl` (Windows 和 Linux) 或 `Command` (macOS)。","映射为 `Alt` (Windows 和 Linux) 或 `Option` (macOS)。","在通过鼠标多选树和列表条目时使用的修改键 (例如“资源管理器”、“打开的编辑器”和“源代码管理”视图)。“在侧边打开”功能所需的鼠标动作 (若可用) 将会相应调整,不与多选修改键冲突。","控制在树和列表中怎样使用鼠标来展开子项(若支持)。对于树中的父节点,此设置将控制是使用单击还是双击来展开。注意,某些不适用于此设置的树或列表可能会忽略此项。","控制列表和树是否支持在工作台中进行水平滚动。","控制工作台中的树控件是否支持水平滚动。","此设置已弃用,请改用“{0}”。","控制树缩进(以像素为单位)。","控制树是否应呈现缩进参考线。","简单键盘导航聚焦与键盘输入相匹配的元素。仅对前缀进行匹配。","高亮键盘导航会突出显示与键盘输入相匹配的元素。进一步向上和向下导航将仅遍历突出显示的元素。","筛选器键盘导航将筛选出并隐藏与键盘输入不匹配的所有元素。","控制工作台中的列表和树的键盘导航样式。它可为“简单”、“突出显示”或“筛选”。","控制列表和树中的键盘导航是否仅通过键入自动触发。如果设置为 `false` ,键盘导航只在执行 `list.toggleKeyboardNavigation` 命令时触发,您可以为该命令指定键盘快捷方式。"], +"vs/platform/markers/common/markers":["错误","警告","信息"], +"vs/platform/theme/common/colorRegistry":["整体前景色。此颜色仅在不被组件覆盖时适用。","错误信息的整体前景色。此颜色仅在不被组件覆盖时适用。","焦点元素的整体边框颜色。此颜色仅在不被其他组件覆盖时适用。","在元素周围额外的一层边框,用来提高对比度从而区别其他元素。","在活动元素周围额外的一层边框,用来提高对比度从而区别其他元素。","文本中链接的前景色。","文本中代码块的背景颜色。","编辑器内小组件(如查找/替换)的阴影颜色。","输入框背景色。","输入框前景色。","输入框边框。","输入字段中已激活选项的边框颜色。","输入字段中激活选项的背景颜色。","输入验证结果为信息级别时的背景色。","输入验证结果为信息级别时的前景色。","严重性为信息时输入验证的边框颜色。","严重性为警告时输入验证的背景色。","输入验证结果为警告级别时的前景色。","严重性为警告时输入验证的边框颜色。","输入验证结果为错误级别时的背景色。","输入验证结果为错误级别时的前景色。","严重性为错误时输入验证的边框颜色。","下拉列表背景色。","下拉列表前景色。","快速选取器分组标签的颜色。","快速选取器分组边框的颜色。","Badge 背景色。Badge 是小型的信息标签,如表示搜索结果数量的标签。","Badge 前景色。Badge 是小型的信息标签,如表示搜索结果数量的标签。","表示视图被滚动的滚动条阴影。","滚动条滑块背景色","滚动条滑块在悬停时的背景色","滚动条滑块在被点击时的背景色。","表示长时间操作的进度条的背景色。","编辑器中错误波浪线的前景色。","编辑器中错误框的边框颜色。","编辑器中警告波浪线的前景色。","编辑器中警告框的边框颜色。","编辑器中信息波浪线的前景色。","编辑器中信息框的边框颜色。","编辑器中提示波浪线的前景色。","编辑器中提示框的边框颜色。","编辑器背景色。","编辑器默认前景色。","编辑器组件(如查找/替换)背景颜色。","编辑器小部件的前景色,如查找/替换。","编辑器小部件的边框颜色。此颜色仅在小部件有边框且不被小部件重写时适用。","编辑器小部件大小调整条的边框颜色。此颜色仅在小部件有调整边框且不被小部件颜色覆盖时使用。","编辑器所选内容的颜色。","用以彰显高对比度的所选文本的颜色。","非活动编辑器中所选内容的颜色,颜色必须透明,以免隐藏下面的装饰效果。","具有与所选项相关内容的区域的颜色。颜色必须透明,以免隐藏下面的修饰效果。","与所选项内容相同的区域的边框颜色。","当前搜索匹配项的颜色。","其他搜索匹配项的颜色。颜色必须透明,以免隐藏下面的修饰效果。","限制搜索范围的颜色。颜色不能不透明,以免隐藏底层装饰。","当前搜索匹配项的边框颜色。","其他搜索匹配项的边框颜色。","限制搜索的范围的边框颜色。颜色必须透明,以免隐藏下面的修饰效果。","在下面突出显示悬停的字词。颜色必须透明,以免隐藏下面的修饰效果。","编辑器悬停提示的背景颜色。","编辑器悬停的前景颜色。","光标悬停时编辑器的边框颜色。","编辑器悬停状态栏的背景色。","活动链接颜色。","用于灯泡操作图标的颜色。","用于灯泡自动修复操作图标的颜色。","已插入的文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已删除的文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","插入的文本的轮廓颜色。","被删除文本的轮廓颜色。","两个文本编辑器之间的边框颜色。","焦点项在列表或树活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","焦点项在列表或树活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树非活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树非活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","非活动的列表或树控件中焦点项的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","使用鼠标移动项目时,列表或树的背景颜色。","鼠标在项目上悬停时,列表或树的前景颜色。","使用鼠标移动项目时,列表或树进行拖放的背景颜色。","在列表或树中搜索时,其中匹配内容的高亮颜色。","列表和树中类型筛选器小组件的背景色。","列表和树中类型筛选器小组件的轮廓颜色。","当没有匹配项时,列表和树中类型筛选器小组件的轮廓颜色。","缩进参考线的树描边颜色。","菜单的边框颜色。","菜单项的前景颜色。","菜单项的背景颜色。","菜单中选定菜单项的前景色。","菜单中所选菜单项的背景色。","菜单中所选菜单项的边框颜色。","菜单中分隔线的颜色。","代码片段 Tab 位的高亮背景色。","代码片段 Tab 位的高亮边框颜色。","代码片段中最后的 Tab 位的高亮背景色。","代码片段中最后的 Tab 位的高亮边框颜色。","用于查找匹配项的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于突出显示所选内容的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于查找匹配项的迷你地图标记颜色。","编辑器选区在迷你地图中对应的标记颜色。","用于错误的迷你地图标记颜色。","用于警告的迷你地图标记颜色。","用于问题错误图标的颜色。","用于问题警告图标的颜色。","用于问题信息图标的颜色。"] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.zh-cn.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js new file mode 100755 index 00000000..89e611f3 --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js @@ -0,0 +1,25 @@ +/*!----------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Version: 0.19.3(4bbae4b7d81ecff78ba65ddc8227b542e734257e) + * Released under the MIT license + * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt + *-----------------------------------------------------------*/ +define("vs/editor/editor.main.nls.zh-tw",{"vs/base/browser/ui/actionbar/actionbar":["{0} ({1})"],"vs/base/browser/ui/aria/aria":["{0} (再次出現)","{0} (出現 {1} 次)"],"vs/base/browser/ui/findinput/findInput":["輸入"],"vs/base/browser/ui/findinput/findInputCheckboxes":["大小寫須相符","全字拼寫須相符","使用規則運算式"],"vs/base/browser/ui/findinput/replaceInput":["輸入","保留案例"],"vs/base/browser/ui/inputbox/inputBox":["錯誤: {0}","警告: {0}","資訊: {0}"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["未繫結"],"vs/base/browser/ui/list/listWidget":["{0}。請使用導覽鍵來導覽。"],"vs/base/browser/ui/menu/menu":["{0} ({1})"],"vs/base/browser/ui/tree/abstractTree":["清除","在類型上停用篩選","在類型上啟用篩選","找不到任何元素","{1} 項元素中有 {0} 項相符"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","超級鍵","Control","Shift","Alt","命令","Control","Shift","Alt","Windows","Control","Shift","Alt","超級鍵"],"vs/base/common/severity":["錯誤","警告","資訊"],"vs/base/parts/quickopen/browser/quickOpenModel":["{0},選擇器","選擇器"], +"vs/base/parts/quickopen/browser/quickOpenWidget":["快速選擇器。輸入以縮小結果範圍。","快速選擇器","{0} 個結果"],"vs/editor/browser/controller/coreCommands":["全選(&&S)","復原(&&U)","取消復原(&&R)"],"vs/editor/browser/controller/textAreaHandler":["編輯器現在無法存取。按Alt+F1尋求選項"],"vs/editor/browser/widget/codeEditorWidget":["游標數已限制為 {0} 個。"],"vs/editor/browser/widget/diffEditorWidget":["因其中一個檔案過大而無法比較。"],"vs/editor/browser/widget/diffReview":["關閉","沒有任何行","1 個行","{0} 個行","{1} 的 {0} 不同: 原始為 {2},{3},修改後為 {4},{5}","空白","原始 {0},修改後{1}: {2","+ 修改後 {0}: {1}","- 原始 {0}: {1}","移至下一個差異","移至上一個差異"],"vs/editor/browser/widget/inlineDiffMargin":["複製已刪除的行","複製已刪除的行","複製已刪除的行 ({0})","還原此變更","複製已刪除的行 ({0})"], +"vs/editor/common/config/commonEditorConfig":["編輯器","與 Tab 相等的空格數量。當 `#editor.detectIndentation#` 已開啟時,會根據檔案內容覆寫此設定。","在按 `Tab` 時插入空格。當 `#editor.detectIndentation#` 開啟時,會根據檔案內容覆寫此設定。","根據檔案內容,控制當檔案開啟時,是否自動偵測 `#editor.tabSize#` 和 `#editor.insertSpaces#`。","移除尾端自動插入的空白字元。","針對大型檔案停用部分高記憶體需求功能的特殊處理方式。","控制是否應根據文件中的單字計算自動完成。","即使按兩下內容或按 `Escape`,仍保持瞄孔編輯器開啟。","因效能的緣故,不會將超過此高度的行 Token 化","取消 Diff 計算前的逾時限制 (毫秒)。若無逾時,請使用 0。","控制 Diff 編輯器要並排或內嵌顯示 Diff。","控制 Diff 編輯器是否將開頭或尾端空白字元的變更顯示為 Diff。","控制 Diff 編輯器是否要為新增/移除的變更顯示 +/- 標記。"], +"vs/editor/common/config/editorOptions":["編輯器將使用平台 API 以偵測螢幕助讀程式附加。","編輯器將會為螢幕助讀程式的使用方式永久地最佳化。","編輯器不會為螢幕助讀程式的使用方式進行最佳化。","控制編輯器是否應於已為螢幕助讀程式最佳化的模式中執行。","控制複製時不選取任何項目是否會複製目前程式行。","控制 [尋找小工具] 中的搜尋字串是否來自編輯器選取項目。","永不自動開啟 [在選取範圍中尋找] (預設)","一律自動開啟 [在選取範圍中尋找]","選取多行內容時,自動開啟 [在選取範圍中尋找]。","控制尋找作業要對已選取文字或編輯器內的整個檔案執行。","控制尋找小工具是否在 macOS 上讀取或修改共用尋找剪貼簿。","控制尋找小工具是否應在編輯器頂端額外新增行。若為 true,當您可看到尋找小工具時,您的捲動範圍會超過第一行。","啟用/停用連字字型。","明確 font-feature-settings。","設定連字字型。","控制字型大小 (以像素為單位)。","顯示結果的預覽檢視 (預設)","移至主要結果並顯示預覽檢視","前往主要結果,並對其他人啟用無預覽瀏覽","此設定已淘汰,請改用 'editor.editor.gotoLocation.multipleDefinitions' 或 'editor.editor.gotoLocation.multipleImplementations' 等單獨設定。","控制 'Go to Definition' 命令在有多個目標位置存在時的行為。","控制 'Go to Type Definition' 命令在有多個目標位置存在時的行為。","控制 'Go to Declaration' 命令在有多個目標位置存在時的行為。","控制 'Go to Implementations' 命令在有多個目標位置存在時的行為。","控制 'Go to References' 命令在有多個目標位置存在時的行為。","當 'Go to Definition' 的結果為目前位置時,正在執行的替代命令識別碼。","當 'Go to Type Definition' 的結果為目前位置時,正在執行的替代命令識別碼。","當 'Go to Declaration' 的結果為目前位置時,正在執行的替代命令識別碼。","當 'Go to Implementation' 的結果為目前位置時,正在執行的替代命令識別碼。","當 'Go to Reference' 的結果為目前位置時,正在執行的替代命令識別碼。","控制是否顯示暫留。","控制暫留顯示的延遲時間 (以毫秒為單位)。","控制當滑鼠移過時,是否應保持顯示暫留。","在編輯器中啟用程式碼動作燈泡。","控制行高。使用 0 會從字型大小計算行高。","控制是否會顯示縮圖","控制要在哪端呈現縮圖。","控制何時顯示迷你地圖滑桿。","在迷你地圖中繪製的內容比例。","顯示行中的實際字元,而不是色彩區塊。","限制縮圖的寬度,最多顯示某個數目的列。","啟用快顯,在您鍵入的同時顯示參數文件和類型資訊。","控制提示功能表是否在清單結尾時循環或關閉。","允許在字串內顯示即時建議。","允許在註解中顯示即時建議。","允許在字串與註解以外之處顯示即時建議。","控制是否應在鍵入時自動顯示建議。","不顯示行號。","行號以絕對值顯示。","行號以目前游標的相對值顯示。","每 10 行顯示行號。","控制行號的顯示。","在某個數目的等寬字元之後顯示垂直尺規。如有多個尺規,就會使用多個值。若陣列空白,就不會繪製任何尺規。","插入建議而不覆寫游標旁的文字。","插入建議並覆寫游標旁的文字。","控制是否要在接受完成時覆寫字組。請注意,這取決於加入此功能的延伸模組。","控制接受完成時的非預期文字修改是否應醒目提示,例如: `insertMode` 為 `replace` 但完成只支援 `insert`。","控制對於拚錯字是否進行篩選和排序其建議","控制排序是否會偏好游標附近出現的字組。","控制記錄的建議選取項目是否在多個工作區和視窗間共用 (需要 `#editor.suggestSelection#`)。","控制程式碼片段啟用時,是否阻止啟動快速建議。","控制要在建議中顯示或隱藏圖示。","控制 IntelliSense 顯示捲軸前要顯示多少建議 (最多 15 個)。","此設定已淘汰,請改用 'editor.suggest.showKeywords' 或 'editor.suggest.showSnippets' 等單獨設定。","啟用時,IntelliSense 顯示「方法」建議。","啟用時,IntelliSense 顯示「函式」建議。","啟用時,IntelliSense 顯示「建構函式」建議。","啟用時,IntelliSense 顯示「欄位」建議。","啟用時,IntelliSense 顯示「變數」建議。","啟用時,IntelliSense 顯示「類別」建議。","啟用時,IntelliSense 顯示「結構」建議。","啟用時,IntelliSense 顯示「介面」建議。","啟用時,IntelliSense 顯示「模組」建議。","啟用時,IntelliSense 顯示「屬性」建議。","啟用時,IntelliSense 顯示「事件」建議。","啟用時,IntelliSense 顯示「運算子」建議。","啟用時,IntelliSense 顯示「單位」建議。","啟用時,IntelliSense 顯示「值」建議。","啟用時,IntelliSense 顯示「常數」建議。","啟用時,IntelliSense 顯示「列舉」建議。","啟用時,IntelliSense 顯示「enumMember」建議。","啟用時,IntelliSense 顯示「關鍵字」建議。","啟用時,IntelliSense 顯示「文字」建議。","啟用時,IntelliSense 顯示「色彩」建議。","啟用時,IntelliSense 顯示「檔案」建議。","啟用時,IntelliSense 顯示「參考」建議。","啟用時,IntelliSense 顯示「customcolor」建議。","啟用時,IntelliSense 顯示「資料夾」建議。","啟用時,IntelliSense 顯示「typeParameter」建議。","啟用時,IntelliSense 顯示「程式碼片段」建議。","控制是否透過認可字元接受建議。例如在 JavaScript 中,分號 (';') 可以是接受建議並鍵入該字元的認可字元。","在建議進行文字變更時,僅透過 `Enter` 接受建議。","控制除了 'Tab' 外,是否也透過 'Enter' 接受建議。這有助於避免混淆要插入新行或接受建議。","控制編輯器中螢幕助讀程式可讀出的行數。警告: 大於預設的數目會對效能產生影響。","編輯器內容","使用語言配置確定何時自動關閉括號。","僅當游標位於空白的左側時自動關閉括號。","控制編輯器是否應在使用者新增左括弧後,自動加上右括弧。","僅在自動插入右引號或括號時,才在其上方鍵入。","控制編輯器是否應在右引號或括號上鍵入。","使用語言配置確定何時自動關閉引號。","僅當游標位於空白的左側時自動關閉引號。","控制編輯器是否應在使用者新增開始引號後,自動加上關閉引號。","編輯器不會自動插入縮排。","編輯器會保留目前行的縮排。","編輯器會保留目前行的縮排並接受語言定義的括號。","編輯器會目前行的縮排、接受語言定義的括號並叫用語言定義的特殊 onEnterRules。","編輯器會保留目前行的縮排、接受語言定義的括號並叫用語言定義的特殊 onEnterRules 並接受語言定義的 indentationRules。","控制編輯器是否應在使用者鍵入、貼上、移動或縮排行時自動調整縮排。","使用語言組態來決定何時自動環繞選取項目。","用引號括住,而非使用括弧。","用括弧括住,而非使用引號。 ","控制編輯器是否應自動環繞選取項目。","控制編輯器是否顯示 codelens。","控制編輯器是否應轉譯內嵌色彩裝飾項目與色彩選擇器。","控制語法醒目提示是否應複製到剪貼簿。","控制資料指標動畫樣式。","控制是否應啟用平滑插入點動畫。 ","控制資料指標樣式。","控制游標上下周圍的最少可見行數。在某些編輯器中稱為 'scrollOff' 或 `scrollOffset`。","只有通過鍵盤或 API 觸發時,才會施行 `cursorSurroundingLines`。","一律強制執行 `cursorSurroundingLines`","控制應施行 `cursorSurroundingLines` 的時機。","控制游標寬度,當 `#editor.cursorStyle#` 設定為 `line` 時。","控制編輯器是否允許透過拖放來移動選取項目。","按下 `Alt` 時的捲動速度乘數。","控制編輯器是否啟用程式碼摺疊功能。","控制摺疊範圍的計算方式。[自動] 會在可行的情況下使用語言專屬的摺疊策略。[縮排] 會使用以縮排為基礎的摺疊策略。","控制字型家族。","控制字型寬度。","控制編輯器是否應自動為貼上的內容設定格式。必須有可用的格式器,而且格式器應能夠為文件中的一個範圍設定格式。","控制編輯器是否應自動在鍵入後設定行的格式。","控制編輯器是否應轉譯垂直字符邊界。字符邊界最常用來進行偵錯。","控制游標是否應隱藏在概觀尺規中。","控制編輯器是否應醒目提示使用中的縮排輔助線。","控制字元間距 (以像素為單位)","控制編輯器是否應偵測連結並使其可供點選。","將符合的括號醒目提示。","要用於滑鼠滾輪捲動事件 `deltaX` 和 `deltaY` 的乘數。","使用滑鼠滾輪並按住 `Ctrl` 時,縮放編輯器的字型","在多個游標重疊時將其合併。","對應Windows和Linux的'Control'與對應 macOS 的'Command'。","對應Windows和Linux的'Alt'與對應macOS的'Option'。","用於在滑鼠新增多個游標的乘數。「移至定義」和「開啟連結」滑鼠手勢會加以適應,以避免與多個游標的乘數相衝突。[深入了解](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)。","每個游標都會貼上一行文字。","每個游標都會貼上全文。","當已貼上文字的行數與游標數相符時控制貼上功能。","控制編輯器是否應醒目顯示出現的語意符號。","控制是否應在概觀尺規周圍繪製框線。","控制在快速建議顯示後的延遲 (以毫秒為單位)。","控制編輯器是否應顯示控制字元。","控制編輯器是否應顯示縮排輔助線。","在檔案結尾為新行時,呈現最後一行的號碼。","醒目提示裝訂邊和目前的行。","控制編輯器如何顯示目前行的醒目提示。","Render whitespace characters except for single spaces between words.","只轉譯所選文字的空白字元。","控制編輯器應如何轉譯空白字元。","控制選取範圍是否有圓角","控制編輯器水平捲動的額外字元數。","控制編輯器是否捲動到最後一行之外。","控制是否支援 Linux 主要剪貼簿。","控制編輯器是否應醒目提示與選取項目類似的相符項目。","自動隱藏摺疊控制向","控制未使用程式碼的淡出。","將程式碼片段建議顯示於其他建議的頂端。","將程式碼片段建議顯示於其他建議的下方。","將程式碼片段建議與其他建議一同顯示。","不顯示程式碼片段建議。","控制程式碼片段是否隨其他建議顯示,以及其排序方式。","控制編輯器是否會使用動畫捲動","建議小工具的字型大小。當設定為 `0` 時,則使用 `#editor.fontSize#` 值.","建議小工具的行高。當設定為 `0` 時,則使用 `#editor.lineHeight#` 值.","控制建議是否應在鍵入觸發字元時自動顯示。","一律選取第一個建議。","除非進一步鍵入選取了建議,否則選取最近的建議,例如 `console.| -> console.log`,原因是最近完成了 `log`。","根據先前已完成該建議的前置詞選取建議,例如 `co -> console` 和 `con -> const`。","控制在顯示建議清單時如何預先選取建議。","按 Tab 時,Tab 完成會插入最符合的建議。","停用 tab 鍵自動完成。","在程式碼片段的首碼相符時使用 Tab 完成。未啟用 'quickSuggestions' 時效果最佳。","啟用 tab 鍵自動完成。","插入和刪除接在定位停駐點後的空白字元。","在執行文字相關導覽或作業時要用作文字分隔符號的字元","一律不換行。","依檢視區寬度換行。","於 '#editor.wordWrapColumn#' 換行。","當檢視區縮至最小並設定 '#editor.wordWrapColumn#' 時換行。","控制如何換行。","當 `#editor.wordWrap#` 為 `wordWrapColumn` 或 `bounded` 時,控制編輯器中的資料行換行。","無縮排。換行從第 1 列開始。","換行的縮排會與父行相同。","換行的縮排為父行 +1。","換行縮排為父行 +2。","控制換行的縮排。"], +"vs/editor/common/modes/modesRegistry":["純文字"], +"vs/editor/common/standaloneStrings":["無選取項目","第 {0} 行,第 {1} 欄 (已選取 {2})","第 {0} 行,第 {1} 欄","{0} 個選取項目 (已選取 {1} 個字元)","{0} 個選取項目","立即將設定 `accessibilitySupport` 變更為 'on’。","立即開啟編輯器協助工具文件頁面。","在 Diff 編輯器的唯讀窗格中。","在 Diff 編輯器的窗格中。","在唯讀程式碼編輯器中","在程式碼編輯器中","若要為編輯器進行最能搭配螢幕助讀程式使用的設定,請立即按 Command+E。","若要將編輯器設定為針對搭配螢幕助讀程式使用最佳化,請立即按 Control+E。","編輯器已設定為針對搭配螢幕助讀程式使用最佳化。","已將此編輯器設定為永遠不針對搭配螢幕助讀程式使用最佳化,但目前不是此情況。","在目前的編輯器中按 Tab 鍵會將焦點移至下一個可設定焦點的元素。按 {0} 可切換此行為。","在目前的編輯器中按 Tab 鍵會將焦點移至下一個可設定焦點的元素。命令 {0} 目前無法由按鍵繫結關係觸發。","在目前的編輯器中按 Tab 鍵會插入定位字元。按 {0} 可切換此行為。","在目前的編輯器中按 Tab 鍵會插入定位字元。命令 {0} 目前無法由按鍵繫結關係觸發。","立即按 Command+H,以開啟提供編輯器協助工具相關詳細資訊的瀏覽器視窗。","立即按 Control+H,以開啟提供編輯器協助工具相關詳細資訊的瀏覽器視窗。","您可以按 Esc 鍵或 Shift+Esc 鍵來解除此工具提示並返回編輯器。","顯示協助工具說明","開發人員: 檢查權杖","移至行 {0} 和字元 {1}","移至第 {0} 行","輸入介於 1 到 {0} 之間要瀏覽的行號","鍵入 1 到 {0} 之間的字元,以瀏覽至","目前行號: {0}。前往第 {1} 行。","依序鍵入行號、選用冒號與字元號碼以瀏覽至","移至行...","{0}、{1}、命令","{0},命令","鍵入要執行之動作的名稱","命令選擇區","{0},符號","鍵入要瀏覽之目標識別碼的名稱","移至符號...","符號 ({0})","模組 ({0})","類別 ({0})","介面 ({0})","方法 ({0})","函式 ({0})","屬性 ({0})","變數 ({0})","變數 ({0})","建構函式 ({0})","呼叫 ({0})","編輯器內容","按 Ctrl+F1 可取得協助工具選項。","按 Alt+F1 可取得協助工具選項。","切換高對比佈景主題","已在 {1} 檔案中進行 {0} 項編輯"], +"vs/editor/common/view/editorColorRegistry":["目前游標位置行的反白顯示背景色彩。","目前游標位置行之周圍框線的背景色彩。","醒目提示範圍的背景色彩,例如快速開啟並尋找功能。其不得為不透明色彩,以免隱藏底層裝飾。","反白顯示範圍周圍邊框的背景顏色。","醒目提示符號的背景色彩,相似於前往下一個定義或前往下一個/上一個符號。色彩必須透明,以免隱藏底層裝飾。","醒目提示周圍的邊界背景色彩。","編輯器游標的色彩。","編輯器游標的背景色彩。允許自訂區塊游標重疊的字元色彩。","編輯器中空白字元的色彩。","編輯器縮排輔助線的色彩。","使用中編輯器縮排輔助線的色彩。","編輯器行號的色彩。","編輯器使用中行號的色彩 ","Id 已取代。請改用 'editorLineNumber.activeForeground' 。","編輯器使用中行號的色彩 ","編輯器尺規的色彩","編輯器程式碼濾鏡的前景色彩","成對括號背景色彩","成對括號邊框色彩","預覽檢視編輯器尺規的邊框色彩.","編輯器邊框的背景顏色,包含行號與字形圖示的邊框.","編輯器中不必要 (未使用) 原始程式碼的框線色彩。","編輯器中不必要 (未使用) 原始程式碼的不透明度。例如 \"#000000c0” 會以 75% 的不透明度轉譯程式碼。針對高對比主題,使用 'editorUnnecessaryCode.border' 主題色彩可為不必要的程式碼加上底線,而不是將其變淡。","錯誤的概觀尺規標記色彩。","警示的概觀尺規標記色彩。","資訊的概觀尺規標記色彩。"],"vs/editor/contrib/bracketMatching/bracketMatching":["成對括弧的概觀尺規標記色彩。","移至方括弧","選取至括弧","前往括弧(&&B)"],"vs/editor/contrib/caretOperations/caretOperations":["將插入點左移","將插入點右移"],"vs/editor/contrib/caretOperations/transpose":["調換字母"], +"vs/editor/contrib/clipboard/clipboard":["剪下","剪下(&&T)","複製","複製(&&C)","貼上","貼上(&&P)","隨語法醒目提示複製"],"vs/editor/contrib/codeAction/codeActionCommands":["要執行程式碼動作的種類。","控制要套用傳回動作的時機。","一律套用第一個傳回的程式碼動作。","如果傳回的程式碼動作是唯一動作,則加以套用。","不要套用傳回的程式碼動作。","控制是否僅應傳回偏好的程式碼動作。","套用程式碼動作時發生未知的錯誤","快速修復...","沒有可用的程式碼操作",'沒有 "{0}" 的偏好程式碼動作','沒有 "{0}" 可用的程式碼動作',"沒有可用的偏好程式碼動作","沒有可用的程式碼操作","重構...","沒有適用於 '{0}' 的偏好重構。",'沒有可用的 "{0}" 重構',"沒有可用的偏好重構","沒有可用的重構","來源動作...","沒有適用於 '{0}' 的偏好來源動作",'沒有 "{0}" 可用的來源動作',"沒有可用的偏好來源動作","沒有可用的來源動作","組織匯入","沒有任何可用的組織匯入動作","全部修正","沒有全部修正動作可用","自動修正...","沒有可用的自動修正"],"vs/editor/contrib/codeAction/lightBulbWidget":["顯示修正程式。偏好的修正程式可用 ({0})","顯示修正 ({0})","顯示修正"],"vs/editor/contrib/comment/comment":["切換行註解","切換行註解(&&T)","加入行註解","移除行註解","切換區塊註解","切換區塊註解(&&B)"],"vs/editor/contrib/contextmenu/contextmenu":["顯示編輯器內容功能表"],"vs/editor/contrib/cursorUndo/cursorUndo":["游標復原","游標重做"], +"vs/editor/contrib/documentSymbols/outlineTree":["陣列符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","布林值符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","類別符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","色彩符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","常數符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","建構函式符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","列舉值符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","列舉值成員符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","事件符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","欄位符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","檔案符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","資料夾符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","函式符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","介面符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","索引鍵符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","關鍵字符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","方法符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","模組符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","命名空間符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","Null 符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","數字符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","物件符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","運算子符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","套件符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","屬性符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","參考符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","程式碼片段符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","字串符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","結構符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","文字符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","型別參數符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","單位符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。","變數符號的前景色彩。這些符號會出現在大綱、階層連結和建議小工具中。"], +"vs/editor/contrib/find/findController":["尋找","尋找(&&F)","尋找選取項目","尋找下一個","尋找下一個","尋找上一個","尋找上一個","尋找下一個選取項目","尋找上一個選取項目","取代","取代(&&R)"],"vs/editor/contrib/find/findWidget":["尋找","尋找","上一個符合項目","下一個符合項目","在選取範圍中尋找","關閉","取代","取代","取代","全部取代","切換取代模式","僅反白顯示前 {0} 筆結果,但所有尋找作業會在完整文字上執行。","{1} 的 {0}","查無結果","找到 {0}","已為 {1} 找到 {0}","於 {2} 找到 {1} 的 {0}","已找到 {1} 的 {0}","Ctrl+Enter 現在會插入分行符號,而不會全部取代。您可以修改 editor.action.replaceAll 的按鍵繫結關係,以覆寫此行為。"],"vs/editor/contrib/folding/folding":["展開","以遞迴方式展開","摺疊","切換摺疊","以遞迴方式摺疊","摺疊全部區塊註解","摺疊所有區域","展開所有區域","全部摺疊","全部展開","摺疊層級 {0}"],"vs/editor/contrib/fontZoom/fontZoom":["編輯器字體放大","編輯器字型縮小","編輯器字體重設縮放"],"vs/editor/contrib/format/format":["在行 {0} 編輯了 1 項格式","在行 {1} 編輯了 {0} 項格式","在行 {0} 與行 {1} 之間編輯了 1 項格式","在行 {1} 與行 {2} 之間編輯了 {0} 項格式"],"vs/editor/contrib/format/formatActions":["格式化文件","格式化選取範圍"],"vs/editor/contrib/gotoError/gotoError":["移至下一個問題 (錯誤, 警告, 資訊)","移至上一個問題 (錯誤, 警告, 資訊)","移至檔案裡面的下一個問題 (錯誤, 警告, 資訊)","移至檔案裡面的上一個問題 (錯誤, 警告, 資訊)","下一個問題(&&P)","前一個問題(&&P)"], +"vs/editor/contrib/gotoError/gotoErrorWidget":["{0} 個問題 (共 {1} 個)","{0} 個問題 (共 {1} 個)","編輯器標記導覽小工具錯誤的色彩。","編輯器標記導覽小工具警告的色彩。","編輯器標記導覽小工具資訊的色彩","編輯器標記導覽小工具的背景。"],"vs/editor/contrib/gotoSymbol/goToCommands":["查看","定義","找不到 '{0}' 的定義","找不到任何定義","移至定義","移至定義(&&D)","在一側開啟定義","預覽定義","宣告","找不到 '{0}' 的宣告 ","找不到任何宣告","移至宣告","前往宣告(&&D)","找不到 '{0}' 的宣告 ","找不到任何宣告","預覽宣告","類型定義","找不到 '{0}' 的任何類型定義","找不到任何類型定義","移至類型定義","前往類型定義(&&T)","預覽類型定義","實作","找不到 '{0}' 的任何實作","找不到任何實作","前往實作","前往實作(&&I)","查看實作",'未找到 "{0}" 的參考',"未找到參考","前往參考","前往參考(&&R)","參考","預覽參考","參考","移至任何符號","位置",'"{0}" 無結果',"參考"],"vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition":["按一下以顯示 {0} 項定義。"],"vs/editor/contrib/gotoSymbol/peek/referencesController":["正在載入...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/peek/referencesTree":["無法解析檔案。","{0} 個參考","{0} 個參考"],"vs/editor/contrib/gotoSymbol/peek/referencesWidget":["無法預覽","參考","查無結果","參考"], +"vs/editor/contrib/gotoSymbol/referencesModel":["個符號位於 {0} 中的第 {1} 行第 {2} 欄","1 個符號位於 {0}, 完整路徑 {1}","{0} 個符號位於 {1}, 完整路徑 {2}","找不到結果","在 {0} 中找到 1 個符號","在 {1} 中找到 {0} 個符號","在 {1} 個檔案中找到 {0} 個符號"],"vs/editor/contrib/gotoSymbol/symbolNavigation":["{1} 的符號 {0},{2} 為下一個","{1} 的符號 {0}"],"vs/editor/contrib/hover/hover":["動態顯示","顯示定義預覽懸停"],"vs/editor/contrib/hover/modesContentHover":["正在載入...","瞄孔問題","正在檢查快速修正...","沒有可用的快速修正","快速修復..."],"vs/editor/contrib/inPlaceReplace/inPlaceReplace":["以上一個值取代","以下一個值取代"],"vs/editor/contrib/linesOperations/linesOperations":["將行向上複製","將行向上複製(&&C)","將行向下複製","將行向下複製(&&P)","重複選取項目","重複選取項目(&D)","上移一行","上移一行(&&V)","下移一行","下移一行(&&L)","遞增排序行","遞減排序行","修剪尾端空白","刪除行","縮排行","凸排行","在上方插入行","在下方插入行","左邊全部刪除","刪除所有右方項目","連接線","轉置游標周圍的字元數","轉換到大寫","轉換到小寫","轉換為字首大寫"],"vs/editor/contrib/links/links":["執行命令","追蹤連結","cmd + 按一下","ctrl + 按一下","選項 + 按一下","alt + 按一下","因為此連結的格式不正確,所以無法開啟: {0}","因為此連結目標遺失,所以無法開啟。","開啟連結"],"vs/editor/contrib/message/messageController":["無法在唯讀編輯器中編輯"], +"vs/editor/contrib/multicursor/multicursor":["在上方加入游標","在上方新增游標(&&A)","在下方加入游標","在下方新增游標(&&D)","在行尾新增游標","在行尾新增游標(&&U)","將游標新增到底部 ","將游標新增到頂部","將選取項目加入下一個找到的相符項","新增下一個項目(&&N)","將選取項目加入前一個找到的相符項中","新增上一個項目(&&R)","將最後一個選擇項目移至下一個找到的相符項","將最後一個選擇項目移至前一個找到的相符項","選取所有找到的相符項目","選取所有項目(&&O)","變更所有發生次數"],"vs/editor/contrib/parameterHints/parameterHints":["觸發參數提示"],"vs/editor/contrib/parameterHints/parameterHintsWidget":["{0},提示"],"vs/editor/contrib/peekView/peekView":["關閉","預覽檢視標題區域的背景色彩。","預覽檢視標題的色彩。","預覽檢視標題資訊的色彩。","預覽檢視之框線與箭頭的色彩。","預覽檢視中結果清單的背景色彩。","預覽檢視結果列表中行節點的前景色彩","預覽檢視結果列表中檔案節點的前景色彩","在預覽檢視之結果清單中選取項目時的背景色彩。","在預覽檢視之結果清單中選取項目時的前景色彩。","預覽檢視編輯器的背景色彩。","預覽檢視編輯器邊框(含行號或字形圖示)的背景色彩。","在預覽檢視編輯器中比對時的反白顯示色彩。","預覽檢視編輯器中比對時的反白顯示色彩。","在預覽檢視編輯器中比對時的反白顯示邊界。"],"vs/editor/contrib/rename/rename":["沒有結果。","解析重新命名位置時發生未知的錯誤","已成功將 '{0}' 重新命名為 '{1}'。摘要: {2}","重新命名無法執行。","重新命名符號"],"vs/editor/contrib/rename/renameInputField":["為輸入重新命名。請鍵入新名稱,然後按 Enter 以認可。"], +"vs/editor/contrib/smartSelect/smartSelect":["展開選取項目","展開選取範圍(&&E)","縮小選取項目","壓縮選取範圍(&&S)"],"vs/editor/contrib/snippet/snippetVariables":["星期天","星期一","星期二","星期三","星期四","星期五","星期六","週日","週一","週二","週三","週四","週五","週六","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月","1月","2月","3 月","4月","五月","6月","7 月","8 月","9 月","10 月","11 月","12 月"],"vs/editor/contrib/suggest/suggestController":["接受 ‘{0}’ 進行了其他 {1} 項編輯","觸發建議"],"vs/editor/contrib/suggest/suggestWidget":["建議小工具的背景色彩。","建議小工具的邊界色彩。","建議小工具的前景色彩。","建議小工具中所選項目的背景色彩。","建議小工具中相符醒目提示的色彩。","進一步了解...{0}","簡易說明...{0}","正在載入...","正在載入...","無建議。","項目 {0},文件: {1}"],"vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode":["切換 TAB 鍵移動焦點","按 Tab 現在會將焦點移至下一個可設定焦點的元素。","按 Tab 現在會插入定位字元。"],"vs/editor/contrib/tokenization/tokenization":["開發人員: 強制重新置放"], +"vs/editor/contrib/wordHighlighter/wordHighlighter":["讀取權限期間 (如讀取變數) 符號的背景色彩。其不得為不透明色彩,以免隱藏底層裝飾。","寫入權限期間 (如寫入變數) 符號的背景色彩。其不得為不透明色彩,以免隱藏底層裝飾。","讀取存取期間 (例如讀取變數時) 符號的邊框顏色。","寫入存取期間 (例如寫入變數時) 符號的邊框顏色。 ","符號醒目提示的概觀尺規標記色彩。其不得為不透明色彩,以免隱藏底層裝飾。","寫入權限符號醒目提示的概觀尺規標記色彩。其不得為不透明色彩,以免隱藏底層裝飾。","移至下一個反白符號","移至上一個反白符號","觸發符號反白顯示"],"vs/platform/configuration/common/configurationRegistry":["預設組態覆寫","設定要針對語言覆寫的編輯器設定。","無法註冊 '{0}'。這符合用於描述語言專用編輯器設定的屬性模式 '\\\\[.*\\\\]$'。請使用 'configurationDefaults' 貢獻。","無法註冊 '{0}'。此屬性已經註冊。"],"vs/platform/keybinding/common/abstractKeybindingService":["已按下 ({0})。請等待第二個套索鍵...","按鍵組合 ({0}, {1}) 不是命令。"], +"vs/platform/list/browser/listService":["工作台","對應Windows和Linux的'Control'與對應 macOS 的'Command'。","對應Windows和Linux的'Alt'與對應macOS的'Option'。","透過滑鼠多選,用於在樹狀目錄與清單中新增項目的輔助按鍵 (例如在總管中開啟編輯器 及 SCM 檢視)。'在側邊開啟' 滑鼠手勢 (若支援) 將會適應以避免和多選輔助按鍵衝突。","控制如何使用滑鼠在樹狀目錄與清單中開啟項目 (若有支援)。對於樹狀目錄中具子系的父系而言,此設定會控制應以滑鼠按一下或按兩下展開父系。注意,某些樹狀目錄或清單若不適用此設定則會予以忽略。","控制在工作台中,清單和樹狀結構是否支援水平捲動。","控制是否支援工作台中的水平滾動。","已淘汰此設定,請改用 ‘{0}’。","控制樹狀結構縮排 (像素)。","控制樹系是否應轉譯縮排輔助線。","比對按鍵輸入的簡易按鍵瀏覽焦點元素。僅比對前置詞。","醒目提示鍵盤瀏覽會醒目提示符合鍵盤輸入的元素。進一步向上或向下瀏覽只會周遊醒目提示的元素。","篩選鍵盤瀏覽會篩掉並隱藏不符合鍵盤輸入的所有元素。","控制 Workbench 中清單和樹狀結構的鍵盤瀏覽樣式。可以是簡易的、醒目提示和篩選。","控制是否只要鍵入即可自動觸發清單和樹狀結構中的鍵盤瀏覽。若設為 `false`,只有在執行 `list.toggleKeyboardNavigation` 命令時,才會觸發鍵盤瀏覽,您可為其指定鍵盤快速鍵。"],"vs/platform/markers/common/markers":["錯誤","警告","資訊"], +"vs/platform/theme/common/colorRegistry":["整體的前景色彩。僅當未被任何元件覆疊時,才會使用此色彩。","整體錯誤訊息的前景色彩。僅當未被任何元件覆蓋時,才會使用此色彩。","焦點項目的整體框線色彩。只在沒有任何元件覆寫此色彩時,才會加以使用。","項目周圍的額外框線,可將項目從其他項目中區隔出來以提高對比。","使用中項目周圍的額外邊界,可將項目從其他項目中區隔出來以提高對比。","內文連結的前景色彩","文字區塊的背景顏色。","小工具的陰影色彩,例如編輯器中的尋找/取代。","輸入方塊的背景。","輸入方塊的前景。","輸入方塊的框線。","輸入欄位中可使用之項目的框線色彩。","在輸入欄位中所啟動選項的背景色彩。","資訊嚴重性的輸入驗證背景色彩。","資訊嚴重性的輸入驗證前景色彩。","資訊嚴重性的輸入驗證邊界色彩。","警告嚴重性的輸入驗證背景色彩。","警告嚴重性的輸入驗證前景色彩。","警告嚴重性的輸入驗證邊界色彩。","錯誤嚴重性的輸入驗證背景色彩。","錯誤嚴重性的輸入驗證前景色彩。","錯誤嚴重性的輸入驗證邊界色彩。","下拉式清單的背景。","下拉式清單的前景。","分組標籤的快速選擇器色彩。","分組邊界的快速選擇器色彩。","標記的背景顏色。標記為小型的訊息標籤,例如搜尋結果的數量。","標記的前景顏色。標記為小型的訊息標籤,例如搜尋結果的數量。","指出在捲動該檢視的捲軸陰影。","捲軸滑桿的背景顏色。","動態顯示時捲軸滑桿的背景顏色。","當點擊時捲軸滑桿的背景顏色。","長時間運行進度條的背景色彩.","編輯器內錯誤提示線的前景色彩.","編輯器中錯誤方塊的框線色彩。","編輯器內警告提示線的前景色彩.","編輯器中的警告方塊框線色彩。","編輯器內資訊提示線的前景色彩","編輯器中的資訊方塊框線色彩。","編輯器內提示訊息的提示線前景色彩","編輯器中的提示方塊框線色彩。","編輯器的背景色彩。","編輯器的預設前景色彩。","編輯器小工具的背景色彩,例如尋找/取代。","編輯器小工具 (例如尋找/取代) 的前景色彩。","編輯器小工具的邊界色彩。小工具選擇擁有邊界或色彩未被小工具覆寫時,才會使用色彩。","編輯器小工具之調整大小列的邊界色彩。只在小工具選擇具有調整大小邊界且未覆寫該色彩時,才使用該色彩。\n","編輯器選取範圍的色彩。","為選取的文字顏色高對比化","非使用中編輯器內的選取項目色彩。其不得為不透明色彩,以免隱藏底層裝飾。","與選取項目內容相同之區域的色彩。其不得為不透明色彩,以免隱藏底層裝飾。","選取時,內容相同之區域的框線色彩。","符合目前搜尋的色彩。","其他搜尋相符項目的色彩。其不得為不透明色彩,以免隱藏底層裝飾。","限制搜尋之範圍的色彩。其不得為不透明色彩,以免隱藏底層裝飾。","符合目前搜尋的框線色彩。","符合其他搜尋的框線色彩。","限制搜尋之範圍的框線色彩。其不得為不透明色彩,以免隱藏底層裝飾。","在顯示動態顯示的文字下醒目提示。其不得為不透明色彩,以免隱藏底層裝飾。","編輯器動態顯示的背景色彩。","編輯器動態顯示的前景色彩。","編輯器動態顯示的框線色彩。","編輯器暫留狀態列的背景色彩。","使用中之連結的色彩。","用於燈泡動作圖示的色彩。","用於燈泡自動修正動作圖示的色彩。","已插入文字的背景色彩。其不得為不透明色彩,以免隱藏底層裝飾。","已移除文字的背景色彩。其不得為不透明色彩,以免隱藏底層裝飾。","插入的文字外框色彩。","移除的文字外框色彩。","兩個文字編輯器之間的框線色彩。","當清單/樹狀為使用中狀態時,焦點項目的清單/樹狀背景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中者則沒有。","當清單/樹狀為使用中狀態時,焦點項目的清單/樹狀前景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中者則沒有。","當清單/樹狀為使用中狀態時,所選項目的清單/樹狀背景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中者則沒有。","當清單/樹狀為使用中狀態時,所選項目的清單/樹狀前景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中者則沒有。","當清單/樹狀為非使用中狀態時,所選項目的清單/樹狀背景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中者則沒有。","當清單/樹狀為使用中狀態時,所選項目的清單/樹狀前景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中則沒有。","當清單/樹狀為非使用中狀態時,焦點項目的清單/樹狀背景色彩。使用中的清單/樹狀有鍵盤焦點,非使用中者則沒有。","使用滑鼠暫留在項目時的清單/樹狀背景。","滑鼠暫留在項目時的清單/樹狀前景。","使用滑鼠四處移動項目時的清單/樹狀拖放背景。","在清單/樹狀內搜尋時,相符醒目提示的清單/樹狀前景色彩。","清單和樹狀結構中類型篩選小工具的背景色彩。","清單和樹狀結構中類型篩選小工具的大綱色彩。","在沒有相符項目時,清單和樹狀結構中類型篩選小工具的大綱色彩。","縮排輔助線的樹狀筆觸色彩。","功能表的邊框色彩。","功能表項目的前景色彩。","功能表項目的背景色彩。","功能表中所選功能表項目的前景色彩。","功能表中所選功能表項目的背景色彩。","功能表中所選功能表項目的框線色彩。","功能表中分隔線功能表項目的色彩。","程式碼片段定位停駐點的反白顯示背景色彩。","程式碼片段定位停駐點的反白顯示邊界色彩。","程式碼片段最終定位停駐點的反白顯示背景色彩。","程式碼片段最終定位停駐點的反白顯示邊界色彩。","尋找相符項目的概觀尺規標記色彩。其不得為不透明色彩,以免隱藏底層裝飾。","選取項目醒目提示的概觀尺規標記。其不得為不透明色彩,以免隱藏底層裝飾。","用於尋找相符項目的縮圖標記色彩。","編輯器選取範圍的迷你地圖標記色彩。","錯誤的縮圖標記色彩。","警告的縮圖標記色彩。","用於問題錯誤圖示的色彩。","用於問題警告圖示的色彩。","用於問題資訊圖示的色彩。"] +}); +//# sourceMappingURL=../../../min-maps/vs/editor/editor.main.nls.zh-tw.js.map \ No newline at end of file diff --git a/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/css/cssMode.js b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/css/cssMode.js new file mode 100755 index 00000000..4ed4936e --- /dev/null +++ b/apps/config_explorer/appserver/static/node_modules/monaco-editor/min/vs/language/css/cssMode.js @@ -0,0 +1,7 @@ +/*!----------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * monaco-css version: 2.6.0(5b08a3733ee5694b6b790d8d84edf543ca2d62f0) + * Released under the MIT license + * https://github.com/Microsoft/monaco-css/blob/master/LICENSE.md + *-----------------------------------------------------------------------------*/ +define("vs/language/css/workerManager",["require","exports"],(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){var t=this;this._defaults=e,this._worker=null,this._idleCheckInterval=window.setInterval((function(){return t._checkIfIdle()}),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((function(){return t._stopWorker()}))}return e.prototype._stopWorker=function(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null},e.prototype.dispose=function(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()},e.prototype._checkIfIdle=function(){this._worker&&(Date.now()-this._lastUsedTime>12e4&&this._stopWorker())},e.prototype._getClient=function(){return this._lastUsedTime=Date.now(),this._client||(this._worker=monaco.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client},e.prototype.getLanguageServiceWorker=function(){for(var e,t=this,n=[],r=0;rthis.source.length)return!1;for(var t=0;t=d&&e<=p&&(this.stream.advance(t+1),this.stream.advanceWhileChar((function(e){return e>=d&&e<=p||0===t&&e===K})),!0)},e.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case z:case _:case R:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===z&&this.stream.advanceIfChar(R)&&e.push("\n"),!0}return!1},e.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===E){this.stream.advance(1),n=this.stream.peekChar();for(var r=0;r<6&&(n>=d&&n<=p||n>=i&&n<=o||n>=a&&n<=l);)this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var s=parseInt(this.stream.substring(this.stream.pos()-r),16);s&&e.push(String.fromCharCode(s))}catch(e){}return n===P||n===M?this.stream.advance(1):this._newline([]),!0}if(n!==z&&n!==_&&n!==R)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1},e.prototype._stringChar=function(e,t){var n=this.stream.peekChar();return 0!==n&&n!==e&&n!==E&&n!==z&&n!==_&&n!==R&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},e.prototype._string=function(e){if(this.stream.peekChar()===N||this.stream.peekChar()===I){var t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),n.String):n.BadString}return null},e.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return 0!==t&&t!==E&&t!==N&&t!==I&&t!==w&&t!==x&&t!==P&&t!==M&&t!==R&&t!==_&&t!==z&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._unquotedString=function(e){for(var t=!1;this._unquotedChar(e)||this._escape(e);)t=!0;return t},e.prototype._whitespace=function(){return this.stream.advanceWhileChar((function(e){return e===P||e===M||e===R||e===_||e===z}))>0},e.prototype._name=function(e){for(var t=!1;this._identChar(e)||this._escape(e);)t=!0;return t},e.prototype.ident=function(e){var t=this.stream.pos();if(this._minus(e)&&this._minus(e)){if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1},e.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return(t===b||t>=i&&t<=s||t>=a&&t<=c||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._minus=function(e){var t=this.stream.peekChar();return t===g&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===b||t===g||t>=i&&t<=s||t>=a&&t<=c||t>=d&&t<=p||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e}();t.Scanner=G}));var __extends=this&&this.__extends||function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();!function(e){if("object"==typeof module&&"object"==typeof module.exports){var t=e(require,exports);void 0!==t&&(module.exports=t)}else"function"==typeof define&&define.amd&&define("vscode-css-languageservice/parser/cssNodes",["require","exports"],e)}((function(e,t){"use strict";var n;function r(e,t){var n=null;return!e||te.end?null:(e.accept((function(e){return-1===e.offset&&-1===e.length||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0)})),n)}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Undefined=0]="Undefined",e[e.Identifier=1]="Identifier",e[e.Stylesheet=2]="Stylesheet",e[e.Ruleset=3]="Ruleset",e[e.Selector=4]="Selector",e[e.SimpleSelector=5]="SimpleSelector",e[e.SelectorInterpolation=6]="SelectorInterpolation",e[e.SelectorCombinator=7]="SelectorCombinator",e[e.SelectorCombinatorParent=8]="SelectorCombinatorParent",e[e.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",e[e.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",e[e.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",e[e.Page=12]="Page",e[e.PageBoxMarginBox=13]="PageBoxMarginBox",e[e.ClassSelector=14]="ClassSelector",e[e.IdentifierSelector=15]="IdentifierSelector",e[e.ElementNameSelector=16]="ElementNameSelector",e[e.PseudoSelector=17]="PseudoSelector",e[e.AttributeSelector=18]="AttributeSelector",e[e.Declaration=19]="Declaration",e[e.Declarations=20]="Declarations",e[e.Property=21]="Property",e[e.Expression=22]="Expression",e[e.BinaryExpression=23]="BinaryExpression",e[e.Term=24]="Term",e[e.Operator=25]="Operator",e[e.Value=26]="Value",e[e.StringLiteral=27]="StringLiteral",e[e.URILiteral=28]="URILiteral",e[e.EscapedValue=29]="EscapedValue",e[e.Function=30]="Function",e[e.NumericValue=31]="NumericValue",e[e.HexColorValue=32]="HexColorValue",e[e.MixinDeclaration=33]="MixinDeclaration",e[e.MixinReference=34]="MixinReference",e[e.VariableName=35]="VariableName",e[e.VariableDeclaration=36]="VariableDeclaration",e[e.Prio=37]="Prio",e[e.Interpolation=38]="Interpolation",e[e.NestedProperties=39]="NestedProperties",e[e.ExtendsReference=40]="ExtendsReference",e[e.SelectorPlaceholder=41]="SelectorPlaceholder",e[e.Debug=42]="Debug",e[e.If=43]="If",e[e.Else=44]="Else",e[e.For=45]="For",e[e.Each=46]="Each",e[e.While=47]="While",e[e.MixinContent=48]="MixinContent",e[e.Media=49]="Media",e[e.Keyframe=50]="Keyframe",e[e.FontFace=51]="FontFace",e[e.Import=52]="Import",e[e.Namespace=53]="Namespace",e[e.Invocation=54]="Invocation",e[e.FunctionDeclaration=55]="FunctionDeclaration",e[e.ReturnStatement=56]="ReturnStatement",e[e.MediaQuery=57]="MediaQuery",e[e.FunctionParameter=58]="FunctionParameter",e[e.FunctionArgument=59]="FunctionArgument",e[e.KeyframeSelector=60]="KeyframeSelector",e[e.ViewPort=61]="ViewPort",e[e.Document=62]="Document",e[e.AtApplyRule=63]="AtApplyRule",e[e.CustomPropertyDeclaration=64]="CustomPropertyDeclaration",e[e.CustomPropertySet=65]="CustomPropertySet",e[e.ListEntry=66]="ListEntry",e[e.Supports=67]="Supports",e[e.SupportsCondition=68]="SupportsCondition",e[e.NamespacePrefix=69]="NamespacePrefix",e[e.GridLine=70]="GridLine",e[e.Plugin=71]="Plugin",e[e.UnknownAtRule=72]="UnknownAtRule",e[e.Use=73]="Use",e[e.ModuleConfiguration=74]="ModuleConfiguration",e[e.Forward=75]="Forward",e[e.ForwardVisibility=76]="ForwardVisibility",e[e.Module=77]="Module"}(n=t.NodeType||(t.NodeType={})),function(e){e[e.Mixin=0]="Mixin",e[e.Rule=1]="Rule",e[e.Variable=2]="Variable",e[e.Function=3]="Function",e[e.Keyframe=4]="Keyframe",e[e.Unknown=5]="Unknown",e[e.Module=6]="Module",e[e.Forward=7]="Forward",e[e.ForwardVisibility=8]="ForwardVisibility"}(t.ReferenceType||(t.ReferenceType={})),t.getNodeAtOffset=r,t.getNodePath=function(e,t){for(var n=r(e,t),i=[];n;)i.unshift(n),n=n.parent;return i},t.getParentDeclaration=function(e){var t=e.findParent(n.Declaration),r=t&&t.getValue();return r&&r.encloses(e)?t:null};var i=function(){function e(e,t,n){void 0===e&&(e=-1),void 0===t&&(t=-1),this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}return Object.defineProperty(e.prototype,"end",{get:function(){return this.offset+this.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||n.Undefined},set:function(e){this.nodeType=e},enumerable:!0,configurable:!0}),e.prototype.getTextProvider=function(){for(var e=this;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:function(){return"unknown"}},e.prototype.getText=function(){return this.getTextProvider()(this.offset,this.length)},e.prototype.matches=function(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e},e.prototype.startsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e},e.prototype.endsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e},e.prototype.accept=function(e){if(e(this)&&this.children)for(var t=0,n=this.children;t=0&&e.parent.children.splice(n,1)}e.parent=this;var r=this.children;return r||(r=this.children=[]),-1!==t?r.splice(t,0,e):r.push(e),e},e.prototype.attachTo=function(e,t){return void 0===t&&(t=-1),e&&e.adoptChild(this,t),this},e.prototype.collectIssues=function(e){this.issues&&e.push.apply(e,this.issues)},e.prototype.addIssue=function(e){this.issues||(this.issues=[]),this.issues.push(e)},e.prototype.hasIssue=function(e){return Array.isArray(this.issues)&&this.issues.some((function(t){return t.getRule()===e}))},e.prototype.isErroneous=function(e){return void 0===e&&(e=!1),!!(this.issues&&this.issues.length>0)||e&&Array.isArray(this.children)&&this.children.some((function(e){return e.isErroneous(!0)}))},e.prototype.setNode=function(e,t,n){return void 0===n&&(n=-1),!!t&&(t.attachTo(this,n),this[e]=t,!0)},e.prototype.addChild=function(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)},e.prototype.updateOffsetAndLength=function(e){(e.offsetthis.end||-1===this.length)&&(this.length=t-this.offset)},e.prototype.hasChildren=function(){return!!this.children&&this.children.length>0},e.prototype.getChildren=function(){return this.children?this.children.slice(0):[]},e.prototype.getChild=function(e){return this.children&&e=0;n--)if((t=this.children[n]).offset<=e)return t;return null},e.prototype.findChildAtOffset=function(e,t){var n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t&&n.findChildAtOffset(e,!0)||n:null},e.prototype.encloses=function(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length},e.prototype.getParent=function(){for(var e=this.parent;e instanceof o;)e=e.parent;return e},e.prototype.findParent=function(e){for(var t=this;t&&t.type!==e;)t=t.parent;return t},e.prototype.findAParent=function(){for(var e=[],t=0;t{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/width"}],description:"Specifies the width of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.",restrictions:["length","percentage"]},{name:"height",values:[{name:"auto",description:"The height depends on the values of other properties."},{name:"fit-content",description:"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode."},{name:"max-content",description:"Use the max-content inline size or max-content block size, as appropriate to the writing mode."},{name:"min-content",description:"Use the min-content inline size or min-content block size, as appropriate to the writing mode."}],syntax:"{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/height"}],description:"Specifies the height of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.",restrictions:["length","percentage"]},{name:"display",values:[{name:"block",description:"The element generates a block-level box"},{name:"contents",description:"The element itself does not generate any boxes, but its children and pseudo-elements still generate boxes as normal."},{name:"flex",description:"The element generates a principal flex container box and establishes a flex formatting context."},{name:"flexbox",description:"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'."},{name:"flow-root",description:"The element generates a block container box, and lays out its contents using flow layout."},{name:"grid",description:"The element generates a principal grid container box, and establishes a grid formatting context."},{name:"inline",description:"The element generates an inline-level box."},{name:"inline-block",description:"A block box, which itself is flowed as a single inline box, similar to a replaced element. The inside of an inline-block is formatted as a block box, and the box itself is formatted as an inline box."},{name:"inline-flex",description:"Inline-level flex container."},{name:"inline-flexbox",description:"Inline-level flex container. Standardized as 'inline-flex'"},{name:"inline-table",description:"Inline-level table wrapper box containing table box."},{name:"list-item",description:"One or more block boxes and one marker box."},{name:"-moz-box",description:"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'."},{name:"-moz-deck"},{name:"-moz-grid"},{name:"-moz-grid-group"},{name:"-moz-grid-line"},{name:"-moz-groupbox"},{name:"-moz-inline-box",description:"Inline-level flex container. Standardized as 'inline-flex'"},{name:"-moz-inline-grid"},{name:"-moz-inline-stack"},{name:"-moz-marker"},{name:"-moz-popup"},{name:"-moz-stack"},{name:"-ms-flexbox",description:"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'."},{name:"-ms-grid",description:"The element generates a principal grid container box, and establishes a grid formatting context."},{name:"-ms-inline-flexbox",description:"Inline-level flex container. Standardized as 'inline-flex'"},{name:"-ms-inline-grid",description:"Inline-level grid container."},{name:"none",description:"The element and its descendants generates no boxes."},{name:"ruby",description:"The element generates a principal ruby container box, and establishes a ruby formatting context."},{name:"ruby-base"},{name:"ruby-base-container"},{name:"ruby-text"},{name:"ruby-text-container"},{name:"run-in",description:"The element generates a run-in box. Run-in elements act like inlines or blocks, depending on the surrounding elements."},{name:"table",description:"The element generates a principal table wrapper box containing an additionally-generated table box, and establishes a table formatting context."},{name:"table-caption"},{name:"table-cell"},{name:"table-column"},{name:"table-column-group"},{name:"table-footer-group"},{name:"table-header-group"},{name:"table-row"},{name:"table-row-group"},{name:"-webkit-box",description:"The element lays out its contents using flow layout (block-and-inline layout). Standardized as 'flex'."},{name:"-webkit-flex",description:"The element lays out its contents using flow layout (block-and-inline layout)."},{name:"-webkit-inline-box",description:"Inline-level flex container. Standardized as 'inline-flex'"},{name:"-webkit-inline-flex",description:"Inline-level flex container."}],syntax:"[ || ] | | | | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/display"}],description:"In combination with 'float' and 'position', determines the type of box or boxes that are generated for an element.",restrictions:["enum"]},{name:"padding",values:[],syntax:"[ | ]{1,4}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/padding"}],description:"Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.",restrictions:["length","percentage"]},{name:"position",values:[{name:"absolute",description:"The box's position (and possibly size) is specified with the 'top', 'right', 'bottom', and 'left' properties. These properties specify offsets with respect to the box's 'containing block'."},{name:"fixed",description:"The box's position is calculated according to the 'absolute' model, but in addition, the box is fixed with respect to some reference. As with the 'absolute' model, the box's margins do not collapse with any other margins."},{name:"-ms-page",description:"The box's position is calculated according to the 'absolute' model."},{name:"relative",description:"The box's position is calculated according to the normal flow (this is called the position in normal flow). Then the box is offset relative to its normal position."},{name:"static",description:"The box is a normal box, laid out according to the normal flow. The 'top', 'right', 'bottom', and 'left' properties do not apply."},{name:"sticky",description:"The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes."},{name:"-webkit-sticky",description:"The box's position is calculated according to the normal flow. Then the box is offset relative to its flow root and containing block and in all cases, including table elements, does not affect the position of any following boxes."}],syntax:"static | relative | absolute | sticky | fixed",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/position"}],restrictions:["enum"]},{name:"border",syntax:" || || ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border"}],description:"Shorthand property for setting border width, style, and color.",restrictions:["length","line-width","line-style","color"]},{name:"margin",values:[{name:"auto"}],syntax:"[ | | auto ]{1,4}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/margin"}],description:"Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.",restrictions:["length","percentage"]},{name:"top",values:[{name:"auto",description:"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/top"}],description:"Specifies how far an absolutely positioned box's top margin edge is offset below the top edge of the box's 'containing block'.",restrictions:["length","percentage"]},{name:"left",values:[{name:"auto",description:"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/left"}],description:"Specifies how far an absolutely positioned box's left margin edge is offset to the right of the left edge of the box's 'containing block'.",restrictions:["length","percentage"]},{name:"margin-top",values:[{name:"auto"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/margin-top"}],description:"Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..",restrictions:["length","percentage"]},{name:"color",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/color"}],description:"Color of an element's text",restrictions:["color"]},{name:"font-size",values:[{name:"large"},{name:"larger"},{name:"medium"},{name:"small"},{name:"smaller"},{name:"x-large"},{name:"x-small"},{name:"xx-large"},{name:"xx-small"}],syntax:" | | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/font-size"}],description:"Indicates the desired height of glyphs from the font. For scalable fonts, the font-size is a scale factor applied to the EM unit of the font. (Note that certain glyphs may bleed outside their EM box.) For non-scalable fonts, the font-size is converted into absolute units and matched against the declared font-size of the font, using the same absolute coordinate space for both of the matched values.",restrictions:["length","percentage"]},{name:"background-color",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background-color"}],description:"Sets the background color of an element.",restrictions:["color"]},{name:"text-align",values:[{name:"center",description:"The inline contents are centered within the line box."},{name:"end",description:"The inline contents are aligned to the end edge of the line box."},{name:"justify",description:"The text is justified according to the method specified by the 'text-justify' property."},{name:"left",description:"The inline contents are aligned to the left edge of the line box. In vertical text, 'left' aligns to the edge of the line box that would be the start edge for left-to-right text."},{name:"right",description:"The inline contents are aligned to the right edge of the line box. In vertical text, 'right' aligns to the edge of the line box that would be the end edge for left-to-right text."},{name:"start",description:"The inline contents are aligned to the start edge of the line box."}],syntax:"start | end | left | right | center | justify | match-parent",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-align"}],description:"Describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box.",restrictions:["string"]},{name:"opacity",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/opacity"}],description:"Opacity of an element's text, where 1 is opaque and 0 is entirely transparent.",restrictions:["number(0-1)"]},{name:"background",values:[{name:"fixed",description:"The background is fixed with regard to the viewport. In paged media where there is no viewport, a 'fixed' background is fixed with respect to the page box and therefore replicated on every page."},{name:"local",description:"The background is fixed with regard to the element's contents: if the element has a scrolling mechanism, the background scrolls with the element's contents."},{name:"none",description:"A value of 'none' counts as an image layer but draws nothing."},{name:"scroll",description:"The background is fixed with regard to the element itself and does not scroll with its contents. (It is effectively attached to the element's border.)"}],syntax:"[ , ]* ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background"}],description:"Shorthand property for setting most background properties at the same place in the style sheet.",restrictions:["enum","image","color","position","length","repeat","percentage","box"]},{name:"float",values:[{name:"inline-end",description:"A keyword indicating that the element must float on the end side of its containing block. That is the right side with ltr scripts, and the left side with rtl scripts."},{name:"inline-start",description:"A keyword indicating that the element must float on the start side of its containing block. That is the left side with ltr scripts, and the right side with rtl scripts."},{name:"left",description:"The element generates a block box that is floated to the left. Content flows on the right side of the box, starting at the top (subject to the 'clear' property)."},{name:"none",description:"The box is not floated."},{name:"right",description:"Similar to 'left', except the box is floated to the right, and content flows on the left side of the box, starting at the top."}],syntax:"left | right | none | inline-start | inline-end",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/float"}],description:"Specifies how a box should be floated. It may be set for any element, but only applies to elements that generate boxes that are not absolutely positioned.",restrictions:["enum"]},{name:"font-weight",values:[{name:"100",description:"Thin"},{name:"200",description:"Extra Light (Ultra Light)"},{name:"300",description:"Light"},{name:"400",description:"Normal"},{name:"500",description:"Medium"},{name:"600",description:"Semi Bold (Demi Bold)"},{name:"700",description:"Bold"},{name:"800",description:"Extra Bold (Ultra Bold)"},{name:"900",description:"Black (Heavy)"},{name:"bold",description:"Same as 700"},{name:"bolder",description:"Specifies the weight of the face bolder than the inherited value."},{name:"lighter",description:"Specifies the weight of the face lighter than the inherited value."},{name:"normal",description:"Same as 400"}],syntax:"{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/font-weight"}],description:"Specifies weight of glyphs in the font, their degree of blackness or stroke thickness.",restrictions:["enum"]},{name:"overflow",values:[{name:"auto",description:"The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes."},{name:"hidden",description:"Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region."},{name:"-moz-hidden-unscrollable",description:"Same as the standardized 'clip', except doesn’t establish a block formatting context."},{name:"scroll",description:"Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped."},{name:"visible",description:"Content is not clipped, i.e., it may be rendered outside the content box."}],syntax:"[ visible | hidden | clip | scroll | auto ]{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow"}],description:"Shorthand for setting 'overflow-x' and 'overflow-y'.",restrictions:["enum"]},{name:"line-height",values:[{name:"normal",description:"Tells user agents to set the computed value to a 'reasonable' value based on the font size of the element."}],syntax:"normal | | | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/line-height"}],description:"Determines the block-progression dimension of the text content area of an inline box.",restrictions:["number","length","percentage"]},{name:"font-family",values:[{name:"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif"},{name:"Arial, Helvetica, sans-serif"},{name:"Cambria, Cochin, Georgia, Times, 'Times New Roman', serif"},{name:"'Courier New', Courier, monospace"},{name:"cursive"},{name:"fantasy"},{name:"'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif"},{name:"Georgia, 'Times New Roman', Times, serif"},{name:"'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif"},{name:"Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif"},{name:"'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif"},{name:"monospace"},{name:"sans-serif"},{name:"'Segoe UI', Tahoma, Geneva, Verdana, sans-serif"},{name:"serif"},{name:"'Times New Roman', Times, serif"},{name:"'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif"},{name:"Verdana, Geneva, Tahoma, sans-serif"}],syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/font-family"}],description:"Specifies a prioritized list of font family names or generic family names. A user agent iterates through the list of family names until it matches an available font that contains a glyph for the character to be rendered.",restrictions:["font"]},{name:"text-decoration",values:[{name:"dashed",description:"Produces a dashed line style."},{name:"dotted",description:"Produces a dotted line."},{name:"double",description:"Produces a double line."},{name:"line-through",description:"Each line of text has a line through the middle."},{name:"none",description:"Produces no line."},{name:"overline",description:"Each line of text has a line above it."},{name:"solid",description:"Produces a solid line."},{name:"underline",description:"Each line of text is underlined."},{name:"wavy",description:"Produces a wavy line."}],syntax:"<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-decoration"}],description:"Decorations applied to font used for an element's text.",restrictions:["enum","color"]},{name:"box-sizing",values:[{name:"border-box",description:"The specified width and height (and respective min/max properties) on this element determine the border box of the element."},{name:"content-box",description:"Behavior of width and height as specified by CSS2.1. The specified width and height (and respective min/max properties) apply to the width and height respectively of the content box of the element."}],syntax:"content-box | border-box",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/box-sizing"}],description:"Specifies the behavior of the 'width' and 'height' properties.",restrictions:["enum"]},{name:"z-index",values:[{name:"auto",description:"The stack level of the generated box in the current stacking context is 0. The box does not establish a new stacking context unless it is the root element."}],syntax:"auto | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/z-index"}],description:"For a positioned box, the 'z-index' property specifies the stack level of the box in the current stacking context and whether the box establishes a local stacking context.",restrictions:["integer"]},{name:"vertical-align",values:[{name:"auto",description:"Align the dominant baseline of the parent box with the equivalent, or heuristically reconstructed, baseline of the element inline box."},{name:"baseline",description:"Align the 'alphabetic' baseline of the element with the 'alphabetic' baseline of the parent element."},{name:"bottom",description:"Align the after edge of the extended inline box with the after-edge of the line box."},{name:"middle",description:"Align the 'middle' baseline of the inline element with the middle baseline of the parent."},{name:"sub",description:"Lower the baseline of the box to the proper position for subscripts of the parent's box. (This value has no effect on the font size of the element's text.)"},{name:"super",description:"Raise the baseline of the box to the proper position for superscripts of the parent's box. (This value has no effect on the font size of the element's text.)"},{name:"text-bottom",description:"Align the bottom of the box with the after-edge of the parent element's font."},{name:"text-top",description:"Align the top of the box with the before-edge of the parent element's font."},{name:"top",description:"Align the before edge of the extended inline box with the before-edge of the line box."},{name:"-webkit-baseline-middle"}],syntax:"baseline | sub | super | text-top | text-bottom | middle | top | bottom | | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/vertical-align"}],description:"Affects the vertical positioning of the inline boxes generated by an inline-level element inside a line box.",restrictions:["percentage","length"]},{name:"border-radius",syntax:"{1,4} [ / {1,4} ]?",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-radius"}],description:"Defines the radii of the outer border edge.",restrictions:["length","percentage"]},{name:"margin-left",values:[{name:"auto"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/margin-left"}],description:"Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..",restrictions:["length","percentage"]},{name:"cursor",values:[{name:"alias",description:"Indicates an alias of/shortcut to something is to be created. Often rendered as an arrow with a small curved arrow next to it."},{name:"all-scroll",description:"Indicates that the something can be scrolled in any direction. Often rendered as arrows pointing up, down, left, and right with a dot in the middle."},{name:"auto",description:"The UA determines the cursor to display based on the current context."},{name:"cell",description:"Indicates that a cell or set of cells may be selected. Often rendered as a thick plus-sign with a dot in the middle."},{name:"col-resize",description:"Indicates that the item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them."},{name:"context-menu",description:"A context menu is available for the object under the cursor. Often rendered as an arrow with a small menu-like graphic next to it."},{name:"copy",description:"Indicates something is to be copied. Often rendered as an arrow with a small plus sign next to it."},{name:"crosshair",description:"A simple crosshair (e.g., short line segments resembling a '+' sign). Often used to indicate a two dimensional bitmap selection mode."},{name:"default",description:"The platform-dependent default cursor. Often rendered as an arrow."},{name:"e-resize",description:"Indicates that east edge is to be moved."},{name:"ew-resize",description:"Indicates a bidirectional east-west resize cursor."},{name:"grab",description:"Indicates that something can be grabbed."},{name:"grabbing",description:"Indicates that something is being grabbed."},{name:"help",description:"Help is available for the object under the cursor. Often rendered as a question mark or a balloon."},{name:"move",description:"Indicates something is to be moved."},{name:"-moz-grab",description:"Indicates that something can be grabbed."},{name:"-moz-grabbing",description:"Indicates that something is being grabbed."},{name:"-moz-zoom-in",description:"Indicates that something can be zoomed (magnified) in."},{name:"-moz-zoom-out",description:"Indicates that something can be zoomed (magnified) out."},{name:"ne-resize",description:"Indicates that movement starts from north-east corner."},{name:"nesw-resize",description:"Indicates a bidirectional north-east/south-west cursor."},{name:"no-drop",description:"Indicates that the dragged item cannot be dropped at the current cursor location. Often rendered as a hand or pointer with a small circle with a line through it."},{name:"none",description:"No cursor is rendered for the element."},{name:"not-allowed",description:"Indicates that the requested action will not be carried out. Often rendered as a circle with a line through it."},{name:"n-resize",description:"Indicates that north edge is to be moved."},{name:"ns-resize",description:"Indicates a bidirectional north-south cursor."},{name:"nw-resize",description:"Indicates that movement starts from north-west corner."},{name:"nwse-resize",description:"Indicates a bidirectional north-west/south-east cursor."},{name:"pointer",description:"The cursor is a pointer that indicates a link."},{name:"progress",description:"A progress indicator. The program is performing some processing, but is different from 'wait' in that the user may still interact with the program. Often rendered as a spinning beach ball, or an arrow with a watch or hourglass."},{name:"row-resize",description:"Indicates that the item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them."},{name:"se-resize",description:"Indicates that movement starts from south-east corner."},{name:"s-resize",description:"Indicates that south edge is to be moved."},{name:"sw-resize",description:"Indicates that movement starts from south-west corner."},{name:"text",description:"Indicates text that may be selected. Often rendered as a vertical I-beam."},{name:"vertical-text",description:"Indicates vertical-text that may be selected. Often rendered as a horizontal I-beam."},{name:"wait",description:"Indicates that the program is busy and the user should wait. Often rendered as a watch or hourglass."},{name:"-webkit-grab",description:"Indicates that something can be grabbed."},{name:"-webkit-grabbing",description:"Indicates that something is being grabbed."},{name:"-webkit-zoom-in",description:"Indicates that something can be zoomed (magnified) in."},{name:"-webkit-zoom-out",description:"Indicates that something can be zoomed (magnified) out."},{name:"w-resize",description:"Indicates that west edge is to be moved."},{name:"zoom-in",description:"Indicates that something can be zoomed (magnified) in."},{name:"zoom-out",description:"Indicates that something can be zoomed (magnified) out."}],syntax:"[ [ [ ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/cursor"}],description:"Allows control over cursor appearance in an element",restrictions:["url","number","enum"]},{name:"margin-bottom",values:[{name:"auto"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/margin-bottom"}],description:"Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..",restrictions:["length","percentage"]},{name:"right",values:[{name:"auto",description:"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/right"}],description:"Specifies how far an absolutely positioned box's right margin edge is offset to the left of the right edge of the box's 'containing block'.",restrictions:["length","percentage"]},{name:"margin-right",values:[{name:"auto"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/margin-right"}],description:"Shorthand property to set values the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..",restrictions:["length","percentage"]},{name:"padding-left",syntax:" | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/padding-left"}],description:"Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.",restrictions:["length","percentage"]},{name:"padding-top",syntax:" | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/padding-top"}],description:"Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.",restrictions:["length","percentage"]},{name:"max-width",values:[{name:"none",description:"No limit on the width of the box."},{name:"fit-content",description:"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode."},{name:"max-content",description:"Use the max-content inline size or max-content block size, as appropriate to the writing mode."},{name:"min-content",description:"Use the min-content inline size or min-content block size, as appropriate to the writing mode."}],syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/max-width"}],description:"Allows authors to constrain content width to a certain range.",restrictions:["length","percentage"]},{name:"bottom",values:[{name:"auto",description:"For non-replaced elements, the effect of this value depends on which of related properties have the value 'auto' as well"}],syntax:" | | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/bottom"}],description:"Specifies how far an absolutely positioned box's bottom margin edge is offset above the bottom edge of the box's 'containing block'.",restrictions:["length","percentage"]},{name:"background-image",values:[{name:"none",description:"Counts as an image layer but draws nothing."}],syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background-image"}],description:"Sets the background image(s) of an element.",restrictions:["image","enum"]},{name:"content",values:[{name:"attr()",description:"The attr(n) function returns as a string the value of attribute n for the subject of the selector."},{name:"counter(name)",description:"Counters are denoted by identifiers (see the 'counter-increment' and 'counter-reset' properties)."},{name:"icon",description:"The (pseudo-)element is replaced in its entirety by the resource referenced by its 'icon' property, and treated as a replaced element."},{name:"none",description:"On elements, this inhibits the children of the element from being rendered as children of this element, as if the element was empty. On pseudo-elements it causes the pseudo-element to have no content."},{name:"normal",description:"See http://www.w3.org/TR/css3-content/#content for computation rules."},{name:"url()"}],syntax:"normal | none | [ | ] [/ ]?",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/content"}],description:"Determines which page-based occurrence of a given element is applied to a counter or string value.",restrictions:["string","url"]},{name:"padding-right",syntax:" | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/padding-right"}],description:"Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.",restrictions:["length","percentage"]},{name:"white-space",values:[{name:"normal",description:"Sets 'white-space-collapsing' to 'collapse' and 'text-wrap' to 'normal'."},{name:"nowrap",description:"Sets 'white-space-collapsing' to 'collapse' and 'text-wrap' to 'none'."},{name:"pre",description:"Sets 'white-space-collapsing' to 'preserve' and 'text-wrap' to 'none'."},{name:"pre-line",description:"Sets 'white-space-collapsing' to 'preserve-breaks' and 'text-wrap' to 'normal'."},{name:"pre-wrap",description:"Sets 'white-space-collapsing' to 'preserve' and 'text-wrap' to 'normal'."}],syntax:"normal | pre | nowrap | pre-wrap | pre-line | break-spaces",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/white-space"}],description:"Shorthand property for the 'white-space-collapsing' and 'text-wrap' properties.",restrictions:["enum"]},{name:"padding-bottom",syntax:" | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/padding-bottom"}],description:"Shorthand property to set values the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.",restrictions:["length","percentage"]},{name:"border-bottom",syntax:" || || ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-bottom"}],description:"Shorthand property for setting border width, style and color.",restrictions:["length","line-width","line-style","color"]},{name:"box-shadow",values:[{name:"inset",description:"Changes the drop shadow from an outer shadow (one that shadows the box onto the canvas, as if it were lifted above the canvas) to an inner shadow (one that shadows the canvas onto the box, as if the box were cut out of the canvas and shifted behind it)."},{name:"none",description:"No shadow."}],syntax:"none | #",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/box-shadow"}],description:"Attaches one or more drop-shadows to the box. The property is a comma-separated list of shadows, each specified by 2-4 length values, an optional color, and an optional 'inset' keyword. Omitted lengths are 0; omitted colors are a user agent chosen color.",restrictions:["length","color","enum"]},{name:"transform",values:[{name:"matrix()",description:"Specifies a 2D transformation in the form of a transformation matrix of six values. matrix(a,b,c,d,e,f) is equivalent to applying the transformation matrix [a b c d e f]"},{name:"matrix3d()",description:"Specifies a 3D transformation as a 4x4 homogeneous matrix of 16 values in column-major order."},{name:"none"},{name:"perspective()",description:"Specifies a perspective projection matrix."},{name:"rotate()",description:"Specifies a 2D rotation by the angle specified in the parameter about the origin of the element, as defined by the transform-origin property."},{name:"rotate3d()",description:"Specifies a clockwise 3D rotation by the angle specified in last parameter about the [x,y,z] direction vector described by the first 3 parameters."},{name:"rotateX('angle')",description:"Specifies a clockwise rotation by the given angle about the X axis."},{name:"rotateY('angle')",description:"Specifies a clockwise rotation by the given angle about the Y axis."},{name:"rotateZ('angle')",description:"Specifies a clockwise rotation by the given angle about the Z axis."},{name:"scale()",description:"Specifies a 2D scale operation by the [sx,sy] scaling vector described by the 2 parameters. If the second parameter is not provided, it is takes a value equal to the first."},{name:"scale3d()",description:"Specifies a 3D scale operation by the [sx,sy,sz] scaling vector described by the 3 parameters."},{name:"scaleX()",description:"Specifies a scale operation using the [sx,1] scaling vector, where sx is given as the parameter."},{name:"scaleY()",description:"Specifies a scale operation using the [sy,1] scaling vector, where sy is given as the parameter."},{name:"scaleZ()",description:"Specifies a scale operation using the [1,1,sz] scaling vector, where sz is given as the parameter."},{name:"skew()",description:"Specifies a skew transformation along the X and Y axes. The first angle parameter specifies the skew on the X axis. The second angle parameter specifies the skew on the Y axis. If the second parameter is not given then a value of 0 is used for the Y angle (ie: no skew on the Y axis)."},{name:"skewX()",description:"Specifies a skew transformation along the X axis by the given angle."},{name:"skewY()",description:"Specifies a skew transformation along the Y axis by the given angle."},{name:"translate()",description:"Specifies a 2D translation by the vector [tx, ty], where tx is the first translation-value parameter and ty is the optional second translation-value parameter."},{name:"translate3d()",description:"Specifies a 3D translation by the vector [tx,ty,tz], with tx, ty and tz being the first, second and third translation-value parameters respectively."},{name:"translateX()",description:"Specifies a translation by the given amount in the X direction."},{name:"translateY()",description:"Specifies a translation by the given amount in the Y direction."},{name:"translateZ()",description:"Specifies a translation by the given amount in the Z direction. Note that percentage values are not allowed in the translateZ translation-value, and if present are evaluated as 0."}],syntax:"none | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/transform"}],description:"A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.",restrictions:["enum"]},{name:"min-height",values:[{name:"auto"},{name:"fit-content",description:"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode."},{name:"max-content",description:"Use the max-content inline size or max-content block size, as appropriate to the writing mode."},{name:"min-content",description:"Use the min-content inline size or min-content block size, as appropriate to the writing mode."}],syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/min-height"}],description:"Allows authors to constrain content height to a certain range.",restrictions:["length","percentage"]},{name:"visibility",values:[{name:"collapse",description:"Table-specific. If used on elements other than rows, row groups, columns, or column groups, 'collapse' has the same meaning as 'hidden'."},{name:"hidden",description:"The generated box is invisible (fully transparent, nothing is drawn), but still affects layout."},{name:"visible",description:"The generated box is visible."}],syntax:"visible | hidden | collapse",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/visibility"}],description:"Specifies whether the boxes generated by an element are rendered. Invisible boxes still affect layout (set the ‘display’ property to ‘none’ to suppress box generation altogether).",restrictions:["enum"]},{name:"background-position",syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background-position"}],description:"Specifies the initial position of the background image(s) (after any resizing) within their corresponding background positioning area.",restrictions:["position","length","percentage"]},{name:"border-top",syntax:" || || ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-top"}],description:"Shorthand property for setting border width, style and color",restrictions:["length","line-width","line-style","color"]},{name:"min-width",values:[{name:"auto"},{name:"fit-content",description:"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode."},{name:"max-content",description:"Use the max-content inline size or max-content block size, as appropriate to the writing mode."},{name:"min-content",description:"Use the min-content inline size or min-content block size, as appropriate to the writing mode."}],syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/min-width"}],description:"Allows authors to constrain content width to a certain range.",restrictions:["length","percentage"]},{name:"outline",values:[{name:"auto",description:"Permits the user agent to render a custom outline style, typically the default platform style."},{name:"invert",description:"Performs a color inversion on the pixels on the screen."}],syntax:"[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/outline"}],description:"Shorthand property for 'outline-style', 'outline-width', and 'outline-color'.",restrictions:["length","line-width","line-style","color","enum"]},{name:"transition",values:[{name:"all",description:"Every property that is able to undergo a transition will do so."},{name:"none",description:"No property will transition."}],syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/transition"}],description:"Shorthand property combines four of the transition properties into a single property.",restrictions:["time","property","timing-function","enum"]},{name:"clear",values:[{name:"both",description:"The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating and left-floating boxes that resulted from elements earlier in the source document."},{name:"left",description:"The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any left-floating boxes that resulted from elements earlier in the source document."},{name:"none",description:"No constraint on the box's position with respect to floats."},{name:"right",description:"The clearance of the generated box is set to the amount necessary to place the top border edge below the bottom outer edge of any right-floating boxes that resulted from elements earlier in the source document."}],syntax:"none | left | right | both | inline-start | inline-end",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/clear"}],description:"Indicates which sides of an element's box(es) may not be adjacent to an earlier floating box. The 'clear' property does not consider floats inside the element itself or in other block formatting contexts.",restrictions:["enum"]},{name:"border-color",values:[],syntax:"{1,4}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-color"}],description:"The color of the border around all four edges of an element.",restrictions:["color"]},{name:"background-repeat",values:[],syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background-repeat"}],description:"Specifies how background images are tiled after they have been sized and positioned.",restrictions:["repeat"]},{name:"background-size",values:[{name:"auto",description:"Resolved by using the image’s intrinsic ratio and the size of the other dimension, or failing that, using the image’s intrinsic size, or failing that, treating it as 100%."},{name:"contain",description:"Scale the image, while preserving its intrinsic aspect ratio (if any), to the largest size such that both its width and its height can fit inside the background positioning area."},{name:"cover",description:"Scale the image, while preserving its intrinsic aspect ratio (if any), to the smallest size such that both its width and its height can completely cover the background positioning area."}],syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background-size"}],description:"Specifies the size of the background images.",restrictions:["length","percentage"]},{name:"text-transform",values:[{name:"capitalize",description:"Puts the first typographic letter unit of each word in titlecase."},{name:"lowercase",description:"Puts all letters in lowercase."},{name:"none",description:"No effects."},{name:"uppercase",description:"Puts all letters in uppercase."}],syntax:"none | capitalize | uppercase | lowercase | full-width | full-size-kana",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-transform"}],description:"Controls capitalization effects of an element’s text.",restrictions:["enum"]},{name:"max-height",values:[{name:"none",description:"No limit on the height of the box."},{name:"fit-content",description:"Use the fit-content inline size or fit-content block size, as appropriate to the writing mode."},{name:"max-content",description:"Use the max-content inline size or max-content block size, as appropriate to the writing mode."},{name:"min-content",description:"Use the min-content inline size or min-content block size, as appropriate to the writing mode."}],syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/max-height"}],description:"Allows authors to constrain content height to a certain range.",restrictions:["length","percentage"]},{name:"list-style",values:[{name:"armenian"},{name:"circle",description:"A hollow circle."},{name:"decimal"},{name:"decimal-leading-zero"},{name:"disc",description:"A filled circle."},{name:"georgian"},{name:"inside",description:"The marker box is outside the principal block box, as described in the section on the ::marker pseudo-element below."},{name:"lower-alpha"},{name:"lower-greek"},{name:"lower-latin"},{name:"lower-roman"},{name:"none"},{name:"outside",description:"The ::marker pseudo-element is an inline element placed immediately before all ::before pseudo-elements in the principal block box, after which the element's content flows."},{name:"square",description:"A filled square."},{name:"symbols()",description:"Allows a counter style to be defined inline."},{name:"upper-alpha"},{name:"upper-latin"},{name:"upper-roman"},{name:"url()"}],syntax:"<'list-style-type'> || <'list-style-position'> || <'list-style-image'>",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/list-style"}],description:"Shorthand for setting 'list-style-type', 'list-style-position' and 'list-style-image'",restrictions:["image","enum","url"]},{name:"font-style",values:[{name:"italic",description:"Selects a font that is labeled as an 'italic' face, or an 'oblique' face if one is not"},{name:"normal",description:"Selects a face that is classified as 'normal'."},{name:"oblique",description:"Selects a font that is labeled as an 'oblique' face, or an 'italic' face if one is not."}],syntax:"normal | italic | oblique {0,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/font-style"}],description:"Allows italic or oblique faces to be selected. Italic forms are generally cursive in nature while oblique faces are typically sloped versions of the regular face.",restrictions:["enum"]},{name:"font",values:[{name:"100",description:"Thin"},{name:"200",description:"Extra Light (Ultra Light)"},{name:"300",description:"Light"},{name:"400",description:"Normal"},{name:"500",description:"Medium"},{name:"600",description:"Semi Bold (Demi Bold)"},{name:"700",description:"Bold"},{name:"800",description:"Extra Bold (Ultra Bold)"},{name:"900",description:"Black (Heavy)"},{name:"bold",description:"Same as 700"},{name:"bolder",description:"Specifies the weight of the face bolder than the inherited value."},{name:"caption",description:"The font used for captioned controls (e.g., buttons, drop-downs, etc.)."},{name:"icon",description:"The font used to label icons."},{name:"italic",description:"Selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'."},{name:"large"},{name:"larger"},{name:"lighter",description:"Specifies the weight of the face lighter than the inherited value."},{name:"medium"},{name:"menu",description:"The font used in menus (e.g., dropdown menus and menu lists)."},{name:"message-box",description:"The font used in dialog boxes."},{name:"normal",description:"Specifies a face that is not labeled as a small-caps font."},{name:"oblique",description:"Selects a font that is labeled 'oblique'."},{name:"small"},{name:"small-caps",description:"Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font."},{name:"small-caption",description:"The font used for labeling small controls."},{name:"smaller"},{name:"status-bar",description:"The font used in window status bars."},{name:"x-large"},{name:"x-small"},{name:"xx-large"},{name:"xx-small"}],syntax:"[ [ <'font-style'> || || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/font"}],description:"Shorthand property for setting 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', and 'font-family', at the same place in the style sheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.",restrictions:["font"]},{name:"text-overflow",values:[{name:"clip",description:"Clip inline content that overflows. Characters may be only partially rendered."},{name:"ellipsis",description:"Render an ellipsis character (U+2026) to represent clipped inline content."}],syntax:"[ clip | ellipsis | ]{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-overflow"}],description:"Text can overflow for example when it is prevented from wrapping.",restrictions:["enum","string"]},{name:"border-left",syntax:" || || ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-left"}],description:"Shorthand property for setting border width, style and color",restrictions:["length","line-width","line-style","color"]},{name:"border-right",syntax:" || || ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-right"}],description:"Shorthand property for setting border width, style and color",restrictions:["length","line-width","line-style","color"]},{name:"border-width",values:[],syntax:"{1,4}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-width"}],description:"Shorthand that sets the four 'border-*-width' properties. If it has four values, they set top, right, bottom and left in that order. If left is missing, it is the same as right; if bottom is missing, it is the same as top; if right is missing, it is the same as top.",restrictions:["length","line-width"]},{name:"justify-content",values:[{name:"center",description:"Flex items are packed toward the center of the line."},{name:"start",description:"The items are packed flush to each other toward the start edge of the alignment container in the main axis."},{name:"end",description:"The items are packed flush to each other toward the end edge of the alignment container in the main axis."},{name:"left",description:"The items are packed flush to each other toward the left edge of the alignment container in the main axis."},{name:"right",description:"The items are packed flush to each other toward the right edge of the alignment container in the main axis."},{name:"safe",description:"If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were start."},{name:"unsafe",description:"Regardless of the relative sizes of the item and alignment container, the given alignment value is honored."},{name:"stretch",description:"If the combined size of the alignment subjects is less than the size of the alignment container, any auto-sized alignment subjects have their size increased equally (not proportionally), while still respecting the constraints imposed by max-height/max-width (or equivalent functionality), so that the combined size exactly fills the alignment container."},{name:"space-evenly",description:"The items are evenly distributed within the alignment container along the main axis."},{name:"flex-end",description:"Flex items are packed toward the end of the line."},{name:"flex-start",description:"Flex items are packed toward the start of the line."},{name:"space-around",description:"Flex items are evenly distributed in the line, with half-size spaces on either end."},{name:"space-between",description:"Flex items are evenly distributed in the line."},{name:"baseline",description:"Specifies participation in first-baseline alignment."},{name:"first baseline",description:"Specifies participation in first-baseline alignment."},{name:"last baseline",description:"Specifies participation in last-baseline alignment."}],syntax:"normal | | ? [ | left | right ]",description:"Aligns flex items along the main axis of the current line of the flex container.",restrictions:["enum"]},{name:"align-items",values:[{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"normal | stretch | | [ ? ]",description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"overflow-y",values:[{name:"auto",description:"The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes."},{name:"hidden",description:"Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region."},{name:"scroll",description:"Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped."},{name:"visible",description:"Content is not clipped, i.e., it may be rendered outside the content box."}],syntax:"visible | hidden | clip | scroll | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-y"}],description:"Specifies the handling of overflow in the vertical direction.",restrictions:["enum"]},{name:"pointer-events",values:[{name:"all",description:"The given element can be the target element for pointer events whenever the pointer is over either the interior or the perimeter of the element."},{name:"fill",description:"The given element can be the target element for pointer events whenever the pointer is over the interior of the element."},{name:"none",description:"The given element does not receive pointer events."},{name:"painted",description:'The given element can be the target element for pointer events when the pointer is over a "painted" area. '},{name:"stroke",description:"The given element can be the target element for pointer events whenever the pointer is over the perimeter of the element."},{name:"visible",description:"The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and the pointer is over either the interior or the perimete of the element."},{name:"visibleFill",description:"The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and when the pointer is over the interior of the element."},{name:"visiblePainted",description:"The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and when the pointer is over a ‘painted’ area."},{name:"visibleStroke",description:"The given element can be the target element for pointer events when the ‘visibility’ property is set to visible and when the pointer is over the perimeter of the element."}],syntax:"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/pointer-events"}],description:"Specifies under what circumstances a given element can be the target element for a pointer event.",restrictions:["enum"]},{name:"letter-spacing",values:[{name:"normal",description:"The spacing is the normal spacing for the current font. It is typically zero-length."}],syntax:"normal | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/letter-spacing"}],description:"Specifies the minimum, maximum, and optimal spacing between grapheme clusters.",restrictions:["length"]},{name:"border-style",values:[],syntax:"{1,4}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-style"}],description:"The style of the border around edges of an element.",restrictions:["line-style"]},{name:"animation",values:[{name:"alternate",description:"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction."},{name:"alternate-reverse",description:"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction."},{name:"backwards",description:"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'."},{name:"both",description:"Both forwards and backwards fill modes are applied."},{name:"forwards",description:"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes."},{name:"infinite",description:"Causes the animation to repeat forever."},{name:"none",description:"No animation is performed"},{name:"normal",description:"Normal playback."},{name:"reverse",description:"All iterations of the animation are played in the reverse direction from the way they were specified."}],syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation"}],description:"Shorthand property combines six of the animation properties into a single property.",restrictions:["time","timing-function","enum","identifier","number"]},{name:"overflow-x",values:[{name:"auto",description:"The behavior of the 'auto' value is UA-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes."},{name:"hidden",description:"Content is clipped and no scrolling mechanism should be provided to view the content outside the clipping region."},{name:"scroll",description:"Content is clipped and if the user agent uses a scrolling mechanism that is visible on the screen (such as a scroll bar or a panner), that mechanism should be displayed for a box whether or not any of its content is clipped."},{name:"visible",description:"Content is not clipped, i.e., it may be rendered outside the content box."}],syntax:"visible | hidden | clip | scroll | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-x"}],description:"Specifies the handling of overflow in the horizontal direction.",restrictions:["enum"]},{name:"word-wrap",values:[{name:"break-word",description:"An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line."},{name:"normal",description:"Lines may break only at allowed break points."}],syntax:"normal | break-word",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"}],description:"Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit.",restrictions:["enum"]},{name:"border-collapse",values:[{name:"collapse",description:"Selects the collapsing borders model."},{name:"separate",description:"Selects the separated borders border model."}],syntax:"collapse | separate",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-collapse"}],description:"Selects a table's border model.",restrictions:["enum"]},{name:"flex-direction",values:[{name:"column",description:"The flex container’s main axis has the same orientation as the block axis of the current writing mode."},{name:"column-reverse",description:"Same as 'column', except the main-start and main-end directions are swapped."},{name:"row",description:"The flex container’s main axis has the same orientation as the inline axis of the current writing mode."},{name:"row-reverse",description:"Same as 'row', except the main-start and main-end directions are swapped."}],syntax:"row | row-reverse | column | column-reverse",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/flex-direction"}],description:"Specifies how flex items are placed in the flex container, by setting the direction of the flex container’s main axis.",restrictions:["enum"]},{name:"zoom",browsers:["E12","S3.1","C1","IE5.5","O15"],values:[{name:"normal"}],syntax:"auto | | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/zoom"}],description:"Non-standard. Specifies the magnification scale of the object. See 'transform: scale()' for a standards-based alternative.",restrictions:["enum","integer","number","percentage"]},{name:"flex",values:[{name:"auto",description:"Retrieves the value of the main size property as the used 'flex-basis'."},{name:"content",description:"Indicates automatic sizing, based on the flex item’s content."},{name:"none",description:"Expands to '0 0 auto'."}],syntax:"none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/flex"}],description:"Specifies the components of a flexible length: the flex grow factor and flex shrink factor, and the flex basis.",restrictions:["length","number","percentage"]},{name:"text-shadow",values:[{name:"none",description:"No shadow."}],syntax:"none | #",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-shadow"}],description:"Enables shadow effects to be applied to the text of the element.",restrictions:["length","color"]},{name:"list-style-type",values:[{name:"armenian",description:"Traditional uppercase Armenian numbering."},{name:"circle",description:"A hollow circle."},{name:"decimal",description:"Western decimal numbers."},{name:"decimal-leading-zero",description:"Decimal numbers padded by initial zeros."},{name:"disc",description:"A filled circle."},{name:"georgian",description:"Traditional Georgian numbering."},{name:"lower-alpha",description:"Lowercase ASCII letters."},{name:"lower-greek",description:"Lowercase classical Greek."},{name:"lower-latin",description:"Lowercase ASCII letters."},{name:"lower-roman",description:"Lowercase ASCII Roman numerals."},{name:"none",description:"No marker"},{name:"square",description:"A filled square."},{name:"symbols()",description:"Allows a counter style to be defined inline."},{name:"upper-alpha",description:"Uppercase ASCII letters."},{name:"upper-latin",description:"Uppercase ASCII letters."},{name:"upper-roman",description:"Uppercase ASCII Roman numerals."}],syntax:" | | none",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/list-style-type"}],description:"Used to construct the default contents of a list item’s marker",restrictions:["enum","string"]},{name:"border-bottom-left-radius",syntax:"{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius"}],description:"Defines the radii of the bottom left outer border edge.",restrictions:["length","percentage"]},{name:"user-select",values:[{name:"all",description:"The content of the element must be selected atomically"},{name:"auto"},{name:"contain",description:"UAs must not allow a selection which is started in this element to be extended outside of this element."},{name:"none",description:"The UA must not allow selections to be started in this element."},{name:"text",description:"The element imposes no constraint on the selection."}],status:"nonstandard",syntax:"auto | text | none | contain | all",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/user-select"}],description:"Controls the appearance of selection.",restrictions:["enum"]},{name:"fill",values:[{name:"url()",description:"A URL reference to a paint server element, which is an element that defines a paint server: ‘hatch’, ‘linearGradient’, ‘mesh’, ‘pattern’, ‘radialGradient’ and ‘solidcolor’."},{name:"none",description:"No paint is applied in this layer."}],description:"Paints the interior of the given graphical element.",restrictions:["color","enum","url"]},{name:"transform-origin",syntax:"[ | left | center | right | top | bottom ] | [ [ | left | center | right ] && [ | top | center | bottom ] ] ?",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/transform-origin"}],description:"Establishes the origin of transformation for an element.",restrictions:["position","length","percentage"]},{name:"border-top-left-radius",syntax:"{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius"}],description:"Defines the radii of the top left outer border edge.",restrictions:["length","percentage"]},{name:"text-indent",values:[],syntax:" && hanging? && each-line?",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-indent"}],description:"Specifies the indentation applied to lines of inline content in a block. The indentation only affects the first line of inline content in the block unless the 'hanging' keyword is specified, in which case it affects all lines except the first.",restrictions:["percentage","length"]},{name:"border-bottom-right-radius",syntax:"{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius"}],description:"Defines the radii of the bottom right outer border edge.",restrictions:["length","percentage"]},{name:"flex-wrap",values:[{name:"nowrap",description:"The flex container is single-line."},{name:"wrap",description:"The flexbox is multi-line."},{name:"wrap-reverse",description:"Same as 'wrap', except the cross-start and cross-end directions are swapped."}],syntax:"nowrap | wrap | wrap-reverse",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/flex-wrap"}],description:"Controls whether the flex container is single-line or multi-line, and the direction of the cross-axis, which determines the direction new lines are stacked in.",restrictions:["enum"]},{name:"border-spacing",syntax:" ?",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-spacing"}],description:"The lengths specify the distance that separates adjoining cell borders. If one length is specified, it gives both the horizontal and vertical spacing. If two are specified, the first gives the horizontal spacing and the second the vertical spacing. Lengths may not be negative.",restrictions:["length"]},{name:"border-top-right-radius",syntax:"{1,2}",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius"}],description:"Defines the radii of the top right outer border edge.",restrictions:["length","percentage"]},{name:"clip",values:[{name:"auto",description:"The element does not clip."},{name:"rect()",description:"Specifies offsets from the edges of the border box."}],syntax:" | auto",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/clip"}],description:"Deprecated. Use the 'clip-path' property when support allows. Defines the visible portion of an element’s box.",restrictions:["enum"]},{name:"border-top-color",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-top-color"}],description:"Sets the color of the top border.",restrictions:["color"]},{name:"word-break",values:[{name:"break-all",description:"Lines may break between any two grapheme clusters for non-CJK scripts."},{name:"keep-all",description:"Block characters can no longer create implied break points."},{name:"normal",description:"Breaks non-CJK scripts according to their own rules."}],syntax:"normal | break-all | keep-all | break-word",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/word-break"}],description:"Specifies line break opportunities for non-CJK scripts.",restrictions:["enum"]},{name:"border-bottom-color",syntax:"<'border-top-color'>",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color"}],description:"Sets the color of the bottom border.",restrictions:["color"]},{name:"flex-grow",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/flex-grow"}],description:"Sets the flex grow factor. Negative numbers are invalid.",restrictions:["number"]},{name:"direction",values:[{name:"ltr",description:"Left-to-right direction."},{name:"rtl",description:"Right-to-left direction."}],syntax:"ltr | rtl",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/direction"}],description:"Specifies the inline base direction or directionality of any bidi paragraph, embedding, isolate, or override established by the box. Note: for HTML content use the 'dir' attribute and 'bdo' element rather than this property.",restrictions:["enum"]},{name:"align-self",values:[{name:"auto",description:"Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself."},{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"auto | normal | stretch | | ? ",description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"flex-shrink",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/flex-shrink"}],description:"Sets the flex shrink factor. Negative numbers are invalid.",restrictions:["number"]},{name:"text-rendering",browsers:["FF1","S5","C4","O15"],values:[{name:"auto"},{name:"geometricPrecision",description:"Indicates that the user agent shall emphasize geometric precision over legibility and rendering speed."},{name:"optimizeLegibility",description:"Indicates that the user agent shall emphasize legibility over rendering speed and geometric precision."},{name:"optimizeSpeed",description:"Indicates that the user agent shall emphasize rendering speed over legibility and geometric precision."}],syntax:"auto | optimizeSpeed | optimizeLegibility | geometricPrecision",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/text-rendering"}],description:"The creator of SVG content might want to provide a hint to the implementation about what tradeoffs to make as it renders text. The ‘text-rendering’ property provides these hints.",restrictions:["enum"]},{name:"touch-action",values:[{name:"auto",description:"The user agent may determine any permitted touch behaviors for touches that begin on the element."},{name:"cross-slide-x"},{name:"cross-slide-y"},{name:"double-tap-zoom"},{name:"manipulation",description:"The user agent may consider touches that begin on the element only for the purposes of scrolling and continuous zooming."},{name:"none",description:"Touches that begin on the element must not trigger default touch behaviors."},{name:"pan-x",description:"The user agent may consider touches that begin on the element only for the purposes of horizontally scrolling the element’s nearest ancestor with horizontally scrollable content."},{name:"pan-y",description:"The user agent may consider touches that begin on the element only for the purposes of vertically scrolling the element’s nearest ancestor with vertically scrollable content."},{name:"pinch-zoom"}],syntax:"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/touch-action"}],description:"Determines whether touch input may trigger default behavior supplied by user agent.",restrictions:["enum"]},{name:"background-clip",syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/background-clip"}],description:"Determines the background painting area.",restrictions:["box"]},{name:"filter",browsers:["E12","FF35","S9.1","C53","O40"],values:[{name:"none",description:"No filter effects are applied."},{name:"blur()",description:"Applies a Gaussian blur to the input image."},{name:"brightness()",description:"Applies a linear multiplier to input image, making it appear more or less bright."},{name:"contrast()",description:"Adjusts the contrast of the input."},{name:"drop-shadow()",description:"Applies a drop shadow effect to the input image."},{name:"grayscale()",description:"Converts the input image to grayscale."},{name:"hue-rotate()",description:"Applies a hue rotation on the input image. "},{name:"invert()",description:"Inverts the samples in the input image."},{name:"opacity()",description:"Applies transparency to the samples in the input image."},{name:"saturate()",description:"Saturates the input image."},{name:"sepia()",description:"Converts the input image to sepia."},{name:"url()",browsers:["E12","FF35","S9.1","C53","O40"],description:"A filter reference to a element."}],syntax:"none | ",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/filter"}],description:"Processes an element’s rendering before it is displayed in the document, by applying one or more filter effects.",restrictions:["enum","url"]},{name:"src",values:[{name:"url()",description:"Reference font by URL"},{name:"format()",description:"Optional hint describing the format of the font resource."},{name:"local()",description:"Format-specific string that identifies a locally available copy of a given font."}],syntax:"[ [ format( # ) ]? | local( ) ]#",description:"@font-face descriptor. Specifies the resource containing font data. It is required, whether the font is downloadable or locally installed.",restrictions:["enum","url","identifier"]},{name:"animation-timing-function",syntax:"#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function"}],description:"Describes how the animation will progress over one cycle of its duration.",restrictions:["timing-function"]},{name:"border-right-color",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-right-color"}],description:"Sets the color of the right border.",restrictions:["color"]},{name:"font-variant",values:[{name:"normal",description:"Specifies a face that is not labeled as a small-caps font."},{name:"small-caps",description:"Specifies a font that is labeled as a small-caps font. If a genuine small-caps font is not available, user agents should simulate a small-caps font."}],syntax:"normal | none | [ || || || || stylistic() || historical-forms || styleset(#) || character-variant(#) || swash() || ornaments() || annotation() || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || || || || ordinal || slashed-zero || || || ruby ]",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/font-variant"}],description:"Specifies variant representations of the font",restrictions:["enum"]},{name:"border-left-color",syntax:"",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/border-left-color"}],description:"Sets the color of the left border.",restrictions:["color"]},{name:"animation-name",values:[{name:"none",description:"No animation is performed"}],syntax:"[ none | ]#",references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation-name"}],description:"Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.",restrictions:["identifier","enum"]},{name:"animation-duration",syntax:"