diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 214388fe43cdfd7ce1c29cd3e401541ded620dba..0000000000000000000000000000000000000000 --- a/.browserslistrc +++ /dev/null @@ -1,3 +0,0 @@ -> 1% -last 2 versions -not dead diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7e3649acc2c165b62750e2ca02b80f8ee0da6c4d..0000000000000000000000000000000000000000 --- a/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# http://editorconfig.org -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false - -[Makefile] -indent_style = tab diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index c329a79c32ab0e37e2e057e1b106d847f827bee9..0000000000000000000000000000000000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/typescript/recommended', - '@vue/prettier', - '@vue/prettier/@typescript-eslint', - ], - parserOptions: { - ecmaVersion: 2020, - }, - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', - }, - overrides: [ - { - files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'], - env: { - jest: true, - }, - }, - ], -}; diff --git a/.gitignore b/.gitignore index 4a2e5017696664037a197e679db1dcc1d17b3dbe..d8c2951cb5c4a98464619c2fc3e1b42f2b9ef480 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ .DS_Store node_modules - +dist # local env files .env.local diff --git a/README.md b/README.md index 6a461fd39dd8a05f3dec0e7713ead8b8db805be1..6d3363afb7cec8edd29fd763ccc6d921f5398a0f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ > 该项目可作为网页端独立运行,也可作为 `uTools` 插件运行,更加方便启动和快捷调试代码。 > -> 项目使用 `Vue3` 开发,编辑器采用 `monaco-editor`。 +> 项目使用 `Vue3 + Vite` 开发,编辑器采用 `monaco-editor`。 JavaScript Runner 左侧为代码编辑器,右侧为日志 `console.log` 输出区域,点击右下角运行按钮,测试代码输入输出逻辑,快捷验证代码思路。 @@ -55,3 +55,9 @@ JavaScript Runner 左侧为代码编辑器,右侧为日志 `console.log` 输 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request + +```sh +pnpm i # 安装依赖 +pnpm dev # 启动开发环境 +pnpm build # 打包 +``` diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index 078c0056ff32db2c6aecd61d8b539cea2b932bc6..0000000000000000000000000000000000000000 --- a/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: ['@vue/cli-plugin-babel/preset'], -}; diff --git a/build/postBuildPlugin.ts b/build/postBuildPlugin.ts new file mode 100644 index 0000000000000000000000000000000000000000..d55460ccc17df9058946810fa3c3145f822be270 --- /dev/null +++ b/build/postBuildPlugin.ts @@ -0,0 +1,68 @@ +import path from 'path'; +import fs from 'fs'; +import { Plugin, transformWithEsbuild } from 'vite'; +import htmlMinifier from 'html-minifier-terser'; + +export interface postBuildPluginOptions { + /** + * 需要处理的文件相对于dist目录的路径 + */ + files: string[]; +} + +/** + * Vite 构建后处理插件 + */ +export default function postBuildPlugin(options?: postBuildPluginOptions): Plugin { + let config = null; + + return { + name: 'post-build-plugin', + apply: 'build', + + configResolved(resolvedConfig) { + config = resolvedConfig; + }, + + // 构建完成后 将构建后的dist目录下的文件进行最小化处理 + // *.html *.js *.svg *.json + async closeBundle() { + const files = options.files || ['index.html']; + const distDir = config.build.outDir; + + for (const file of files) { + const fpath = path.resolve(distDir, file); + const ext = path.extname(fpath); + const execMap = { + '.html': async (code: string) => + htmlMinifier.minify(code, { + removeComments: true, + collapseWhitespace: true, + collapseBooleanAttributes: true, + removeAttributeQuotes: false, + removeEmptyAttributes: true, + minifyCSS: true, + minifyJS: true, + minifyURLs: true, + }), + '.js': async (code: string) => { + const res = await transformWithEsbuild(code, '', { + loader: 'js', + minify: true, + }); + return res.code; + }, + '.json': async (code: string) => JSON.stringify(JSON.parse(code)), + }; + + if (execMap[ext]) { + const code = fs.readFileSync(fpath, 'utf-8'); + const codeTransformed = await execMap[ext](code); + fs.writeFileSync(fpath, codeTransformed); + } else { + console.error(`Not Supported File Type: .${ext}`); + } + } + }, + }; +} diff --git a/dist/README.md b/dist/README.md deleted file mode 100644 index 6a461fd39dd8a05f3dec0e7713ead8b8db805be1..0000000000000000000000000000000000000000 --- a/dist/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# JavaScript Runner - -#### 介绍 - -> 该项目可作为网页端独立运行,也可作为 `uTools` 插件运行,更加方便启动和快捷调试代码。 -> -> 项目使用 `Vue3` 开发,编辑器采用 `monaco-editor`。 - -JavaScript Runner 左侧为代码编辑器,右侧为日志 `console.log` 输出区域,点击右下角运行按钮,测试代码输入输出逻辑,快捷验证代码思路。 - -![demo](./resources/demo.png) - -#### 特点 & 版本 - -**V0.0.5** - -[BugFix] 修复代码末端存在注释时运行报错问题 - -**V0.0.4** - -[BugFix] 优化代码本地持久化功能 - -**V0.0.3** - -1. 支持编辑器与日志区宽度调整 -2. 支持显示、隐藏日志区(快捷键 `F12` ) - -**V0.0.2** - -1. 支持代码本地持久化 -2. 支持代码选中部分单独执行 - -**V0.0.1** - -1. 支持 ES6 / ES7 语法 -2. 支持代码高亮,代码提示,格式化代码 -3. 支持快捷键操作,支持全文搜索、替换 - -#### 常用快捷键 - -| 功能 | 快捷键 | -| ---------- | --------------------- | -| 运行代码 | `Ctrl` + `R` | -| 代码格式化 | `Shift` + `Alt` + `F` | -| 查找 | `Ctrl` + `F` | -| 替换 | `Ctrl` + `H` | - -#### 完整代码 - -[焚霜/javascript-runner (gitee.com)](https://gitee.com/chronosmaker/javascript-runner) - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request diff --git a/dist/css.worker.js b/dist/css.worker.js deleted file mode 100644 index c0326549c75edc674d92752289e55abcb12b32b6..0000000000000000000000000000000000000000 --- a/dist/css.worker.js +++ /dev/null @@ -1 +0,0 @@ -(function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="2add")})({"2add":function(e,t,n){"use strict";n.r(t);class r{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const i=new r;function o(e){l(e)||i.onUnexpectedError(e)}function s(e){if(e instanceof Error){let{name:t,message:n}=e;const r=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:r}}return e}const a="Canceled";function l(e){return e instanceof Error&&e.name===a&&e.message===a}var c;(function(e){function t(e){return e&&"object"===typeof e&&"function"===typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function r(){return n}function*i(e){yield e}function o(e){return e||n}function s(e){return!e||!0===e[Symbol.iterator]().next().done}function a(e){return e[Symbol.iterator]().next().value}function l(e,t){for(const n of e)if(t(n))return!0;return!1}function c(e,t){for(const n of e)if(t(n))return n}function*d(e,t){for(const n of e)t(n)&&(yield n)}function*h(e,t){for(const n of e)yield t(n)}function*p(...e){for(const t of e)for(const e of t)yield e}function*u(e){for(const t of e)for(const e of t)yield e}function m(e,t,n){let r=n;for(const i of e)r=t(r,i);return r}function*f(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);te===t)){const r=e[Symbol.iterator](),i=t[Symbol.iterator]();while(1){const e=r.next(),t=i.next();if(e.done!==t.done)return!1;if(e.done)return!0;if(!n(e.value,t.value))return!1}}e.empty=r,e.single=i,e.from=o,e.isEmpty=s,e.first=a,e.some=l,e.find=c,e.filter=d,e.map=h,e.concat=p,e.concatNested=u,e.reduce=m,e.slice=f,e.consume=g,e.equals=b})(c||(c={}));const d=!1;let h=null;if(d){const e="__is_disposable_tracked__";h=new class{trackDisposable(t){const n=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[e]||console.log(n)},3e3)}markTracked(t){if(t&&t!==y.None)try{t[e]=!0}catch(n){}}}}function p(e){h&&h.markTracked(e)}function u(e){return h?(h.trackDisposable(e),e):e}class m extends Error{constructor(e){super(`Encountered errors while disposing of store. Errors: [${e.join(", ")}]`),this.errors=e}}function f(e){if(c.is(e)){let n=[];for(const r of e)if(r){p(r);try{r.dispose()}catch(t){n.push(t)}}if(1===n.length)throw n[0];if(n.length>1)throw new m(n);return Array.isArray(e)?[]:e}if(e)return p(e),e.dispose(),e}function g(...e){return e.forEach(p),b(()=>f(e))}function b(e){const t=u({dispose:()=>{p(t),e()}});return t}class v{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(p(this),this._isDisposed=!0,this.clear())}clear(){try{f(this._toDispose.values())}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return p(e),this._isDisposed?v.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}v.DISABLE_DISPOSED_WARNING=!1;class y{constructor(){this._store=new v,u(this)}dispose(){p(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}y.None=Object.freeze({dispose(){}});var w=n("30db");function x(e){let t=[],n=Object.getPrototypeOf(e);while(Object.prototype!==n)t=t.concat(Object.getOwnPropertyNames(n)),n=Object.getPrototypeOf(n);return t}function S(e){const t=[];for(const n of x(e))"function"===typeof e[n]&&t.push(n);return t}function C(e,t){const n=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)};let r={};for(const i of e)r[i]=n(i);return r}const k="$initialize";class E{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}setWorkerId(e){this._workerId=e}sendMessage(e,t){let n=String(++this._lastSentReq);return new Promise((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send({vsWorker:this._workerId,req:n,method:e,args:t})})}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}_handleMessage(e){if(e.seq){let t=e;if(!this._pendingReplies[t.seq])return void console.warn("Got reply to unknown seq");let n=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let e=t.err;return t.err.$isError&&(e=new Error,e.name=t.err.name,e.message=t.err.message,e.stack=t.err.stack),void n.reject(e)}return void n.resolve(t.res)}let t=e,n=t.req,r=this._handler.handleMessage(t.method,t.args);r.then(e=>{this._send({vsWorker:this._workerId,seq:n,res:e,err:void 0})},e=>{e.detail instanceof Error&&(e.detail=s(e.detail)),this._send({vsWorker:this._workerId,seq:n,res:void 0,err:s(e)})})}_send(e){let t=[];if(e.req){const n=e;for(let e=0;e{e(t,n)},handleMessage:(e,t)=>this._handleMessage(e,t)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t){if(e===k)return this.initialize(t[0],t[1],t[2],t[3]);if(!this._requestHandler||"function"!==typeof this._requestHandler[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,t))}catch(n){return Promise.reject(n)}}initialize(e,t,n,r){this._protocol.setWorkerId(e);const i=(e,t)=>this._protocol.sendMessage(e,t),o=C(r,i);return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(o),Promise.resolve(S(this._requestHandler))):(t&&("undefined"!==typeof t.baseUrl&&delete t["baseUrl"],"undefined"!==typeof t.paths&&"undefined"!==typeof t.paths.vs&&delete t.paths["vs"],void 0!==typeof t.trustedTypesPolicy&&delete t["trustedTypesPolicy"],t.catchError=!0,self.require.config(t)),new Promise((e,t)=>{self.require([n],n=>{this._requestHandler=n.create(o),this._requestHandler?e(S(this._requestHandler)):t(new Error("No RequestHandler!"))},t)}))}}function F(e,t){return D(e,t,0,e.length-1,[]),e}function T(e,t,n,r,i,o){let s=n,a=r+1;for(let l=n;l<=i;l++)o[l]=e[l];for(let l=n;l<=i;l++)s>r?e[l]=o[a++]:a>i?e[l]=o[s++]:t(o[a],o[s])<0?e[l]=o[a++]:e[l]=o[s++]}function D(e,t,n,r,i){if(r<=n)return;const o=n+(r-n)/2|0;D(e,t,n,o,i),D(e,t,o+1,r,i),t(e[o],e[o+1])<=0||T(e,t,n,o,r,i)}class R{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function N(e){return e.split(/\r\n|\r|\n/)}function z(e){for(let t=0,n=e.length;t=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}function I(e){return 55296<=e&&e<=56319}function M(e){return 56320<=e&&e<=57343}function P(e,t){return t-56320+(e-55296<<10)+65536}String.fromCharCode(65279);class O{constructor(){this._data=L()}static getInstance(){return O._INSTANCE||(O._INSTANCE=new O),O._INSTANCE}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let r=1;while(r<=n)if(et[3*r+1]))return t[3*r+2];r=2*r+1}return 0}}function L(){return JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")}function W(e,t){return(t<<5)-t+e|0}function U(e,t){t=W(149417,t);for(let n=0,r=e.length;n>>r)>>>0}function V(e,t=0,n=e.byteLength,r=0){for(let i=0;ie.toString(16).padStart(2,"0")).join(""):B((e>>>0).toString(16),t/4)}O._INSTANCE=null;class K{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let r,i,o=this._buffLen,s=this._leftoverHighSurrogate;0!==s?(r=s,i=-1,s=0):(r=e.charCodeAt(0),i=0);while(1){let a=r;if(I(r)){if(!(i+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),q(this._h0)+q(this._h1)+q(this._h2)+q(this._h3)+q(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,V(this._buff,this._buffLen),this._buffLen>56&&(this._step(),V(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=K._bigBlock32,t=this._buffDV;for(let d=0;d<64;d+=4)e.setUint32(d,t.getUint32(d,!1),!1);for(let d=64;d<320;d+=4)e.setUint32(d,j(e.getUint32(d-12,!1)^e.getUint32(d-32,!1)^e.getUint32(d-56,!1)^e.getUint32(d-64,!1),1),!1);let n,r,i,o=this._h0,s=this._h1,a=this._h2,l=this._h3,c=this._h4;for(let d=0;d<80;d++)d<20?(n=s&a|~s&l,r=1518500249):d<40?(n=s^a^l,r=1859775393):d<60?(n=s&a|s&l|a&l,r=2400959708):(n=s^a^l,r=3395469782),i=j(o,5)+n+c+r+e.getUint32(4*d,!1)&4294967295,c=l,l=a,a=j(s,30),s=o,o=i;this._h0=this._h0+o&4294967295,this._h1=this._h1+s&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+c&4294967295}}K._bigBlock32=new DataView(new ArrayBuffer(320));class ${constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new R(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}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class X{constructor(e,t,n=null){this.ContinueProcessingPredicate=n;const[r,i,o]=X._getElements(e),[s,a,l]=X._getElements(t);this._hasStrings=o&&l,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=s,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"===typeof e[0]}static _getElements(e){const t=e.getElements();if(X._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,r=t.length;n=e&&r>=n&&this.ElementsAreEqual(t,r))t--,r--;if(e>t||n>r){let i;return n<=r?(H.Assert(e===t+1,"originalStart should only be one more than originalEnd"),i=[new R(e,0,n,r-n+1)]):e<=t?(H.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[new R(e,t-e+1,n,0)]):(H.Assert(e===t+1,"originalStart should only be one more than originalEnd"),H.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[]),i}const o=[0],s=[0],a=this.ComputeRecursionPoint(e,t,n,r,o,s,i),l=o[0],c=s[0];if(null!==a)return a;if(!i[0]){const o=this.ComputeDiffRecursive(e,l,n,c,i);let s=[];return s=i[0]?[new R(l+1,t-(l+1)+1,c+1,r-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,r,i),this.ConcatenateChanges(o,s)}return[new R(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,o,s,a,l,c,d,h,p,u,m,f,g,b){let v=null,y=null,w=new J,x=t,S=n,C=p[0]-f[0]-r,k=-1073741824,E=this.m_forwardHistory.length-1;do{const t=C+e;t===x||t=0&&(l=this.m_forwardHistory[E],e=l[0],x=1,S=l.length-1)}while(--E>=-1);if(v=w.getReverseChanges(),b[0]){let e=p[0]+1,t=f[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new R(e,h-e+1,t,m-t+1)]}else{w=new J,x=o,S=s,C=p[0]-f[0]-a,k=1073741824,E=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=C+i;e===x||e=c[e+1]?(d=c[e+1]-1,u=d-C-a,d>k&&w.MarkNextChange(),k=d+1,w.AddOriginalElement(d+1,u+1),C=e+1-i):(d=c[e-1],u=d-C-a,d>k&&w.MarkNextChange(),k=d,w.AddModifiedElement(d+1,u+1),C=e-1-i),E>=0&&(c=this.m_reverseHistory[E],i=c[0],x=1,S=c.length-1)}while(--E>=-1);y=w.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,o,s){let a=0,l=0,c=0,d=0,h=0,p=0;e--,n--,i[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const u=t-e+(r-n),m=u+1,f=new Int32Array(m),g=new Int32Array(m),b=r-n,v=t-e,y=e-n,w=t-r,x=v-b,S=x%2===0;f[b]=e,g[v]=t,s[0]=!1;for(let C=1;C<=u/2+1;C++){let u=0,x=0;c=this.ClipDiagonalBound(b-C,C,b,m),d=this.ClipDiagonalBound(b+C,C,b,m);for(let e=c;e<=d;e+=2){a=e===c||eu+x&&(u=a,x=l),!S&&Math.abs(e-v)<=C-1&&a>=g[e])return i[0]=a,o[0]=l,n<=g[e]&&C<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s):null}const k=(u-e+(x-n)-C)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(u,k))return s[0]=!0,i[0]=u,o[0]=x,k>0&&C<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s):(e++,n++,[new R(e,t-e+1,n,r-n+1)]);h=this.ClipDiagonalBound(v-C,C,v,m),p=this.ClipDiagonalBound(v+C,C,v,m);for(let m=h;m<=p;m+=2){a=m===h||m=g[m+1]?g[m+1]-1:g[m-1],l=a-(m-v)-w;const u=a;while(a>e&&l>n&&this.ElementsAreEqual(a,l))a--,l--;if(g[m]=a,S&&Math.abs(m-b)<=C&&a<=f[m])return i[0]=a,o[0]=l,u>=f[m]&&C<=1448?this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s):null}if(C<=1447){let e=new Int32Array(d-c+2);e[0]=b-c+1,Y.Copy2(f,c,e,1,d-c+1),this.m_forwardHistory.push(e),e=new Int32Array(p-h+2),e[0]=v-h+1,Y.Copy2(g,h,e,1,p-h+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(b,c,d,y,v,h,p,w,f,g,a,t,i,l,r,o,S,s)}PrettifyChanges(e){for(let t=0;t0,s=n.modifiedLength>0;while(n.originalStart+n.originalLength=0;t--){const n=e[t];let r=0,i=0;if(t>0){const n=e[t-1];n.originalLength>0&&(r=n.originalStart+n.originalLength),n.modifiedLength>0&&(i=n.modifiedStart+n.modifiedLength)}const o=n.originalLength>0,s=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(tl&&(l=d,a=e)}n.originalStart-=a,n.modifiedStart-=a}if(this._hasStrings)for(let t=1,n=e.length;t0&&t>a&&(a=t,l=d,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){const i=this._OriginalRegionIsBoundary(e,t)?1:0,o=this._ModifiedRegionIsBoundary(n,r)?1:0;return i+o}ConcatenateChanges(e,t){let n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const r=new Array(e.length+t.length-1);return Y.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],Y.Copy(t,1,r,e.length,t.length-1),r}{const n=new Array(e.length+t.length);return Y.Copy(e,0,n,0,e.length),Y.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(H.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),H.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){const r=e.originalStart;let i=e.originalLength;const o=e.modifiedStart;let s=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(s=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new R(r,i,o,s),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e=Z&&e<=te||e>=ee&&e<=ne}function ue(e,t,n,r){let i="",o=0,s=-1,a=0,l=0;for(let c=0;c<=e.length;++c){if(c2){const e=i.lastIndexOf(n);-1===e?(i="",o=0):(i=i.slice(0,e),o=i.length-1-i.lastIndexOf(n)),s=c,a=0;continue}if(0!==i.length){i="",o=0,s=c,a=0;continue}}t&&(i+=i.length>0?n+"..":"..",o=2)}else i.length>0?i+=`${n}${e.slice(s+1,c)}`:i=e.slice(s+1,c),o=c-s-1;s=c,a=0}else l===re&&-1!==a?++a:a=-1}return i}function me(e,t){if(null===t||"object"!==typeof t)throw new le("pathObject","Object",t);const n=t.dir||t.root,r=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}const fe={resolve(...e){let t="",n="",r=!1;for(let i=e.length-1;i>=-1;i--){let o;if(i>=0){if(o=e[i],ce(o,"path"),0===o.length)continue}else 0===t.length?o=Q["a"]():(o=Q["b"]["="+t]||Q["a"](),(void 0===o||o.slice(0,2).toLowerCase()!==t.toLowerCase()&&o.charCodeAt(2)===oe)&&(o=t+"\\"));const s=o.length;let a=0,l="",c=!1;const d=o.charCodeAt(0);if(1===s)de(d)&&(a=1,c=!0);else if(de(d))if(c=!0,de(o.charCodeAt(1))){let e=2,t=e;while(e2&&de(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(r){if(t.length>0)break}else if(n=`${o.slice(a)}\\${n}`,r=c,c&&t.length>0)break}return n=ue(n,!r,"\\",de),r?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){ce(e,"path");const t=e.length;if(0===t)return".";let n,r=0,i=!1;const o=e.charCodeAt(0);if(1===t)return he(o)?"\\":e;if(de(o))if(i=!0,de(e.charCodeAt(1))){let i=2,o=i;while(i2&&de(e.charCodeAt(2))&&(i=!0,r=3));let s=r0&&de(e.charCodeAt(t-1))&&(s+="\\"),void 0===n?i?"\\"+s:s:i?`${n}\\${s}`:`${n}${s}`},isAbsolute(e){ce(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return de(n)||t>2&&pe(n)&&e.charCodeAt(1)===se&&de(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let o=0;o0&&(void 0===t?t=n=r:t+="\\"+r)}if(void 0===t)return".";let r=!0,i=0;if("string"===typeof n&&de(n.charCodeAt(0))){++i;const e=n.length;e>1&&de(n.charCodeAt(1))&&(++i,e>2&&(de(n.charCodeAt(2))?++i:r=!1))}if(r){while(i=2&&(t="\\"+t.slice(i))}return fe.normalize(t)},relative(e,t){if(ce(e,"from"),ce(t,"to"),e===t)return"";const n=fe.resolve(e),r=fe.resolve(t);if(n===r)return"";if(e=n.toLowerCase(),t=r.toLowerCase(),e===t)return"";let i=0;while(ii&&e.charCodeAt(o-1)===oe)o--;const s=o-i;let a=0;while(aa&&t.charCodeAt(l-1)===oe)l--;const c=l-a,d=sd){if(t.charCodeAt(a+p)===oe)return r.slice(a+p+1);if(2===p)return r.slice(a+p)}s>d&&(e.charCodeAt(i+p)===oe?h=p:2===p&&(h=3)),-1===h&&(h=0)}let u="";for(p=i+h+1;p<=o;++p)p!==o&&e.charCodeAt(p)!==oe||(u+=0===u.length?"..":"\\..");return a+=h,u.length>0?`${u}${r.slice(a,l)}`:(r.charCodeAt(a)===oe&&++a,r.slice(a,l))},toNamespacedPath(e){if("string"!==typeof e)return e;if(0===e.length)return"";const t=fe.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===oe){if(t.charCodeAt(1)===oe){const e=t.charCodeAt(2);if(e!==ae&&e!==re)return"\\\\?\\UNC\\"+t.slice(2)}}else if(pe(t.charCodeAt(0))&&t.charCodeAt(1)===se&&t.charCodeAt(2)===oe)return"\\\\?\\"+t;return e},dirname(e){ce(e,"path");const t=e.length;if(0===t)return".";let n=-1,r=0;const i=e.charCodeAt(0);if(1===t)return de(i)?e:".";if(de(i)){if(n=r=1,de(e.charCodeAt(1))){let i=2,o=i;while(i2&&de(e.charCodeAt(2))?3:2,r=n);let o=-1,s=!0;for(let a=t-1;a>=r;--a)if(de(e.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(-1===o){if(-1===n)return".";o=n}return e.slice(0,o)},basename(e,t){void 0!==t&&ce(t,"ext"),ce(e,"path");let n,r=0,i=-1,o=!0;if(e.length>=2&&pe(e.charCodeAt(0))&&e.charCodeAt(1)===se&&(r=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,a=-1;for(n=e.length-1;n>=r;--n){const l=e.charCodeAt(n);if(de(l)){if(!o){r=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(i=n):(s=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=r;--n)if(de(e.charCodeAt(n))){if(!o){r=n+1;break}}else-1===i&&(o=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){ce(e,"path");let t=0,n=-1,r=0,i=-1,o=!0,s=0;e.length>=2&&e.charCodeAt(1)===se&&pe(e.charCodeAt(0))&&(t=r=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(de(t)){if(!o){r=a+1;break}}else-1===i&&(o=!1,i=a+1),t===re?-1===n?n=a:1!==s&&(s=1):-1!==n&&(s=-1)}return-1===n||-1===i||0===s||1===s&&n===i-1&&n===r+1?"":e.slice(n,i)},format:me.bind(null,"\\"),parse(e){ce(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let r=0,i=e.charCodeAt(0);if(1===n)return de(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(de(i)){if(r=1,de(e.charCodeAt(1))){let t=2,i=t;while(t0&&(t.root=e.slice(0,r));let o=-1,s=r,a=-1,l=!0,c=e.length-1,d=0;for(;c>=r;--c)if(i=e.charCodeAt(c),de(i)){if(!l){s=c+1;break}}else-1===a&&(l=!1,a=c+1),i===re?-1===o?o=c:1!==d&&(d=1):-1!==o&&(d=-1);return-1!==a&&(-1===o||0===d||1===d&&o===a-1&&o===s+1?t.base=t.name=e.slice(s,a):(t.name=e.slice(s,o),t.base=e.slice(s,a),t.ext=e.slice(o,a))),t.dir=s>0&&s!==r?e.slice(0,s-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},ge={resolve(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const i=r>=0?e[r]:Q["a"]();ce(i,"path"),0!==i.length&&(t=`${i}/${t}`,n=i.charCodeAt(0)===ie)}return t=ue(t,!n,"/",he),n?"/"+t:t.length>0?t:"."},normalize(e){if(ce(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===ie,n=e.charCodeAt(e.length-1)===ie;return e=ue(e,!t,"/",he),0===e.length?t?"/":n?"./":".":(n&&(e+="/"),t?"/"+e:e)},isAbsolute(e){return ce(e,"path"),e.length>0&&e.charCodeAt(0)===ie},join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=r:t+="/"+r)}return void 0===t?".":ge.normalize(t)},relative(e,t){if(ce(e,"from"),ce(t,"to"),e===t)return"";if(e=ge.resolve(e),t=ge.resolve(t),e===t)return"";const n=1,r=e.length,i=r-n,o=1,s=t.length-o,a=ia){if(t.charCodeAt(o+c)===ie)return t.slice(o+c+1);if(0===c)return t.slice(o+c)}else i>a&&(e.charCodeAt(n+c)===ie?l=c:0===c&&(l=0));let d="";for(c=n+l+1;c<=r;++c)c!==r&&e.charCodeAt(c)!==ie||(d+=0===d.length?"..":"/..");return`${d}${t.slice(o+l)}`},toNamespacedPath(e){return e},dirname(e){if(ce(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===ie;let n=-1,r=!0;for(let i=e.length-1;i>=1;--i)if(e.charCodeAt(i)===ie){if(!r){n=i;break}}else r=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&ce(t,"ext"),ce(e,"path");let n,r=0,i=-1,o=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===ie){if(!o){r=n+1;break}}else-1===a&&(o=!1,a=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(i=n):(s=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===ie){if(!o){r=n+1;break}}else-1===i&&(o=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){ce(e,"path");let t=-1,n=0,r=-1,i=!0,o=0;for(let s=e.length-1;s>=0;--s){const a=e.charCodeAt(s);if(a!==ie)-1===r&&(i=!1,r=s+1),a===re?-1===t?t=s:1!==o&&(o=1):-1!==t&&(o=-1);else if(!i){n=s+1;break}}return-1===t||-1===r||0===o||1===o&&t===r-1&&t===n+1?"":e.slice(t,r)},format:me.bind(null,"/"),parse(e){ce(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===ie;let r;n?(t.root="/",r=1):r=0;let i=-1,o=0,s=-1,a=!0,l=e.length-1,c=0;for(;l>=r;--l){const t=e.charCodeAt(l);if(t!==ie)-1===s&&(a=!1,s=l+1),t===re?-1===i?i=l:1!==c&&(c=1):-1!==i&&(c=-1);else if(!a){o=l+1;break}}if(-1!==s){const r=0===o&&n?1:o;-1===i||0===c||1===c&&i===s-1&&i===o+1?t.base=t.name=e.slice(r,s):(t.name=e.slice(r,i),t.base=e.slice(r,s),t.ext=e.slice(i,s))}return o>0?t.dir=e.slice(0,o-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};ge.win32=fe.win32=fe,ge.posix=fe.posix=ge;"win32"===Q["c"]?fe.normalize:ge.normalize,"win32"===Q["c"]?fe.resolve:ge.resolve,"win32"===Q["c"]?fe.relative:ge.relative,"win32"===Q["c"]?fe.dirname:ge.dirname,"win32"===Q["c"]?fe.basename:ge.basename,"win32"===Q["c"]?fe.extname:ge.extname,"win32"===Q["c"]?fe.sep:ge.sep;const be=/^\w[\w\d+.-]*$/,ve=/^\//,ye=/^\/\//;function we(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!be.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!ve.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(ye.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}function xe(e,t){return e||t?e:"file"}function Se(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==ke&&(t=ke+t):t=ke;break}return t}const Ce="",ke="/",Ee=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class _e{constructor(e,t,n,r,i,o=!1){"object"===typeof e?(this.scheme=e.scheme||Ce,this.authority=e.authority||Ce,this.path=e.path||Ce,this.query=e.query||Ce,this.fragment=e.fragment||Ce):(this.scheme=xe(e,o),this.authority=t||Ce,this.path=Se(this.scheme,n||Ce),this.query=r||Ce,this.fragment=i||Ce,we(this,o))}static isUri(e){return e instanceof _e||!!e&&("string"===typeof e.authority&&"string"===typeof e.fragment&&"string"===typeof e.path&&"string"===typeof e.query&&"string"===typeof e.scheme&&"string"===typeof e.fsPath&&"function"===typeof e.with&&"function"===typeof e.toString)}get fsPath(){return ze(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:o}=e;return void 0===t?t=this.scheme:null===t&&(t=Ce),void 0===n?n=this.authority:null===n&&(n=Ce),void 0===r?r=this.path:null===r&&(r=Ce),void 0===i?i=this.query:null===i&&(i=Ce),void 0===o?o=this.fragment:null===o&&(o=Ce),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&o===this.fragment?this:new Te(t,n,r,i,o)}static parse(e,t=!1){const n=Ee.exec(e);return n?new Te(n[2]||Ce,Pe(n[4]||Ce),Pe(n[5]||Ce),Pe(n[7]||Ce),Pe(n[9]||Ce),t):new Te(Ce,Ce,Ce,Ce,Ce)}static file(e){let t=Ce;if(w["d"]&&(e=e.replace(/\\/g,ke)),e[0]===ke&&e[1]===ke){const n=e.indexOf(ke,2);-1===n?(t=e.substring(2),e=ke):(t=e.substring(2,n),e=e.substring(n)||ke)}return new Te("file",t,e,Ce,Ce)}static from(e){return new Te(e.scheme,e.authority,e.path,e.query,e.fragment)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=w["d"]&&"file"===e.scheme?_e.file(fe.join(ze(e,!0),...t)).path:ge.join(e.path,...t),e.with({path:n})}toString(e=!1){return Ae(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof _e)return e;{const t=new Te(e);return t._formatted=e.external,t._fsPath=e._sep===Fe?e.fsPath:null,t}}return e}}const Fe=w["d"]?1:void 0;class Te extends _e{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=ze(this,!1)),this._fsPath}toString(e=!1){return e?Ae(this,!0):(this._formatted||(this._formatted=Ae(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Fe),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const De={[58]:"%3A",[47]:"%2F",[63]:"%3F",[35]:"%23",[91]:"%5B",[93]:"%5D",[64]:"%40",[33]:"%21",[36]:"%24",[38]:"%26",[39]:"%27",[40]:"%28",[41]:"%29",[42]:"%2A",[43]:"%2B",[44]:"%2C",[59]:"%3B",[61]:"%3D",[32]:"%20"};function Re(e,t){let n=void 0,r=-1;for(let 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));const t=De[o];void 0!==t?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=t):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function Ne(e){let t=void 0;for(let 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)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,w["d"]&&(n=n.replace(/\//g,"\\")),n}function Ae(e,t){const n=t?Ne:Re;let r="",{scheme:i,authority:o,path:s,query:a,fragment:l}=e;if(i&&(r+=i,r+=":"),(o||"file"===i)&&(r+=ke,r+=ke),o){let e=o.indexOf("@");if(-1!==e){const t=o.substr(0,e);o=o.substr(e+1),e=t.indexOf(":"),-1===e?r+=n(t,!1):(r+=n(t.substr(0,e),!1),r+=":",r+=n(t.substr(e+1),!1)),r+="@"}o=o.toLowerCase(),e=o.indexOf(":"),-1===e?r+=n(o,!1):(r+=n(o.substr(0,e),!1),r+=o.substr(e))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2)){const e=s.charCodeAt(1);e>=65&&e<=90&&(s=`/${String.fromCharCode(e+32)}:${s.substr(3)}`)}else if(s.length>=2&&58===s.charCodeAt(1)){const e=s.charCodeAt(0);e>=65&&e<=90&&(s=`${String.fromCharCode(e+32)}:${s.substr(2)}`)}r+=n(s,!0)}return a&&(r+="?",r+=n(a,!1)),l&&(r+="#",r+=t?l:Re(l,!1)),r}function Ie(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Ie(e.substr(3)):e}}const Me=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Pe(e){return e.match(Me)?e.replace(Me,e=>Ie(e)):e}class Oe{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new Oe(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return Oe.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return Oe.isBefore(this,e)}static isBefore(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)}isEmpty(){return Le.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Le.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.columne.endColumn))}containsRange(e){return Le.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)))}strictContainsRange(e){return Le.strictContainsRange(this,e)}static strictContainsRange(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)))}plusRange(e){return Le.plusRange(this,e)}static plusRange(e,t){let n,r,i,o;return t.startLineNumbere.endLineNumber?(i=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(i=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(i=e.endLineNumber,o=e.endColumn),new Le(n,r,i,o)}intersectRanges(e){return Le.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,o=e.endColumn,s=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,c=t.endColumn;return nl?(i=l,o=c):i===l&&(o=Math.min(o,c)),n>i||n===i&&r>o?null:new Le(n,r,i,o)}equalsRange(e){return Le.equalsRange(this,e)}static equalsRange(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Le.getEndPosition(this)}static getEndPosition(e){return new Oe(e.endLineNumber,e.endColumn)}getStartPosition(){return Le.getStartPosition(this)}static getStartPosition(e){return new Oe(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Le(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Le(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Le.collapseToStart(this)}static collapseToStart(e){return new Le(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}static fromPositions(e,t=e){return new Le(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Le(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"===typeof e.startLineNumber&&"number"===typeof e.startColumn&&"number"===typeof e.endLineNumber&&"number"===typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}}const We=3;function Ue(e,t,n,r){const i=new X(e,t,n);return i.ComputeDiff(r)}class je{constructor(e){const t=[],n=[];for(let r=0,i=e.length;r0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&i()){const o=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);let l=Ue(o,a,i,!0).changes;s&&(l=qe(l)),h=[];for(let e=0,t=l.length;e1&&s>1){const r=e.charCodeAt(n-2),i=t.charCodeAt(s-2);if(r!==i)break;n--,s--}(n>1||s>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,o+1,1,s)}{let n=He(e,1),s=He(t,1);const a=e.length+1,l=t.length+1;while(n!0;const t=Date.now();return()=>Date.now()-t255?255:0|e}function Xe(e){return e<0?0:e>4294967295?4294967295:0|e}class Qe{constructor(e,t){this.index=e,this.remainder=t}}class Ze{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Xe(e);const n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}changeValue(e,t){return e=Xe(e),t=Xe(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalValue(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)}getAccumulatedValue(e){return e<0?0:(e=Xe(e),this._getAccumulatedValue(e))}_getAccumulatedValue(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let 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]}getIndexOf(e){e=Math.floor(e),this.getTotalValue();let t=0,n=this.values.length-1,r=0,i=0,o=0;while(t<=n)if(r=t+(n-t)/2|0,i=this.prefixSum[r],o=i-this.values[r],e=i))break;t=r+1}return new Qe(r,e-o)}}class et{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const n of t)this._acceptDeleteRange(n.range),this._acceptInsertText(new Oe(n.range.startLineNumber,n.range.startColumn),n.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r/?";function nt(e=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(const n of tt)e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}const rt=nt();function it(e){let t=rt;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const ot={maxLen:1e3,windowSize:15,timeBudget:150};function st(e,t,n,r,i=ot){if(n.length>i.maxLen){let o=e-i.maxLen/2;return o<0?o=0:r+=o,n=n.substring(o,e+i.maxLen/2),st(e,t,n,r,i)}const o=Date.now(),s=e-1-r;let a=-1,l=null;for(let c=1;;c++){if(Date.now()-o>=i.timeBudget)break;const e=s-i.windowSize*c;t.lastIndex=Math.max(0,e);const r=at(t,n,s,a);if(!r&&l)break;if(l=r,e<=0)break;a=e}if(l){let e={word:l[0],startColumn:r+1+l.index,endColumn:r+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function at(e,t,n,r){let i;while(i=e.exec(t)){const t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}class lt{constructor(e){let t=Je(e);this._defaultValue=t,this._asciiMap=lt._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){let t=new Uint8Array(256);for(let n=0;n<256;n++)t[n]=e;return t}set(e,t){let n=Je(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}}class ct{constructor(e,t,n){const r=new Uint8Array(e*t);for(let i=0,o=e*t;it&&(t=o),r>n&&(n=r),s>n&&(n=s)}t++,n++;let r=new ct(n,t,0);for(let i=0,o=e.length;i=this._maxCharCode?0:this._states.get(e,t)}}let ht=null;function pt(){return null===ht&&(ht=new dt([[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]])),ht}let ut=null;function mt(){if(null===ut){ut=new lt(0);const e=" \t<>'\"、。。、,.:;‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…";for(let n=0;nr);if(r>0){const e=t.charCodeAt(r-1),n=t.charCodeAt(o);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&o--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:o+2},url:t.substring(r,o+1)}}static computeLinks(e,t=pt()){const n=mt();let r=[];for(let i=1,o=e.getLineCount();i<=o;i++){const o=e.getLineContent(i),s=o.length;let a=0,l=0,c=0,d=1,h=!1,p=!1,u=!1,m=!1;while(a=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}bt.INSTANCE=new bt;class vt{constructor(e){this.element=e,this.next=vt.Undefined,this.prev=vt.Undefined}}vt.Undefined=new vt(void 0);class yt{constructor(){this._first=vt.Undefined,this._last=vt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===vt.Undefined}clear(){this._first=vt.Undefined,this._last=vt.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new vt(e);if(this._first===vt.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==vt.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==vt.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==vt.Undefined&&e.next!==vt.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===vt.Undefined&&e.next===vt.Undefined?(this._first=vt.Undefined,this._last=vt.Undefined):e.next===vt.Undefined?(this._last=this._last.prev,this._last.next=vt.Undefined):e.prev===vt.Undefined&&(this._first=this._first.next,this._first.prev=vt.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;while(e!==vt.Undefined)yield e.element,e=e.next}}const wt=w["a"].performance&&"function"===typeof w["a"].performance.now;class xt{constructor(e){this._highResolution=wt&&e,this._startTime=this._now(),this._stopTime=-1}static create(e=!0){return new xt(e)}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?w["a"].performance.now():Date.now()}}var St;(function(e){function t(e){return(t,n=null,r)=>{let i,o=!1;return i=e(e=>{if(!o)return i?i.dispose():o=!0,t.call(n,e)},null,r),o&&i.dispose(),i}}function n(e,t){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i))}function r(e,t){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i))}function i(e,t){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i))}function o(e){return e}function s(...e){return(t,n=null,r)=>g(...e.map(e=>e(e=>t.call(n,e),null,r)))}function a(e,t,r){let i=r;return n(e,e=>(i=t(i,e),i))}function l(e){let t;const n=new _t({onFirstListenerAdd(){t=e(n.fire,n)},onLastListenerRemove(){t.dispose()}});return n.event}function c(e,t,n=100,r=!1,i){let o,s=void 0,a=void 0,l=0;const c=new _t({leakWarningThreshold:i,onFirstListenerAdd(){o=e(e=>{l++,s=t(s,e),r&&!a&&(c.fire(s),s=void 0),clearTimeout(a),a=setTimeout(()=>{const e=s;s=void 0,a=void 0,(!r||l>1)&&c.fire(e),l=0},n)})},onLastListenerRemove(){o.dispose()}});return c.event}function d(e){const r=(new Date).getTime();return n(t(e),e=>(new Date).getTime()-r)}function h(e){let t,n=!0;return i(e,e=>{const r=n||e!==t;return n=!1,t=e,r})}function p(e,t=!1,n=[]){let r=n.slice(),i=e(e=>{r?r.push(e):s.fire(e)});const o=()=>{r&&r.forEach(e=>s.fire(e)),r=null},s=new _t({onFirstListenerAdd(){i||(i=e(e=>s.fire(e)))},onFirstListenerDidAdd(){r&&(t?setTimeout(o):o())},onLastListenerRemove(){i&&i.dispose(),i=null}});return s.event}e.None=()=>y.None,e.once=t,e.map=n,e.forEach=r,e.filter=i,e.signal=o,e.any=s,e.reduce=a,e.snapshot=l,e.debounce=c,e.stopwatch=d,e.latch=h,e.buffer=p;class u{constructor(e){this.event=e}map(e){return new u(n(this.event,e))}forEach(e){return new u(r(this.event,e))}filter(e){return new u(i(this.event,e))}reduce(e,t){return new u(a(this.event,e,t))}latch(){return new u(h(this.event))}debounce(e,t=100,n=!1,r){return new u(c(this.event,e,t,n,r))}on(e,t,n){return this.event(e,t,n)}once(e,n,r){return t(this.event)(e,n,r)}}function m(e){return new u(e)}function f(e,t,n=(e=>e)){const r=(...e)=>s.fire(n(...e)),i=()=>e.on(t,r),o=()=>e.removeListener(t,r),s=new _t({onFirstListenerAdd:i,onLastListenerRemove:o});return s.event}function b(e,t,n=(e=>e)){const r=(...e)=>s.fire(n(...e)),i=()=>e.addEventListener(t,r),o=()=>e.removeEventListener(t,r),s=new _t({onFirstListenerAdd:i,onLastListenerRemove:o});return s.event}function v(e){const t=new _t;let n=!1;return e.then(void 0,()=>null).then(()=>{n?t.fire(void 0):setTimeout(()=>t.fire(void 0),0)}),n=!0,t.event}function w(e){return new Promise(n=>t(e)(n))}e.chain=m,e.fromNodeEventEmitter=f,e.fromDOMEventEmitter=b,e.fromPromise=v,e.toPromise=w})(St||(St={}));class Ct{constructor(e){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${e}_${Ct._idPool++}`}start(e){this._stopWatch=new xt(!0),this._listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this._elapsedOverall+=e,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${e.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}Ct._idPool=0;let kt=-1;class Et{constructor(e,t=Math.random().toString(18).slice(2,5)){this.customThreshold=e,this.name=t,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(e){let t=kt;if("number"===typeof this.customThreshold&&(t=this.customThreshold),t<=0||e{const e=this._stacks.get(n)||0;this._stacks.set(n,e-1)}}}class _t{constructor(e){var t;this._disposed=!1,this._options=e,this._leakageMon=kt>0?new Et(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=(null===(t=this._options)||void 0===t?void 0:t._profName)?new Ct(this._options._profName):void 0}get event(){return this._event||(this._event=(e,t,n)=>{var r;this._listeners||(this._listeners=new yt);const i=this._listeners.isEmpty();i&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(t?[e,t]:e);i&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,t);const s=null===(r=this._leakageMon)||void 0===r?void 0:r.check(this._listeners.size);let a;return a={dispose:()=>{if(s&&s(),a.dispose=_t._noop,!this._disposed&&(o(),this._options&&this._options.onLastListenerRemove)){const e=this._listeners&&!this._listeners.isEmpty();e||this._options.onLastListenerRemove(this)}}},n instanceof v?n.add(a):Array.isArray(n)&&n.push(a),a}),this._event}fire(e){var t,n;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new yt);for(let t of this._listeners)this._deliveryQueue.push([t,e]);null===(t=this._perfMon)||void 0===t||t.start(this._deliveryQueue.size);while(this._deliveryQueue.size>0){const[e,t]=this._deliveryQueue.shift();try{"function"===typeof e?e.call(void 0,t):e[0].call(e[1],t)}catch(r){o(r)}}null===(n=this._perfMon)||void 0===n||n.stop()}}dispose(){var e,t,n;null===(e=this._listeners)||void 0===e||e.clear(),null===(t=this._deliveryQueue)||void 0===t||t.clear(),null===(n=this._leakageMon)||void 0===n||n.dispose(),this._disposed=!0}}_t._noop=function(){};const Ft=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var Tt;(function(e){function t(t){return t===e.None||t===e.Cancelled||(t instanceof Dt||!(!t||"object"!==typeof t)&&("boolean"===typeof t.isCancellationRequested&&"function"===typeof t.onCancellationRequested))}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:St.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ft})})(Tt||(Tt={}));class Dt{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Ft:(this._emitter||(this._emitter=new _t),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Rt{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Dt),this._token}cancel(){this._token?this._token instanceof Dt&&this._token.cancel():this._token=Tt.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof Dt&&this._token.dispose():this._token=Tt.None}}class Nt{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const zt=new Nt,At=new Nt,It=new Nt;var Mt,Pt,Ot,Lt,Wt,Ut,jt,Vt,Bt,qt,Kt,$t,Gt,Ht,Yt,Jt,Xt,Qt,Zt,en,tn,nn,rn,on,sn,an,ln,cn,dn,hn,pn,un,mn,fn,gn;function bn(e,t){const n=(65535&t)<<16>>>0;return(e|n)>>>0}(function(){function e(e,t,n=t,r=n){zt.define(e,t),At.define(e,n),It.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){function t(e){return zt.keyCodeToStr(e)}function n(e){return zt.strToKeyCode(e)}function r(e){return At.keyCodeToStr(e)}function i(e){return It.keyCodeToStr(e)}function o(e){return At.strToKeyCode(e)||It.strToKeyCode(e)}e.toString=t,e.fromString=n,e.toUserSettingsUS=r,e.toUserSettingsGeneral=i,e.fromUserSettings=o}(Mt||(Mt={}));class vn extends Le{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return vn.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new vn(this.startLineNumber,this.startColumn,e,t):new vn(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Oe(this.positionLineNumber,this.positionColumn)}setStartPosition(e,t){return 0===this.getDirection()?new vn(e,t,this.endLineNumber,this.endColumn):new vn(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new vn(e.lineNumber,e.column,t.lineNumber,t.column)}static liftSelection(e){return new vn(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;nthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}}class kn{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new Cn(_e.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;let n=this._models[e];n.onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeDiff(e,t,n,r){return Sn(this,void 0,void 0,(function*(){const i=this._getModel(e),o=this._getModel(t);if(!i||!o)return null;const s=i.getLinesContent(),a=o.getLinesContent(),l=new $e(s,a,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}),c=l.computeDiff(),d=!(c.changes.length>0)&&this._modelsAreIdentical(i,o);return{quitEarly:c.quitEarly,identical:d,changes:c.changes}}))}_modelsAreIdentical(e,t){const n=e.getLineCount(),r=t.getLineCount();if(n!==r)return!1;for(let i=1;i<=n;i++){const n=e.getLineContent(i),r=t.getLineContent(i);if(n!==r)return!1}return!0}computeMoreMinimalEdits(e,t){return Sn(this,void 0,void 0,(function*(){const n=this._getModel(e);if(!n)return t;const r=[];let i=void 0;t=F(t,(e,t)=>{if(e.range&&t.range)return Le.compareRangesUsingStarts(e.range,t.range);let n=e.range?0:1,r=t.range?0:1;return n-r});for(let{range:e,text:o,eol:s}of t){if("number"===typeof s&&(i=s),Le.isEmpty(e)&&!o)continue;const t=n.getValueInRange(e);if(o=o.replace(/\r\n|\n|\r/g,n.eol),t===o)continue;if(Math.max(o.length,t.length)>kn._diffLimit){r.push({range:e,text:o});continue}const a=G(t,o,!1),l=n.offsetAt(Le.lift(e).getStartPosition());for(const e of a){const t=n.positionAt(l+e.originalStart),i=n.positionAt(l+e.originalStart+e.originalLength),s={text:o.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:i.lineNumber,endColumn:i.column}};n.getValueInRange(s.range)!==s.text&&r.push(s)}}return"number"===typeof i&&r.push({eol:i,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),r}))}computeLinks(e){return Sn(this,void 0,void 0,(function*(){let t=this._getModel(e);return t?gt(t):null}))}textualSuggest(e,t,n,r){return Sn(this,void 0,void 0,(function*(){const i=new xt(!0),o=new RegExp(n,r),s=new Set;e:for(let n of e){const e=this._getModel(n);if(e)for(let n of e.words(o))if(n!==t&&isNaN(Number(n))&&(s.add(n),s.size>kn._suggestionsLimit))break e}return{words:Array.from(s),duration:i.elapsed()}}))}computeWordRanges(e,t,n,r){return Sn(this,void 0,void 0,(function*(){let i=this._getModel(e);if(!i)return Object.create(null);const o=new RegExp(n,r),s=Object.create(null);for(let e=t.startLineNumber;ethis._host.fhr(e,t),i=C(n,r);let o={host:i,getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(o,t),Promise.resolve(S(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||"function"!==typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(n){return Promise.reject(n)}}}kn._diffLimit=1e5,kn._suggestionsLimit=1e4,"function"===typeof importScripts&&(w["a"].monaco=xn());let En=!1;function _n(e){if(En)return;En=!0;const t=new _(e=>{self.postMessage(e)},t=>new kn(t,e));self.onmessage=e=>{t.onmessage(e.data)}}var Fn;self.onmessage=e=>{En||_n(null)},function(e){e[e["Ident"]=0]="Ident",e[e["AtKeyword"]=1]="AtKeyword",e[e["String"]=2]="String",e[e["BadString"]=3]="BadString",e[e["UnquotedString"]=4]="UnquotedString",e[e["Hash"]=5]="Hash",e[e["Num"]=6]="Num",e[e["Percentage"]=7]="Percentage",e[e["Dimension"]=8]="Dimension",e[e["UnicodeRange"]=9]="UnicodeRange",e[e["CDO"]=10]="CDO",e[e["CDC"]=11]="CDC",e[e["Colon"]=12]="Colon",e[e["SemiColon"]=13]="SemiColon",e[e["CurlyL"]=14]="CurlyL",e[e["CurlyR"]=15]="CurlyR",e[e["ParenthesisL"]=16]="ParenthesisL",e[e["ParenthesisR"]=17]="ParenthesisR",e[e["BracketL"]=18]="BracketL",e[e["BracketR"]=19]="BracketR",e[e["Whitespace"]=20]="Whitespace",e[e["Includes"]=21]="Includes",e[e["Dashmatch"]=22]="Dashmatch",e[e["SubstringOperator"]=23]="SubstringOperator",e[e["PrefixOperator"]=24]="PrefixOperator",e[e["SuffixOperator"]=25]="SuffixOperator",e[e["Delim"]=26]="Delim",e[e["EMS"]=27]="EMS",e[e["EXS"]=28]="EXS",e[e["Length"]=29]="Length",e[e["Angle"]=30]="Angle",e[e["Time"]=31]="Time",e[e["Freq"]=32]="Freq",e[e["Exclamation"]=33]="Exclamation",e[e["Resolution"]=34]="Resolution",e[e["Comma"]=35]="Comma",e[e["Charset"]=36]="Charset",e[e["EscapedJavaScript"]=37]="EscapedJavaScript",e[e["BadEscapedJavaScript"]=38]="BadEscapedJavaScript",e[e["Comment"]=39]="Comment",e[e["SingleLineComment"]=40]="SingleLineComment",e[e["EOF"]=41]="EOF",e[e["CustomToken"]=42]="CustomToken"}(Fn||(Fn={}));var Tn=function(){function e(e){this.source=e,this.len=e.length,this.position=0}return e.prototype.substring=function(e,t){return void 0===t&&(t=this.position),this.source.substring(e,t)},e.prototype.eos=function(){return this.len<=this.position},e.prototype.pos=function(){return this.position},e.prototype.goBackTo=function(e){this.position=e},e.prototype.goBack=function(e){this.position-=e},e.prototype.advance=function(e){this.position+=e},e.prototype.nextChar=function(){return this.source.charCodeAt(this.position++)||0},e.prototype.peekChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position+e)||0},e.prototype.lookbackChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position-e)||0},e.prototype.advanceIfChar=function(e){return e===this.source.charCodeAt(this.position)&&(this.position++,!0)},e.prototype.advanceIfChars=function(e){if(this.position+e.length>this.source.length)return!1;for(var t=0;t=Mn&&e<=Pn&&(this.stream.advance(t+1),this.stream.advanceWhileChar((function(e){return e>=Mn&&e<=Pn||0===t&&e===mr})),!0)},e.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case tr:case nr:case er:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===tr&&this.stream.advanceIfChar(er)&&e.push("\n"),!0}return!1},e.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===Qn){this.stream.advance(1),n=this.stream.peekChar();var r=0;while(r<6&&(n>=Mn&&n<=Pn||n>=Dn&&n<=Rn||n>=zn&&n<=An))this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var i=parseInt(this.stream.substring(this.stream.pos()-r),16);i&&e.push(String.fromCharCode(i))}catch(o){}return n===or||n===sr?this.stream.advance(1):this._newline([]),!0}if(n!==tr&&n!==nr&&n!==er)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!==Qn&&n!==tr&&n!==nr&&n!==er&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},e.prototype._string=function(e){if(this.stream.peekChar()===ir||this.stream.peekChar()===rr){var t=this.stream.nextChar();e.push(String.fromCharCode(t));while(this._stringChar(t,e)||this._escape(e,!0));return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),Fn.String):Fn.BadString}return null},e.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return 0!==t&&t!==Qn&&t!==ir&&t!==rr&&t!==Kn&&t!==$n&&t!==or&&t!==sr&&t!==er&&t!==nr&&t!==tr&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._unquotedString=function(e){var t=!1;while(this._unquotedChar(e)||this._escape(e))t=!0;return t},e.prototype._whitespace=function(){var e=this.stream.advanceWhileChar((function(e){return e===or||e===sr||e===er||e===nr||e===tr}));return e>0},e.prototype._name=function(e){var t=!1;while(this._identChar(e)||this._escape(e))t=!0;return t},e.prototype.ident=function(e){var t=this.stream.pos(),n=this._minus(e);if(n&&this._minus(e)){if(this._identFirstChar(e)||this._escape(e)){while(this._identChar(e)||this._escape(e));return!0}}else if(this._identFirstChar(e)||this._escape(e)){while(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===Vn||t>=Dn&&t<=Nn||t>=zn&&t<=In||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===jn&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===Vn||t===jn||t>=Dn&&t<=Nn||t>=zn&&t<=In||t>=Mn&&t<=Pn||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e}();function yr(e,t){if(e.length0?e.lastIndexOf(t)===n:0===n&&e===t}function xr(e,t,n){void 0===n&&(n=4);var r=Math.abs(e.length-t.length);if(r>n)return 0;var i,o,s=[],a=[];for(i=0;ie.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)}function Tr(e,t){var n=Fr(e,t),r=[];while(n)r.unshift(n),n=n.parent;return r}function Dr(e){var t=e.findParent(kr.Declaration),n=t&&t.getValue();return n&&n.encloses(e)?t:null}(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["MixinContentReference"]=48]="MixinContentReference",e[e["MixinContentDeclaration"]=49]="MixinContentDeclaration",e[e["Media"]=50]="Media",e[e["Keyframe"]=51]="Keyframe",e[e["FontFace"]=52]="FontFace",e[e["Import"]=53]="Import",e[e["Namespace"]=54]="Namespace",e[e["Invocation"]=55]="Invocation",e[e["FunctionDeclaration"]=56]="FunctionDeclaration",e[e["ReturnStatement"]=57]="ReturnStatement",e[e["MediaQuery"]=58]="MediaQuery",e[e["FunctionParameter"]=59]="FunctionParameter",e[e["FunctionArgument"]=60]="FunctionArgument",e[e["KeyframeSelector"]=61]="KeyframeSelector",e[e["ViewPort"]=62]="ViewPort",e[e["Document"]=63]="Document",e[e["AtApplyRule"]=64]="AtApplyRule",e[e["CustomPropertyDeclaration"]=65]="CustomPropertyDeclaration",e[e["CustomPropertySet"]=66]="CustomPropertySet",e[e["ListEntry"]=67]="ListEntry",e[e["Supports"]=68]="Supports",e[e["SupportsCondition"]=69]="SupportsCondition",e[e["NamespacePrefix"]=70]="NamespacePrefix",e[e["GridLine"]=71]="GridLine",e[e["Plugin"]=72]="Plugin",e[e["UnknownAtRule"]=73]="UnknownAtRule",e[e["Use"]=74]="Use",e[e["ModuleConfiguration"]=75]="ModuleConfiguration",e[e["Forward"]=76]="Forward",e[e["ForwardVisibility"]=77]="ForwardVisibility",e[e["Module"]=78]="Module"})(kr||(kr={})),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"}(Er||(Er={}));var Rr,Nr=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:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||kr.Undefined},set:function(e){this.nodeType=e},enumerable:!1,configurable:!0}),e.prototype.getTextProvider=function(){var e=this;while(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],t.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(){var e=this.parent;while(e instanceof zr)e=e.parent;return e},e.prototype.findParent=function(e){var t=this;while(t&&t.type!==e)t=t.parent;return t},e.prototype.findAParent=function(){for(var e=[],t=0;t/g,">")}function to(e,t){if(!e.description||""===e.description)return"";if("string"!==typeof e.description)return e.description.value;var n="";if(!1!==(null===t||void 0===t?void 0:t.documentation)){e.status&&(n+=Qi(e.status)),n+=e.description;var r=ro(e.browsers);r&&(n+="\n("+r+")"),"syntax"in e&&(n+="\n\nSyntax: "+e.syntax)}return e.references&&e.references.length>0&&!1!==(null===t||void 0===t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return e.name+": "+e.url})).join(" | ")),n}function no(e,t){if(!e.description||""===e.description)return"";var n="";if(!1!==(null===t||void 0===t?void 0:t.documentation)){e.status&&(n+=Qi(e.status));var r="string"===typeof e.description?e.description:e.description.value;n+=eo(r);var i=ro(e.browsers);i&&(n+="\n\n("+eo(i)+")"),"syntax"in e&&e.syntax&&(n+="\n\nSyntax: "+eo(e.syntax))}return e.references&&e.references.length>0&&!1!==(null===t||void 0===t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | ")),n}function ro(e){return void 0===e&&(e=[]),0===e.length?null:e.map((function(e){var t="",n=e.match(/([A-Z]+)(\d+)?/),r=n[1],i=n[2];return r in Xi&&(t+=Xi[r]),i&&(t+=" "+i),t})).join(", ")}var io=Gi(),oo=[{func:"rgb($red, $green, $blue)",desc:io("css.builtin.rgb","Creates a Color from red, green, and blue values.")},{func:"rgba($red, $green, $blue, $alpha)",desc:io("css.builtin.rgba","Creates a Color from red, green, blue, and alpha values.")},{func:"hsl($hue, $saturation, $lightness)",desc:io("css.builtin.hsl","Creates a Color from hue, saturation, and lightness values.")},{func:"hsla($hue, $saturation, $lightness, $alpha)",desc:io("css.builtin.hsla","Creates a Color from hue, saturation, lightness, and alpha values.")}],so={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},ao={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value."};function lo(e,t){var n=e.getText(),r=n.match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/);if(r){r[2]&&(t=100);var i=parseFloat(r[1])/t;if(i>=0&&i<=1)return i}throw new Error}function co(e){var t=e.getText(),n=t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg)?$/);if(n)return parseFloat(t)%360;throw new Error}function ho(e){var t=e.getName();return!!t&&/^(rgb|rgba|hsl|hsla)$/gi.test(t)}var po=48,uo=57,mo=65,fo=97,go=102;function bo(e){return e=fo&&e<=go?e-fo+10:0)}function vo(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*bo(e.charCodeAt(1))/255,green:17*bo(e.charCodeAt(2))/255,blue:17*bo(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*bo(e.charCodeAt(1))/255,green:17*bo(e.charCodeAt(2))/255,blue:17*bo(e.charCodeAt(3))/255,alpha:17*bo(e.charCodeAt(4))/255};case 7:return{red:(16*bo(e.charCodeAt(1))+bo(e.charCodeAt(2)))/255,green:(16*bo(e.charCodeAt(3))+bo(e.charCodeAt(4)))/255,blue:(16*bo(e.charCodeAt(5))+bo(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*bo(e.charCodeAt(1))+bo(e.charCodeAt(2)))/255,green:(16*bo(e.charCodeAt(3))+bo(e.charCodeAt(4)))/255,blue:(16*bo(e.charCodeAt(5))+bo(e.charCodeAt(6)))/255,alpha:(16*bo(e.charCodeAt(7))+bo(e.charCodeAt(8)))/255}}return null}function yo(e,t,n,r){if(void 0===r&&(r=1),e/=60,0===t)return{red:n,green:n,blue:n,alpha:r};var i=function(e,t,n){while(n<0)n+=6;while(n>=6)n-=6;return n<1?(t-e)*n+e:n<3?t:n<4?(t-e)*(4-n)+e:e},o=n<=.5?n*(t+1):n+t-n*t,s=2*n-o;return{red:i(s,o,e+2),green:i(s,o,e),blue:i(s,o,e-2),alpha:r}}function wo(e){var t=e.red,n=e.green,r=e.blue,i=e.alpha,o=Math.max(t,n,r),s=Math.min(t,n,r),a=0,l=0,c=(s+o)/2,d=o-s;if(d>0){switch(l=Math.min(c<=.5?d/(2*c):d/(2-2*c),1),o){case t:a=(n-r)/d+(n4)return null;try{var o=4===i.length?lo(i[3],1):1;if("rgb"===r||"rgba"===r)return{red:lo(i[0],255),green:lo(i[1],255),blue:lo(i[2],255),alpha:o};if("hsl"===r||"hsla"===r){var s=co(i[0]),a=lo(i[1],100),l=lo(i[2],100);return yo(s,a,l,o)}}catch(u){return null}}else if(e.type===kr.Identifier){if(e.parent&&e.parent.type!==kr.Term)return null;var c=e.parent;if(c&&c.parent&&c.parent.type===kr.BinaryExpression){var d=c.parent;if(d.parent&&d.parent.type===kr.ListEntry&&d.parent.key===d)return null}var h=e.getText().toLowerCase();if("none"===h)return null;var p=so[h];if(p)return vo(p)}return null}var So={bottom:"Computes to ‘100%’ for the vertical position if one or two values are given, otherwise specifies the bottom edge as the origin for the next offset.",center:"Computes to ‘50%’ (‘left 50%’) for the horizontal position if the horizontal position is not otherwise specified, or ‘50%’ (‘top 50%’) for the vertical position if it is.",left:"Computes to ‘0%’ for the horizontal position if one or two values are given, otherwise specifies the left edge as the origin for the next offset.",right:"Computes to ‘100%’ for the horizontal position if one or two values are given, otherwise specifies the right edge as the origin for the next offset.",top:"Computes to ‘0%’ for the vertical position if one or two values are given, otherwise specifies the top edge as the origin for the next offset."},Co={"no-repeat":"Placed once and not repeated in this direction.",repeat:"Repeated in this direction as often as needed to cover the background painting area.","repeat-x":"Computes to ‘repeat no-repeat’.","repeat-y":"Computes to ‘no-repeat repeat’.",round:"Repeated as often as will fit within the background positioning area. If it doesn’t fit a whole number of times, it is rescaled so that it does.",space:"Repeated as often as will fit within the background positioning area without being clipped and then the images are spaced out to fill the area."},ko={dashed:"A series of square-ended dashes.",dotted:"A series of round dots.",double:"Two parallel solid lines with some space between them.",groove:"Looks as if it were carved in the canvas.",hidden:"Same as ‘none’, but has different behavior in the border conflict resolution rules for border-collapsed tables.",inset:"Looks as if the content on the inside of the border is sunken into the canvas.",none:"No border. Color and width are ignored.",outset:"Looks as if the content on the inside of the border is coming out of the canvas.",ridge:"Looks as if it were coming out of the canvas.",solid:"A single line segment."},Eo=["medium","thick","thin"],_o={"border-box":"The background is painted within (clipped to) the border box.","content-box":"The background is painted within (clipped to) the content box.","padding-box":"The background is painted within (clipped to) the padding box."},Fo={"margin-box":"Uses the margin box as reference box.","fill-box":"Uses the object bounding box as reference box.","stroke-box":"Uses the stroke bounding box as reference box.","view-box":"Uses the nearest SVG viewport as reference box."},To={initial:"Represents the value specified as the property’s initial value.",inherit:"Represents the computed value of the property on the element’s parent.",unset:"Acts as either `inherit` or `initial`, depending on whether the property is inherited or not."},Do={"url()":"Reference an image file by URL","image()":"Provide image fallbacks and annotations.","-webkit-image-set()":"Provide multiple resolutions. Remember to use unprefixed image-set() in addition.","image-set()":"Provide multiple resolutions of an image and const the UA decide which is most appropriate in a given situation.","-moz-element()":"Use an element in the document as an image. Remember to use unprefixed element() in addition.","element()":"Use an element in the document as an image.","cross-fade()":"Indicates the two images to be combined and how far along in the transition the combination is.","-webkit-gradient()":"Deprecated. Use modern linear-gradient() or radial-gradient() instead.","-webkit-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-moz-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","-o-linear-gradient()":"Linear gradient. Remember to use unprefixed version in addition.","linear-gradient()":"A linear gradient is created by specifying a straight gradient line, and then several colors placed along that line.","-webkit-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-moz-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","-o-repeating-linear-gradient()":"Repeating Linear gradient. Remember to use unprefixed version in addition.","repeating-linear-gradient()":"Same as linear-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position.","-webkit-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","-moz-radial-gradient()":"Radial gradient. Remember to use unprefixed version in addition.","radial-gradient()":"Colors emerge from a single point and smoothly spread outward in a circular or elliptical shape.","-webkit-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","-moz-repeating-radial-gradient()":"Repeating radial gradient. Remember to use unprefixed version in addition.","repeating-radial-gradient()":"Same as radial-gradient, except the color-stops are repeated infinitely in both directions, with their positions shifted by multiples of the difference between the last specified color-stop’s position and the first specified color-stop’s position."},Ro={ease:"Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1.0).","ease-in":"Equivalent to cubic-bezier(0.42, 0, 1.0, 1.0).","ease-in-out":"Equivalent to cubic-bezier(0.42, 0, 0.58, 1.0).","ease-out":"Equivalent to cubic-bezier(0, 0, 0.58, 1.0).",linear:"Equivalent to cubic-bezier(0.0, 0.0, 1.0, 1.0).","step-end":"Equivalent to steps(1, end).","step-start":"Equivalent to steps(1, start).","steps()":"The first parameter specifies the number of intervals in the function. The second parameter, which is optional, is either the value “start” or “end”.","cubic-bezier()":"Specifies a cubic-bezier curve. The four values specify points P1 and P2 of the curve as (x1, y1, x2, y2).","cubic-bezier(0.6, -0.28, 0.735, 0.045)":"Ease-in Back. Overshoots.","cubic-bezier(0.68, -0.55, 0.265, 1.55)":"Ease-in-out Back. Overshoots.","cubic-bezier(0.175, 0.885, 0.32, 1.275)":"Ease-out Back. Overshoots.","cubic-bezier(0.6, 0.04, 0.98, 0.335)":"Ease-in Circular. Based on half circle.","cubic-bezier(0.785, 0.135, 0.15, 0.86)":"Ease-in-out Circular. Based on half circle.","cubic-bezier(0.075, 0.82, 0.165, 1)":"Ease-out Circular. Based on half circle.","cubic-bezier(0.55, 0.055, 0.675, 0.19)":"Ease-in Cubic. Based on power of three.","cubic-bezier(0.645, 0.045, 0.355, 1)":"Ease-in-out Cubic. Based on power of three.","cubic-bezier(0.215, 0.610, 0.355, 1)":"Ease-out Cubic. Based on power of three.","cubic-bezier(0.95, 0.05, 0.795, 0.035)":"Ease-in Exponential. Based on two to the power ten.","cubic-bezier(1, 0, 0, 1)":"Ease-in-out Exponential. Based on two to the power ten.","cubic-bezier(0.19, 1, 0.22, 1)":"Ease-out Exponential. Based on two to the power ten.","cubic-bezier(0.47, 0, 0.745, 0.715)":"Ease-in Sine.","cubic-bezier(0.445, 0.05, 0.55, 0.95)":"Ease-in-out Sine.","cubic-bezier(0.39, 0.575, 0.565, 1)":"Ease-out Sine.","cubic-bezier(0.55, 0.085, 0.68, 0.53)":"Ease-in Quadratic. Based on power of two.","cubic-bezier(0.455, 0.03, 0.515, 0.955)":"Ease-in-out Quadratic. Based on power of two.","cubic-bezier(0.25, 0.46, 0.45, 0.94)":"Ease-out Quadratic. Based on power of two.","cubic-bezier(0.895, 0.03, 0.685, 0.22)":"Ease-in Quartic. Based on power of four.","cubic-bezier(0.77, 0, 0.175, 1)":"Ease-in-out Quartic. Based on power of four.","cubic-bezier(0.165, 0.84, 0.44, 1)":"Ease-out Quartic. Based on power of four.","cubic-bezier(0.755, 0.05, 0.855, 0.06)":"Ease-in Quintic. Based on power of five.","cubic-bezier(0.86, 0, 0.07, 1)":"Ease-in-out Quintic. Based on power of five.","cubic-bezier(0.23, 1, 0.320, 1)":"Ease-out Quintic. Based on power of five."},No={"circle()":"Defines a circle.","ellipse()":"Defines an ellipse.","inset()":"Defines an inset rectangle.","polygon()":"Defines a polygon."},zo={length:["em","rem","ex","px","cm","mm","in","pt","pc","ch","vw","vh","vmin","vmax"],angle:["deg","rad","grad","turn"],time:["ms","s"],frequency:["Hz","kHz"],resolution:["dpi","dpcm","dppx"],percentage:["%","fr"]},Ao=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","const","video","wbr"],Io=["circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","hatch","hatchpath","image","line","linearGradient","marker","mask","mesh","meshpatch","meshrow","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","solidcolor","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Mo=["@bottom-center","@bottom-left","@bottom-left-corner","@bottom-right","@bottom-right-corner","@left-bottom","@left-middle","@left-top","@right-bottom","@right-middle","@right-top","@top-center","@top-left","@top-left-corner","@top-right","@top-right-corner"];function Po(e){return Object.keys(e).map((function(t){return e[t]}))}function Oo(e){return"undefined"!==typeof e}var Lo=function(){function e(e){void 0===e&&(e=new vr),this.keyframeRegex=/^@(\-(webkit|ms|moz|o)\-)?keyframes$/i,this.scanner=e,this.token={type:Fn.EOF,offset:-1,len:0,text:""},this.prevToken=void 0}return e.prototype.peekIdent=function(e){return Fn.Ident===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()},e.prototype.peekKeyword=function(e){return Fn.AtKeyword===this.token.type&&e.length===this.token.text.length&&e===this.token.text.toLowerCase()},e.prototype.peekDelim=function(e){return Fn.Delim===this.token.type&&e===this.token.text},e.prototype.peek=function(e){return e===this.token.type},e.prototype.peekOne=function(e){return-1!==e.indexOf(this.token.type)},e.prototype.peekRegExp=function(e,t){return e===this.token.type&&t.test(this.token.text)},e.prototype.hasWhitespace=function(){return!!this.prevToken&&this.prevToken.offset+this.prevToken.len!==this.token.offset},e.prototype.consumeToken=function(){this.prevToken=this.token,this.token=this.scanner.scan()},e.prototype.mark=function(){return{prev:this.prevToken,curr:this.token,pos:this.scanner.pos()}},e.prototype.restoreAtMark=function(e){this.prevToken=e.prev,this.token=e.curr,this.scanner.goBackTo(e.pos)},e.prototype.try=function(e){var t=this.mark(),n=e();return n||(this.restoreAtMark(t),null)},e.prototype.acceptOneKeyword=function(e){if(Fn.AtKeyword===this.token.type)for(var t=0,n=e;te.offset?i-e.offset:0}return e},e.prototype.markError=function(e,t,n,r){this.token!==this.lastErrorToken&&(e.addIssue(new Bi(e,t,Rr.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(n||r)&&this.resync(n,r)},e.prototype.parseStylesheet=function(e){var t=e.version,n=e.getText(),r=function(r,i){if(e.version!==t)throw new Error("Underlying model has changed, AST is no longer valid");return n.substr(r,i)};return this.internalParse(n,this._parseStylesheet,r)},e.prototype.internalParse=function(e,t,n){this.scanner.setSource(e),this.token=this.scanner.scan();var r=t.bind(this)();return r&&(r.textProvider=n||function(t,n){return e.substr(t,n)}),r},e.prototype._parseStylesheet=function(){var e=this.create(Ir);while(e.addChild(this._parseStylesheetStart()));var t=!1;do{var n=!1;do{n=!1;var r=this._parseStylesheetStatement();r&&(e.addChild(r),n=!0,t=!1,this.peek(Fn.EOF)||!this._needsSemicolonAfter(r)||this.accept(Fn.SemiColon)||this.markError(e,Ji.SemiColonExpected));while(this.accept(Fn.SemiColon)||this.accept(Fn.CDO)||this.accept(Fn.CDC))n=!0,t=!1}while(n);if(this.peek(Fn.EOF))break;t||(this.peek(Fn.AtKeyword)?this.markError(e,Ji.UnknownAtRule):this.markError(e,Ji.RuleOrSelectorExpected),t=!0),this.consumeToken()}while(!this.peek(Fn.EOF));return this.finish(e)},e.prototype._parseStylesheetStart=function(){return this._parseCharset()},e.prototype._parseStylesheetStatement=function(e){return void 0===e&&(e=!1),this.peek(Fn.AtKeyword)?this._parseStylesheetAtStatement(e):this._parseRuleset(e)},e.prototype._parseStylesheetAtStatement=function(e){return void 0===e&&(e=!1),this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseUnknownAtRule()},e.prototype._tryParseRuleset=function(e){var t=this.mark();if(this._parseSelector(e)){while(this.accept(Fn.Comma)&&this._parseSelector(e));if(this.accept(Fn.CurlyL))return this.restoreAtMark(t),this._parseRuleset(e)}return this.restoreAtMark(t),null},e.prototype._parseRuleset=function(e){void 0===e&&(e=!1);var t=this.create(Or),n=t.getSelectors();if(!n.addChild(this._parseSelector(e)))return null;while(this.accept(Fn.Comma))if(!n.addChild(this._parseSelector(e)))return this.finish(t,Ji.SelectorExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseRuleSetDeclarationAtStatement=function(){return this._parseAtApply()||this._parseUnknownAtRule()},e.prototype._parseRuleSetDeclaration=function(){return this.peek(Fn.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this._parseDeclaration()},e.prototype._parseAtApply=function(){if(!this.peekKeyword("@apply"))return null;var e=this.create(Ur);return this.consumeToken(),e.setIdentifier(this._parseIdent([Er.Variable]))?this.finish(e):this.finish(e,Ji.IdentifierExpected)},e.prototype._needsSemicolonAfter=function(e){switch(e.type){case kr.Keyframe:case kr.ViewPort:case kr.Media:case kr.Ruleset:case kr.Namespace:case kr.If:case kr.For:case kr.Each:case kr.While:case kr.MixinDeclaration:case kr.FunctionDeclaration:case kr.MixinContentDeclaration:return!1;case kr.ExtendsReference:case kr.MixinContentReference:case kr.ReturnStatement:case kr.MediaQuery:case kr.Debug:case kr.Import:case kr.AtApplyRule:case kr.CustomPropertyDeclaration:return!0;case kr.VariableDeclaration:return e.needsSemicolon;case kr.MixinReference:return!e.getContent();case kr.Declaration:return!e.getNestedProperties()}return!1},e.prototype._parseDeclarations=function(e){var t=this.create(Mr);if(!this.accept(Fn.CurlyL))return null;var n=e();while(t.addChild(n)){if(this.peek(Fn.CurlyR))break;if(this._needsSemicolonAfter(n)&&!this.accept(Fn.SemiColon))return this.finish(t,Ji.SemiColonExpected,[Fn.SemiColon,Fn.CurlyR]);n&&this.prevToken&&this.prevToken.type===Fn.SemiColon&&(n.semicolonPosition=this.prevToken.offset);while(this.accept(Fn.SemiColon));n=e()}return this.accept(Fn.CurlyR)?this.finish(t):this.finish(t,Ji.RightCurlyExpected,[Fn.CurlyR,Fn.SemiColon])},e.prototype._parseBody=function(e,t){return e.setDeclarations(this._parseDeclarations(t))?this.finish(e):this.finish(e,Ji.LeftCurlyExpected,[Fn.CurlyR,Fn.SemiColon])},e.prototype._parseSelector=function(e){var t=this.create(Lr),n=!1;e&&(n=t.addChild(this._parseCombinator()));while(t.addChild(this._parseSimpleSelector()))n=!0,t.addChild(this._parseCombinator());return n?this.finish(t):null},e.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(Br);return n.setProperty(this._parseProperty())?this.accept(Fn.Colon)?(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseExpr())?(n.addChild(this._parsePrio()),this.peek(Fn.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)):this.finish(n,Ji.PropertyValueExpected)):this.finish(n,Ji.ColonExpected,[Fn.Colon],e||[Fn.SemiColon]):null},e.prototype._tryParseCustomPropertyDeclaration=function(e){if(!this.peekRegExp(Fn.Ident,/^--/))return null;var t=this.create(qr);if(!t.setProperty(this._parseProperty()))return null;if(!this.accept(Fn.Colon))return this.finish(t,Ji.ColonExpected,[Fn.Colon]);this.prevToken&&(t.colonPosition=this.prevToken.offset);var n=this.mark();if(this.peek(Fn.CurlyL)){var r=this.create(Vr),i=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(r.setDeclarations(i)&&!i.isErroneous(!0)&&(r.addChild(this._parsePrio()),this.peek(Fn.SemiColon)))return this.finish(r),t.setPropertySet(r),t.semicolonPosition=this.token.offset,this.finish(t);this.restoreAtMark(n)}var o=this._parseExpr();return o&&!o.isErroneous(!0)&&(this._parsePrio(),this.peekOne(e||[Fn.SemiColon]))?(t.setValue(o),t.semicolonPosition=this.token.offset,this.finish(t)):(this.restoreAtMark(n),t.addChild(this._parseCustomPropertyValue(e)),t.addChild(this._parsePrio()),Oo(t.colonPosition)&&this.token.offset===t.colonPosition+1?this.finish(t,Ji.PropertyValueExpected):this.finish(t))},e.prototype._parseCustomPropertyValue=function(e){var t=this;void 0===e&&(e=[Fn.CurlyR]);var n=this.create(Nr),r=function(){return 0===o&&0===s&&0===a},i=function(){return-1!==e.indexOf(t.token.type)},o=0,s=0,a=0;e:while(1){switch(this.token.type){case Fn.SemiColon:if(r())break e;break;case Fn.Exclamation:if(r())break e;break;case Fn.CurlyL:o++;break;case Fn.CurlyR:if(o--,o<0){if(i()&&0===s&&0===a)break e;return this.finish(n,Ji.LeftCurlyExpected)}break;case Fn.ParenthesisL:s++;break;case Fn.ParenthesisR:if(s--,s<0){if(i()&&0===a&&0===o)break e;return this.finish(n,Ji.LeftParenthesisExpected)}break;case Fn.BracketL:a++;break;case Fn.BracketR:if(a--,a<0)return this.finish(n,Ji.LeftSquareBracketExpected);break;case Fn.BadString:break e;case Fn.EOF:var l=Ji.RightCurlyExpected;return a>0?l=Ji.RightSquareBracketExpected:s>0&&(l=Ji.RightParenthesisExpected),this.finish(n,l)}this.consumeToken()}return this.finish(n)},e.prototype._tryToParseDeclaration=function(e){var t=this.mark();return this._parseProperty()&&this.accept(Fn.Colon)?(this.restoreAtMark(t),this._parseDeclaration(e)):(this.restoreAtMark(t),null)},e.prototype._parseProperty=function(){var e=this.create(Kr),t=this.mark();return(this.acceptDelim("*")||this.acceptDelim("_"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null},e.prototype._parsePropertyIdentifier=function(){return this._parseIdent()},e.prototype._parseCharset=function(){if(!this.peek(Fn.Charset))return null;var e=this.create(Nr);return this.consumeToken(),this.accept(Fn.String)?this.accept(Fn.SemiColon)?this.finish(e):this.finish(e,Ji.SemiColonExpected):this.finish(e,Ji.IdentifierExpected)},e.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var e=this.create(ai);return this.consumeToken(),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(Fn.SemiColon)||this.peek(Fn.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,Ji.URIOrStringExpected)},e.prototype._parseNamespace=function(){if(!this.peekKeyword("@namespace"))return null;var e=this.create(pi);return this.consumeToken(),e.addChild(this._parseURILiteral())||(e.addChild(this._parseIdent()),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral()))?this.accept(Fn.SemiColon)?this.finish(e):this.finish(e,Ji.SemiColonExpected):this.finish(e,Ji.URIExpected,[Fn.SemiColon])},e.prototype._parseFontFace=function(){if(!this.peekKeyword("@font-face"))return null;var e=this.create(ri);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseViewPort=function(){if(!this.peekKeyword("@-ms-viewport")&&!this.peekKeyword("@-o-viewport")&&!this.peekKeyword("@viewport"))return null;var e=this.create(ni);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseKeyframe=function(){if(!this.peekRegExp(Fn.AtKeyword,this.keyframeRegex))return null;var e=this.create(oi),t=this.create(Nr);return this.consumeToken(),e.setKeyword(this.finish(t)),t.matches("@-ms-keyframes")&&this.markError(t,Ji.UnknownKeyword),e.setIdentifier(this._parseKeyframeIdent())?this._parseBody(e,this._parseKeyframeSelector.bind(this)):this.finish(e,Ji.IdentifierExpected,[Fn.CurlyR])},e.prototype._parseKeyframeIdent=function(){return this._parseIdent([Er.Keyframe])},e.prototype._parseKeyframeSelector=function(){var e=this.create(si);if(!e.addChild(this._parseIdent())&&!this.accept(Fn.Percentage))return null;while(this.accept(Fn.Comma))if(!e.addChild(this._parseIdent())&&!this.accept(Fn.Percentage))return this.finish(e,Ji.PercentageExpected);return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._tryParseKeyframeSelector=function(){var e=this.create(si),t=this.mark();if(!e.addChild(this._parseIdent())&&!this.accept(Fn.Percentage))return null;while(this.accept(Fn.Comma))if(!e.addChild(this._parseIdent())&&!this.accept(Fn.Percentage))return this.restoreAtMark(t),null;return this.peek(Fn.CurlyL)?this._parseBody(e,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(t),null)},e.prototype._parseSupports=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@supports"))return null;var t=this.create(mi);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))},e.prototype._parseSupportsDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseSupportsCondition=function(){var e=this.create(vi);if(this.acceptIdent("not"))e.addChild(this._parseSupportsConditionInParens());else if(e.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(Fn.Ident,/^(and|or)$/i)){var t=this.token.text.toLowerCase();while(this.acceptIdent(t))e.addChild(this._parseSupportsConditionInParens())}return this.finish(e)},e.prototype._parseSupportsConditionInParens=function(){var e=this.create(vi);if(this.accept(Fn.ParenthesisL))return this.prevToken&&(e.lParent=this.prevToken.offset),e.addChild(this._tryToParseDeclaration([Fn.ParenthesisR]))||this._parseSupportsCondition()?this.accept(Fn.ParenthesisR)?(this.prevToken&&(e.rParent=this.prevToken.offset),this.finish(e)):this.finish(e,Ji.RightParenthesisExpected,[Fn.ParenthesisR],[]):this.finish(e,Ji.ConditionExpected);if(this.peek(Fn.Ident)){var t=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(Fn.ParenthesisL)){var n=1;while(this.token.type!==Fn.EOF&&0!==n)this.token.type===Fn.ParenthesisL?n++:this.token.type===Fn.ParenthesisR&&n--,this.consumeToken();return this.finish(e)}this.restoreAtMark(t)}return this.finish(e,Ji.LeftParenthesisExpected,[],[Fn.ParenthesisL])},e.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseMedia=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@media"))return null;var t=this.create(ui);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,Ji.MediaQueryExpected)},e.prototype._parseMediaQueryList=function(){var e=this.create(gi);if(!e.addChild(this._parseMediaQuery([Fn.CurlyL])))return this.finish(e,Ji.MediaQueryExpected);while(this.accept(Fn.Comma))if(!e.addChild(this._parseMediaQuery([Fn.CurlyL])))return this.finish(e,Ji.MediaQueryExpected);return this.finish(e)},e.prototype._parseMediaQuery=function(e){var t=this.create(bi),n=!0,r=!1;if(!this.peek(Fn.ParenthesisL)){if(this.acceptIdent("only")||this.acceptIdent("not"),!t.addChild(this._parseIdent()))return null;r=!0,n=this.acceptIdent("and")}while(n)if(t.addChild(this._parseMediaContentStart()))n=this.acceptIdent("and");else{if(!this.accept(Fn.ParenthesisL))return r?this.finish(t,Ji.LeftParenthesisExpected,[],e):null;if(!t.addChild(this._parseMediaFeatureName()))return this.finish(t,Ji.IdentifierExpected,[],e);if(this.accept(Fn.Colon)&&!t.addChild(this._parseExpr()))return this.finish(t,Ji.TermExpected,[],e);if(!this.accept(Fn.ParenthesisR))return this.finish(t,Ji.RightParenthesisExpected,[],e);n=this.acceptIdent("and")}return this.finish(t)},e.prototype._parseMediaContentStart=function(){return null},e.prototype._parseMediaFeatureName=function(){return this._parseIdent()},e.prototype._parseMedium=function(){var e=this.create(Nr);return e.addChild(this._parseIdent())?this.finish(e):null},e.prototype._parsePageDeclaration=function(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()},e.prototype._parsePage=function(){if(!this.peekKeyword("@page"))return null;var e=this.create(yi);if(this.consumeToken(),e.addChild(this._parsePageSelector()))while(this.accept(Fn.Comma))if(!e.addChild(this._parsePageSelector()))return this.finish(e,Ji.IdentifierExpected);return this._parseBody(e,this._parsePageDeclaration.bind(this))},e.prototype._parsePageMarginBox=function(){if(!this.peek(Fn.AtKeyword))return null;var e=this.create(wi);return this.acceptOneKeyword(Mo)||this.markError(e,Ji.UnknownAtRule,[],[Fn.CurlyL]),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parsePageSelector=function(){if(!this.peek(Fn.Ident)&&!this.peek(Fn.Colon))return null;var e=this.create(Nr);return e.addChild(this._parseIdent()),this.accept(Fn.Colon)&&!e.addChild(this._parseIdent())?this.finish(e,Ji.IdentifierExpected):this.finish(e)},e.prototype._parseDocument=function(){if(!this.peekKeyword("@-moz-document"))return null;var e=this.create(fi);return this.consumeToken(),this.resync([],[Fn.CurlyL]),this._parseBody(e,this._parseStylesheetStatement.bind(this))},e.prototype._parseUnknownAtRule=function(){if(!this.peek(Fn.AtKeyword))return null;var e=this.create(Li);e.addChild(this._parseUnknownAtRuleName());var t=function(){return 0===r&&0===i&&0===o},n=0,r=0,i=0,o=0;e:while(1){switch(this.token.type){case Fn.SemiColon:if(t())break e;break;case Fn.EOF:return r>0?this.finish(e,Ji.RightCurlyExpected):o>0?this.finish(e,Ji.RightSquareBracketExpected):i>0?this.finish(e,Ji.RightParenthesisExpected):this.finish(e);case Fn.CurlyL:n++,r++;break;case Fn.CurlyR:if(r--,n>0&&0===r){if(this.consumeToken(),o>0)return this.finish(e,Ji.RightSquareBracketExpected);if(i>0)return this.finish(e,Ji.RightParenthesisExpected);break e}if(r<0){if(0===i&&0===o)break e;return this.finish(e,Ji.LeftCurlyExpected)}break;case Fn.ParenthesisL:i++;break;case Fn.ParenthesisR:if(i--,i<0)return this.finish(e,Ji.LeftParenthesisExpected);break;case Fn.BracketL:o++;break;case Fn.BracketR:if(o--,o<0)return this.finish(e,Ji.LeftSquareBracketExpected);break}this.consumeToken()}return e},e.prototype._parseUnknownAtRuleName=function(){var e=this.create(Nr);return this.accept(Fn.AtKeyword)?this.finish(e):e},e.prototype._parseOperator=function(){if(this.peekDelim("/")||this.peekDelim("*")||this.peekDelim("+")||this.peekDelim("-")||this.peek(Fn.Dashmatch)||this.peek(Fn.Includes)||this.peek(Fn.SubstringOperator)||this.peek(Fn.PrefixOperator)||this.peek(Fn.SuffixOperator)||this.peekDelim("=")){var e=this.createNode(kr.Operator);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseUnaryOperator=function(){if(!this.peekDelim("+")&&!this.peekDelim("-"))return null;var e=this.create(Nr);return this.consumeToken(),this.finish(e)},e.prototype._parseCombinator=function(){if(this.peekDelim(">")){var e=this.create(Nr);this.consumeToken();var t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(">")){if(!this.hasWhitespace()&&this.acceptDelim(">"))return e.type=kr.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=kr.SelectorCombinatorParent,this.finish(e)}if(this.peekDelim("+")){e=this.create(Nr);return this.consumeToken(),e.type=kr.SelectorCombinatorSibling,this.finish(e)}if(this.peekDelim("~")){e=this.create(Nr);return this.consumeToken(),e.type=kr.SelectorCombinatorAllSiblings,this.finish(e)}if(this.peekDelim("/")){e=this.create(Nr);this.consumeToken();t=this.mark();if(!this.hasWhitespace()&&this.acceptIdent("deep")&&!this.hasWhitespace()&&this.acceptDelim("/"))return e.type=kr.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null},e.prototype._parseSimpleSelector=function(){var e=this.create(Wr),t=0;e.addChild(this._parseElementName())&&t++;while((0===t||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody()))t++;return t>0?this.finish(e):null},e.prototype._parseSimpleSelectorBody=function(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()},e.prototype._parseSelectorIdent=function(){return this._parseIdent()},e.prototype._parseHash=function(){if(!this.peek(Fn.Hash)&&!this.peekDelim("#"))return null;var e=this.createNode(kr.IdentifierSelector);if(this.acceptDelim("#")){if(this.hasWhitespace()||!e.addChild(this._parseSelectorIdent()))return this.finish(e,Ji.IdentifierExpected)}else this.consumeToken();return this.finish(e)},e.prototype._parseClass=function(){if(!this.peekDelim("."))return null;var e=this.createNode(kr.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,Ji.IdentifierExpected):this.finish(e)},e.prototype._parseElementName=function(){var e=this.mark(),t=this.createNode(kr.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),t.addChild(this._parseSelectorIdent())||this.acceptDelim("*")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseNamespacePrefix=function(){var e=this.mark(),t=this.createNode(kr.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim("*"),this.acceptDelim("|")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseAttrib=function(){if(!this.peek(Fn.BracketL))return null;var e=this.create(ki);return this.consumeToken(),e.setNamespacePrefix(this._parseNamespacePrefix()),e.setIdentifier(this._parseIdent())?(e.setOperator(this._parseOperator())&&(e.setValue(this._parseBinaryExpr()),this.acceptIdent("i")),this.accept(Fn.BracketR)?this.finish(e):this.finish(e,Ji.RightSquareBracketExpected)):this.finish(e,Ji.IdentifierExpected)},e.prototype._parsePseudo=function(){var e=this,t=this._tryParsePseudoIdentifier();if(t){if(!this.hasWhitespace()&&this.accept(Fn.ParenthesisL)){var n=function(){var t=e.create(Nr);if(!t.addChild(e._parseSelector(!1)))return null;while(e.accept(Fn.Comma)&&t.addChild(e._parseSelector(!1)));return e.peek(Fn.ParenthesisR)?e.finish(t):null};if(t.addChild(this.try(n)||this._parseBinaryExpr()),!this.accept(Fn.ParenthesisR))return this.finish(t,Ji.RightParenthesisExpected)}return this.finish(t)}return null},e.prototype._tryParsePseudoIdentifier=function(){if(!this.peek(Fn.Colon))return null;var e=this.mark(),t=this.createNode(kr.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(e),null):(this.accept(Fn.Colon),this.hasWhitespace()||!t.addChild(this._parseIdent())?this.finish(t,Ji.IdentifierExpected):this.finish(t))},e.prototype._tryParsePrio=function(){var e=this.mark(),t=this._parsePrio();return t||(this.restoreAtMark(e),null)},e.prototype._parsePrio=function(){if(!this.peek(Fn.Exclamation))return null;var e=this.createNode(kr.Prio);return this.accept(Fn.Exclamation)&&this.acceptIdent("important")?this.finish(e):null},e.prototype._parseExpr=function(e){void 0===e&&(e=!1);var t=this.create(xi);if(!t.addChild(this._parseBinaryExpr()))return null;while(1){if(this.peek(Fn.Comma)){if(e)return this.finish(t);this.consumeToken()}if(!t.addChild(this._parseBinaryExpr()))break}return this.finish(t)},e.prototype._parseNamedLine=function(){if(!this.peek(Fn.BracketL))return null;var e=this.createNode(kr.GridLine);this.consumeToken();while(e.addChild(this._parseIdent()));return this.accept(Fn.BracketR)?this.finish(e):this.finish(e,Ji.RightSquareBracketExpected)},e.prototype._parseBinaryExpr=function(e,t){var n=this.create(Si);if(!n.setLeft(e||this._parseTerm()))return null;if(!n.setOperator(t||this._parseOperator()))return this.finish(n);if(!n.setRight(this._parseTerm()))return this.finish(n,Ji.TermExpected);n=this.finish(n);var r=this._parseOperator();return r&&(n=this._parseBinaryExpr(n,r)),this.finish(n)},e.prototype._parseTerm=function(){var e=this.create(Ci);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null},e.prototype._parseTermExpression=function(){return this._parseURILiteral()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()},e.prototype._parseOperation=function(){if(!this.peek(Fn.ParenthesisL))return null;var e=this.create(Nr);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(Fn.ParenthesisR)?this.finish(e):this.finish(e,Ji.RightParenthesisExpected)},e.prototype._parseNumeric=function(){if(this.peek(Fn.Num)||this.peek(Fn.Percentage)||this.peek(Fn.Resolution)||this.peek(Fn.Length)||this.peek(Fn.EMS)||this.peek(Fn.EXS)||this.peek(Fn.Angle)||this.peek(Fn.Time)||this.peek(Fn.Dimension)||this.peek(Fn.Freq)){var e=this.create(Di);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseStringLiteral=function(){if(!this.peek(Fn.String)&&!this.peek(Fn.BadString))return null;var e=this.createNode(kr.StringLiteral);return this.consumeToken(),this.finish(e)},e.prototype._parseURILiteral=function(){if(!this.peekRegExp(Fn.Ident,/^url(-prefix)?$/i))return null;var e=this.mark(),t=this.createNode(kr.URILiteral);return this.accept(Fn.Ident),this.hasWhitespace()||!this.peek(Fn.ParenthesisL)?(this.restoreAtMark(e),null):(this.scanner.inURL=!0,this.consumeToken(),t.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(Fn.ParenthesisR)?this.finish(t):this.finish(t,Ji.RightParenthesisExpected))},e.prototype._parseURLArgument=function(){var e=this.create(Nr);return this.accept(Fn.String)||this.accept(Fn.BadString)||this.acceptUnquotedString()?this.finish(e):null},e.prototype._parseIdent=function(e){if(!this.peek(Fn.Ident))return null;var t=this.create(Ar);return e&&(t.referenceTypes=e),t.isCustomProperty=this.peekRegExp(Fn.Ident,/^--/),this.consumeToken(),this.finish(t)},e.prototype._parseFunction=function(){var e=this.mark(),t=this.create(Gr);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(Fn.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseFunctionArgument()))while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;t.getArguments().addChild(this._parseFunctionArgument())||this.markError(t,Ji.ExpressionExpected)}return this.accept(Fn.ParenthesisR)?this.finish(t):this.finish(t,Ji.RightParenthesisExpected)},e.prototype._parseFunctionIdentifier=function(){if(!this.peek(Fn.Ident))return null;var e=this.create(Ar);if(e.referenceTypes=[Er.Function],this.acceptIdent("progid")){if(this.accept(Fn.Colon))while(this.accept(Fn.Ident)&&this.acceptDelim("."));return this.finish(e)}return this.consumeToken(),this.finish(e)},e.prototype._parseFunctionArgument=function(){var e=this.create(Yr);return e.setValue(this._parseExpr(!0))?this.finish(e):null},e.prototype._parseHexColor=function(){if(this.peekRegExp(Fn.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){var e=this.create(Ei);return this.consumeToken(),this.finish(e)}return null},e}();function Wo(e,t){var n=0,r=e.length;if(0===r)return 0;while(ne+t||this.offset===e&&this.length===t?this.findInScope(e,t):null},e.prototype.findInScope=function(e,t){void 0===t&&(t=0);var n=e+t,r=Wo(this.children,(function(e){return e.offset>n}));if(0===r)return this;var i=this.children[r-1];return i.offset<=e&&i.offset+i.length>=e+t?i.findInScope(e,t):this},e.prototype.addSymbol=function(e){this.symbols.push(e)},e.prototype.getSymbol=function(e,t){for(var n=0;n0&&(i.arguments=n),i}function n(e){var t=e;return Zs.defined(t)&&Zs.string(t.title)&&Zs.string(t.command)}e.create=t,e.is=n}(is||(is={})),function(e){function t(e,t){return{range:e,newText:t}}function n(e,t){return{range:{start:e,end:e},newText:t}}function r(e){return{range:e,newText:""}}function i(e){var t=e;return Zs.objectLiteral(t)&&Zs.string(t.newText)&&Ko.is(t.range)}e.replace=t,e.insert=n,e.del=r,e.is=i}(os||(os={})),function(e){function t(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r}function n(e){var t=e;return void 0!==t&&Zs.objectLiteral(t)&&Zs.string(t.label)&&(Zs.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(Zs.string(t.description)||void 0===t.description)}e.create=t,e.is=n}(ss||(ss={})),function(e){function t(e){var t=e;return"string"===typeof t}e.is=t}(as||(as={})),function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}function r(e,t){return{range:e,newText:"",annotationId:t}}function i(e){var t=e;return os.is(t)&&(ss.is(t.annotationId)||as.is(t.annotationId))}e.replace=t,e.insert=n,e.del=r,e.is=i}(ls||(ls={})),function(e){function t(e,t){return{textDocument:e,edits:t}}function n(e){var t=e;return Zs.defined(t)&&Ss.is(t.textDocument)&&Array.isArray(t.edits)}e.create=t,e.is=n}(cs||(cs={})),function(e){function t(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r}function n(e){var t=e;return t&&"create"===t.kind&&Zs.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Zs.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Zs.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||as.is(t.annotationId))}e.create=t,e.is=n}(ds||(ds={})),function(e){function t(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i}function n(e){var t=e;return t&&"rename"===t.kind&&Zs.string(t.oldUri)&&Zs.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Zs.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Zs.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||as.is(t.annotationId))}e.create=t,e.is=n}(hs||(hs={})),function(e){function t(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r}function n(e){var t=e;return t&&"delete"===t.kind&&Zs.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Zs.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Zs.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||as.is(t.annotationId))}e.create=t,e.is=n}(ps||(ps={})),function(e){function t(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return Zs.string(e.kind)?ds.is(e)||hs.is(e)||ps.is(e):cs.is(e)})))}e.is=t}(us||(us={}));var ws,xs,Ss,Cs,ks,Es,_s,Fs,Ts,Ds,Rs,Ns,zs,As,Is,Ms,Ps,Os,Ls,Ws,Us,js,Vs,Bs,qs,Ks,$s,Gs,Hs,Ys,Js=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=os.insert(e,t):as.is(n)?(i=n,r=ls.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=ls.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=os.replace(e,t):as.is(n)?(i=n,r=ls.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=ls.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=os.del(e):as.is(t)?(r=t,n=ls.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=ls.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),Xs=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(as.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();(function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Xs(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(cs.is(e)){var n=new Js(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new Js(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(Ss.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version},n=this._textEditChanges[t.uri];if(!n){var r=[],i={textDocument:t,edits:r};this._workspaceEdit.documentChanges.push(i),n=new Js(r,this._changeAnnotations),this._textEditChanges[t.uri]=n}return n}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");n=this._textEditChanges[e];if(!n){r=[];this._workspaceEdit.changes[e]=r,n=new Js(r),this._textEditChanges[e]=n}return n},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new Xs,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(ss.is(t)||as.is(t)?r=t:n=t,void 0===r?i=ds.create(e,n):(o=as.is(r)?r:this._changeAnnotations.manage(r),i=ds.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,s;if(ss.is(n)||as.is(n)?i=n:r=n,void 0===i?o=hs.create(e,t,r):(s=as.is(i)?i:this._changeAnnotations.manage(i),o=hs.create(e,t,r,s)),this._workspaceEdit.documentChanges.push(o),void 0!==s)return s},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(ss.is(t)||as.is(t)?r=t:n=t,void 0===r?i=ps.create(e,n):(o=as.is(r)?r:this._changeAnnotations.manage(r),i=ps.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}})();(function(e){function t(e){return{uri:e}}function n(e){var t=e;return Zs.defined(t)&&Zs.string(t.uri)}e.create=t,e.is=n})(ws||(ws={})),function(e){function t(e,t){return{uri:e,version:t}}function n(e){var t=e;return Zs.defined(t)&&Zs.string(t.uri)&&Zs.integer(t.version)}e.create=t,e.is=n}(xs||(xs={})),function(e){function t(e,t){return{uri:e,version:t}}function n(e){var t=e;return Zs.defined(t)&&Zs.string(t.uri)&&(null===t.version||Zs.integer(t.version))}e.create=t,e.is=n}(Ss||(Ss={})),function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}function n(e){var t=e;return Zs.defined(t)&&Zs.string(t.uri)&&Zs.string(t.languageId)&&Zs.integer(t.version)&&Zs.string(t.text)}e.create=t,e.is=n}(Cs||(Cs={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(ks||(ks={})),function(e){function t(t){var n=t;return n===e.PlainText||n===e.Markdown}e.is=t}(ks||(ks={})),function(e){function t(e){var t=e;return Zs.objectLiteral(e)&&ks.is(t.kind)&&Zs.string(t.value)}e.is=t}(Es||(Es={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(_s||(_s={})),function(e){e.PlainText=1,e.Snippet=2}(Fs||(Fs={})),function(e){e.Deprecated=1}(Ts||(Ts={})),function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}function n(e){var t=e;return t&&Zs.string(t.newText)&&Ko.is(t.insert)&&Ko.is(t.replace)}e.create=t,e.is=n}(Ds||(Ds={})),function(e){e.asIs=1,e.adjustIndentation=2}(Rs||(Rs={})),function(e){function t(e){return{label:e}}e.create=t}(Ns||(Ns={})),function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t}(zs||(zs={})),function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function n(e){var t=e;return Zs.string(t)||Zs.objectLiteral(t)&&Zs.string(t.language)&&Zs.string(t.value)}e.fromPlainText=t,e.is=n}(As||(As={})),function(e){function t(e){var t=e;return!!t&&Zs.objectLiteral(t)&&(Es.is(t.contents)||As.is(t.contents)||Zs.typedArray(t.contents,As.is))&&(void 0===e.range||Ko.is(e.range))}e.is=t}(Is||(Is={})),function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t}(Ms||(Ms={})),function(e){function t(e,t){for(var n=[],r=2;r=0;s--){var a=r[s],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=o))throw new Error("Overlapping edit");n=n.substring(0,l)+a.newText+n.substring(c,n.length),o=l}return n}function i(e,t){if(e.length<=1)return e;var n=e.length/2|0,r=e.slice(0,n),o=e.slice(n);i(r,t),i(o,t);var s=0,a=0,l=0;while(s0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return qo.create(0,e);while(ne?r=i:n=i+1}var o=n-1;return qo.create(o,e-t[o])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1e?r=i:n=i+1}var o=n-1;return{line:o,character:e-t[o]}},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function la(e){var t=aa(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(function(e){function t(e,t,n,r){return new ia(e,t,n,r)}function n(e,t,n){if(e instanceof ia)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")}function r(e,t){for(var n=e.getText(),r=oa(t.map(la),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=0,o=[],s=0,a=r;si&&o.push(n.substring(i,c)),l.newText.length&&o.push(l.newText),i=e.offsetAt(l.range.end)}return o.push(n.substr(i)),o.join("")}e.create=t,e.update=n,e.applyEdits=r})(ta||(ta={})),function(e){e.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[ks.Markdown,ks.PlainText]}},hover:{contentFormat:[ks.Markdown,ks.PlainText]}}}}(na||(na={})),function(e){e[e["Unknown"]=0]="Unknown",e[e["File"]=1]="File",e[e["Directory"]=2]="Directory",e[e["SymbolicLink"]=64]="SymbolicLink"}(ra||(ra={}));var ca=n("ed59"),da=function(e,t){for(var n=0,r=t.length,i=e.length;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;o--){var s=this.nodePath[o];if(s instanceof Kr)this.getCompletionsForDeclarationProperty(s.getParent(),i);else if(s instanceof xi)s.parent instanceof Ni?this.getVariableProposals(null,i):this.getCompletionsForExpression(s,i);else if(s instanceof Wr){var a=s.findAParent(kr.ExtendsReference,kr.Ruleset);if(a)if(a.type===kr.ExtendsReference)this.getCompletionsForExtendsReference(a,s,i);else{var l=a;this.getCompletionsForSelector(l,l&&l.isNested(),i)}}else if(s instanceof Yr)this.getCompletionsForFunctionArgument(s,s.getParent(),i);else if(s instanceof Mr)this.getCompletionsForDeclarations(s,i);else if(s instanceof Ri)this.getCompletionsForVariableDeclaration(s,i);else if(s instanceof Or)this.getCompletionsForRuleSet(s,i);else if(s instanceof Ni)this.getCompletionsForInterpolation(s,i);else if(s instanceof ti)this.getCompletionsForFunctionDeclaration(s,i);else if(s instanceof Pi)this.getCompletionsForMixinReference(s,i);else if(s instanceof Gr)this.getCompletionsForFunctionArgument(null,s,i);else if(s instanceof mi)this.getCompletionsForSupports(s,i);else if(s instanceof vi)this.getCompletionsForSupportsCondition(s,i);else if(s instanceof Ai)this.getCompletionsForExtendsReference(s,null,i);else if(s.type===kr.URILiteral)this.getCompletionForUriLiteralValue(s,i);else if(null===s.parent)this.getCompletionForTopLevel(i);else{if(s.type!==kr.StringLiteral||!this.isImportPathParent(s.parent.type))continue;this.getCompletionForImportPath(s,i)}if(i.items.length>0||this.offset>s.offset)return this.finalize(i)}return this.getCompletionsForStylesheet(i),0===i.items.length&&this.variablePrefix&&0===this.currentWord.indexOf(this.variablePrefix)&&this.getVariableProposals(null,i),this.finalize(i)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}},e.prototype.isImportPathParent=function(e){return e===kr.Import},e.prototype.finalize=function(e){return e},e.prototype.findInNodePath=function(){for(var e=[],t=0;t=0;n--){var r=this.nodePath[n];if(-1!==e.indexOf(r.type))return r}return null},e.prototype.getCompletionsForDeclarationProperty=function(e,t){return this.getPropertyProposals(e,t)},e.prototype.getPropertyProposals=function(e,t){var n=this,r=this.isTriggerPropertyValueCompletionEnabled,i=this.isCompletePropertyWithSemicolonEnabled,o=this.cssDataManager.getProperties();return o.forEach((function(o){var s,a,l=!1;e?(s=n.getCompletionRange(e.getProperty()),a=o.name,Oo(e.colonPosition)||(a+=": ",l=!0)):(s=n.getCompletionRange(null),a=o.name+": ",l=!0),!e&&i&&(a+="$0;"),e&&!e.semicolonPosition&&i&&n.offset>=n.textDocument.offsetAt(s.end)&&(a+="$0;");var c={label:o.name,documentation:Zi(o,n.doesSupportMarkdown()),tags:Da(o)?[Ts.Deprecated]:[],textEdit:os.replace(s,a),insertTextFormat:Fs.Snippet,kind:_s.Property};o.restrictions||(l=!1),r&&l&&(c.command={title:"Suggest",command:"editor.action.triggerSuggest"});var d="number"===typeof o.relevance?Math.min(Math.max(o.relevance,0),99):50,h=(255-d).toString(16),p=yr(o.name,"-")?Ca.VendorPrefixed:Ca.Normal;c.sortText=p+"_"+h,t.items.push(c)})),this.completionParticipants.forEach((function(e){e.onCssProperty&&e.onCssProperty({propertyName:n.currentWord,range:n.defaultReplaceRange})})),t},Object.defineProperty(e.prototype,"isTriggerPropertyValueCompletionEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.triggerPropertyValueCompletion)||void 0===t||t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCompletePropertyWithSemicolonEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.completePropertyWithSemicolon)||void 0===t||t},enumerable:!1,configurable:!0}),e.prototype.getCompletionsForDeclarationValue=function(e,t){var n=this,r=e.getFullPropertyName(),i=this.cssDataManager.getProperty(r),o=e.getValue()||null;while(o&&o.hasChildren())o=o.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach((function(e){e.onCssPropertyValue&&e.onCssPropertyValue({propertyName:r,propertyValue:n.currentWord,range:n.getCompletionRange(o)})})),i){if(i.restrictions)for(var s=0,a=i.restrictions;s=e.offset+2&&this.getVariableProposals(null,t),t},e.prototype.getVariableProposals=function(e,t){for(var n=this.getSymbolContext().findSymbolsAtOffset(this.offset,Er.Variable),r=0,i=n;r0){var i=this.currentWord.match(/^-?\d[\.\d+]*/);i&&(r=i[0],n.isIncomplete=r.length===this.currentWord.length)}else 0===this.currentWord.length&&(n.isIncomplete=!0);if(t&&t.parent&&t.parent.type===kr.Term&&(t=t.getParent()),e.restrictions)for(var o=0,s=e.restrictions;o=n.end;if(r)return this.getCompletionForTopLevel(t);var i=!n||this.offset<=n.offset;return i?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)},e.prototype.getCompletionsForSelector=function(e,t,n){var r=this,i=this.findInNodePath(kr.PseudoSelector,kr.IdentifierSelector,kr.ClassSelector,kr.ElementNameSelector);!i&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord),this.defaultReplaceRange=Ko.create(qo.create(this.position.line,this.position.character-this.currentWord.length),this.position));var o=this.cssDataManager.getPseudoClasses();o.forEach((function(e){var t=Na(e.name),o={label:e.name,textEdit:os.replace(r.getCompletionRange(i),t),documentation:Zi(e,r.doesSupportMarkdown()),tags:Da(e)?[Ts.Deprecated]:[],kind:_s.Function,insertTextFormat:e.name!==t?Fa:void 0};yr(e.name,":-")&&(o.sortText=Ca.VendorPrefixed),n.items.push(o)}));var s=this.cssDataManager.getPseudoElements();if(s.forEach((function(e){var t=Na(e.name),o={label:e.name,textEdit:os.replace(r.getCompletionRange(i),t),documentation:Zi(e,r.doesSupportMarkdown()),tags:Da(e)?[Ts.Deprecated]:[],kind:_s.Function,insertTextFormat:e.name!==t?Fa:void 0};yr(e.name,"::-")&&(o.sortText=Ca.VendorPrefixed),n.items.push(o)})),!t){for(var a=0,l=Ao;a0){var t=u.substr(e.offset,e.length);return"."!==t.charAt(0)||p[t]||(p[t]=!0,n.items.push({label:t,textEdit:os.replace(r.getCompletionRange(i),t),kind:_s.Keyword})),!1}return!0})),e&&e.isNested()){var m=e.getSelectors().findFirstChildBeforeOffset(this.offset);m&&0===e.getSelectors().getChildren().indexOf(m)&&this.getPropertyProposals(null,n)}return n},e.prototype.getCompletionsForDeclarations=function(e,t){if(!e||this.offset===e.offset)return t;var n=e.findFirstChildBeforeOffset(this.offset);if(!n)return this.getCompletionsForDeclarationProperty(null,t);if(n instanceof jr){var r=n;if(!Oo(r.colonPosition)||this.offset<=r.colonPosition)return this.getCompletionsForDeclarationProperty(r,t);if(Oo(r.semicolonPosition)&&r.semicolonPositione.colonPosition&&this.getVariableProposals(e.getValue(),t),t},e.prototype.getCompletionsForExpression=function(e,t){var n=e.getParent();if(n instanceof Yr)return this.getCompletionsForFunctionArgument(n,n.getParent(),t),t;var r=e.findParent(kr.Declaration);if(!r)return this.getTermProposals(void 0,null,t),t;var i=e.findChildAtOffset(this.offset,!0);return i?i instanceof Di||i instanceof Ar?this.getCompletionsForDeclarationValue(r,t):t:this.getCompletionsForDeclarationValue(r,t)},e.prototype.getCompletionsForFunctionArgument=function(e,t,n){var r=t.getIdentifier();return r&&r.matches("var")&&(t.getArguments().hasChildren()&&t.getArguments().getChild(0)!==e||this.getVariableProposalsForCSSVarFunction(n)),n},e.prototype.getCompletionsForFunctionDeclaration=function(e,t){var n=e.getDeclarations();return n&&this.offset>n.offset&&this.offsete.lParent&&(!Oo(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t},e.prototype.getCompletionsForSupports=function(e,t){var n=e.getDeclarations(),r=!n||this.offset<=n.offset;if(r){var i=e.findFirstChildBeforeOffset(this.offset);return i instanceof vi?this.getCompletionsForSupportsCondition(i,t):t}return this.getCompletionForTopLevel(t)},e.prototype.getCompletionsForExtendsReference=function(e,t,n){return n},e.prototype.getCompletionForUriLiteralValue=function(e,t){var n,r,i;if(e.hasChildren()){var o=e.getChild(0);n=o.getText(),r=this.position,i=this.getCompletionRange(o)}else{n="",r=this.position;var s=this.textDocument.positionAt(e.offset+"url(".length);i=Ko.create(s,s)}return this.completionParticipants.forEach((function(e){e.onCssURILiteralValue&&e.onCssURILiteralValue({uriValue:n,position:r,range:i})})),t},e.prototype.getCompletionForImportPath=function(e,t){var n=this;return this.completionParticipants.forEach((function(t){t.onCssImportPath&&t.onCssImportPath({pathValue:e.getText(),position:n.position,range:n.getCompletionRange(e)})})),t},e.prototype.hasCharacterAtPosition=function(e,t){var n=this.textDocument.getText();return e>=0&&e=0&&-1===' \t\n\r":{[()]},*>+'.indexOf(r.charAt(n)))n--;return r.substring(n+1,t)}function Ma(e){return e.toLowerCase()in so||/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)}var Pa,Oa=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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),La=Gi(),Wa=function(){function e(){this.parent=null,this.children=null,this.attributes=null}return e.prototype.findAttribute=function(e){if(this.attributes)for(var t=0,n=this.attributes;t"),this.writeLine(t,r.join(""))}},e}();(function(e){function t(e,t){return t+n(e)+t}function n(e){var t=e.match(/^['"](.*)["']$/);return t?t[1]:e}e.ensure=t,e.remove=n})(Pa||(Pa={}));var Ba=function(){function e(){this.id=0,this.attr=0,this.tag=0}return e}();function qa(e,t){for(var n=new Wa,r=0,i=e.getChildren();r1){var c=t.cloneWithParent();n.addChild(c.findRoot()),n=c}n.append(s[l])}}break;case kr.SelectorPlaceholder:if(o.matches("@at-root"))return n;case kr.ElementNameSelector:var d=o.getText();n.addAttr("name","*"===d?"element":Ka(d));break;case kr.ClassSelector:n.addAttr("class",Ka(o.getText().substring(1)));break;case kr.IdentifierSelector:n.addAttr("id",Ka(o.getText().substring(1)));break;case kr.MixinDeclaration:n.addAttr("class",o.getName());break;case kr.PseudoSelector:n.addAttr(Ka(o.getText()),"");break;case kr.AttributeSelector:var h=o,p=h.getIdentifier();if(p){var u=h.getValue(),m=h.getOperator(),f=void 0;if(u&&m)switch(Ka(m.getText())){case"|=":f=Pa.remove(Ka(u.getText()))+"-…";break;case"^=":f=Pa.remove(Ka(u.getText()))+"…";break;case"$=":f="…"+Pa.remove(Ka(u.getText()));break;case"~=":f=" … "+Pa.remove(Ka(u.getText()))+" … ";break;case"*=":f="…"+Pa.remove(Ka(u.getText()))+"…";break;default:f=Pa.remove(Ka(u.getText()));break}n.addAttr(Ka(p.getText()),f)}break}}return n}function Ka(e){var t=new vr;t.setSource(e);var n=t.scanUnquotedString();return n?n.text:e}var $a=function(){function e(e){this.cssDataManager=e}return e.prototype.selectorToMarkedString=function(e){var t=Ya(e);if(t){var n=new Va('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}return[]},e.prototype.simpleSelectorToMarkedString=function(e){var t=qa(e),n=new Va('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n},e.prototype.isPseudoElementIdentifier=function(e){var t=e.match(/^::?([\w-]+)/);return!!t&&!!this.cssDataManager.getPseudoElement("::"+t[1])},e.prototype.selectorToSpecificityMarkedString=function(e){var t=this,n=function(e){for(var i=0,o=e.getChildren();i0&&n(s)}},r=new Ba;return n(e),La("specificity","[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})",r.id,r.attr,r.tag)},e}(),Ga=function(){function e(e){this.prev=null,this.element=e}return e.prototype.processSelector=function(e){var t=null;if(!(this.element instanceof Ua)&&e.getChildren().some((function(e){return e.hasChildren()&&e.getChild(0).type===kr.SelectorCombinator}))){var n=this.element.findRoot();n.parent instanceof Ua&&(t=this.element,this.element=n.parent,this.element.removeChild(n),this.prev=null)}for(var r=0,i=e.getChildren();r=0;s--){var a=n[s].getSelectors().getChild(0);a&&o.processSelector(a)}return o.processSelector(e),t}var Ja=function(){function e(e,t){this.clientCapabilities=e,this.cssDataManager=t,this.selectorPrinting=new $a(t)}return e.prototype.configure=function(e){this.defaultSettings=e},e.prototype.doHover=function(e,t,n,r){function i(t){return Ko.create(e.positionAt(t.offset),e.positionAt(t.end))}void 0===r&&(r=this.defaultSettings);for(var o=e.offsetAt(t),s=Tr(n,o),a=null,l=0;l0&&i[i.length-1])&&(6===o[0]||2===o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=i.length/2&&o.push({property:e.name,score:t})})),o.sort((function(e,t){return t.score-e.score||e.property.localeCompare(t.property)}));for(var s=3,a=0,l=o;a=0;a--){var l=s[a];if(l instanceof Br){var c=l.getProperty();if(c&&c.offset===i&&c.end===o)return void this.getFixesForUnknownProperty(e,c,n,r)}}},e}(),vl=function(){function e(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e}return e}();function yl(e,t,n,r){var i=e[t];i.value=n,n&&(Uo(i.properties,r)||i.properties.push(r))}function wl(e,t,n){yl(e,"top",t,n),yl(e,"right",t,n),yl(e,"bottom",t,n),yl(e,"left",t,n)}function xl(e,t,n,r){"top"===t||"right"===t||"bottom"===t||"left"===t?yl(e,t,n,r):wl(e,n,r)}function Sl(e,t,n){switch(t.length){case 1:xl(e,void 0,t[0],n);break;case 2:xl(e,"top",t[0],n),xl(e,"bottom",t[0],n),xl(e,"right",t[1],n),xl(e,"left",t[1],n);break;case 3:xl(e,"top",t[0],n),xl(e,"right",t[1],n),xl(e,"left",t[1],n),xl(e,"bottom",t[2],n);break;case 4:xl(e,"top",t[0],n),xl(e,"right",t[1],n),xl(e,"bottom",t[2],n),xl(e,"left",t[3],n);break}}function Cl(e,t){for(var n=0,r=t;n0)for(var f=this.fetch(r,"float"),g=0;g0)for(f=this.fetch(r,"vertical-align"),g=0;g1)for(var S=0;S")||this.peekDelim("<")||this.peekIdent("and")||this.peekIdent("or")||this.peekDelim("%")){var t=this.createNode(kr.Operator);return this.consumeToken(),this.finish(t)}return e.prototype._parseOperator.call(this)},t.prototype._parseUnaryOperator=function(){if(this.peekIdent("not")){var t=this.create(Nr);return this.consumeToken(),this.finish(t)}return e.prototype._parseUnaryOperator.call(this)},t.prototype._parseRuleSetDeclaration=function(){return this.peek(Fn.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._parseVariableDeclaration()||this._tryParseRuleset(!0)||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(Br);if(!n.setProperty(this._parseProperty()))return null;if(!this.accept(Fn.Colon))return this.finish(n,Ji.ColonExpected,[Fn.Colon],e||[Fn.SemiColon]);this.prevToken&&(n.colonPosition=this.prevToken.offset);var r=!1;if(n.setValue(this._parseExpr())&&(r=!0,n.addChild(this._parsePrio())),this.peek(Fn.CurlyL))n.setNestedProperties(this._parseNestedProperties());else if(!r)return this.finish(n,Ji.PropertyValueExpected);return this.peek(Fn.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)},t.prototype._parseNestedProperties=function(){var e=this.create(ii);return this._parseBody(e,this._parseDeclaration.bind(this))},t.prototype._parseExtends=function(){if(this.peekKeyword("@extend")){var e=this.create(Ai);if(this.consumeToken(),!e.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(e,Ji.SelectorExpected);while(this.accept(Fn.Comma))e.getSelectors().addChild(this._parseSimpleSelector());return this.accept(Fn.Exclamation)&&!this.acceptIdent("optional")?this.finish(e,Ji.UnknownKeyword):this.finish(e)}return null},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||this._parseSelectorPlaceholder()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(kr.SelectorCombinator);this.consumeToken();while(!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(Fn.Num)||this.accept(Fn.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")));return this.finish(e)}return null},t.prototype._parseSelectorPlaceholder=function(){if(this.peekDelim("%")){var e=this.createNode(kr.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}if(this.peekKeyword("@at-root")){e=this.createNode(kr.SelectorPlaceholder);return this.consumeToken(),this.finish(e)}return null},t.prototype._parseElementName=function(){var t=this.mark(),n=e.prototype._parseElementName.call(this);return n&&!this.hasWhitespace()&&this.peek(Fn.ParenthesisL)?(this.restoreAtMark(t),null):n},t.prototype._tryParsePseudoIdentifier=function(){return this._parseInterpolation()||e.prototype._tryParsePseudoIdentifier.call(this)},t.prototype._parseWarnAndDebug=function(){if(!this.peekKeyword("@debug")&&!this.peekKeyword("@warn")&&!this.peekKeyword("@error"))return null;var e=this.createNode(kr.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)},t.prototype._parseControlStatement=function(e){return void 0===e&&(e=this._parseRuleSetDeclaration.bind(this)),this.peek(Fn.AtKeyword)?this._parseIfStatement(e)||this._parseForStatement(e)||this._parseEachStatement(e)||this._parseWhileStatement(e):null},t.prototype._parseIfStatement=function(e){return this.peekKeyword("@if")?this._internalParseIfStatement(e):null},t.prototype._internalParseIfStatement=function(e){var t=this.create(Jr);if(this.consumeToken(),!t.setExpression(this._parseExpr(!0)))return this.finish(t,Ji.ExpressionExpected);if(this._parseBody(t,e),this.acceptKeyword("@else"))if(this.peekIdent("if"))t.setElseClause(this._internalParseIfStatement(e));else if(this.peek(Fn.CurlyL)){var n=this.create(ei);this._parseBody(n,e),t.setElseClause(n)}return this.finish(t)},t.prototype._parseForStatement=function(e){if(!this.peekKeyword("@for"))return null;var t=this.create(Xr);return this.consumeToken(),t.setVariable(this._parseVariable())?this.acceptIdent("from")?t.addChild(this._parseBinaryExpr())?this.acceptIdent("to")||this.acceptIdent("through")?t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,Ji.ExpressionExpected,[Fn.CurlyR]):this.finish(t,ic.ThroughOrToExpected,[Fn.CurlyR]):this.finish(t,Ji.ExpressionExpected,[Fn.CurlyR]):this.finish(t,ic.FromExpected,[Fn.CurlyR]):this.finish(t,Ji.VariableNameExpected,[Fn.CurlyR])},t.prototype._parseEachStatement=function(e){if(!this.peekKeyword("@each"))return null;var t=this.create(Qr);this.consumeToken();var n=t.getVariables();if(!n.addChild(this._parseVariable()))return this.finish(t,Ji.VariableNameExpected,[Fn.CurlyR]);while(this.accept(Fn.Comma))if(!n.addChild(this._parseVariable()))return this.finish(t,Ji.VariableNameExpected,[Fn.CurlyR]);return this.finish(n),this.acceptIdent("in")?t.addChild(this._parseExpr())?this._parseBody(t,e):this.finish(t,Ji.ExpressionExpected,[Fn.CurlyR]):this.finish(t,ic.InExpected,[Fn.CurlyR])},t.prototype._parseWhileStatement=function(e){if(!this.peekKeyword("@while"))return null;var t=this.create(Zr);return this.consumeToken(),t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,Ji.ExpressionExpected,[Fn.CurlyR])},t.prototype._parseFunctionBodyDeclaration=function(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))},t.prototype._parseFunctionDeclaration=function(){if(!this.peekKeyword("@function"))return null;var e=this.create(ti);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([Er.Function])))return this.finish(e,Ji.IdentifierExpected,[Fn.CurlyR]);if(!this.accept(Fn.ParenthesisL))return this.finish(e,Ji.LeftParenthesisExpected,[Fn.CurlyR]);if(e.getParameters().addChild(this._parseParameterDeclaration()))while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,Ji.VariableNameExpected)}return this.accept(Fn.ParenthesisR)?this._parseBody(e,this._parseFunctionBodyDeclaration.bind(this)):this.finish(e,Ji.RightParenthesisExpected,[Fn.CurlyR])},t.prototype._parseReturnStatement=function(){if(!this.peekKeyword("@return"))return null;var e=this.createNode(kr.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,Ji.ExpressionExpected)},t.prototype._parseMixinDeclaration=function(){if(!this.peekKeyword("@mixin"))return null;var e=this.create(Oi);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([Er.Mixin])))return this.finish(e,Ji.IdentifierExpected,[Fn.CurlyR]);if(this.accept(Fn.ParenthesisL)){if(e.getParameters().addChild(this._parseParameterDeclaration()))while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,Ji.VariableNameExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected,[Fn.CurlyR])}return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseParameterDeclaration=function(){var e=this.create(Hr);return e.setIdentifier(this._parseVariable())?(this.accept(ec),this.accept(Fn.Colon)&&!e.setDefaultValue(this._parseExpr(!0))?this.finish(e,Ji.VariableValueExpected,[],[Fn.Comma,Fn.ParenthesisR]):this.finish(e)):null},t.prototype._parseMixinContent=function(){if(!this.peekKeyword("@content"))return null;var e=this.create(Ii);if(this.consumeToken(),this.accept(Fn.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,Ji.ExpressionExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected)}return this.finish(e)},t.prototype._parseMixinReference=function(){if(!this.peekKeyword("@include"))return null;var e=this.create(Pi);this.consumeToken();var t=this._parseIdent([Er.Mixin]);if(!e.setIdentifier(t))return this.finish(e,Ji.IdentifierExpected,[Fn.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(".")&&!this.hasWhitespace()){var n=this._parseIdent([Er.Mixin]);if(!n)return this.finish(e,Ji.IdentifierExpected,[Fn.CurlyR]);var r=this.create(Vi);t.referenceTypes=[Er.Module],r.setIdentifier(t),e.setIdentifier(n),e.addChild(r)}if(this.accept(Fn.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,Ji.ExpressionExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected)}return(this.peekIdent("using")||this.peek(Fn.CurlyL))&&e.setContent(this._parseMixinContentDeclaration()),this.finish(e)},t.prototype._parseMixinContentDeclaration=function(){var e=this.create(Mi);if(this.acceptIdent("using")){if(!this.accept(Fn.ParenthesisL))return this.finish(e,Ji.LeftParenthesisExpected,[Fn.CurlyL]);if(e.getParameters().addChild(this._parseParameterDeclaration()))while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,Ji.VariableNameExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected,[Fn.CurlyL])}return this.peek(Fn.CurlyL)&&this._parseBody(e,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(e)},t.prototype._parseMixinReferenceBodyStatement=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._parseFunctionArgument=function(){var e=this.create(Yr),t=this.mark(),n=this._parseVariable();if(n)if(this.accept(Fn.Colon))e.setIdentifier(n);else{if(this.accept(ec))return e.setValue(n),this.finish(e);this.restoreAtMark(t)}return e.setValue(this._parseExpr(!0))?(this.accept(ec),e.addChild(this._parsePrio()),this.finish(e)):e.setValue(this._tryParsePrio())?this.finish(e):null},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(Fn.ParenthesisR)){this.restoreAtMark(t);var r=this.create(Nr);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return n},t.prototype._parseOperation=function(){if(!this.peek(Fn.ParenthesisL))return null;var e=this.create(Nr);this.consumeToken();while(e.addChild(this._parseListElement()))this.accept(Fn.Comma);return this.accept(Fn.ParenthesisR)?this.finish(e):this.finish(e,Ji.RightParenthesisExpected)},t.prototype._parseListElement=function(){var e=this.create(Wi),t=this._parseBinaryExpr();if(!t)return null;if(this.accept(Fn.Colon)){if(e.setKey(t),!e.setValue(this._parseBinaryExpr()))return this.finish(e,Ji.ExpressionExpected)}else e.setValue(t);return this.finish(e)},t.prototype._parseUse=function(){if(!this.peekKeyword("@use"))return null;var e=this.create(li);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,Ji.StringLiteralExpected);if(!this.peek(Fn.SemiColon)&&!this.peek(Fn.EOF)){if(!this.peekRegExp(Fn.Ident,/as|with/))return this.finish(e,Ji.UnknownKeyword);if(this.acceptIdent("as")&&!e.setIdentifier(this._parseIdent([Er.Module]))&&!this.acceptDelim("*"))return this.finish(e,Ji.IdentifierOrWildcardExpected);if(this.acceptIdent("with")){if(!this.accept(Fn.ParenthesisL))return this.finish(e,Ji.LeftParenthesisExpected,[Fn.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Ji.VariableNameExpected);while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Ji.VariableNameExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected)}}return this.accept(Fn.SemiColon)||this.accept(Fn.EOF)?this.finish(e):this.finish(e,Ji.SemiColonExpected)},t.prototype._parseModuleConfigDeclaration=function(){var e=this.create(ci);return e.setIdentifier(this._parseVariable())?this.accept(Fn.Colon)&&e.setValue(this._parseExpr(!0))?!this.accept(Fn.Exclamation)||!this.hasWhitespace()&&this.acceptIdent("default")?this.finish(e):this.finish(e,Ji.UnknownKeyword):this.finish(e,Ji.VariableValueExpected,[],[Fn.Comma,Fn.ParenthesisR]):null},t.prototype._parseForward=function(){if(!this.peekKeyword("@forward"))return null;var e=this.create(di);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,Ji.StringLiteralExpected);if(this.acceptIdent("with")){if(!this.accept(Fn.ParenthesisL))return this.finish(e,Ji.LeftParenthesisExpected,[Fn.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Ji.VariableNameExpected);while(this.accept(Fn.Comma)){if(this.peek(Fn.ParenthesisR))break;if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,Ji.VariableNameExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected)}if(!this.peek(Fn.SemiColon)&&!this.peek(Fn.EOF)){if(!this.peekRegExp(Fn.Ident,/as|hide|show/))return this.finish(e,Ji.UnknownKeyword);if(this.acceptIdent("as")){var t=this._parseIdent([Er.Forward]);if(!e.setIdentifier(t))return this.finish(e,Ji.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim("*"))return this.finish(e,Ji.WildcardExpected)}if((this.peekIdent("hide")||this.peekIdent("show"))&&!e.addChild(this._parseForwardVisibility()))return this.finish(e,Ji.IdentifierOrVariableExpected)}return this.accept(Fn.SemiColon)||this.accept(Fn.EOF)?this.finish(e):this.finish(e,Ji.SemiColonExpected)},t.prototype._parseForwardVisibility=function(){var e=this.create(hi);e.setIdentifier(this._parseIdent());while(e.addChild(this._parseVariable()||this._parseIdent()))this.accept(Fn.Comma);return e.getChildren().length>1?e:null},t.prototype._parseSupportsCondition=function(){return this._parseInterpolation()||e.prototype._parseSupportsCondition.call(this)},t}(Lo),ac=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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),lc=Gi(),cc=function(e){function t(n,r){var i=e.call(this,"$",n,r)||this;return dc(t.scssModuleLoaders),dc(t.scssModuleBuiltIns),i}return ac(t,e),t.prototype.isImportPathParent=function(t){return t===kr.Forward||t===kr.Use||e.prototype.isImportPathParent.call(this,t)},t.prototype.getCompletionForImportPath=function(n,r){var i=n.getParent().type;if(i===kr.Forward||i===kr.Use)for(var o=0,s=t.scssModuleBuiltIns;o0){var t="string"===typeof e.documentation?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+="\n\n",t.value+=e.references.map((function(e){return"["+e.name+"]("+e.url+")"})).join(" | "),e.documentation=t}}))}var hc=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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),pc="/".charCodeAt(0),uc="\n".charCodeAt(0),mc="\r".charCodeAt(0),fc="\f".charCodeAt(0),gc="`".charCodeAt(0),bc=".".charCodeAt(0),vc=Fn.CustomToken,yc=vc++,wc=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return hc(t,e),t.prototype.scanNext=function(t){var n=this.escapedJavaScript();return null!==n?this.finishToken(t,n):this.stream.advanceIfChars([bc,bc,bc])?this.finishToken(t,yc):e.prototype.scanNext.call(this,t)},t.prototype.comment=function(){return!!e.prototype.comment.call(this)||!(this.inURL||!this.stream.advanceIfChars([pc,pc]))&&(this.stream.advanceWhileChar((function(e){switch(e){case uc:case mc:case fc:return!1;default:return!0}})),!0)},t.prototype.escapedJavaScript=function(){var e=this.stream.peekChar();return e===gc?(this.stream.advance(1),this.stream.advanceWhileChar((function(e){return e!==gc})),this.stream.advanceIfChar(gc)?Fn.EscapedJavaScript:Fn.BadEscapedJavaScript):null},t}(vr),xc=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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Sc=function(e){function t(){return e.call(this,new wc)||this}return xc(t,e),t.prototype._parseStylesheetStatement=function(t){return void 0===t&&(t=!1),this.peek(Fn.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||e.prototype._parseStylesheetAtStatement.call(this,t):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)},t.prototype._parseImport=function(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;var e=this.create(ai);if(this.consumeToken(),this.accept(Fn.ParenthesisL)){if(!this.accept(Fn.Ident))return this.finish(e,Ji.IdentifierExpected,[Fn.SemiColon]);do{if(!this.accept(Fn.Comma))break}while(this.accept(Fn.Ident));if(!this.accept(Fn.ParenthesisR))return this.finish(e,Ji.RightParenthesisExpected,[Fn.SemiColon])}return e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(Fn.SemiColon)||this.peek(Fn.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,Ji.URIOrStringExpected,[Fn.SemiColon])},t.prototype._parsePlugin=function(){if(!this.peekKeyword("@plugin"))return null;var e=this.createNode(kr.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(Fn.SemiColon)?this.finish(e):this.finish(e,Ji.SemiColonExpected):this.finish(e,Ji.StringLiteralExpected)},t.prototype._parseMediaQuery=function(t){var n=e.prototype._parseMediaQuery.call(this,t);if(!n){var r=this.create(bi);return r.addChild(this._parseVariable())?this.finish(r):null}return n},t.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)},t.prototype._parseMediaFeatureName=function(){return this._parseIdent()||this._parseVariable()},t.prototype._parseVariableDeclaration=function(e){void 0===e&&(e=[]);var t=this.create(Ri),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(!this.accept(Fn.Colon))return this.restoreAtMark(n),null;if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,Ji.VariableValueExpected,[],e);return t.addChild(this._parsePrio()),this.peek(Fn.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)},t.prototype._parseDetachedRuleSet=function(){var e=this.mark();if(this.peekDelim("#")||this.peekDelim(".")){if(this.consumeToken(),this.hasWhitespace()||!this.accept(Fn.ParenthesisL))return this.restoreAtMark(e),null;var t=this.create(Oi);if(t.getParameters().addChild(this._parseMixinParameter()))while(this.accept(Fn.Comma)||this.accept(Fn.SemiColon)){if(this.peek(Fn.ParenthesisR))break;t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,Ji.IdentifierExpected,[],[Fn.ParenthesisR])}if(!this.accept(Fn.ParenthesisR))return this.restoreAtMark(e),null}if(!this.peek(Fn.CurlyL))return null;var n=this.create(Pr);return this._parseBody(n,this._parseDetachedRuleSetBody.bind(this)),this.finish(n)},t.prototype._parseDetachedRuleSetBody=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._addLookupChildren=function(e){if(!e.addChild(this._parseLookupValue()))return!1;var t=!1;while(1){if(this.peek(Fn.BracketL)&&(t=!0),!e.addChild(this._parseLookupValue()))break;t=!1}return!t},t.prototype._parseLookupValue=function(){var e=this.create(Nr),t=this.mark();return this.accept(Fn.BracketL)&&((e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(Fn.BracketR)||this.accept(Fn.BracketR))?e:(this.restoreAtMark(t),null)},t.prototype._parseVariable=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var n=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!n&&!this.peek(Fn.AtKeyword))return null;var r=this.create(zi),i=this.mark();while(this.acceptDelim("@")||!e&&this.acceptDelim("$"))if(this.hasWhitespace())return this.restoreAtMark(i),null;return(this.accept(Fn.AtKeyword)||this.accept(Fn.Ident))&&(t||!this.peek(Fn.BracketL)||this._addLookupChildren(r))?r:(this.restoreAtMark(i),null)},t.prototype._parseTermExpression=function(){return this._parseVariable()||this._parseEscaped()||e.prototype._parseTermExpression.call(this)||this._tryParseMixinReference(!1)},t.prototype._parseEscaped=function(){if(this.peek(Fn.EscapedJavaScript)||this.peek(Fn.BadEscapedJavaScript)){var e=this.createNode(kr.EscapedValue);return this.consumeToken(),this.finish(e)}if(this.peekDelim("~")){e=this.createNode(kr.EscapedValue);return this.consumeToken(),this.accept(Fn.String)||this.accept(Fn.EscapedJavaScript)?this.finish(e):this.finish(e,Ji.TermExpected)}return null},t.prototype._parseOperator=function(){var t=this._parseGuardOperator();return t||e.prototype._parseOperator.call(this)},t.prototype._parseGuardOperator=function(){if(this.peekDelim(">")){var e=this.createNode(kr.Operator);return this.consumeToken(),this.acceptDelim("="),e}if(this.peekDelim("=")){e=this.createNode(kr.Operator);return this.consumeToken(),this.acceptDelim("<"),e}if(this.peekDelim("<")){e=this.createNode(kr.Operator);return this.consumeToken(),this.acceptDelim("="),e}return null},t.prototype._parseRuleSetDeclaration=function(){return this.peek(Fn.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseKeyframeIdent=function(){return this._parseIdent([Er.Keyframe])||this._parseVariable()},t.prototype._parseKeyframeSelector=function(){return this._parseDetachedRuleSetMixin()||e.prototype._parseKeyframeSelector.call(this)},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelector=function(e){var t=this.create(Lr),n=!1;e&&(n=t.addChild(this._parseCombinator()));while(t.addChild(this._parseSimpleSelector())){n=!0;var r=this.mark();if(t.addChild(this._parseGuard())&&this.peek(Fn.CurlyL))break;this.restoreAtMark(r),t.addChild(this._parseCombinator())}return n?this.finish(t):null},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(kr.SelectorCombinator);this.consumeToken();while(!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(Fn.Num)||this.accept(Fn.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")));return this.finish(e)}return null},t.prototype._parseSelectorIdent=function(){if(!this.peekInterpolatedIdent())return null;var e=this.createNode(kr.SelectorInterpolation),t=this._acceptInterpolatedIdent(e);return t?this.finish(e):null},t.prototype._parsePropertyIdentifier=function(e){void 0===e&&(e=!1);var t=/^[\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;var n=this.mark(),r=this.create(Ar);r.isCustomProperty=this.acceptDelim("-")&&this.acceptDelim("-");var i=!1;return i=e?r.isCustomProperty?r.addChild(this._parseIdent()):r.addChild(this._parseRegexp(t)):r.isCustomProperty?this._acceptInterpolatedIdent(r):this._acceptInterpolatedIdent(r,t),i?(e||this.hasWhitespace()||(this.acceptDelim("+"),this.hasWhitespace()||this.acceptIdent("_")),this.finish(r)):(this.restoreAtMark(n),null)},t.prototype.peekInterpolatedIdent=function(){return this.peek(Fn.Ident)||this.peekDelim("@")||this.peekDelim("$")||this.peekDelim("-")},t.prototype._acceptInterpolatedIdent=function(e,t){var n=this,r=!1,i=function(){var e=n.mark();return n.acceptDelim("-")&&(n.hasWhitespace()||n.acceptDelim("-"),n.hasWhitespace())?(n.restoreAtMark(e),null):n._parseInterpolation()},o=t?function(){return n.acceptRegexp(t)}:function(){return n.accept(Fn.Ident)};while(o()||e.addChild(this._parseInterpolation()||this.try(i)))if(r=!0,this.hasWhitespace())break;return r},t.prototype._parseInterpolation=function(){var e=this.mark();if(this.peekDelim("@")||this.peekDelim("$")){var t=this.createNode(kr.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(Fn.CurlyL)?(this.restoreAtMark(e),null):t.addChild(this._parseIdent())?this.accept(Fn.CurlyR)?this.finish(t):this.finish(t,Ji.RightCurlyExpected):this.finish(t,Ji.IdentifierExpected)}return null},t.prototype._tryParseMixinDeclaration=function(){var e=this.mark(),t=this.create(Oi);if(!t.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(Fn.ParenthesisL))return this.restoreAtMark(e),null;if(t.getParameters().addChild(this._parseMixinParameter()))while(this.accept(Fn.Comma)||this.accept(Fn.SemiColon)){if(this.peek(Fn.ParenthesisR))break;t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,Ji.IdentifierExpected,[],[Fn.ParenthesisR])}return this.accept(Fn.ParenthesisR)?(t.setGuard(this._parseGuard()),this.peek(Fn.CurlyL)?this._parseBody(t,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(e),null)):(this.restoreAtMark(e),null)},t.prototype._parseMixInBodyDeclaration=function(){return this._parseFontFace()||this._parseRuleSetDeclaration()},t.prototype._parseMixinDeclarationIdentifier=function(){var e;if(this.peekDelim("#")||this.peekDelim(".")){if(e=this.create(Ar),this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseIdent()))return null}else{if(!this.peek(Fn.Hash))return null;e=this.create(Ar),this.consumeToken()}return e.referenceTypes=[Er.Mixin],this.finish(e)},t.prototype._parsePseudo=function(){if(!this.peek(Fn.Colon))return null;var t=this.mark(),n=this.create(Ai);return this.consumeToken(),this.acceptIdent("extend")?this._completeExtends(n):(this.restoreAtMark(t),e.prototype._parsePseudo.call(this))},t.prototype._parseExtend=function(){if(!this.peekDelim("&"))return null;var e=this.mark(),t=this.create(Ai);return this.consumeToken(),!this.hasWhitespace()&&this.accept(Fn.Colon)&&this.acceptIdent("extend")?this._completeExtends(t):(this.restoreAtMark(e),null)},t.prototype._completeExtends=function(e){if(!this.accept(Fn.ParenthesisL))return this.finish(e,Ji.LeftParenthesisExpected);var t=e.getSelectors();if(!t.addChild(this._parseSelector(!0)))return this.finish(e,Ji.SelectorExpected);while(this.accept(Fn.Comma))if(!t.addChild(this._parseSelector(!0)))return this.finish(e,Ji.SelectorExpected);return this.accept(Fn.ParenthesisR)?this.finish(e):this.finish(e,Ji.RightParenthesisExpected)},t.prototype._parseDetachedRuleSetMixin=function(){if(!this.peek(Fn.AtKeyword))return null;var e=this.mark(),t=this.create(Pi);return!t.addChild(this._parseVariable(!0))||!this.hasWhitespace()&&this.accept(Fn.ParenthesisL)?this.accept(Fn.ParenthesisR)?this.finish(t):this.finish(t,Ji.RightParenthesisExpected):(this.restoreAtMark(e),null)},t.prototype._tryParseMixinReference=function(e){void 0===e&&(e=!0);var t=this.mark(),n=this.create(Pi),r=this._parseMixinDeclarationIdentifier();while(r){this.acceptDelim(">");var i=this._parseMixinDeclarationIdentifier();if(!i)break;n.getNamespaces().addChild(r),r=i}if(!n.setIdentifier(r))return this.restoreAtMark(t),null;var o=!1;if(this.accept(Fn.ParenthesisL)){if(o=!0,n.getArguments().addChild(this._parseMixinArgument()))while(this.accept(Fn.Comma)||this.accept(Fn.SemiColon)){if(this.peek(Fn.ParenthesisR))break;if(!n.getArguments().addChild(this._parseMixinArgument()))return this.finish(n,Ji.ExpressionExpected)}if(!this.accept(Fn.ParenthesisR))return this.finish(n,Ji.RightParenthesisExpected);r.referenceTypes=[Er.Mixin]}else r.referenceTypes=[Er.Mixin,Er.Rule];return this.peek(Fn.BracketL)?e||this._addLookupChildren(n):n.addChild(this._parsePrio()),o||this.peek(Fn.SemiColon)||this.peek(Fn.CurlyR)||this.peek(Fn.EOF)?this.finish(n):(this.restoreAtMark(t),null)},t.prototype._parseMixinArgument=function(){var e=this.create(Yr),t=this.mark(),n=this._parseVariable();return n&&(this.accept(Fn.Colon)?e.setIdentifier(n):this.restoreAtMark(t)),e.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(e):(this.restoreAtMark(t),null)},t.prototype._parseMixinParameter=function(){var e=this.create(Hr);if(this.peekKeyword("@rest")){var t=this.create(Nr);return this.consumeToken(),this.accept(yc)?(e.setIdentifier(this.finish(t)),this.finish(e)):this.finish(e,Ji.DotExpected,[],[Fn.Comma,Fn.ParenthesisR])}if(this.peek(yc)){var n=this.create(Nr);return this.consumeToken(),e.setIdentifier(this.finish(n)),this.finish(e)}var r=!1;return e.setIdentifier(this._parseVariable())&&(this.accept(Fn.Colon),r=!0),e.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))||r?this.finish(e):null},t.prototype._parseGuard=function(){if(!this.peekIdent("when"))return null;var e=this.create(Ui);if(this.consumeToken(),e.isNegated=this.acceptIdent("not"),!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,Ji.ConditionExpected);while(this.acceptIdent("and")||this.accept(Fn.Comma))if(!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,Ji.ConditionExpected);return this.finish(e)},t.prototype._parseGuardCondition=function(){if(!this.peek(Fn.ParenthesisL))return null;var e=this.create(ji);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(Fn.ParenthesisR)?this.finish(e):this.finish(e,Ji.RightParenthesisExpected)},t.prototype._parseFunction=function(){var e=this.mark(),t=this.create(Gr);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(Fn.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseMixinArgument()))while(this.accept(Fn.Comma)||this.accept(Fn.SemiColon)){if(this.peek(Fn.ParenthesisR))break;if(!t.getArguments().addChild(this._parseMixinArgument()))return this.finish(t,Ji.ExpressionExpected)}return this.accept(Fn.ParenthesisR)?this.finish(t):this.finish(t,Ji.RightParenthesisExpected)},t.prototype._parseFunctionIdentifier=function(){if(this.peekDelim("%")){var t=this.create(Ar);return t.referenceTypes=[Er.Function],this.consumeToken(),this.finish(t)}return e.prototype._parseFunctionIdentifier.call(this)},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(Fn.ParenthesisR)){this.restoreAtMark(t);var r=this.create(Nr);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return n},t}(Lo),Cc=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)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};return function(t,n){if("function"!==typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),kc=Gi(),Ec=function(e){function t(t,n){return e.call(this,"@",t,n)||this}return Cc(t,e),t.prototype.createFunctionProposals=function(e,t,n,r){for(var i=0,o=e;i 50%"),example:"percentage(@number);",type:"percentage"},{name:"round",description:kc("less.builtin.round","rounds a number to a number of places"),example:"round(number, [places: 0]);"},{name:"sqrt",description:kc("less.builtin.sqrt","calculates square root of a number"),example:"sqrt(number);"},{name:"sin",description:kc("less.builtin.sin","sine function"),example:"sin(number);"},{name:"tan",description:kc("less.builtin.tan","tangent function"),example:"tan(number);"},{name:"atan",description:kc("less.builtin.atan","arctangent - inverse of tangent function"),example:"atan(number);"},{name:"pi",description:kc("less.builtin.pi","returns pi"),example:"pi();"},{name:"pow",description:kc("less.builtin.pow","first argument raised to the power of the second argument"),example:"pow(@base, @exponent);"},{name:"mod",description:kc("less.builtin.mod","first argument modulus second argument"),example:"mod(number, number);"},{name:"min",description:kc("less.builtin.min","returns the lowest of one or more values"),example:"min(@x, @y);"},{name:"max",description:kc("less.builtin.max","returns the lowest of one or more values"),example:"max(@x, @y);"}],t.colorProposals=[{name:"argb",example:"argb(@color);",description:kc("less.builtin.argb","creates a #AARRGGBB")},{name:"hsl",example:"hsl(@hue, @saturation, @lightness);",description:kc("less.builtin.hsl","creates a color")},{name:"hsla",example:"hsla(@hue, @saturation, @lightness, @alpha);",description:kc("less.builtin.hsla","creates a color")},{name:"hsv",example:"hsv(@hue, @saturation, @value);",description:kc("less.builtin.hsv","creates a color")},{name:"hsva",example:"hsva(@hue, @saturation, @value, @alpha);",description:kc("less.builtin.hsva","creates a color")},{name:"hue",example:"hue(@color);",description:kc("less.builtin.hue","returns the `hue` channel of `@color` in the HSL space")},{name:"saturation",example:"saturation(@color);",description:kc("less.builtin.saturation","returns the `saturation` channel of `@color` in the HSL space")},{name:"lightness",example:"lightness(@color);",description:kc("less.builtin.lightness","returns the `lightness` channel of `@color` in the HSL space")},{name:"hsvhue",example:"hsvhue(@color);",description:kc("less.builtin.hsvhue","returns the `hue` channel of `@color` in the HSV space")},{name:"hsvsaturation",example:"hsvsaturation(@color);",description:kc("less.builtin.hsvsaturation","returns the `saturation` channel of `@color` in the HSV space")},{name:"hsvvalue",example:"hsvvalue(@color);",description:kc("less.builtin.hsvvalue","returns the `value` channel of `@color` in the HSV space")},{name:"red",example:"red(@color);",description:kc("less.builtin.red","returns the `red` channel of `@color`")},{name:"green",example:"green(@color);",description:kc("less.builtin.green","returns the `green` channel of `@color`")},{name:"blue",example:"blue(@color);",description:kc("less.builtin.blue","returns the `blue` channel of `@color`")},{name:"alpha",example:"alpha(@color);",description:kc("less.builtin.alpha","returns the `alpha` channel of `@color`")},{name:"luma",example:"luma(@color);",description:kc("less.builtin.luma","returns the `luma` value (perceptual brightness) of `@color`")},{name:"saturate",example:"saturate(@color, 10%);",description:kc("less.builtin.saturate","return `@color` 10% points more saturated")},{name:"desaturate",example:"desaturate(@color, 10%);",description:kc("less.builtin.desaturate","return `@color` 10% points less saturated")},{name:"lighten",example:"lighten(@color, 10%);",description:kc("less.builtin.lighten","return `@color` 10% points lighter")},{name:"darken",example:"darken(@color, 10%);",description:kc("less.builtin.darken","return `@color` 10% points darker")},{name:"fadein",example:"fadein(@color, 10%);",description:kc("less.builtin.fadein","return `@color` 10% points less transparent")},{name:"fadeout",example:"fadeout(@color, 10%);",description:kc("less.builtin.fadeout","return `@color` 10% points more transparent")},{name:"fade",example:"fade(@color, 50%);",description:kc("less.builtin.fade","return `@color` with 50% transparency")},{name:"spin",example:"spin(@color, 10);",description:kc("less.builtin.spin","return `@color` with a 10 degree larger in hue")},{name:"mix",example:"mix(@color1, @color2, [@weight: 50%]);",description:kc("less.builtin.mix","return a mix of `@color1` and `@color2`")},{name:"greyscale",example:"greyscale(@color);",description:kc("less.builtin.greyscale","returns a grey, 100% desaturated color")},{name:"contrast",example:"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);",description:kc("less.builtin.contrast","return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes")},{name:"multiply",example:"multiply(@color1, @color2);"},{name:"screen",example:"screen(@color1, @color2);"},{name:"overlay",example:"overlay(@color1, @color2);"},{name:"softlight",example:"softlight(@color1, @color2);"},{name:"hardlight",example:"hardlight(@color1, @color2);"},{name:"difference",example:"difference(@color1, @color2);"},{name:"exclusion",example:"exclusion(@color1, @color2);"},{name:"average",example:"average(@color1, @color2);"},{name:"negation",example:"negation(@color1, @color2);"}],t}(Ta);function _c(e,t){var n=Fc(e);return Dc(n,t)}function Fc(e){function t(t){return e.positionAt(t.offset).line}function n(t){return e.positionAt(t.offset+t.len).line}function r(){switch(e.languageId){case"scss":return new tc;case"less":return new wc;default:return new vr}}function i(e,r){var i=t(e),o=n(e);return i!==o?{startLine:i,endLine:o,kind:r}:null}var o=[],s=[],a=r();a.ignoreComment=!1,a.setSource(e.getText());var l=a.scan(),c=null,d=function(){switch(l.type){case Fn.CurlyL:case Yl:s.push({line:t(l),type:"brace",isStart:!0});break;case Fn.CurlyR:if(0!==s.length){var r=Tc(s,"brace");if(!r)break;var d=n(l);"brace"===r.type&&(c&&n(c)!==d&&d--,r.line!==d&&o.push({startLine:r.line,endLine:d,kind:void 0}))}break;case Fn.Comment:var h=function(e){return"#region"===e?{line:t(l),type:"comment",isStart:!0}:{line:n(l),type:"comment",isStart:!1}},p=function(t){var n=t.text.match(/^\s*\/\*\s*(#region|#endregion)\b\s*(.*?)\s*\*\//);if(n)return h(n[1]);if("scss"===e.languageId||"less"===e.languageId){var r=t.text.match(/^\s*\/\/\s*(#region|#endregion)\b\s*(.*?)\s*/);if(r)return h(r[1])}return null},u=p(l);if(u)if(u.isStart)s.push(u);else{r=Tc(s,"comment");if(!r)break;"comment"===r.type&&r.line!==u.line&&o.push({startLine:r.line,endLine:u.line,kind:"region"})}else{var m=i(l,"comment");m&&o.push(m)}break}c=l,l=a.scan()};while(l.type!==Fn.EOF)d();return o}function Tc(e,t){if(0===e.length)return null;for(var n=e.length-1;n>=0;n--)if(e[n].type===t&&e[n].isStart)return e.splice(n,1)[0];return null}function Dc(e,t){var n=t&&t.rangeLimit||Number.MAX_VALUE,r=e.sort((function(e,t){var n=e.startLine-t.startLine;return 0===n&&(n=e.endLine-t.endLine),n})),i=[],o=-1;return r.forEach((function(e){e.startLine && ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."}],syntax:"normal | | | ? ",relevance:60,description:"Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",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 | | [ ? ]",relevance:83,description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{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:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{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."},{name:"save"},{name:"unsave"},{name:"legacy"}],syntax:"normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]",relevance:51,description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{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:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{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."},{name:"save"},{name:"unsave"}],syntax:"auto | normal | stretch | | ? [ | left | right ]",relevance:52,description:"Defines the way of justifying a box inside its container along the appropriate axis.",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 | | ? ",relevance:70,description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"all",browsers:["E79","FF27","S9.1","C37","O24"],values:[],syntax:"initial | inherit | unset | revert",relevance:52,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/all"}],description:"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.",restrictions:["enum"]},{name:"alt",browsers:["S9"],values:[],relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/alt"}],description:"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.",restrictions:["string","enum"]},{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:"#",relevance:80,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:"animation-delay",syntax:"